| 1 | struct Aa { |
| 2 | sub AliasType |
| 3 | } |
| 4 | |
| 5 | type AliasType = Bb |
| 6 | |
| 7 | struct Bb { |
| 8 | a int |
| 9 | } |
| 10 | |
| 11 | fn encode_struct[U](val U) string { |
| 12 | $for field in U.fields { |
| 13 | encode_struct(val.$(field.name)) |
| 14 | } |
| 15 | return val.str() |
| 16 | } |
| 17 | |
| 18 | fn test_main() { |
| 19 | aa := Aa{} |
| 20 | |
| 21 | assert encode_struct(aa) == 'Aa{ |
| 22 | sub: AliasType(Bb{ |
| 23 | a: 0 |
| 24 | }) |
| 25 | }' |
| 26 | } |
| 27 |