void foo(){
     void a()(){ ... }
     void b()  { ... }
}


That's a very simple workaround (albiet unintuitive - unless I'm just too
tired right now). It leads me to two questions:

1. How the heck does that work?


Symbol lookup is done upon the first instantiation of the local template.


I'd argue it shouldn't work, but it'd require copying the scope.
instantiation scope -> declaration scope -> sequence snapshot
So again b shouldn't be is a's scope.

Reply via email to