// Tests that the compiler does not ICE when const-evaluating a `panic!()` invocation with a // non-`&str` argument. const _: () = panic!(1); //~^ ERROR: argument to `panic!()` in a const context must have type `&str` static _FOO: () = panic!(true); //~^ ERROR: argument to `panic!()` in a const context must have type `&str` const fn _foo() { panic!(&1); //~^ ERROR: argument to `panic!()` in a const context must have type `&str` } // ensure that conforming panics don't cause an error beyond the failure to const eval const _: () = panic!(); //~^ ERROR: evaluation of constant value failed static _BAR: () = panic!("panic in static"); //~^ ERROR could not evaluate static initializer const fn _bar() { panic!("panic in const fn"); } fn main() {}