rust/tests/ui/lint/dangling-pointers-from-temporaries/example-from-issue123613.rs
2024-10-28 14:16:05 +03:00

14 lines
563 B
Rust

#![deny(dangling_pointers_from_temporaries)]
const MAX_PATH: usize = 260;
fn main() {
let str1 = String::with_capacity(MAX_PATH).as_mut_ptr();
//~^ ERROR a dangling pointer will be produced because the temporary `String` will be dropped
let str2 = String::from("TotototototototototototototototototoT").as_ptr();
//~^ ERROR a dangling pointer will be produced because the temporary `String` will be dropped
unsafe {
std::ptr::copy_nonoverlapping(str2, str1, 30);
println!("{:?}", String::from_raw_parts(str1, 30, 30));
}
}