yronglin wrote: I've a more short reproducer: ```C++ namespace std { template <class T> class initializer_list {}; }
template <typename T, int> class C { public: C(std::initializer_list<T>); }; template <typename T> using Ptr =__remove_pointer(T) *; template <typename T> C(T) -> C<Ptr<T>, sizeof(T)>; class A { public: template <typename T1, typename T2> T1 *some_func(T2 &&); }; struct B : A { int *ar = some_func<int>(C{some_func<int>(0)}); B() {} }; ``` https://github.com/llvm/llvm-project/pull/87933 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits