summaryrefslogtreecommitdiffstats
path: root/test/CXX/temp/temp.deduct.guide/p1.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2018-03-16 13:36:56 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2018-03-16 13:36:56 +0000
commit68e1ba46fe5a41c099c01869ebc7a5f5bf58b73e (patch)
treee3e38bf975ea90fa136d036db2abba0c632650ae /test/CXX/temp/temp.deduct.guide/p1.cpp
parent290cc27fe21bfce479d30a3194a20045b90afb0e (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.cpp2
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'}}
};