Skip to content

Added serde Derive Traits to Scylla Value Types. #1413

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

didoloan
Copy link

@didoloan didoloan commented Aug 1, 2025

Changes

Added serde's Serialize and Deserialize derive to some scylla value types.

  • I have split my patch into logically separate commits.
  • All commit messages clearly explain what they change and why.
  • [ ] I added relevant tests for new features and bug fixes.
  • All commits compile, pass static checks and pass test.
  • PR description sums up the changes and reasons why they should be introduced.
  • [ ] I have provided docstrings for the public items that I want to introduce.
  • I have adjusted the documentation in ./docs/source/.
  • [ ] I added appropriate Fixes: annotations to PR description.

@github-actions github-actions bot added the semver-checks-breaking cargo-semver-checks reports that this PR introduces breaking API changes label Aug 1, 2025
Copy link

github-actions bot commented Aug 1, 2025

cargo semver-checks detected some API incompatibilities in this PR.
Checked commit: 2b7c636

See the following report for details:

cargo semver-checks output
./scripts/semver-checks.sh --baseline-rev 01e72a4b96739c62a482b3a5211adb2ffc184db8
+ cargo semver-checks -p scylla -p scylla-cql --baseline-rev 01e72a4b96739c62a482b3a5211adb2ffc184db8
     Cloning 01e72a4b96739c62a482b3a5211adb2ffc184db8
    Building scylla v1.3.1 (current)
       Built [  46.594s] (current)
     Parsing scylla v1.3.1 (current)
      Parsed [   0.142s] (current)
    Building scylla v1.3.1 (baseline)
error: running cargo-doc on crate 'scylla' failed with output:
-----
   Compiling libc v0.2.174
   Compiling proc-macro2 v1.0.95
   Compiling unicode-ident v1.0.18
   Compiling shlex v1.3.0
   Compiling autocfg v1.5.0
    Checking cfg-if v1.0.1
   Compiling dunce v1.0.5
   Compiling fs_extra v1.3.0
   Compiling num-traits v0.2.19
   Compiling getrandom v0.3.3
   Compiling quote v1.0.40
    Checking pin-project-lite v0.2.16
   Compiling syn v2.0.104
   Compiling jobserver v0.1.33
   Compiling pkg-config v0.3.32
    Checking zeroize v1.8.1
   Compiling cc v1.2.31
    Checking once_cell v1.21.3
   Compiling vcpkg v0.2.15
   Compiling cmake v0.1.54
   Compiling aws-lc-rs v1.13.3
   Compiling zerocopy v0.8.26
   Compiling strsim v0.11.1
   Compiling fnv v1.0.7
   Compiling ident_case v1.0.1
    Checking num-integer v0.1.46
    Checking mio v1.0.4
   Compiling aws-lc-sys v0.30.0
   Compiling openssl-sys v0.9.109
    Checking socket2 v0.6.0
   Compiling libm v0.2.15
    Checking futures-sink v0.3.31
    Checking bytes v1.10.1
    Checking futures-core v0.3.31
    Checking futures-channel v0.3.31
    Checking rand_core v0.9.3
    Checking rustls-pki-types v1.12.0
   Compiling bigdecimal v0.4.8
   Compiling lock_api v0.4.13
   Compiling num-bigint v0.3.3
    Checking untrusted v0.9.0
    Checking memchr v2.7.5
   Compiling synstructure v0.13.2
   Compiling darling_core v0.20.11
   Compiling snap v1.1.1
   Compiling openssl v0.10.73
    Checking futures-io v0.3.31
    Checking futures-task v0.3.31
   Compiling thiserror v2.0.12
    Checking pin-utils v0.1.0
    Checking slab v0.4.10
   Compiling crossbeam-utils v0.8.21
   Compiling tokio-macros v2.5.0
   Compiling zerofrom-derive v0.1.6
    Checking tokio v1.47.1
   Compiling darling_macro v0.20.11
   Compiling futures-macro v0.3.31
   Compiling rustls v0.23.31
   Compiling parking_lot_core v0.9.11
   Compiling thiserror v1.0.69
    Checking foreign-types-shared v0.1.1
    Checking powerfmt v0.2.0
    Checking deranged v0.4.0
    Checking futures-util v0.3.31
    Checking foreign-types v0.3.2
    Checking zerofrom v0.1.6
   Compiling darling v0.20.11
   Compiling yoke-derive v0.8.0
   Compiling thiserror-impl v2.0.12
   Compiling openssl-macros v0.1.1
   Compiling thiserror-impl v1.0.69
    Checking ppv-lite86 v0.2.21
    Checking num-bigint v0.4.6
    Checking either v1.15.0
   Compiling tokio-openssl v0.6.5
    Checking subtle v2.6.1
    Checking scopeguard v1.2.0
    Checking stable_deref_trait v1.2.0
    Checking log v0.4.27
    Checking iana-time-zone v0.1.63
    Checking twox-hash v2.1.1
    Checking smallvec v1.15.1
    Checking num-conv v0.1.0
    Checking bitflags v2.9.1
    Checking time-core v0.1.4
    Checking time v0.3.41
    Checking lz4_flex v0.11.5
    Checking chrono v0.4.41
    Checking yoke v0.8.0
    Checking itertools v0.14.0
    Checking rand_chacha v0.9.0
    Checking futures-executor v0.3.31
   Compiling scylla-macros v1.3.1 (/home/runner/work/scylla-rust-driver/scylla-rust-driver/target/semver-checks/git-01e72a4b96739c62a482b3a5211adb2ffc184db8/d8e11c31f9eaef9561626f0cd591a14ac523774d/scylla-macros)
   Compiling tracing-attributes v0.1.30
    Checking uuid v1.17.0
    Checking tracing-core v0.1.34
    Checking secrecy v0.8.0
    Checking hashbrown v0.14.5
    Checking equivalent v1.0.2
    Checking foldhash v0.1.5
    Checking allocator-api2 v0.2.21
    Checking byteorder v1.5.0
    Checking hashbrown v0.15.4
    Checking tracing v0.1.41
    Checking dashmap v6.1.0
    Checking scylla-cql v1.3.1 (/home/runner/work/scylla-rust-driver/scylla-rust-driver/target/semver-checks/git-01e72a4b96739c62a482b3a5211adb2ffc184db8/d8e11c31f9eaef9561626f0cd591a14ac523774d/scylla-cql)
    Checking futures v0.3.31
    Checking rand v0.9.2
    Checking histogram v0.11.3
   Compiling async-trait v0.1.88
    Checking rand_pcg v0.9.0
    Checking socket2 v0.5.10
    Checking arc-swap v1.7.1
    Checking rustls-webpki v0.103.4
    Checking tokio-rustls v0.26.2
 Documenting scylla v1.3.1 (/home/runner/work/scylla-rust-driver/scylla-rust-driver/target/semver-checks/git-01e72a4b96739c62a482b3a5211adb2ffc184db8/d8e11c31f9eaef9561626f0cd591a14ac523774d/scylla)
