futures_fail.adl
1 program child.alpha { 2 async transition foo() -> Future { 3 return foo_(); 4 } 5 6 async function foo_() {} 7 8 async transition bar() -> Future { 9 return bar_(); 10 } 11 12 async function bar_() {} 13 } 14 15 // --- Next Program --- // 16 17 import child.alpha; 18 19 program type_inference.alpha { 20 async transition t1() -> (u64, Future) { 21 let f: u32 = child.alpha/foo(); 22 let r: u8 = foo(f); 23 return (42u64, r); 24 } 25 26 async transition t2() -> (u64, Future) { 27 let f: (u8, u8) = child.alpha/bar(); 28 let r: bool = foo(f); 29 return (99u64, r); 30 } 31 32 async function foo(fut: Future) { 33 fut.await(); 34 } 35 }