Add new reserved lifetime: 'owned
Rust Internals [Unofficial]
June 13, 2026
Voldemat:
Because right now &'buffer str -> &'static str and &'buffer str -> String are identical to the borrow checker, but it is incorrect, because in first case it is invalid since generic 'buffer does not outlive 'static, while in second case 'buffer could be any lifetime since String makes a copy and does not hold any references to previous structures.
Either you assume you can make a copy, and hence &'buffer str -> &'static str is also possible, or you don't assume you can make a copy, and hence &'buffer str -> String is a type error because the two types are different.
Discussion in the ATmosphere