================
@@ -2066,7 +2066,27 @@ class UserProvidedConstructor {
     UserProvidedConstructor(const UserProvidedConstructor&)            = 
delete;
     UserProvidedConstructor& operator=(const UserProvidedConstructor&) = 
delete;
 };
+struct Ctr {
+    Ctr();
+};
+struct Ctr2 {
+    Ctr2();
+private:
+  NoEligibleTrivialContructor inner;
+};
+
+struct NonCopyable{
+    NonCopyable() = default;
+    NonCopyable(const NonCopyable&) = delete;
+};
+
+class C {
+    NonCopyable nc;
+};
 
+static_assert(__builtin_is_implicit_lifetime(Ctr));
+static_assert(__builtin_is_implicit_lifetime(C));
+static_assert(!__builtin_is_implicit_lifetime(NoEligibleTrivialContructor));
----------------
bolshakov-a wrote:

`Ctr2` is not used in this test. Maybe, you wanted to mention it here instead 
of `NoEligibleTrivialContructor`?

https://github.com/llvm/llvm-project/pull/162612
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to