diff --git a/tests/ui/async-await/debug-ice-attempted-to-add-with-overflow.rs b/tests/ui/async-await/debug-ice-attempted-to-add-with-overflow.rs new file mode 100644 index 0000000000000..ced4434a7a7cf --- /dev/null +++ b/tests/ui/async-await/debug-ice-attempted-to-add-with-overflow.rs @@ -0,0 +1,10 @@ +// check-fail +// edition:2021 + +// test for issue-114912 - debug ice: attempted to add with overflow + +async fn main() { + //~^ ERROR `main` function is not allowed to be `async` + [0usize; 0xffff_ffff_ffff_ffff].await; + //~^ ERROR `[usize; usize::MAX]` is not a future +} diff --git a/tests/ui/async-await/debug-ice-attempted-to-add-with-overflow.stderr b/tests/ui/async-await/debug-ice-attempted-to-add-with-overflow.stderr new file mode 100644 index 0000000000000..8c9d06c79ca42 --- /dev/null +++ b/tests/ui/async-await/debug-ice-attempted-to-add-with-overflow.stderr @@ -0,0 +1,23 @@ +error[E0277]: `[usize; usize::MAX]` is not a future + --> $DIR/debug-ice-attempted-to-add-with-overflow.rs:8:37 + | +LL | [0usize; 0xffff_ffff_ffff_ffff].await; + | -^^^^^ + | || + | |`[usize; usize::MAX]` is not a future + | help: remove the `.await` + | + = help: the trait `Future` is not implemented for `[usize; usize::MAX]` + = note: [usize; usize::MAX] must be a future or must implement `IntoFuture` to be awaited + = note: required for `[usize; usize::MAX]` to implement `IntoFuture` + +error[E0752]: `main` function is not allowed to be `async` + --> $DIR/debug-ice-attempted-to-add-with-overflow.rs:6:1 + | +LL | async fn main() { + | ^^^^^^^^^^^^^^^ `main` function is not allowed to be `async` + +error: aborting due to 2 previous errors + +Some errors have detailed explanations: E0277, E0752. +For more information about an error, try `rustc --explain E0277`.