0%

03. Stdlib — prelude Value + migration

Goal

Add the Value marker trait to the prelude (absent today; Drop is at prelude.ori:66). Migrate library/std #derive(...) declarations to the : clause (proposal §6.7 removes #derive).

Implementation Items

  • prelude.ori: pub trait Value: Clone, Eq { } (marker; mirror the Drop registration comment re register_imported_traits)
  • Inventory library/std/**/*.ori #derive(...) usages (rg "#derive\(" library/); migrate each to type T: <traits> = body
  • Verify stdlib type-checks clean (cargo st + the std build)

Spec References

proposal §6.7, §7.4; ori-syntax.md §Prelude.

Intelligence Reconnaissance

  • Graph-grounded during BUG-06-005 investigation + the dual-source /tp-help consensus (bug-tracker/plans/BUG-06-005/section-02-fix-consensus.md): reviewers ran file-symbols / callers / callees / symbols over ori_parse/grammar/item, ori_ir/ast/items/types.rs, ori_types/check/registration, ori_fmt, ori_eval/derives, ori_llvm/codegen/derive_codegen. Per-section graph queries to be re-run at /review-plan pre-implementation gate. (2026-06-01)