Multiple implementations via inject T[]
Platform spec ADR
Multiple implementations via inject T[]
Spec standingStandard
- Native dependency injection - Contracts and edge cases Lifetime rules, plural inject, host override, fail-closed guarantees, E17xx diagnostics.
- Native dependency injection - Design model host, registry, scope hierarchy, global scope, field inject, array inject, dispose, and launch.
- Native dependency injection - Examples Reference fixtures for hosts, plural inject, scope dispose, and library hosts.
- Native dependency injection - FAQ and troubleshooting Locked design decisions, troubleshooting, and v0.3 follow-ups.
- Native dependency injection - Flow and algorithm Host-chain merge, global scope, composition.resolve, plural inject lowering.
- Native dependency injection - Verification and traceability Tests, snapshot versioning, and implementation checklist.
0 revisions (git unavailable at build; counts may be empty)
No commits recorded for this path.
Full tree: run pnpm verify:platform-spec-layout (writes src/generated/platform-spec-layout-report.json).
Context
Section titled “Context”Apps register multiple implementations of one contract (for example two Storage).
Decision
Section titled “Decision”Multiple implementations must use inject Contract[] (or concrete T[]). Singular inject Contract must be unique at the resolution level (E1705 when ambiguous).
Consequences
Section titled “Consequences”Deterministic registration merge order defines array element order.