]> git.lizzy.rs Git - rust.git/blob - src/test/ui/asm/generic-const.rs
Rollup merge of #99787 - aDotInTheVoid:rdj-dyn, r=camelid,notriddle,GuillaumeGomez
[rust.git] / src / test / ui / asm / generic-const.rs
1 // needs-asm-support
2 // build-pass
3
4 #![feature(asm_const, asm_sym)]
5
6 use std::arch::asm;
7
8 fn foofoo<const N: usize>() {}
9
10 unsafe fn foo<const N: usize>() {
11     asm!("/* {0} */", const N);
12     asm!("/* {0} */", const N + 1);
13     asm!("/* {0} */", sym foofoo::<N>);
14 }
15
16 fn barbar<T>() {}
17
18 unsafe fn bar<T>() {
19     asm!("/* {0} */", const std::mem::size_of::<T>());
20     asm!("/* {0} */", const std::mem::size_of::<(T, T)>());
21     asm!("/* {0} */", sym barbar::<T>);
22     asm!("/* {0} */", sym barbar::<(T, T)>);
23 }
24
25 fn main() {
26     unsafe {
27         foo::<0>();
28         bar::<usize>();
29     }
30 }