SIGN IN SIGN UP

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