katzdm wrote: Hey @mizvekov - Just wanted to point out a few C++26 changes to nested-name-specifiers (via P2996), in case it helps in any way to future-proof your design. - A nested-name-specifier can now be either "_splice-specifier_ `::`" or "`template` _splice-specialization-specifier_ `::`", where _splice-specifier_ is "`[:` _constant-expression_ `:]`" and the _constant-expression_ may be dependent (so we may not yet know at parse-time whether it designates a type or a namespace); _splice-specialization-specifier_ is a _splice-specifier_ followed by a template argument list ([expr.prim.id.qual], [basic.splice]). - A nested-name-specifier of the form "_namespace-name_ `::`" can now be dependent, e.g.,
```cpp template <std::meta::info R> requires is_namespace(R) int f() { namespace Alias = [:R:]; return Alias::constant; // 'Alias::' is a dependent namespace-name ([temp.dep.namespace]). } ``` Hope that neither of these complicate your refactor! Looks like super impressive work; looking forward to seeing it land. https://github.com/llvm/llvm-project/pull/147835 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits