namespace; include rt; // expect: a temporary argument requires a proved non-escaping borrow char* retained; char*.u message() { return rt.new(2); } char* alias(char* p) { return p; } fn store(char* p) { retained = p; } fn main() { store(alias(message())); }