Converting from String to &str with a different lifetime
问题 I have this simple example: fn make_string<'a>() -> &'a str { let s : &'static str = "test"; s } fn make_str<'a>() -> &'a str { let s : String = String::from_str("test"); s.as_slice() } fn main() { println!("{}", make_string()); println!("{}", make_str()); } Error message: <anon>:8:9: 8:10 error: `s` does not live long enough <anon>:8 s.as_slice() ^ <anon>:6:34: 9:6 note: reference must be valid for the lifetime 'a as defined on the block at 6:33... <anon>:6 fn make_str<'a>() -> &'a str {