// Structured concurrency in Hew: a scope owns its child tasks and joins them// all before the scope expression returns. Tasks are forked with `fork { ... }`// and run on real OS threads; the enclosing `scope { }` is the join boundary.//// Constraints in this build: spawning happens inside an actor handler (which// carries the execution context); each forked function is a zero-argument,// unit-returning free function. Nested scopes compose, and an empty// `after(d) {}` arms a cancellation deadline on the surrounding scope.fn fetch_orders() { println("fetched orders");}fn fetch_inventory() { println("fetched inventory");}fn settle() { println("reconciled");}actor _Pipeline { receive fn run() -> i64 { // Outer scope: two siblings fork concurrently and BOTH join here. scope { after(5s) {} fork { fetch_orders(); } fork { fetch_inventory(); } // Nested scope: its own child joins before the outer scope drains. scope { fork { settle(); } }; }; 0 }}fn main() -> i64 { let p = spawn _Pipeline; match await p.run() { Ok(code) => code, Err(_e) => 1, }}