From 56b254d81c6c860a2ced735e800a2616c2bbc77c Mon Sep 17 00:00:00 2001 From: Joseph Ferano Date: Sat, 26 Sep 2026 12:33:00 +0700 Subject: [PATCH] A typed char is queued behind the dyn char and literal inference lanes. --- TODO.org | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/TODO.org b/TODO.org index 5a4856fc..8c1abc3d 100644 --- a/TODO.org +++ b/TODO.org @@ -10,6 +10,12 @@ pointing at it. A CANCELLED entry carries the one-line reason, because an idea rejected without a record is an idea that gets re-proposed. * Language surface +** NEXT A typed char +Decided 2026-09-26 (127): =char= is a typed code point. A char literal is typed by local +inference like a number literal: u8 or i32 where typed code wants a number (a literal +above 127 is refused as a u8), =char= otherwise; a =char= crossing into dyn stays a char. +Rules out the fork where =f(\a)= printed =\a= and =let c = \a= then =f(c)= printed 97. +Waits on the dyn char lane and the literal inference lane. ** NEXT if let Decided 2026-09-26 (126), Rust's spelling: =if let Some(g) = left= plus a block tests the pattern and binds =g= in that block only; =elif=/=else= follow as for =if=. Any