## require is_lto=false
## require optimize=none

[zxdb] run-component fuchsia-pkg://fuchsia.com/zxdb_e2e_inferiors#meta/async_rust.cm
Launched Process 1 state=Running koid=?? name=async_rust.cm component=async_rust.cm
🛑

# TODO(https://fxbug.dev/292107156): Use local unwinding once we can download symbols in E2E tests.
[zxdb] frame --force-remote-unwind
▶ 0

[zxdb] abt
## allow-out-of-order-output
Task(id = 0)
└─ async_rust::main::func • select_mod.rs:??
   └─ select!
      └─ async_rust::foo • join_mod.rs:??
         └─ join!
            └─ async_rust::baz • async_rust.rs:??
               └─ fuchsia_async::runtime::fuchsia::timer::Timer
            └─ async_rust::baz • async_rust.rs:??
               └─ fuchsia_async::runtime::fuchsia::timer::Timer
            └─ fuchsia_async::scope::Join(0x??)
            └─ fuchsia_async::scope::Join(0x??)
            └─ fuchsia_async::JoinHandle(id = 6)
      └─ async_rust::bar • async_rust.rs:??
         └─ async_rust::baz • async_rust.rs:??
            └─ fuchsia_async::runtime::fuchsia::timer::Timer
      └─ async_rust::main::func::λ • async_rust.rs:??
         └─ fuchsia_async::Task(id = 4)
Task(id = 3)
└─ async_rust::baz • async_rust.rs:??
   └─ fuchsia_async::runtime::fuchsia::timer::Timer
Task(id = 4)
└─ async_rust::baz (Unresumed) • async_rust.rs:??
Scope("scope1")
└─ Task(id = 2)
   └─ async_rust::baz • async_rust.rs:??
      └─ fuchsia_async::runtime::fuchsia::timer::Timer
Scope("scope2")
└─ Task(id = 5)
   └─ async_rust::baz (Unresumed) • async_rust.rs:??
└─ Task(id = 6)
   └─ async_rust::foo::λ (Unresumed) • async_rust.rs:??
└─ Scope("scope2_child")
   └─ Task(id = 7)
      └─ async_rust::baz (Unresumed) • async_rust.rs:??

[zxdb] kill
Process 1 killed.
