]> git.lizzy.rs Git - rust.git/blob - src/test/ui/regions/regions-close-over-type-parameter-successfully.rs
Auto merge of #106143 - matthiaskrgr:rollup-3kpy1dc, r=matthiaskrgr
[rust.git] / src / test / ui / regions / regions-close-over-type-parameter-successfully.rs
1 // run-pass
2 // A test where we (successfully) close over a reference into
3 // an object.
4
5 trait SomeTrait { fn get(&self) -> isize; }
6
7 impl<'a> SomeTrait for &'a isize {
8     fn get(&self) -> isize {
9         **self
10     }
11 }
12
13 fn make_object<'a,A:SomeTrait+'a>(v: A) -> Box<dyn SomeTrait+'a> {
14     Box::new(v) as Box<dyn SomeTrait+'a>
15 }
16
17 fn main() {
18     let i: isize = 22;
19     let obj = make_object(&i);
20     assert_eq!(22, obj.get());
21 }