Remove the assume(!is_null) from Vec::as_ptr
This commit is contained in:
parent
eebdfb55fc
commit
738c8b08d5
2 changed files with 21 additions and 11 deletions
19
tests/codegen/vec-as-ptr.rs
Normal file
19
tests/codegen/vec-as-ptr.rs
Normal file
|
@ -0,0 +1,19 @@
|
|||
// compile-flags: -O -Zmerge-functions=disabled
|
||||
|
||||
#![crate_type = "lib"]
|
||||
|
||||
// Test that even though we return a *const u8 not a &[u8] or a NonNull<u8>, LLVM knows that this
|
||||
// pointer is nonnull.
|
||||
// CHECK: nonnull {{i8\*|ptr}} @vec_as_ptr
|
||||
#[no_mangle]
|
||||
pub fn vec_as_ptr(v: &Vec<u8>) -> *const u8 {
|
||||
v.as_ptr()
|
||||
}
|
||||
|
||||
// Test that even though we return a *const u8 not a &[u8] or a NonNull<u8>, LLVM knows that this
|
||||
// pointer is nonnull.
|
||||
// CHECK: nonnull {{i8\*|ptr}} @vec_as_mut_ptr
|
||||
#[no_mangle]
|
||||
pub fn vec_as_mut_ptr(v: &mut Vec<u8>) -> *mut u8 {
|
||||
v.as_mut_ptr()
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue