| library test.overlay; |
| |
| type Pizza = struct { |
| toppings vector<string:16>; |
| }; |
| |
| type Pasta = struct { |
| sauce string:16; |
| }; |
| |
| type PizzaOrPasta = strict overlay { |
| 1: pizza Pizza; |
| 2: pasta Pasta; |
| }; |
| |
| type Overlay = strict overlay { |
| 1: Primitive int32; |
| 2: StringNeedsConstructor string; |
| 3: VectorStringAlsoNeedsConstructor vector<string>; |
| }; |
| |
| type ReverseOrdinalOverlay = strict overlay { |
| 2: second uint32; |
| 1: first uint32; |
| }; |
| |
| type OverlayStruct = struct { |
| the_overlay Overlay; |
| }; |
| |
| @foo |
| type OverlayWithAttributes = strict overlay { |
| @bar |
| 1: x int64; |
| @baz |
| 2: y float64; |
| }; |