about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--tests/ui/fmt/no-inline-literals-out-of-range.rs6
-rw-r--r--tests/ui/fmt/no-inline-literals-out-of-range.stderr24
2 files changed, 26 insertions, 4 deletions
diff --git a/tests/ui/fmt/no-inline-literals-out-of-range.rs b/tests/ui/fmt/no-inline-literals-out-of-range.rs
index 05a0b64f77d..d2532cdfbff 100644
--- a/tests/ui/fmt/no-inline-literals-out-of-range.rs
+++ b/tests/ui/fmt/no-inline-literals-out-of-range.rs
@@ -1,8 +1,14 @@
+//@ only-64bit
+
 fn main() {
     format_args!("{}", 0x8f_i8); // issue #115423
     //~^ ERROR literal out of range for `i8`
     format_args!("{}", 0xffff_ffff_u8); // issue #116633
     //~^ ERROR literal out of range for `u8`
+    format_args!("{}", 0xffff_ffff_ffff_ffff_ffff_usize);
+    //~^ ERROR literal out of range for `usize`
+    format_args!("{}", 0x8000_0000_0000_0000_isize);
+    //~^ ERROR literal out of range for `isize`
     format_args!("{}", 0xffff_ffff); // treat unsuffixed literals as i32
     //~^ ERROR literal out of range for `i32`
 }
diff --git a/tests/ui/fmt/no-inline-literals-out-of-range.stderr b/tests/ui/fmt/no-inline-literals-out-of-range.stderr
index 22104d6134f..78ec4888c27 100644
--- a/tests/ui/fmt/no-inline-literals-out-of-range.stderr
+++ b/tests/ui/fmt/no-inline-literals-out-of-range.stderr
@@ -1,5 +1,5 @@
 error: literal out of range for `i8`
-  --> $DIR/no-inline-literals-out-of-range.rs:2:24
+  --> $DIR/no-inline-literals-out-of-range.rs:4:24
    |
 LL |     format_args!("{}", 0x8f_i8); // issue #115423
    |                        ^^^^^^^
@@ -16,15 +16,31 @@ LL |     format_args!("{}", 0x8f_u8 as i8); // issue #115423
    |                        ~~~~~~~~~~~~~
 
 error: literal out of range for `u8`
-  --> $DIR/no-inline-literals-out-of-range.rs:4:24
+  --> $DIR/no-inline-literals-out-of-range.rs:6:24
    |
 LL |     format_args!("{}", 0xffff_ffff_u8); // issue #116633
    |                        ^^^^^^^^^^^^^^ help: consider using the type `u32` instead: `0xffff_ffff_u32`
    |
    = note: the literal `0xffff_ffff_u8` (decimal `4294967295`) does not fit into the type `u8` and will become `255u8`
 
+error: literal out of range for `usize`
+  --> $DIR/no-inline-literals-out-of-range.rs:8:24
+   |
+LL |     format_args!("{}", 0xffff_ffff_ffff_ffff_ffff_usize);
+   |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: the literal `0xffff_ffff_ffff_ffff_ffff_usize` (decimal `1208925819614629174706175`) does not fit into the type `usize` and will become `18446744073709551615usize`
+
+error: literal out of range for `isize`
+  --> $DIR/no-inline-literals-out-of-range.rs:10:24
+   |
+LL |     format_args!("{}", 0x8000_0000_0000_0000_isize);
+   |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: the literal `0x8000_0000_0000_0000_isize` (decimal `9223372036854775808`) does not fit into the type `isize` and will become `-9223372036854775808isize`
+
 error: literal out of range for `i32`
-  --> $DIR/no-inline-literals-out-of-range.rs:6:24
+  --> $DIR/no-inline-literals-out-of-range.rs:12:24
    |
 LL |     format_args!("{}", 0xffff_ffff); // treat unsuffixed literals as i32
    |                        ^^^^^^^^^^^
@@ -36,5 +52,5 @@ help: to use as a negative number (decimal `-1`), consider using the type `u32`
 LL |     format_args!("{}", 0xffff_ffffu32 as i32); // treat unsuffixed literals as i32
    |                        ~~~~~~~~~~~~~~~~~~~~~
 
-error: aborting due to 3 previous errors
+error: aborting due to 5 previous errors