| #![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)); |
| } |
| } |