]> git.proxmox.com Git - rustc.git/blob - src/test/ui/regions/regions-close-over-type-parameter-successfully.rs
New upstream version 1.67.1+dfsg1
[rustc.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 }