summaryrefslogtreecommitdiffstats
path: root/src/test/ui/consts/const-eval/issue-50814.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/consts/const-eval/issue-50814.rs')
-rw-r--r--src/test/ui/consts/const-eval/issue-50814.rs27
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);
+}