29 lines
583 B
Rust
29 lines
583 B
Rust
//@ 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() {}
|