aboutsummaryrefslogtreecommitdiff
path: root/test/CXX/drs/dr19xx.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/CXX/drs/dr19xx.cpp')
-rw-r--r--test/CXX/drs/dr19xx.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/test/CXX/drs/dr19xx.cpp b/test/CXX/drs/dr19xx.cpp
index 5b626dd80892..15ed30583fd0 100644
--- a/test/CXX/drs/dr19xx.cpp
+++ b/test/CXX/drs/dr19xx.cpp
@@ -140,7 +140,7 @@ namespace dr1959 { // dr1959: 3.9
a() = default;
a(const a &) = delete; // expected-note 2{{deleted}}
a(const b &) = delete; // not inherited
- a(c &&) = delete; // expected-note {{deleted}}
+ a(c &&) = delete;
template<typename T> a(T) = delete;
};
@@ -152,13 +152,14 @@ namespace dr1959 { // dr1959: 3.9
b y = x; // expected-error {{deleted}}
b z = z; // expected-error {{deleted}}
- // FIXME: It's not really clear that this matches the intent, but it's
- // consistent with the behavior for assignment operators.
struct c : a {
using a::a;
c(const c &);
};
- c q(static_cast<c&&>(q)); // expected-error {{call to deleted}}
+ // FIXME: As a resolution to an open DR against P0136R0, we disallow
+ // use of inherited constructors to construct from a single argument
+ // where the derived class is reference-related to its type.
+ c q(static_cast<c&&>(q));
#endif
}