| 1 | interface Doer { |
| 2 | job string |
| 3 | } |
| 4 | |
| 5 | fn (d Doer) do() string { |
| 6 | return '${d.job}' |
| 7 | } |
| 8 | |
| 9 | struct Expector { |
| 10 | do_fn fn () string @[required] |
| 11 | } |
| 12 | |
| 13 | struct Actioner { |
| 14 | job string |
| 15 | } |
| 16 | |
| 17 | fn test_main() { |
| 18 | a := &Actioner{'dier'} |
| 19 | e := Expector{ |
| 20 | do_fn: Doer(a).do |
| 21 | } |
| 22 | assert e.do_fn() == 'dier' |
| 23 | } |
| 24 |