shadow_external_struct_fail.adl
1 2 program child.alpha { 3 struct Foo { 4 bar: [Bar; 1], 5 } 6 7 struct Bar { 8 baz: [Baz; 2], 9 } 10 11 struct Baz { 12 one: One, 13 } 14 15 struct One { 16 two: [Two; 2], 17 } 18 19 struct Two { 20 val1: u32, 21 val2: u32, 22 } 23 24 transition create() -> Foo { 25 return Foo {bar: [Bar {baz: [Baz {one: One {two: [Two {val1: 1u32, val2: 2u32}, Two {val1: 3u32, val2: 4u32}]}}, Baz {one: One {two: [Two {val1: 5u32, val2: 6u32}, Two {val1: 7u32, val2: 8u32}]}}]}]}; 26 } 27 } 28 29 // --- Next Program --- // 30 31 import child.alpha; 32 program parent.alpha { 33 struct Foo { 34 bar: [Bar; 1], 35 } 36 37 struct Bar { 38 baz: [Baz; 2], 39 bog: u32, 40 } 41 42 struct Baz { 43 one: One, 44 } 45 46 struct One { 47 two: [Two; 2], 48 } 49 50 struct Two { 51 val1: u32, 52 val2: u32, 53 } 54 55 transition create_wrapper() -> Foo { 56 return child.alpha/create(); 57 } 58 }