- it only applied to variables, remember types can be forwarded and uctags doesn't emit tags for the forward declaration
- it only applied to function (or lambda?) local variables, class member variables (and function names) are available backward
- it only applied to C/C++, at least Julia allows use before declare, other languages would need their scope rules
examining
It only applies to local variables (and function parameters which are however always at function beginning so always visible within function). It only applies to languages where we use the `tm_tag_local_var_t` mapping - currently it is C/C++, could also be Python and GDScript, the rest of parsers don't report local variables.
Both Eclipse and vscode properly obey C/C++ visibility rules, so they don't show function local names (or globals but who uses those?) declared after.
Then I'd suggest to respect the order. The problem is this: <img width="538" alt="Screen Shot 2022-04-29 at 1 35 38" src="https://user-images.githubusercontent.com/713965/165864725-e2698465-c568-44be-acd5-c383aef4dd8f.png"> Here you get invalid autocompletion for `header` which is declared in the block below when one could get `header_exts` directly at the top.