From e6e6e34b95cfe03275943fde0db259cc7d57f4ad Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Thu, 5 Dec 2019 18:51:19 -0800 Subject: [c++20] Defaulted comparison support for array members. --- clang/test/CXX/class/class.compare/class.eq/p2.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'clang/test/CXX/class/class.compare/class.eq/p2.cpp') diff --git a/clang/test/CXX/class/class.compare/class.eq/p2.cpp b/clang/test/CXX/class/class.compare/class.eq/p2.cpp index d53d071f36f..55b2cc3c08f 100644 --- a/clang/test/CXX/class/class.compare/class.eq/p2.cpp +++ b/clang/test/CXX/class/class.compare/class.eq/p2.cpp @@ -17,8 +17,8 @@ struct G { bool operator==(G) const = delete; }; // expected-note {{deleted here template struct X { X(); - bool operator==(const X&) const = default; // #x expected-note 3{{deleted here}} - T t; // expected-note 2{{because there is no viable comparison function for member 't'}} + bool operator==(const X&) const = default; // #x expected-note 4{{deleted here}} + T t; // expected-note 3{{because there is no viable comparison function for member 't'}} // expected-note@-1 {{because it would invoke a deleted comparison function for member 't'}} }; @@ -43,4 +43,7 @@ void test() { void(X() == X()); // expected-note {{in defaulted equality comparison operator for 'X' first required here}} void(X() == X()); // expected-error {{cannot be compared because its 'operator==' is implicitly deleted}} + + void(X() == X()); // expected-error {{cannot be compared because its 'operator==' is implicitly deleted}} + void(X() == X()); } -- cgit v1.2.3