mizvekov wrote: > Can we have a more in depth explanation for why this fixes the problem? It is > a bit too late for the commit summary but maybe a comment above `Scope` would > be helpful. A comment in the PR would be nice but it will force folks to go > an extra step if future people want to do any archeology into this change.
Pack expansions can appear within another pack expansion, things like: ```C++ template<typename ...T> int f1(X<T, T...>... a); ``` are possible to write in C++. This requires a little bit of extra magic on top of what we normally have to do for deducing non-packs, we save the deduction for the inner expansion and use it to restart deduction for the outer expansion. The way we have implemented to save this, we use the LocalInstantiationScope as a stack to make sure we don't confuse deductions between different entities as nested pack expansions instead. https://github.com/llvm/llvm-project/pull/183219 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
