| 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 |
| |