Closed
Description
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) {
io::println("A::do_nothing() is called");
}
}
impl<'self> B<'self> {
fn get_pa(&self) -> &'self IDummy { self.pa as &'self IDummy }
}
#[test]
fn test_borrowed_ptr() {
let sa = A { a: 100 };
let sb = B { b: 200, pa: &sa };
io::println(fmt!("sa is %?", sa));
io::println(fmt!("sb is %?", sb));
io::println(fmt!("sb.pa is %?", sb.get_pa()));
}