about summary refs log tree commit diff
path: root/tests/ui/consts/const-eval/const-eval-overflow-4b.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/consts/const-eval/const-eval-overflow-4b.stderr')
-rw-r--r--tests/ui/consts/const-eval/const-eval-overflow-4b.stderr35
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/ui/consts/const-eval/const-eval-overflow-4b.stderr b/tests/ui/consts/const-eval/const-eval-overflow-4b.stderr
new file mode 100644
index 00000000000..1f8e402317a
--- /dev/null
+++ b/tests/ui/consts/const-eval/const-eval-overflow-4b.stderr
@@ -0,0 +1,35 @@
+error[E0308]: mismatched types
+  --> $DIR/const-eval-overflow-4b.rs:9:30
+   |
+LL |     : [u32; (i8::MAX as i8 + 1u8) as usize]
+   |                              ^^^ expected `i8`, found `u8`
+
+error[E0277]: cannot add `u8` to `i8` in const contexts
+  --> $DIR/const-eval-overflow-4b.rs:9:28
+   |
+LL |     : [u32; (i8::MAX as i8 + 1u8) as usize]
+   |                            ^ no implementation for `i8 + u8`
+   |
+   = help: the trait `~const Add<u8>` is not implemented for `i8`
+   = help: the following other types implement trait `Add<Rhs>`:
+             <&'a i8 as Add<i8>>
+             <&i8 as Add<&i8>>
+             <i8 as Add<&i8>>
+             <i8 as Add>
+
+error[E0604]: only `u8` can be cast as `char`, not `i8`
+  --> $DIR/const-eval-overflow-4b.rs:22:13
+   |
+LL |     : [u32; 5i8 as char as usize]
+   |             ^^^^^^^^^^^ invalid cast
+   |
+help: try casting from `u8` instead
+  --> $DIR/const-eval-overflow-4b.rs:22:13
+   |
+LL |     : [u32; 5i8 as char as usize]
+   |             ^^^^^^^^^^^
+
+error: aborting due to 3 previous errors
+
+Some errors have detailed explanations: E0277, E0308, E0604.
+For more information about an error, try `rustc --explain E0277`.