1 // run-pass
2 
identity<const T: u32>() -> u323 const fn identity<const T: u32>() -> u32 { T }
4 
5 #[derive(Eq, PartialEq, Debug)]
6 pub struct ConstU32<const U: u32>;
7 
new() -> ConstU32<8 pub fn new() -> ConstU32<{ identity::<3>() }> {
9   ConstU32::<{ identity::<3>() }>
10 }
11 
main()12 fn main() {
13   let v = new();
14   assert_eq!(v, ConstU32::<3>);
15 }
16