From c71ae8020c35cecfb38b40a06350b661f965cb50 Mon Sep 17 00:00:00 2001 From: Joseph Ferano Date: Sun, 20 Sep 2026 07:20:45 +0700 Subject: [PATCH] M2 item 4 landed at 3c1fb1b --- FIX.org | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/FIX.org b/FIX.org index 2f8aa4b..b379cb7 100644 --- a/FIX.org +++ b/FIX.org @@ -422,7 +422,15 @@ rename. typed-flan branch freezes the static language pre-dyn. container can grow and move, which would leave a push through dyn holding a stale pointer. 4. nil: arrives with maps. nil <-> None at (Option T) boundaries, trap at - bare T, (Some nil) unconstructible. + bare T, (Some nil) unconstructible. — LANDED, 3c1fb1b. The bare-T trap is + split: a literal nil the checker can see is refused at compile time, in + expect itself; a dyn only known nil at run time still reaches + flan_dyn_need_i64's existing trap unchanged. (Option (Option T)) does not + cross either direction, same ambiguity as (Some nil). (Option dyn) is a + legal type the boundary code already treats correctly — the payload is + the identity, box and unbox both — but not yet a storable value anywhere: + the per-type-descriptor pass (item 2) refuses it the way it refuses (Vec + dyn), and item 4 does not lift that gate. 5. Typed = and != grow strings: bytewise, length + same-pointer fast paths, both backends, one survey program. Ordering stays refused. — LANDED, daed039 6. defclass = named dyn map + shape tag; CLOS class dispatch AND