-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Description
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
- Make a project using polars-arrow-format 0.2.0
- Try to
cargo check - polars-arrow-format will pull in planus v1.2.0 (even though it was declared as 1.1.1), it is not hard pinned so allows to pull in the newer crate
louis 🌟 ~/dev/polite $ cargo tree -i planus
planus v1.2.0
└── polars-arrow-format v0.2.0
├── polars-arrow v0.49.1
I think this can be resolved by regenerating the planus-generated code
Log output
error[E0080]: evaluation of constant value failed
--> /home/louis/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/polars-arrow-format-0.2.0/src/ipc/generated.rs:3:15
|
3 | const _: () = ::planus::check_version_compatibility("planus-1.1.1");
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation panicked: Your generated code is out of date, please regenerate using planus version 1.2.0
|
note: inside `check_version_compatibility`
--> /home/louis/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/planus-1.2.0/src/lib.rs:44:14
|
44 | _ => panic!(
| ______________^
45 | | "Your generated code is out of date, please regenerate using planus version 1.2.0"
46 | | ),
| |_________^ the failure occurred hereIssue description
Polars arrow 0.49.1 is pulling in polars-arrow-format 0.2.0 which was generated on Planus 1.1.1, which is leading to a cargo check error when the more recent planus 1.2.0 crate is pulled in (I think because planus is not pinned exactly with =1.1.1)
I expect this could be resolved for future Polars releases by regenerating the codegen in the repo but am not sure about the previous one, 0.49.1 seems to not work now unless you pin planus to =1.1.1 if I understand this rightly?
Expected behavior
I would have expected a previous release of Polars to remain stable to install without pinning the transitive dep myself.. (but I may be misunderstanding the dependency resolution)
Pinning the planus dep myself works as expected
Installed versions
polars = { default-features = false, features = ["fmt"], version = "0.49.1" }