From 10861c8f9deeb7084550026b368309bc0bb95a44 Mon Sep 17 00:00:00 2001 From: Chris Bieneman Date: Thu, 7 Dec 2023 09:56:56 -0600 Subject: [PATCH] Explicitly state lvalue-reference semantics 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 cf1536b7..51eb2a4e 100644 --- a/proposals/0010-vk-buffer-ref.md +++ b/proposals/0010-vk-buffer-ref.md @@ -100,6 +100,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