[1, 2] has no element type. About 8 greps went into tracing it: ListLit led to check_core_list_literal, then LitInt turned out to be Unknown, and the cause was finally the open-number machinery (ADR-285 D34) in check_numbers3.nika and check_core_stmt.nika:720-770, 1560. The brief’s hint (“integer-literal or not-yet-defaulted type, or Ty::Unknown”) was right but named no place to look.Ty::Unknown until each function’s open numbers are decided after its body.open_elements branch in the for checker, about 50 lines below the spot the brief pointed to; the fix belongs there.num::value is defined (the Value trait), which told me the nested rows can’t work with a copy alone.lower-std/build cycle.mut list, _, printing).num::value for the nested case.tests/compiler --both-settings, the guard set, clippy and pre-push-check.None was wasted. The rustc copy saved a build: it showed the nested rows fail for a second reason.
flow.open_numbers and open_elements, and their one-level element flag. The architect could also have spotted in advance that the nested rows need D34 one level deeper and split them into their own step.Process note: Disk freed was filled in after commit.nika ran. The report file is not among the committed files, so nothing committed holds the DISK placeholder.