// aux-build:coherence_inherent_cc_lib.rs

// Tests that methods that implement a trait cannot be invoked
// unless the trait is imported.

extern crate coherence_inherent_cc_lib;

mod Import {
    // Trait is in scope here:
    use coherence_inherent_cc_lib::TheStruct;
    use coherence_inherent_cc_lib::TheTrait;

    fn call_the_fn(s: &TheStruct) {
        s.the_fn();
    }
}

mod NoImport {
    // Trait is not in scope here:
    use coherence_inherent_cc_lib::TheStruct;

    fn call_the_fn(s: &TheStruct) {
        s.the_fn();
        //~^ ERROR E0599
    }
}

fn main() {}