diff options
Diffstat (limited to 'libcxx/test')
5 files changed, 32 insertions, 0 deletions
diff --git a/libcxx/test/utilities/meta/meta.unary/meta.unary.prop/is_copy_assignable.pass.cpp b/libcxx/test/utilities/meta/meta.unary/meta.unary.prop/is_copy_assignable.pass.cpp index bde44de4c25..c43d59479fb 100644 --- a/libcxx/test/utilities/meta/meta.unary/meta.unary.prop/is_copy_assignable.pass.cpp +++ b/libcxx/test/utilities/meta/meta.unary/meta.unary.prop/is_copy_assignable.pass.cpp @@ -52,6 +52,11 @@ class B B& operator=(const B&); }; +struct C +{ + void operator=(C&); // not const +}; + int main() { test_is_copy_assignable<int> (); @@ -71,4 +76,5 @@ int main() test_is_not_copy_assignable<B> (); #endif test_is_not_copy_assignable<void> (); + test_is_not_copy_assignable<C> (); } diff --git a/libcxx/test/utilities/meta/meta.unary/meta.unary.prop/is_copy_constructible.pass.cpp b/libcxx/test/utilities/meta/meta.unary/meta.unary.prop/is_copy_constructible.pass.cpp index 837d0b0d218..f878a50c3af 100644 --- a/libcxx/test/utilities/meta/meta.unary/meta.unary.prop/is_copy_constructible.pass.cpp +++ b/libcxx/test/utilities/meta/meta.unary/meta.unary.prop/is_copy_constructible.pass.cpp @@ -58,6 +58,12 @@ class B B(const B&); }; +struct C +{ + C(C&); // not const + void operator=(C&); // not const +}; + int main() { test_is_copy_constructible<A>(); @@ -75,6 +81,7 @@ int main() test_is_not_copy_constructible<char[]>(); test_is_not_copy_constructible<void>(); test_is_not_copy_constructible<Abstract>(); + test_is_not_copy_constructible<C>(); #if __has_feature(cxx_access_control_sfinae) test_is_not_copy_constructible<B>(); #endif diff --git a/libcxx/test/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_assignable.pass.cpp b/libcxx/test/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_assignable.pass.cpp index 3bd2b3b7b80..8fff5f8b3de 100644 --- a/libcxx/test/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_assignable.pass.cpp +++ b/libcxx/test/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_assignable.pass.cpp @@ -34,6 +34,11 @@ struct B void operator=(A); }; +struct C +{ + void operator=(C&); // not const +}; + int main() { test_is_nothrow_assignable<int&, int&> (); @@ -46,4 +51,5 @@ int main() test_is_not_nothrow_assignable<int, int> (); test_is_not_nothrow_assignable<B, A> (); test_is_not_nothrow_assignable<A, B> (); + test_is_not_nothrow_assignable<C, C&> (); } diff --git a/libcxx/test/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_constructible.pass.cpp b/libcxx/test/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_constructible.pass.cpp index 8978ec9af53..9d3f8298757 100644 --- a/libcxx/test/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_constructible.pass.cpp +++ b/libcxx/test/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_constructible.pass.cpp @@ -70,6 +70,12 @@ struct A A(const A&); }; +struct C +{ + C(C&); // not const + void operator=(C&); // not const +}; + int main() { test_is_nothrow_constructible<int> (); @@ -80,4 +86,5 @@ int main() test_is_not_nothrow_constructible<A, int> (); test_is_not_nothrow_constructible<A, int, double> (); test_is_not_nothrow_constructible<A> (); + test_is_not_nothrow_constructible<C> (); } diff --git a/libcxx/test/utilities/meta/meta.unary/meta.unary.prop/is_trivially_assignable.pass.cpp b/libcxx/test/utilities/meta/meta.unary/meta.unary.prop/is_trivially_assignable.pass.cpp index 984824a035d..735d05fa6ee 100644 --- a/libcxx/test/utilities/meta/meta.unary/meta.unary.prop/is_trivially_assignable.pass.cpp +++ b/libcxx/test/utilities/meta/meta.unary/meta.unary.prop/is_trivially_assignable.pass.cpp @@ -34,6 +34,11 @@ struct B void operator=(A); }; +struct C +{ + void operator=(C&); // not const +}; + int main() { test_is_trivially_assignable<int&, int&> (); @@ -44,4 +49,5 @@ int main() test_is_not_trivially_assignable<int, int> (); test_is_not_trivially_assignable<B, A> (); test_is_not_trivially_assignable<A, B> (); + test_is_not_trivially_assignable<C&, C&> (); } |

