//@ needs-asm-support | |
//@ build-pass | |
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>(); | |
} | |
} |