rust/tests/ui/associated-consts/associated-const-resolution-order.rs
2024-02-16 20:02:50 +00:00

25 lines
547 B
Rust

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