Place cursor between "<" and "T2" in "foo" line
Ctrl+] (find-matching-paren)
Cursor goes to matching ">"
Ctrl+] (find-matching-paren)
Cursor goes to "(" after MACRO.
Do the same with "bar", where () replace <>, and it works correctly.
Or, add spaces around the ">" and it works correctly.
void foo(thing<T2, sizeof(T2), MACRO(T2)>) {}
void bar(thing(T2, sizeof(T2), MACRO(T2))) {}