From d6ba3f9a169cf265242b51c124e83549d07a1311 Mon Sep 17 00:00:00 2001 From: Maik Klein Date: Wed, 20 Mar 2019 18:31:21 +0100 Subject: [PATCH] Add lifetime of temporaries --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c8d3b56..a940336 100644 --- a/README.md +++ b/README.md @@ -110,7 +110,7 @@ impl<'a> DeviceCreateInfoBuilder<'a> { Every reference has to live as long as the builder itself. Builders implement `Deref` targeting their corresponding Vulkan struct, so references to builders can be passed directly to Vulkan functions. -Calling `.build()` will **discard** that lifetime because Vulkan structs use raw pointers internally. This should be avoided as much as possible because this can easily lead to dangling pointers. +Calling `.build()` will **discard** that lifetime because Vulkan structs use raw pointers internally. This should be avoided as much as possible because this can easily lead to dangling pointers. If `.build()` has to be called, it should be called as late as possible. The reason for this is that the lifetime of [temporaries](https://doc.rust-lang.org/reference/expressions.html#temporary-lifetimes) will be extended to the enclosing block. ### Pointer chains