Skip to content

fix: remove deprecated concat_idents and fix all clippy warnings#461

Open
AlexMikhalev wants to merge 5 commits into
shuttle-hq:masterfrom
AlexMikhalev:master
Open

fix: remove deprecated concat_idents and fix all clippy warnings#461
AlexMikhalev wants to merge 5 commits into
shuttle-hq:masterfrom
AlexMikhalev:master

Conversation

@AlexMikhalev

@AlexMikhalev AlexMikhalev commented Feb 21, 2026

Copy link
Copy Markdown
Contributor

Summary

Fixes compilation on current Rust nightly by removing the deprecated `concat_idents` feature and resolving all clippy warnings.

Changes

  • fix(synth): Remove deprecated `concat_idents` feature (unused in codebase)
  • fix(core): Fix clippy warnings in synth-core:
    • mismatched_lifetime_syntaxes (object.rs, state.rs)
    • mem_replace_option_with_some (state.rs)
    • dead_code (series.rs)
    • derivable_impls (date_time.rs, faker.rs, state.rs)
    • neg_multiply (series.rs)
  • fix(gen): Suppress non_local_definitions warning in test
  • fix(synth): Fix clippy warnings:
    • empty_line_after_doc_comments (mysql_datasource.rs)
    • manual_repeat_n (csv/mod.rs)
    • double_ended_iterator_last (mongo.rs)
    • extra_unused_lifetimes (mod.rs)
    • to_string_trait_impl (telemetry.rs)

Verification

  • `cargo check --all` passes
  • `cargo test --all` - 228 tests pass
  • `cargo clippy --tests --all-targets --all-features -- -D warnings` passes
  • `cargo fmt --all -- --check` passes
  • CI passes on Ubuntu and Windows (fork validation)

Context

The `concat_idents` feature was removed in Rust 1.90.0. The project was using it in a feature declaration but never actually invoking the macro. This fix removes the feature flag to allow compilation on current nightly.

Closes compilation issues with Rust nightly 1.95.0+


Release Binaries (Fork)

Built and tested on fork: https://github.com/AlexMikhalev/synth/releases/tag/v0.6.9-fix

Platform Architecture Status
macOS ARM64 (Apple Silicon) ✅ Tested
Linux x86_64 ✅ Docker tested
Linux ARM64 ✅ Docker tested

All binaries verified with:

  • Version check: `synth 0.6.9`
  • Data generation: Tested with sample namespace

Remove concat_idents from nightly feature declarations as it was
removed in Rust 1.90.0. The feature was not actually used in the
codebase.

Refs: design-plan.md Step 1
- Fix mismatched_lifetime_syntaxes in object.rs and state.rs
- Fix mem_replace_option_with_some in state.rs
- Fix dead_code warning for AutoCorrelatedSeries in series.rs
- Fix derivable_impls for ChronoValueType and OutputState enums
- Fix derivable_impls for Locale enum in faker.rs
- Fix neg_multiply warnings in series.rs

Refs: design-plan.md Step 2
Add #[allow(non_local_definitions)] to peek test that implements
Generator trait for Vec<T> inside test function.

Refs: design-plan.md Step 3
- Fix empty_line_after_doc_comments in mysql_datasource.rs
- Fix manual_repeat_n in csv/mod.rs (use repeat_n instead)
- Fix double_ended_iterator_last in mongo.rs (use next_back)
- Fix extra_unused_lifetimes in mod.rs (remove unused 'w lifetime)

Refs: design-plan.md Step 4
Replace ToString trait impl with Display for CommandResult to satisfy
clippy warning when telemetry feature is enabled.

Refs: design-plan.md Step 5
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant