You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(reg-vm,analyzer): stream cursor write-back + None exhaustiveness arm
Two pre-existing bugs found during the module decomposition (both fail on
9447c41, neither refactor-induced):
- reg-VM Stream: expect_stream_ref materialized a detached copy of the
struct's items list, so Stream.next's head-removal mutated a throwaway and
never advanced the cursor seen by a later collect_list/next on the same
stream. Share the underlying Rc<RefCell<TypedVec>> so the advance writes
back through every read-clone of the stream, matching the interpreter.
Fixes reg_vm_runs_cancellation_and_stream_intrinsics_like_interpreter.
- analyzer: a leftover private builtin_value_type_name copy lacked the
"None" => Option arm the canonical checks::shared copy carries, so a bare
`None` match scrutinee fell back to the constructor-name path and a
wildcard-only match was spuriously reported non-exhaustive (RS0021).
Delete the duplicate; reuse checks::shared::builtin_value_type_name.
Regression test: checker_accepts_wildcard_match_on_bare_none_literal.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
0 commit comments