]> git.lizzy.rs Git - rust.git/blob - src/test/ui/issues/issue-7563.rs
Merge commit '63734fcdd718cca089f84c42f3a42c0096cfd431' into sync_cg_clif-2022-05-15
[rust.git] / src / test / ui / issues / issue-7563.rs
1 // run-pass
2 #![allow(dead_code)]
3 trait IDummy {
4     fn do_nothing(&self);
5 }
6
7 #[derive(Debug)]
8 struct A { a: isize }
9 #[derive(Debug)]
10 struct B<'a> { b: isize, pa: &'a A }
11
12     impl IDummy for A {
13         fn do_nothing(&self) {
14             println!("A::do_nothing() is called");
15         }
16     }
17
18 impl<'a> B<'a> {
19     fn get_pa(&self) -> &'a dyn IDummy { self.pa as &'a dyn IDummy }
20 }
21
22 pub fn main() {
23     let sa = A { a: 100 };
24     let sb = B { b: 200, pa: &sa };
25
26     println!("sa is {:?}", sa);
27     println!("sb is {:?}", sb);
28 }