Skip to content

Commit

Permalink
Add regression test for rust-lang#81899
Browse files Browse the repository at this point in the history
  • Loading branch information
JohnTitor committed May 27, 2022
1 parent 56fd680 commit 6ba9ed8
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 0 deletions.
13 changes: 13 additions & 0 deletions src/test/ui/borrowck/issue-81899.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
// Regression test for #81899.
// The `panic!()` below is important to trigger the fixed ICE.

const _CONST: &[u8] = &f(&[], |_| {});

const fn f<F>(_: &[u8], _: F) -> &[u8]
where
F: FnMut(&u8),
{
panic!() //~ ERROR: evaluation of constant value failed
}

fn main() {}
17 changes: 17 additions & 0 deletions src/test/ui/borrowck/issue-81899.stderr
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
error[E0080]: evaluation of constant value failed
--> $DIR/issue-81899.rs:10:5
|
LL | const _CONST: &[u8] = &f(&[], |_| {});
| -------------- inside `_CONST` at $DIR/issue-81899.rs:4:24
...
LL | panic!()
| ^^^^^^^^
| |
| the evaluated program panicked at 'explicit panic', $DIR/issue-81899.rs:10:5
| inside `f::<[closure@$DIR/issue-81899.rs:4:31: 4:37]>` at $SRC_DIR/std/src/panic.rs:LL:COL
|
= note: this error originates in the macro `$crate::panic::panic_2015` (in Nightly builds, run with -Z macro-backtrace for more info)

error: aborting due to previous error

For more information about this error, try `rustc --explain E0080`.

0 comments on commit 6ba9ed8

Please sign in to comment.