Skip to content

pinning chrono in v0.53 breaks dependency chain #26694

@keltia

Description

@keltia

Checks

  • I have checked that this issue has not already been reported.
  • I have confirmed this bug exists on the latest version of Polars.

Reproducible example

Have a project already using chrono with possibly a different set of options. Update Cargo.toml with polars from 0.52 to 0.53 and watch it break.

Repo is: https://github.com/keltia/fetiche-rs/tree/develop it loads chrono in the top workspace.

Log output

❯ cargo check
    Updating crates.io index
error: failed to select a version for `chrono`.
    ... required by package `polars-io v0.53.0`
    ... which satisfies dependency `polars-io = "^0.53.0"` of package `polars v0.53.0`
    ... which satisfies dependency `polars = "^0.53"` of package `process-data v0.7.2 (C:\Users\roberto\Src\rs\src\fetiche-rs\process-data)`
versions that meet the requirements `<=0.4.41` are: 0.4.41, 0.4.40, 0.4.39, 0.4.38, 0.4.37, 0.4.35, 0.4.34, 0.4.33, 0.4.32, 0.4.31, 0.4.30, 0.4.29, 0.4.28, 0.4.27, 0.4.26, 0.4.25, 0.4.24, 0.4.23, 0.4.22, 0.4.21, 0.4.20, 0.4.19, 0.4.18, 0.4.17, 0.4.16, 0.4.15, 0.4.13, 0.4.12, 0.4.11, 0.4.10, 0.4.9, 0.4.8, 0.4.7, 0.4.6, 0.4.5, 0.4.4, 0.4.3, 0.4.2, 0.4.1, 0.4.0, 0.3.0, 0.2.25, 0.2.24, 0.2.23, 0.2.22, 0.2.21, 0.2.20, 0.2.19, 0.2.18, 0.2.17, 0.2.16, 0.2.15, 0.2.14, 0.2.13, 0.2.12, 0.2.11, 0.2.10, 0.2.9, 0.2.8, 0.2.7, 0.2.6, 0.2.5, 0.2.4, 0.2.3, 0.2.2, 0.2.1, 0.2.0

package `polars-io` depends on `chrono` with feature `std` but `chrono` does not have that feature.


all possible versions conflict with previously selected packages.

  previously selected package `chrono v0.4.42`
    ... which satisfies dependency `chrono = "^0.4.42"` of package `fetiched v0.4.0 (C:\Users\roberto\Src\rs\src\fetiche-rs\fetiched)`

failed to select a version for `chrono` which could resolve this conflict

Issue description

Pinning chrono at <=0.4.41 like was done in #26051 messes up the dependency tree and prevent having several versions of the same crate.

Expected behavior

cargo is able to resolve the dependency issue like it was with 0.52.

Installed versions

Details chrono = { version = "0.4.42", features = ["serde", "std", "rkyv-32", "rkyv-validation"] }

polars = { version = "0.53", features = ["async", "serde", "lazy", "sql", "strings", "parquet", "json", "dtype-categorical"] }

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingneeds triageAwaiting prioritization by a maintainerrustRelated to Rust Polars

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions