8000 Update minimum Rust version to 1.64 by jakelishman · Pull Request #10541 · Qiskit/qiskit · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Update minimum Rust version to 1.64 #10541

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

Merged
merged 1 commit into from
Aug 3, 2023
Merged

Conversation

jakelishman
Copy link
Member
@jakelishman jakelishman commented Jul 31, 2023

Summary

Raising the minimum Rust version lets us access workspace dependencies, which are a convenient way of managing shared metadata between the different crates in the project, which deduplicates a good amount of our metadata. This also lets us share the PyO3 version and minimum feature set between crates, reducing the number of places that need to be updated on a Python version bump.

Cargo.lock is completely regenerated for this commit with the new unification, with the minor tweak of having run

    cargo update -p 'indexmap@2.0.0' --precise '1.9.3'

This is required to unify the hashbrown versions down to 0.12.3 between our dependencies and pyo3, which otherwise transitively depends on hashbrown ^0.14 via pulling in indexmap 2.0. This caused a build failure, since the hashbrown types that PyO3 adds impls of its traits to are not the same types that our extension modules attempt to use with it.

Details and comments

This bump also means that rust-analyzer is available as a toolchain component in the default Rust version for the project, which is a nice convenience for those who plug it into their editors (me).

@jakelishman jakelishman added Changelog: API Change Include in the "Changed" section of the changelog Rust This PR or issue is related to Rust code in the repository labels Jul 31, 2023
@jakelishman jakelishman added this to the 0.45.0 milestone Jul 31, 2023
@jakelishman jakelishman requested a review from a team as a code owner July 31, 2023 23:01
@qiskit-bot
Copy link
Collaborator

One or more of the the following people are requested to review this:

@coveralls
Copy link
coveralls commented Jul 31, 2023

Pull Request Test Coverage Report for Build 5738113329

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • 2 unchanged lines in 1 file lost coverage.
  • Overall coverage increased (+0.02%) to 85.914%

Files with Coverage Reduction New Missed Lines %
crates/qasm2/src/lex.rs 2 91.9%
Totals Coverage Status
Change from base Build 5727764372: 0.02%
Covered Lines: 73079
Relevant Lines: 85061

💛 - Coveralls

Raising the minimum Rust version lets us access workspace dependencies,
which are a convenient way of managing shared metadata between the
different crates in the project, which deduplicates a good amount of
our metadata.  This also lets us share the PyO3 version and minimum
feature set between crates, reducing the number of places that need to
be updated on a Python version bump.

`Cargo.lock` is completely regenerated for this commit with the new
unification, with the minor tweak of having run

        cargo update -p 'indexmap@2.0.0' --precise '1.9.3'

This is required to unify the `hashbrown` versions down to 0.12.3
between our dependencies and `pyo3`, which otherwise transitively
depends on `hashbrown ^0.14` via pulling in `indexmap 2.0`.  This caused
a build failure, since the `hashbrown` types that PyO3 adds `impl`s of
its traits to are not the same types that our extension modules attempt
to use with it.
Copy link
Member
@mtreinish mtreinish left a comment

Choose a reason for hiding this comment

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

This LGTM, we can move forward with this here and handle the hasbrown and indexmap version bumps separately in #10540 (and probably use hasbrown 1.4 and indexmap 2.0 there).

@mtreinish mtreinish added this pull request to the merge queue Aug 3, 2023
Merged via the queue into Qiskit:main with commit 290305a Aug 3, 2023
@jakelishman jakelishman deleted the rust/1.64 branch August 3, 2023 16:37
SameerD-phys pushed a commit to SameerD-phys/qiskit-terra that referenced this pull request Sep 7, 2023
Raising the minimum Rust version lets us access workspace dependencies,
which are a convenient way of managing shared metadata between the
different crates in the project, which deduplicates a good amount of
our metadata.  This also lets us share the PyO3 version and minimum
feature set between crates, reducing the number of places that need to
be updated on a Python version bump.

`Cargo.lock` is completely regenerated for this commit with the new
unification, with the minor tweak of having run

        cargo update -p 'indexmap@2.0.0' --precise '1.9.3'

This is required to unify the `hashbrown` versions down to 0.12.3
between our dependencies and `pyo3`, which otherwise transitively
depends on `hashbrown ^0.14` via pulling in `indexmap 2.0`.  This caused
a build failure, since the `hashbrown` types that PyO3 adds `impl`s of
its traits to are not the same types that our extension modules attempt
to use with it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changelog: API Change Include in the "Changed" section of the changelog Rust This PR or issue is related to Rust code in the repository
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants
0