diff options
Diffstat (limited to 'src/test/ui/consts/const-eval/issue-50814.rs')
-rw-r--r-- | src/test/ui/consts/const-eval/issue-50814.rs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/test/ui/consts/const-eval/issue-50814.rs b/src/test/ui/consts/const-eval/issue-50814.rs new file mode 100644 index 000000000..98229f919 --- /dev/null +++ b/src/test/ui/consts/const-eval/issue-50814.rs @@ -0,0 +1,27 @@ +// build-fail + +trait Unsigned { + const MAX: u8; +} + +struct U8(u8); +impl Unsigned for U8 { + const MAX: u8 = 0xff; +} + +struct Sum<A,B>(A,B); + +impl<A: Unsigned, B: Unsigned> Unsigned for Sum<A,B> { + const MAX: u8 = A::MAX + B::MAX; + //~^ ERROR any use of this value will cause an error [const_err] + //~| WARN this was previously accepted by the compiler but is being phased out +} + +fn foo<T>(_: T) -> &'static u8 { + &Sum::<U8,U8>::MAX + //~^ ERROR E0080 +} + +fn main() { + foo(0); +} |