Fix E0716 by storing the temporary value in a variable before borrowing it, ensuring the data lives long enough for the borrow to be valid.
let temp = String::from("hello");
let s = &temp;
// use s
Alternatively, if you need a string literal that lives for the entire program, use a &'static str directly:
let s = "hello";
If you are returning a reference from a function, ensure the data being returned is owned by the function's caller or has a 'static lifetime, rather than being created locally within the function.