diff options
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/run-pass/issues/issue-39367.rs | 4 | ||||
| -rw-r--r-- | src/test/ui/consts/array-literal-index-oob.rs | 6 | ||||
| -rw-r--r-- | src/test/ui/consts/array-literal-index-oob.stderr | 24 |
3 files changed, 32 insertions, 2 deletions
diff --git a/src/test/run-pass/issues/issue-39367.rs b/src/test/run-pass/issues/issue-39367.rs index 484cd782a09..2e2b480e066 100644 --- a/src/test/run-pass/issues/issue-39367.rs +++ b/src/test/run-pass/issues/issue-39367.rs @@ -11,13 +11,13 @@ fn arena() -> &'static ArenaSet<Vec<u8>> { ArenaSet(vec![], &Z) } unsafe { - use std::sync::{Once, ONCE_INIT}; + use std::sync::Once; fn require_sync<T: Sync>(_: &T) { } unsafe fn __stability() -> &'static ArenaSet<Vec<u8>> { use std::mem::transmute; static mut DATA: *const ArenaSet<Vec<u8>> = 0 as *const ArenaSet<Vec<u8>>; - static mut ONCE: Once = ONCE_INIT; + static mut ONCE: Once = Once::new(); ONCE.call_once(|| { DATA = transmute ::<Box<ArenaSet<Vec<u8>>>, *const ArenaSet<Vec<u8>>> diff --git a/src/test/ui/consts/array-literal-index-oob.rs b/src/test/ui/consts/array-literal-index-oob.rs new file mode 100644 index 00000000000..76013c77de0 --- /dev/null +++ b/src/test/ui/consts/array-literal-index-oob.rs @@ -0,0 +1,6 @@ +fn main() { + &{[1, 2, 3][4]}; + //~^ ERROR index out of bounds + //~| ERROR reaching this expression at runtime will panic or abort + //~| ERROR this expression will panic at runtime +} diff --git a/src/test/ui/consts/array-literal-index-oob.stderr b/src/test/ui/consts/array-literal-index-oob.stderr new file mode 100644 index 00000000000..727ce9e57a4 --- /dev/null +++ b/src/test/ui/consts/array-literal-index-oob.stderr @@ -0,0 +1,24 @@ +error: index out of bounds: the len is 3 but the index is 4 + --> $DIR/array-literal-index-oob.rs:2:7 + | +LL | &{[1, 2, 3][4]}; + | ^^^^^^^^^^^^ + | + = note: #[deny(const_err)] on by default + +error: this expression will panic at runtime + --> $DIR/array-literal-index-oob.rs:2:5 + | +LL | &{[1, 2, 3][4]}; + | ^^^^^^^^^^^^^^^ index out of bounds: the len is 3 but the index is 4 + +error: reaching this expression at runtime will panic or abort + --> $DIR/array-literal-index-oob.rs:2:7 + | +LL | &{[1, 2, 3][4]}; + | --^^^^^^^^^^^^- + | | + | index out of bounds: the len is 3 but the index is 4 + +error: aborting due to 3 previous errors + |
