rust/tests/ui/lint/dangling-pointers-from-temp.../example-from-issue123613.st...

34 lines
2.3 KiB
Plaintext

error: a dangling pointer will be produced because the temporary `String` will be dropped
--> $DIR/example-from-issue123613.rs:5:48
|
LL | let str1 = String::with_capacity(MAX_PATH).as_mut_ptr();
| ------------------------------- ^^^^^^^^^^ this pointer will immediately be invalid
| |
| this `String` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
|
= note: pointers do not have a lifetime; when calling `as_mut_ptr` the `String` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
= help: you must make sure that the variable you bind the `String` to lives at least as long as the pointer returned by the call to `as_mut_ptr`
= help: in particular, if this pointer is returned from the current function, binding the `String` inside the function will not suffice
= help: for more information, see <https://doc.rust-lang.org/reference/destructors.html>
note: the lint level is defined here
--> $DIR/example-from-issue123613.rs:1:9
|
LL | #![deny(dangling_pointers_from_temporaries)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: a dangling pointer will be produced because the temporary `String` will be dropped
--> $DIR/example-from-issue123613.rs:7:70
|
LL | let str2 = String::from("TotototototototototototototototototoT").as_ptr();
| ----------------------------------------------------- ^^^^^^ this pointer will immediately be invalid
| |
| this `String` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
|
= note: pointers do not have a lifetime; when calling `as_ptr` the `String` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
= help: you must make sure that the variable you bind the `String` to lives at least as long as the pointer returned by the call to `as_ptr`
= help: in particular, if this pointer is returned from the current function, binding the `String` inside the function will not suffice
= help: for more information, see <https://doc.rust-lang.org/reference/destructors.html>
error: aborting due to 2 previous errors