// run-pass
#![allow(dead_code)]
// pretty-expanded FIXME #23616

pub mod test2 {
    // This used to generate an ICE (make sure that default functions are
    // parented to their trait to find the first private thing as the trait).

    struct B;
    trait A { fn foo(&self) {} }
    impl A for B {}

    mod tests {
        use super::A;
        fn foo() {
            let a = super::B;
            a.foo();
        }
    }
}


pub fn main() {}
