================ @@ -17,3 +16,134 @@ void k() { } } // namespace GH64347 + +namespace GH123591 { + + +template < typename... _Types > +struct variant { + template <int N = sizeof...(_Types)> + variant(_Types...); +}; + +template <class T> +using AstNode = variant<T, T, T>; + +AstNode tree(42, 43, 44); + +} + +namespace GH123591_2 { + +template <int> +using enable_if_t = char; + +template < typename... Types > +struct variant { + template < enable_if_t<sizeof...(Types)>> + variant(); +}; + +template <int> +using AstNode = variant<>; +// expected-note@-1 {{couldn't infer template argument ''}} \ +// expected-note@-1 2{{implicit deduction guide declared as}} \ +// expected-note@-1 {{candidate function template not viable}} + + +AstNode tree; // expected-error {{no viable constructor or deduction guide}} + +} + +namespace GH127539 { + +template <class...> +struct A { + template <class... ArgTs> + A(ArgTs...) {} +}; + +template <class... ArgTs> +A(ArgTs...) -> A<typename ArgTs::value_type...>; + +template <class... Ts> +using AA = A<Ts..., Ts...>; + +AA a{}; + +} + +namespace GH129077 { + +using size_t = decltype(sizeof(0)); + +struct index_type +{ + size_t value{~0ull}; ---------------- mizvekov wrote:
This looks to be breaking on a buildbot: https://lab.llvm.org/buildbot/#/builders/135/builds/1706 You need to either change the test here, or pin the test to a certain triple, in order to avoid differences in the type of size_t between machines. https://github.com/llvm/llvm-project/pull/132061 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits