build(deps): bump serde from 1.0.204 to 1.0.205#2036
Merged
Conversation
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.204 to 1.0.205. - [Release notes](https://github.com/serde-rs/serde/releases) - [Commits](serde-rs/serde@v1.0.204...v1.0.205) --- updated-dependencies: - dependency-name: serde dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
jqnatividad
added a commit
that referenced
this pull request
May 11, 2026
- MEDIUM: the NULL-scoping regression tests previously did not exercise
the buggy code path. The chained `replace` op used --comparand
"\d{3}-\d{4}" — a regex pattern that does not appear literally in the
input data — so under both the buggy and fixed code paths `replace`
produced no change. Rewrite the tests with chain `replace,regex_replace`
and --comparand "KEEPME"; now `replace` actually matches and substitutes
the literal "<NULL>" string (under the old bug it would have substituted
"" because flag_replacement was globally cleared), distinguishing the
code paths.
- LOW: build `is_selected` mask only when --new-column is not set. The
mask was sized to headers.len(), which carried a trailing always-false
slot when --new-column had pushed a column onto headers. Today the
consumer is guarded by `flag_new_column.is_none()` so the extra slot is
never read, but the size invariant was non-obvious. Skipping the build
in the --new-column branch also avoids a wasted allocation per
invocation.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
jqnatividad
added a commit
that referenced
this pull request
May 11, 2026
…place (#3845) * fix(apply,applydp): Thousands neg fractions, scope <NULL> to regex_replace Bug fixes surfaced during a code review of apply.rs (and mirrored where applicable in applydp.rs): - Thousands op: `num.fract() > 0.0` skipped negative fractional numbers because f64::fract() preserves sign (`(-1.5).fract() == -0.5`), so the --replacement decimal separator was silently ignored for negative fractions. Now compares against `!= 0.0`. (apply only — applydp has no Thousands op.) - <NULL> --replacement is now scoped to regex_replace only. Previously it was rewritten to "" globally for every op in the chain, silently turning a chained `replace` into a deletion. apply_operations / applydp_operations gain a regex_replacement parameter that is the only path the NULL rewrite affects; `replace` and other ops see the user's literal --replacement value. - Invalid user-supplied regex_replace pattern now returns CliError::IncorrectUsage instead of CliError::Other. Exit code is now 2, and stderr is prefixed with "usage error:" — consistent with other user-input failures in validate_operations. - Multi-column in-place transforms rebuild each StringRecord once per row via a precomputed `is_selected: Vec<bool>` mask, instead of N times via replace_column_value. SmallVec::new() now used in validate_operations so the inline-storage path is preserved for the common <=4 ops case. - Cleanups in apply::validate_operations: dropped unreachable OnceLock-error paths in favor of `let _ = X.set(...)` under the existing invokes guard, and `fail!`/`fail_clierror!` paths for user-input errors are now consistently `fail_incorrectusage_clierror!`. Regression tests: - apply_ops_thousands_eurostyle_negative_fraction - apply_ops_regex_replace_null_scoped_to_regex_replace - applydp_ops_regex_replace_null_scoped_to_regex_replace Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(apply,applydp): address roborev #2036 review findings - MEDIUM: the NULL-scoping regression tests previously did not exercise the buggy code path. The chained `replace` op used --comparand "\d{3}-\d{4}" — a regex pattern that does not appear literally in the input data — so under both the buggy and fixed code paths `replace` produced no change. Rewrite the tests with chain `replace,regex_replace` and --comparand "KEEPME"; now `replace` actually matches and substitutes the literal "<NULL>" string (under the old bug it would have substituted "" because flag_replacement was globally cleared), distinguishing the code paths. - LOW: build `is_selected` mask only when --new-column is not set. The mask was sized to headers.len(), which carried a trailing always-false slot when --new-column had pushed a column onto headers. Today the consumer is guarded by `flag_new_column.is_none()` so the extra slot is never read, but the size invariant was non-obvious. Skipping the build in the --new-column branch also avoids a wasted allocation per invocation. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * perf(apply,applydp): preallocate StringRecord for in-place rebuilds Address Copilot review on PR #3845: in the in-place multi-column rebuild paths (`Operations` and `EmptyReplace` in both apply and applydp), the new records were constructed with `csv::StringRecord::new()` and then grown via push_field per column. Replace with `csv::StringRecord::with_capacity(record.as_byte_record().as_slice().len(), record.len())` to pre-size both the byte buffer and the field-bounds vec to the input record's exact footprint, eliminating per-push growth reallocations on wide CSVs. Matches the pattern already used in excel.rs, stats.rs, and luau.rs. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps serde from 1.0.204 to 1.0.205.
Release notes
Sourced from serde's releases.
Commits
9b868efRelease 1.0.205c3eaf76Merge pull request #2791 from dtolnay/flatten32958deSkip collecting unmatched fields in variants that do not use flattend64a97bIgnore confusable_idents warning in testc3df337Add test of flatten in enum8764353Enable collection_is_never_read nursury lint in teste08c5deMerge pull request #2785 from Mingun/serialize_entry-in-flatten-newtype-variantbc5af50Use serialize_entry instead of serialize_key + serialize_value when serialize...28a0922Work around test suite dead code warnings in nightly-2024-07-07Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)