]> git.lizzy.rs Git - rust.git/blob - src/test/run-pass/object-lifetime-default-from-rptr-mut.rs
Rollup merge of #61499 - varkor:issue-53457, r=oli-obk
[rust.git] / src / test / run-pass / object-lifetime-default-from-rptr-mut.rs
1 // Test that the lifetime of the enclosing `&` is used for the object
2 // lifetime bound.
3
4 // pretty-expanded FIXME #23616
5
6 #![allow(dead_code)]
7
8 trait Test {
9     fn foo(&self) { }
10 }
11
12 struct SomeStruct<'a> {
13     t: &'a mut dyn Test,
14     u: &'a mut (dyn Test+'a),
15 }
16
17 fn a<'a>(t: &'a mut dyn Test, mut ss: SomeStruct<'a>) {
18     ss.t = t;
19 }
20
21 fn b<'a>(t: &'a mut dyn Test, mut ss: SomeStruct<'a>) {
22     ss.u = t;
23 }
24
25 fn c<'a>(t: &'a mut (dyn Test+'a), mut ss: SomeStruct<'a>) {
26     ss.t = t;
27 }
28
29 fn d<'a>(t: &'a mut (dyn Test+'a), mut ss: SomeStruct<'a>) {
30     ss.u = t;
31 }
32
33
34 fn main() {
35 }