�[38;5;9merror: couldn't read `/home/runner/work/scylla-rust-driver/scylla-rust-driver/target/semver-checks/git-01e72a4b96739c62a482b3a5211adb2ffc184db8/d8e11c31f9eaef9561626f0cd591a14ac523774d/scylla/src/deserialize/README.md`: No such file or directory (os error 2)
   �[38;5;12m--> /home/runner/work/scylla-rust-driver/scylla-rust-driver/target/semver-checks/git-01e72a4b96739c62a482b3a5211adb2ffc184db8/d8e11c31f9eaef9561626f0cd591a14ac523774d/scylla/src/lib.rs:203:14
    �[38;5;12m|
�[38;5;12m203 �[38;5;12m|     #![doc = include_str!("deserialize/README.md")]
    �[38;5;12m|              �[38;5;9m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: could not document `scylla`

-----

error: failed to build rustdoc for crate scylla v1.3.1
note: this is usually due to a compilation error in the crate,
      and is unlikely to be a bug in cargo-semver-checks
note: the following command can be used to reproduce the compilation error:
      cargo new --lib example &&
          cd example &&
          echo '[workspace]' >> Cargo.toml &&
          cargo add --path /home/runner/work/scylla-rust-driver/scylla-rust-driver/target/semver-checks/git-01e72a4b96739c62a482b3a5211adb2ffc184db8/d8e11c31f9eaef9561626f0cd591a14ac523774d/scylla --features bigdecimal-04,chrono-04,default,full-serialization,metrics,num-bigint-03,num-bigint-04,openssl-010,rustls-023,secrecy-08,time-03 &&
          cargo check

    Building scylla-cql v1.3.1 (current)
       Built [  10.226s] (current)
     Parsing scylla-cql v1.3.1 (current)
      Parsed [   0.046s] (current)
    Building scylla-cql v1.3.1 (baseline)
       Built [  10.195s] (baseline)
     Parsing scylla-cql v1.3.1 (baseline)
      Parsed [   0.047s] (baseline)
    Checking scylla-cql v1.3.1 -> v1.3.1 (no change; assume patch)
     Checked [   0.768s] 165 checks: 165 pass, 12 skip
     Summary no semver update required
    Finished [  22.148s] scylla-cql
error: aborting due to failure to build rustdoc for crate scylla v1.3.1

Stack backtrace:
   0: anyhow::error::<impl anyhow::Error>::msg
   1: anyhow::__private::format_err
   2: cargo_semver_checks::data_generation::generate::generate_rustdoc
   3: cargo_semver_checks::data_generation::request::CrateDataRequest::resolve
   4: cargo_semver_checks::rustdoc_gen::generate_rustdoc
   5: <cargo_semver_checks::rustdoc_gen::RustdocFromProjectRoot as cargo_semver_checks::rustdoc_gen::RustdocGenerator>::load_rustdoc
   6: <cargo_semver_checks::rustdoc_gen::RustdocFromGitRevision as cargo_semver_checks::rustdoc_gen::RustdocGenerator>::load_rustdoc
   7: cargo_semver_checks::Check::check_release
   8: cargo_semver_checks::exit_on_error
   9: cargo_semver_checks::main
  10: std::sys::backtrace::__rust_begin_short_backtrace
  11: main
make: *** [Makefile:73: semver-rev] Error 1

@wprzytula
Copy link
Collaborator

Please follow the procedure described in CONTRIBUTING.md regarding MSRV to fix the CI check.

@didoloan didoloan requested a review from wprzytula August 3, 2025 13:38
@wprzytula wprzytula requested a review from Lorak-mmk August 4, 2025 08:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
semver-checks-breaking cargo-semver-checks reports that this PR introduces breaking API changes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants