From a02a759f14be11ceb012796a79828b062d491a09 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Mon, 19 Aug 2013 10:52:07 -0700 Subject: [PATCH] test: Add test for #7563. Closes #7563 --- src/test/run-pass/issue-7563.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/test/run-pass/issue-7563.rs diff --git a/src/test/run-pass/issue-7563.rs b/src/test/run-pass/issue-7563.rs new file mode 100644 index 000000000000..f36dcb5ef1bb --- /dev/null +++ b/src/test/run-pass/issue-7563.rs @@ -0,0 +1,25 @@ +trait IDummy { + fn do_nothing(&self); +} + +struct A { a: int } +struct B<'self> { b: int, pa: &'self A } + + impl IDummy for A { + fn do_nothing(&self) { + println("A::do_nothing() is called"); + } + } + +impl<'self> B<'self> { + fn get_pa(&self) -> &'self IDummy { self.pa as &'self IDummy } +} + +pub fn main() { + let sa = A { a: 100 }; + let sb = B { b: 200, pa: &sa }; + + debug!("sa is %?", sa); + debug!("sb is %?", sb); + debug!("sb.pa is %?", sb.get_pa()); +}