Skip to content
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

Patch version introduces breaking changes #620

Closed
etienne-napoleone opened this issue Feb 1, 2022 · 3 comments
Closed

Patch version introduces breaking changes #620

etienne-napoleone opened this issue Feb 1, 2022 · 3 comments

Comments

@etienne-napoleone
Copy link

etienne-napoleone commented Feb 1, 2022

uint-v0.9.2 introduces a potentially breaking change (rust 2018 -> 2021 edition) while just bumping a patch version instead of the minor.

Some building systems using an older version of cargo with not stabilized rust 2021 edition support trying to build uint = "0.9.0" will fail.

docker run --rm -v "$(pwd)":/code   --mount type=volume,source="$(basename "$(pwd)")_cache",target=/code/target   --mount type=volume,source=registry_cache,target=/usr/local/cargo/registry cosmwasm/rust-optimizer:0.12.4
Info: RUSTC_WRAPPER=sccache
Info: sccache stats before build
Compile requests                      0
Compile requests executed             0
Cache hits                            0
Cache misses                          0
Cache timeouts                        0
Cache read errors                     0
Forced recaches                       0
Cache write errors                    0
Compilation failures                  0
Cache errors                          0
Non-cacheable compilations            0
Non-cacheable calls                   0
Non-compilation calls                 0
Unsupported compiler calls            0
Average cache write               0.000 s
Average cache read miss           0.000 s
Average cache read hit            0.000 s
Failed distributed compilations       0
Cache location                  Local disk: "/root/.cache/sccache"
Cache size                            0 bytes
Max cache size                       10 GiB
Building contract in /code ...
error: failed to download `uint v0.9.2`

Caused by:
  unable to get packages from source

Caused by:
  failed to parse manifest at `/usr/local/cargo/registry/src/jackfan.us.kg-1ecc6299db9ec823/uint-0.9.2/Cargo.toml`

Caused by:
  feature `edition2021` is required

  The package requires the Cargo feature called `edition2021`, but that feature is not stabilized in this version of Cargo (1.55.0 (32da73ab1 2021-08-23)).
  Consider trying a newer version of Cargo (this may require the nightly release).
  See https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#edition-2021 for more information about the status of this feature.

Quickfix:

[dependencies]
uint = "=0.9.1"  # needed to fix uint to 2018 rust edition
@etienne-napoleone
Copy link
Author

etienne-napoleone commented Feb 1, 2022

No fix to implement on this side, but probably good to review versioning policies

Issue on the other side: CosmWasm/cosmwasm#1204

@ordian
Copy link
Member

ordian commented Feb 1, 2022

I've already expressed my opinion multiple times on this: #617 (comment). #618 (comment)

@ordian ordian closed this as completed Feb 1, 2022
@etienne-napoleone
Copy link
Author

If a release force some other projects to change, it is breaking. It is the very definition of it.
Anyway, thanks for the answer.

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

No branches or pull requests

2 participants