Ensure that the const-eval engine handles #[unwind(aborts)]
This commit is contained in:
parent
a5f083133e
commit
14c3705c6c
12
src/test/ui/consts/const-eval/unwind-abort.rs
Normal file
12
src/test/ui/consts/const-eval/unwind-abort.rs
Normal file
@ -0,0 +1,12 @@
|
||||
#![feature(unwind_attributes, const_panic)]
|
||||
|
||||
#[unwind(aborts)]
|
||||
const fn foo() {
|
||||
panic!() //~ evaluation of constant value failed
|
||||
}
|
||||
|
||||
const _: () = foo(); //~ any use of this value will cause an error
|
||||
|
||||
fn main() {
|
||||
let _ = foo();
|
||||
}
|
21
src/test/ui/consts/const-eval/unwind-abort.stderr
Normal file
21
src/test/ui/consts/const-eval/unwind-abort.stderr
Normal file
@ -0,0 +1,21 @@
|
||||
error[E0080]: evaluation of constant value failed
|
||||
--> $DIR/unwind-abort.rs:5:5
|
||||
|
|
||||
LL | panic!()
|
||||
| ^^^^^^^^ the evaluated program panicked at 'explicit panic', $DIR/unwind-abort.rs:5:5
|
||||
|
|
||||
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: any use of this value will cause an error
|
||||
--> $DIR/unwind-abort.rs:8:15
|
||||
|
|
||||
LL | const _: () = foo();
|
||||
| --------------^^^^^-
|
||||
| |
|
||||
| referenced constant has errors
|
||||
|
|
||||
= note: `#[deny(const_err)]` on by default
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
For more information about this error, try `rustc --explain E0080`.
|
Loading…
x
Reference in New Issue
Block a user