diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2018-03-16 13:36:56 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2018-03-16 13:36:56 +0000 |
commit | 68e1ba46fe5a41c099c01869ebc7a5f5bf58b73e (patch) | |
tree | e3e38bf975ea90fa136d036db2abba0c632650ae /test/CXX/temp/temp.deduct.guide/p1.cpp | |
parent | 290cc27fe21bfce479d30a3194a20045b90afb0e (diff) |
Implement C++ DR727, which permits explicit specializations at class scope.
More generally, this permits a template to be specialized in any scope in which
it could be defined, so this also supersedes DR44 and DR374 (the latter of
which we previously only implemented in C++11 mode onwards due to unclarity as
to whether it was a DR).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@327705 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CXX/temp/temp.deduct.guide/p1.cpp')
-rw-r--r-- | test/CXX/temp/temp.deduct.guide/p1.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/test/CXX/temp/temp.deduct.guide/p1.cpp b/test/CXX/temp/temp.deduct.guide/p1.cpp index c0a2ba1129..8bb9da8a97 100644 --- a/test/CXX/temp/temp.deduct.guide/p1.cpp +++ b/test/CXX/temp/temp.deduct.guide/p1.cpp @@ -101,7 +101,7 @@ namespace ExplicitInst { struct X { template<typename T> struct C {}; template<typename T> C(T) -> C<T>; - template<> C(int) -> C<int>; // expected-error {{explicit specialization of '<deduction guide for C>' in class scope}} + template<> C(int) -> C<int>; // expected-error {{deduction guide cannot be explicitly specialized}} extern template C(float) -> C<float>; // expected-error {{expected member name or ';'}} template C(char) -> C<char>; // expected-error {{expected '<' after 'template'}} }; |