about summary refs log tree commit diff
path: root/tests/codegen/intrinsics/const_eval_select.rs
blob: baa985b00cd0871fbb7f26df1d2041d16615026b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//@ compile-flags: -C no-prepopulate-passes -Copt-level=0

#![crate_type = "lib"]
#![feature(const_eval_select)]
#![feature(core_intrinsics)]

use std::intrinsics::const_eval_select;

const fn foo(_: i32) -> i32 {
    1
}

#[no_mangle]
pub fn hi(n: i32) -> i32 {
    n
}

#[no_mangle]
pub unsafe fn hey() {
    // CHECK: call i32 @hi(i32
    const_eval_select((42,), foo, hi);
}