defmodule Skuld.Coroutine.Cancelled do @moduledoc """ Fiber that was cancelled before completion. ## Env semantics `env` is the environment after `leave_scope` cleanup ran. It may be `nil` if the fiber was cancelled from `Pending` (no scopes entered yet). For fibres cancelled from a suspended state, `env` reflects the state after all scoped cleanup handlers have executed. """ alias Skuld.Comp.Env @type t :: %__MODULE__{ id: term(), reason: term(), env: Env.t() | nil } defstruct [:id, :reason, :env] end