jcsxky wrote: > > Still crash on > > ```c++ > > template<auto F> constexpr auto x = F(); > > template<class> constexpr int a() { return 1; } > > > > template <class> > > struct A { > > using Func = decltype( > > []<class T>(T) { > > return x<[] constexpr { return a<T>(); }>; > > // return x<[] constexpr { return b(); }>; > > }.template operator()<unsigned long long>('2') > > ); > > }; > > A<short>::Func y; > > ``` > > That is a distinct case: Func does _not_ form a `TypeAliasTemplateDecl`, and > thus it is _not_ supposed to be covered by this PR. Please submit a new issue > for it.
Consider this one, ```cpp template<auto F> constexpr auto x = F(); template<class> constexpr int a() { return 1; } template <class> struct A { template<typename U> using Func = decltype( []<class T>(T) { return x<[] constexpr { return a<T>(); }>; }.template operator()<unsigned long long>('2') ); }; A<short>::Func<int> y; ``` `Func` is a `TypeAliasTemplateDecl` and crashes as well. https://github.com/llvm/llvm-project/pull/82310 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits