]> git.lizzy.rs Git - rust.git/blob - tests/mir-opt/building/custom/consts.rs
Unify Opaque/Projection handling in region outlives code
[rust.git] / tests / mir-opt / building / custom / consts.rs
1 #![feature(custom_mir, core_intrinsics, inline_const)]
2
3 extern crate core;
4 use core::intrinsics::mir::*;
5
6 const D: i32 = 5;
7
8 // EMIT_MIR consts.consts.built.after.mir
9 #[custom_mir(dialect = "built")]
10 fn consts<const C: u32>() {
11     mir!({
12         let _a = 5_u8;
13         let _b = const { 5_i8 };
14         let _c = C;
15         let _d = D;
16         let _e = consts::<10>;
17         Return()
18     })
19 }
20
21 static S: i32 = 5;
22 static mut T: i32 = 10;
23 // EMIT_MIR consts.statics.built.after.mir
24 #[custom_mir(dialect = "built")]
25 fn statics() {
26     mir!({
27         let _a: &i32 = Static(S);
28         let _b: *mut i32 = StaticMut(T);
29         Return()
30     })
31 }
32
33 fn main() {
34     consts::<5>();
35     statics();
36 }