From 8ef2dd70e6dc90a8895ca5000a2868e411ba34b7 Mon Sep 17 00:00:00 2001 From: Giacomo Stevanato Date: Sun, 29 May 2022 17:43:35 +0200 Subject: [PATCH] Clarify the guarantees of Vec::as_ptr and Vec::as_mut_ptr when there's no allocation --- library/alloc/src/vec/mod.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/library/alloc/src/vec/mod.rs b/library/alloc/src/vec/mod.rs index 3dc8a4fbba8..9621ca0eee0 100644 --- a/library/alloc/src/vec/mod.rs +++ b/library/alloc/src/vec/mod.rs @@ -1107,7 +1107,8 @@ impl Vec { self } - /// Returns a raw pointer to the vector's buffer. + /// Returns a raw pointer to the vector's buffer, or a dangling raw pointer + /// valid for zero sized reads if the vector didn't allocate. /// /// The caller must ensure that the vector outlives the pointer this /// function returns, or else it will end up pointing to garbage. @@ -1144,7 +1145,8 @@ impl Vec { ptr } - /// Returns an unsafe mutable pointer to the vector's buffer. + /// Returns an unsafe mutable pointer to the vector's buffer, or a dangling + /// raw pointer valid for zero sized reads if the vector didn't allocate. /// /// The caller must ensure that the vector outlives the pointer this /// function returns, or else it will end up pointing to garbage.