diff options
Diffstat (limited to 'src/test/ui/associated-consts/associated-const-resolution-order.rs')
-rw-r--r-- | src/test/ui/associated-consts/associated-const-resolution-order.rs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/test/ui/associated-consts/associated-const-resolution-order.rs b/src/test/ui/associated-consts/associated-const-resolution-order.rs new file mode 100644 index 000000000..d2ccd30a6 --- /dev/null +++ b/src/test/ui/associated-consts/associated-const-resolution-order.rs @@ -0,0 +1,25 @@ +// 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); +} |