def retained_leaf_selected_unpacked

bendvy-ecs-core@0.1.0.3 · execution_condition_registry.bend:28

import bendvy-ecs-core@0.1.0.3/execution_condition_registry.bend as ExecutionConditionRegistry
import Base
import bendvy-ecs-core@0.1.0.3/world.bend as W
import bendvy-ecs-core@0.1.0.3/execution_retained_system.bend as Retained
import bendvy-ecs-core@0.1.0.3/execution_reservation_authority.bend as Effect
import bendvy-ecs-core@0.1.0.3/execution_state_effect.bend as StateEffect
import bendvy-ecs-core@0.1.0.3/execution_state.bend as State
import bendvy-ecs-core@0.1.0.3/execution_system.bend as Sys
import bendvy-ecs-core@0.1.0.3/execution_builder.bend as Build
import bendvy-ecs-core@0.1.0.3/execution_declaration.bend as D
import bendvy-ecs-core@0.1.0.3/dependency_executor.bend as Exec

28def retained_leaf_selected_unpacked(~S:Data,~C:Type,~R:Type,~E:Data,~Ops:Data -> (Type -> Type) -> Type -> Type,~Local:Type,~Error:Data,~declaration:Build.FrameworkProgram(~S,~C,~C,~R,~Ops),~body:Sys.Body(~S,~Ops,~Local,~Error,~Bool),~caps:Ops(Effect.Granted,StateEffect.Transition(~State.Invocation<S>),State.Scope<S,C,R>),selected:Bool,node:D.Compilation<S,C,C,R,Ops> & System(~S,~C,~R,~E,~Ops,~Local,~Error,~declaration,~body),world:W.World<S,C,R,E>) -> RetainedSystem(~S,~C,~R,~E,~Ops,~Local,~Error,~declaration,~body) & (W.World<S,C,R,E> & Exec.Invocation<Error,Bool>):
29  match selected node:
30    case False{} node:(Retained.pack_pair(D.Compilation<S,C,C,R,Ops>,System(~S,~C,~R,~E,~Ops,~Local,~Error,~declaration,~body),node),(world,Exec.AdmissionRefused{}))
31    case True{}, (compilation,owner):retained_leaf_returned(~S,~C,~R,~E,~Ops,~Local,~Error,~declaration,~body,Sys.run_retained_compilation(~S,~C,~R,~E,~Ops,~Local,~Error,~Bool,~declaration,~body,~caps,compilation,owner,world))

Uses (17)

Used by (1)