diff options
Diffstat (limited to 'clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp')
| -rw-r--r-- | clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp b/clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp index 4afbd2d7c16..8c96fb4fd0f 100644 --- a/clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp +++ b/clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp @@ -194,11 +194,9 @@ namespace transform_params { A a(qn, qn); // expected-error {{no matching constructor for initialization of 'transform_params::A<int, 12, Q, &transform_params::n>'}} static_assert(a.v == 12); - // FIXME: This causes a crash right now (not class template deduction related). -#if 0 - template<typename ...T> struct B { - template<T ...V> B(T (&...p)[V]); + // FIXME: This should be accepted. + template<typename ...T> struct B { // expected-note {{candidate}} + template<T ...V> B(const T (&...p)[V]); // expected-note {{substitution failure}} }; - B b({1, 2, 3}, {"foo", "bar"}, {'x', 'y', 'z', 'w'}); -#endif + B b({1, 2, 3}, {"foo", "bar"}, {'x', 'y', 'z', 'w'}); // expected-error {{no viable constructor or deduction guide}} } |

