Skip to content

build(deps): bump serde from 1.0.204 to 1.0.205#2036

Merged
jqnatividad merged 1 commit into
masterfrom
dependabot/cargo/serde-1.0.205
Aug 8, 2024
Merged

build(deps): bump serde from 1.0.204 to 1.0.205#2036
jqnatividad merged 1 commit into
masterfrom
dependabot/cargo/serde-1.0.205

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Aug 8, 2024

Bumps serde from 1.0.204 to 1.0.205.

Release notes

Sourced from serde's releases.

v1.0.205

  • Use serialize_entry instead of serialize_key + serialize_value when serialize flattened newtype enum variants (#2785, thanks @​Mingun)
  • Avoid triggering a collection_is_never_read lint in the deserialization of enums containing flattened fields (#2791)
Commits
  • 9b868ef Release 1.0.205
  • c3eaf76 Merge pull request #2791 from dtolnay/flatten
  • 32958de Skip collecting unmatched fields in variants that do not use flatten
  • d64a97b Ignore confusable_idents warning in test
  • c3df337 Add test of flatten in enum
  • 8764353 Enable collection_is_never_read nursury lint in test
  • e08c5de Merge pull request #2785 from Mingun/serialize_entry-in-flatten-newtype-variant
  • bc5af50 Use serialize_entry instead of serialize_key + serialize_value when serialize...
  • 28a0922 Work around test suite dead code warnings in nightly-2024-07-07
  • See full diff in compare view

Dependabot compatibility score

Dependabot 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 rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will 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 version will 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 dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

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>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update Rust code labels Aug 8, 2024
@jqnatividad jqnatividad merged commit 2e2ca04 into master Aug 8, 2024
@dependabot dependabot Bot deleted the dependabot/cargo/serde-1.0.205 branch August 8, 2024 09:56
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file rust Pull requests that update Rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant