| 1 | type Func = fn (string) string |
| 2 | |
| 3 | struct Struct[T] { |
| 4 | a T |
| 5 | mut: |
| 6 | func Func |
| 7 | } |
| 8 | |
| 9 | fn (st Struct[T]) foo[T](s string) string { |
| 10 | println('${st.a} - ${s}') |
| 11 | return '${st.a} - ${s}' |
| 12 | } |
| 13 | |
| 14 | fn test_generic_method_variable() { |
| 15 | mut st := Struct[int]{ |
| 16 | a: 22 |
| 17 | } |
| 18 | st.func = st.foo |
| 19 | ret := st.func('hello') |
| 20 | assert ret == '22 - hello' |
| 21 | } |
| 22 |