mod inner fn extern "c" printf(fmt: ptr[u8], ..) i32 type Box[T](value: T) fn main() unit = { print(&Box(1).value) // matches print(int) print(&Box(3.0).value) // matches print(f32) print(&Box(42)) // matches print(&Box[int]) print(&Box(6.9)) // matches print(&Box[T]) print(&Box[int](5)) // matches print(&Box[int]) print(&inner.Inner[int](30)) // matches print(&inner.Inner[int]) } fn print(value: int) unit = { println("{value}") } fn print(value: f32) unit = { unsafe printf("%f\n".ptr, value) } fn print(box: &Box[int]) unit = { println("Box({box.value})") } fn print[T](box: &Box[T]) unit = { unsafe printf("Box(%f)\n".ptr, &box.value) } fn print(inner: &inner.Inner[int]) unit = { println("Inner({inner.value})") }