On Sat, Mar 06 2021, René Scharfe. wrote: > Am 06.03.21 um 18:27 schrieb Ævar Arnfjörð Bjarmason: >> Do these sorts of rules really benefit that much from the type >> v.s. expression? If yes we'll obviously need to support it, but if (and >> I haven't looked closely) we can equally rewrite them with "expression" >> (or it would be good enough) we could be quite a bit faster by >> default... > > Type information is essential for many (most?) semantic patches. > Untyped replacements could be done more easily using sed or similar. We have 65 individual hunks in *.cocci by my count $((/ (cat *.cocci | grep -c ^@@) 2)), but only 9 of those use the "type T" construct, which AFAICT is the only thing affected. There's still plenty of reason to use spatch without headers being included, it's still doing a full parse and knows that something's a function, and otherwise cares about C syntax etc. Anyway, I'm not saying you don't need it, just that AFAICT it's a small minority of the rules that require the includes.