Skuld.Fiber.ExternalSuspended (skuld v0.25.0)

View Source

Fiber suspended for an external caller (e.g. Yield).

Env semantics

k closes over the env at suspension time — resuming ignores env entirely. env is stored solely for cancel/2, which invokes leave_scope to run scoped-effect cleanup. State in env is stale (the scheduler extracted it at suspension) but leave_scope handlers may still read it during teardown.

Summary

Types

t()

@type t() :: %Skuld.Fiber.ExternalSuspended{
  env: Skuld.Comp.Env.t(),
  id: reference(),
  k: Skuld.Comp.Types.k()
}