Skip to content

rust 0.6: Internal Compiler Error when compiling the following code #7563

Closed
@qtigercom

Description

@qtigercom
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()));
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions