module main
struct Foo<T> { }
fn (f &Foo<T>) foo(a &T) {
println(a)
}
fn bar<T>(a &T) {
fn main() {
foo := Foo<int>{}
foo.foo(12)
bar<int>(12)