]> git.lizzy.rs Git - rust.git/blob - src/test/mir-opt/retain-never-const.rs
Auto merge of #67732 - pietroalbini:fewer-apples, r=alexcrichton
[rust.git] / src / test / mir-opt / retain-never-const.rs
1 // Regression test for #66975 - ensure that we don't keep unevaluated
2 // `!`-typed constants until codegen.
3
4 // Force generation of optimized mir for functions that do not reach codegen.
5 // compile-flags: --emit mir,link
6
7 #![feature(const_panic)]
8 #![feature(never_type)]
9 #![warn(const_err)]
10
11 struct PrintName<T>(T);
12
13 impl<T> PrintName<T> {
14     const VOID: ! = panic!();
15 }
16
17 fn no_codegen<T>() {
18     let _ = PrintName::<T>::VOID;
19 }
20
21 fn main() {}
22
23 // END RUST SOURCE
24 // START rustc.no_codegen.PreCodegen.after.mir
25 // bb0: {
26 //     StorageLive(_1);
27 //     _1 = const PrintName::<T>::VOID;
28 //     unreachable;
29 // }
30 // END rustc.no_codegen.PreCodegen.after.mir