From 19491266edee2839d59c2d6e5d525886e2c5323c Mon Sep 17 00:00:00 2001 From: Chris B Date: Mon, 18 Dec 2023 12:02:16 -0600 Subject: [PATCH] Explicitly state lvalue-reference semantics (#136) This clarifies any ambiguity around atomic operations. Fixes #88 --- proposals/0010-vk-buffer-ref.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/proposals/0010-vk-buffer-ref.md b/proposals/0010-vk-buffer-ref.md index 9c083c3e..c1abf158 100644 --- a/proposals/0010-vk-buffer-ref.md +++ b/proposals/0010-vk-buffer-ref.md @@ -101,6 +101,9 @@ This new type will have the following operations * Dereference Method - The Get() method represents the struct lvalue reference of the pointer to which it is applied. The selection . operator can be applied to the Get() to further select a member from the referenced struct. + The reference returned by the Get() method is supported in all APIs that + take reference, `inout` or `out` parameters, and can be converted to an + rvalue following standard conversion rules. * Two new cast operators are introduced. vk::static_pointer_cast allows casting any vk::BufferPointer to vk::BufferPointer only if SrcType is a type derived from