rust/tests/ui/asm/generic-const.rs
2023-01-11 09:32:08 +00:00

31 lines
578 B
Rust

// needs-asm-support
// build-pass
#![feature(asm_const)]
use std::arch::asm;
fn foofoo<const N: usize>() {}
unsafe fn foo<const N: usize>() {
asm!("/* {0} */", const N);
asm!("/* {0} */", const N + 1);
asm!("/* {0} */", sym foofoo::<N>);
}
fn barbar<T>() {}
unsafe fn bar<T>() {
asm!("/* {0} */", const std::mem::size_of::<T>());
asm!("/* {0} */", const std::mem::size_of::<(T, T)>());
asm!("/* {0} */", sym barbar::<T>);
asm!("/* {0} */", sym barbar::<(T, T)>);
}
fn main() {
unsafe {
foo::<0>();
bar::<usize>();
}
}