1 error[E0597]: borrowed value does not live long enough
2 --> $DIR/issue-30438-a.rs:12:17
4 LL | return &Test { s: &self.s};
5 | ^^^^^^^^^^^^^^^^^^- temporary value only lives until here
7 | temporary value does not live long enough
9 note: borrowed value must be valid for the anonymous lifetime #1 defined on the method body at 11:5...
10 --> $DIR/issue-30438-a.rs:11:5
12 LL | / fn index(&self, _: usize) -> &Self::Output {
13 LL | | return &Test { s: &self.s};
14 LL | | //~^ ERROR: borrowed value does not live long enough
17 = note: consider using a `let` binding to increase its lifetime
19 error: aborting due to previous error
21 For more information about this error, try `rustc --explain E0597`.