struct Struct[T] { value int x T } fn (s Struct[T]) method() T { return s.x + s.x } interface Interface[T] { method() T } fn test_infer_generic_interface() { s := Struct[u32]{7, 5} println(s) i := Interface[u32](s) println(i) assert i.method() == 10 }