refactor(arg_tokenizer): replace push_atomic_flag's 8 params with a Scanner struct
push_atomic_flag/link_next_value threaded 7-8 positional parameters (tokens, args, i, dialect, takes_value, takes_separate_value, emitted_dash_dash) by hand, carrying #[allow(clippy::too_many_arguments)]. Introduced a Scanner<'a, 'p, T> struct grouping this shared scan state, with push_atomic_flag/link_next_value as &mut self methods. tokenize_dialect_ex now owns one Scanner instance instead of five loose local variables threaded through free functions -- a future addition to the scan state (this module already had to add one, takes_separate_value) means one new field instead of a parameter threaded through every helper and call site. Pure refactor, no behavior change: full test suite (2762 tests) passes unchanged, clippy is clean with no allow needed anymore. Verified the one pre-existing --ignored test failure (test_git_status_not_a_repo_exits_nonzero) is an unrelated, pre-existing locale-dependent flake by reproducing it identically on the pre-refactor commit. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
N
Nicolas Le Cam committed
f36eff27ffe8e44df2bdbe83d5ffb4a6cbac1f87
Parent: 95620f9