================
@@ -9242,3 +9242,15 @@ Declares that a function potentially allocates heap 
memory, and prevents any pot
 of ``nonallocating`` by the compiler.
   }];
 }
+
+def ValueTypeDocs : Documentation {
+  let Category = DocCatDecl;
+  let Content = [{
+The ``value_type`` attribute can be used to mark user-defined types as 'value
+types'. When objects of value types are passed value to functions, the objects
+are always considered to be formally copied into a new object. This means the
+argument itself must be the only value referencing the passed object. This
----------------
erichkeane wrote:

I am having a hard time figuring out why pass-by-value doesn't already imply 
this?  Pass-by-value means it was copied into the new object, right?  So I 
guess I have a hard time figuring out what we really mean here.

https://github.com/llvm/llvm-project/pull/95004
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to