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