//@ run-pass | |
struct MyType; | |
impl MyType { | |
const IMPL_IS_INHERENT: bool = true; | |
} | |
trait MyTrait { | |
const IMPL_IS_INHERENT: bool; | |
const IMPL_IS_ON_TRAIT: bool; | |
} | |
impl MyTrait for MyType { | |
const IMPL_IS_INHERENT: bool = false; | |
const IMPL_IS_ON_TRAIT: bool = true; | |
} | |
fn main() { | |
// Check that the inherent impl is used before the trait, but that the trait | |
// can still be accessed. | |
assert!(<MyType>::IMPL_IS_INHERENT); | |
assert!(!<MyType as MyTrait>::IMPL_IS_INHERENT); | |
assert!(<MyType>::IMPL_IS_ON_TRAIT); | |
} |