From 78e0091e3ec7df59bf915fe35a50403d67a47d68 Mon Sep 17 00:00:00 2001 From: Joseph Ferano Date: Sat, 26 Sep 2026 04:56:02 +0700 Subject: [PATCH] Dyn unless annotated follows the plain rule --- TODO.org | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/TODO.org b/TODO.org index 0c7d09eb..a192e5df 100644 --- a/TODO.org +++ b/TODO.org @@ -27,8 +27,12 @@ when stale, a release build does not. Waits on the dyn-unless-annotated design. ** NEXT Dyn unless annotated Decided 2026-09-25: in both syntaxes an unannotated value is dyn — [6 2 4 9] is a dyn -vector, 1 a dyn integer — and a typed value needs an annotation. Rules and migration -wait on a design pass. +vector, 1 a dyn integer — and a typed value needs an annotation. Decided 2026-09-26: +the plain rule — a literal is dyn wherever nothing wants a type, typed functions +included; a value from a typed source keeps its type; for/dotimes counters stay i32; a +warning marks a dyn let meeting typed code in a typed function. Migration in the +design's order: str rename, views of any type, dyn-meets-typed fixes, literals built +once, the switch with the warning, annotation script, flip, String. ** DONE Dynamic-first, and the dyn half of the language CLOSED: [2026-09-20]