Skip to content

chore: dependency upgrades#14

Closed
shikhar wants to merge 1 commit intomainfrom
depups
Closed

chore: dependency upgrades#14
shikhar wants to merge 1 commit intomainfrom
depups

Conversation

@shikhar
Copy link
Member

@shikhar shikhar commented Feb 18, 2026

No description provided.

@shikhar shikhar closed this Feb 18, 2026
@shikhar shikhar deleted the depups branch February 18, 2026 22:12
@greptile-apps
Copy link

greptile-apps bot commented Feb 18, 2026

Greptile Summary

This PR upgrades all dependencies in Cargo.toml, including clap, tokio, serde, futures, antithesis_sdk, and others. The Cargo.lock reflects these changes along with a significant transitive dependency shift: s2-sdk upgraded from 0.23.0 to 0.24.2, which replaced reqwest/quinn with direct hyper/hyper-rustls usage.

  • Critical: rand upgrade from 0.8.5 to 0.10.0 breaks AntithesisRng compatibility. The antithesis_sdk 0.2.8 still depends on rand 0.8 (rand_core 0.6), while the project now uses rand 0.10 (rand_core 0.10). The rand::Rng trait from 0.10 is not implemented for AntithesisRng, which will cause compilation failures in history.rs. This is the same issue that previously required a rollback in commit 64bd89e.
  • The comment on lines 18-19 of Cargo.toml (# needs to be 0.8 till it upgrades) directly contradicts the change to rand = "0.10.0" on line 20.

Confidence Score: 1/5

  • This PR will likely fail to compile due to incompatible rand trait versions between the project and antithesis_sdk.
  • The rand upgrade from 0.8 to 0.10 introduces an incompatible trait boundary with antithesis_sdk's AntithesisRng. This same issue was previously encountered and rolled back (commit 64bd89e). The stale comment explicitly warns against this change. All other dependency upgrades appear routine.
  • Pay close attention to rust/s2-verification/Cargo.toml — the rand version must remain compatible with antithesis_sdk's rand dependency.

Important Files Changed

Filename Overview
rust/s2-verification/Cargo.toml Upgrades all dependencies; rand bump from 0.8.5 to 0.10.0 breaks trait compatibility with antithesis_sdk's AntithesisRng, likely causing compilation failure.
Cargo.lock Auto-generated lockfile reflecting dependency upgrades; introduces dual rand versions (0.8.5 for antithesis_sdk, 0.10.0 for the project) with incompatible trait families. Also upgrades s2-sdk from 0.23.0 to 0.24.2 and removes quinn/reqwest in favor of direct hyper-based HTTP.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[s2-verification] -->|"rand 0.10.0<br/>(rand_core 0.10)"| B[rand 0.10]
    A -->|"antithesis_sdk 0.2.8"| C[antithesis_sdk]
    C -->|"rand 0.8.5<br/>(rand_core 0.6)"| D[rand 0.8]
    A -->|"s2-sdk 0.24.2"| E[s2-sdk]
    E -->|"rand 0.10.0"| B

    F[history.rs] -->|"use rand::Rng<br/>(from rand 0.10)"| B
    F -->|"AntithesisRng<br/>(implements rand 0.8 traits)"| C

    B -.-|"❌ Incompatible trait families"| D

    style B fill:#ff6b6b,color:#fff
    style D fill:#ff6b6b,color:#fff
    style F fill:#ffd93d
Loading

Last reviewed commit: 8be743e

Copy link

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2 files reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

Comment on lines 18 to +20
# required for antithesis_sdk rand compatibility
# needs to be 0.8 till it upgrades
rand = "0.8.5"
rand = "0.10.0"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rand upgrade breaks AntithesisRng compatibility

The comment on lines 18-19 explicitly documents that rand must stay at 0.8 until antithesis_sdk upgrades its dependency — yet this PR bumps rand from 0.8.5 to 0.10.0.

In the lockfile, antithesis_sdk 0.2.8 still depends on rand 0.8.5 (and therefore rand_core 0.6). The project's rand 0.10.0 uses rand_core 0.10. These trait families are incompatible: AntithesisRng implements rand_core::RngCore from 0.6, but rand 0.10's Rng trait requires rand_core::RngCore from 0.10.

This means code like rng.gen_range(1..=record_body_budget) and rng.fill(&mut body[..]) in history.rs:50-52 (where rng is an AntithesisRng) will fail to compile, since the rand::Rng trait from 0.10 is not implemented for AntithesisRng.

This is the same incompatibility that led to commit 64bd89e ("rollback rand version"), which rolled rand back from 0.9.2 to 0.8.5 and added this exact comment.

Suggested change
# required for antithesis_sdk rand compatibility
# needs to be 0.8 till it upgrades
rand = "0.8.5"
rand = "0.10.0"
# required for antithesis_sdk rand compatibility
# needs to be 0.8 till it upgrades
rand = "0.8.5"
Prompt To Fix With AI
This is a comment left during a code review.
Path: rust/s2-verification/Cargo.toml
Line: 18-20

Comment:
**`rand` upgrade breaks `AntithesisRng` compatibility**

The comment on lines 18-19 explicitly documents that `rand` must stay at 0.8 until `antithesis_sdk` upgrades its dependency — yet this PR bumps `rand` from `0.8.5` to `0.10.0`. 

In the lockfile, `antithesis_sdk 0.2.8` still depends on `rand 0.8.5` (and therefore `rand_core 0.6`). The project's `rand 0.10.0` uses `rand_core 0.10`. These trait families are incompatible: `AntithesisRng` implements `rand_core::RngCore` from `0.6`, but `rand 0.10`'s `Rng` trait requires `rand_core::RngCore` from `0.10`.

This means code like `rng.gen_range(1..=record_body_budget)` and `rng.fill(&mut body[..])` in `history.rs:50-52` (where `rng` is an `AntithesisRng`) will fail to compile, since the `rand::Rng` trait from `0.10` is not implemented for `AntithesisRng`.

This is the same incompatibility that led to commit `64bd89e` ("rollback rand version"), which rolled `rand` back from `0.9.2` to `0.8.5` and added this exact comment.

```suggestion
# required for antithesis_sdk rand compatibility
# needs to be 0.8 till it upgrades
rand = "0.8.5"
```

How can I resolve this? If you propose a fix, please make it concise.

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