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

Relax constraints in rustworkx-core for hashbrown and indexmap #929

Merged
merged 4 commits into from
Jul 20, 2023

Conversation

mtreinish
Copy link
Member

This commit updates the version constraints on the hashbrown and indexmap dependencies in rustworkx-core's dependency list. These 2 dependencies are used for I/O to rustworkx-core and we previously had our versions set to the highest version compatible with the msrv. However, for users of rustworkx-core with newer MSRVs this limited version support caused issues if they wanted to use a newer version of these library (which was compatible with their MSRV) as an input or output to rustworkx-core. For example, as described in #911 qiskit-terra was using hashbrown 0.13.x and had errors because the released version of rustworkx-core only was listed as compatible with hashbrown 0.12. This version mismatch meant that the hashbrown objects created in qiskit-terra were not recognized by rustworkx-core because of the version mismatch. This commit attempts to fix this issue by increasing the allowable range of versions to be greater than or equal to our previous fixed version and capped at the last known working version. This should enable users to set a fixed library version that they want even if it's newer and requires a higher MSRV.

This commit is for the stable/0.13 branch as the minimum version is lower on the stable branch as the MSRV for the 0.13.0 is much older than what we're using on the main branch now. A separate PR will be pushed up for main to update it there. This was done in reverse in the interest of ensuring we include this in 0.13.1 and the inevitable backport conflict if we started with main first.

Fixes #911

This commit updates the version constraints on the hashbrown and
indexmap dependencies in rustworkx-core's dependency list. These 2
dependencies are used for I/O to rustworkx-core and we previously had
our versions set to the highest version compatible with the msrv.
However, for users of rustworkx-core with newer MSRVs this limited
version support caused issues if they wanted to use a newer version of
these library (which was compatible with their MSRV) as an input or output
to rustworkx-core. For example, as described in Qiskit#911 qiskit-terra was
using hashbrown 0.13.x and had errors because the released version of
rustworkx-core only was listed as compatible with hashbrown 0.12. This
version mismatch meant that the hashbrown objects created in
qiskit-terra were not recognized by rustworkx-core because of the
version mismatch. This commit attempts to fix this issue by increasing
the allowable range of versions to be greater than or equal to our
previous fixed version and capped at the last known working version.
This should enable users to set a fixed library version that they want
even if it's newer and requires a higher MSRV.

This commit is for the stable/0.13 branch as the minimum version is
lower on the stable branch as the MSRV for the 0.13.0 is much older than
what we're using on the main branch now. A separate PR will be pushed up
for main to update it there. This was done in reverse in the interest of
ensuring we include this in 0.13.1 and the inevitable backport conflict
if we started with main first.

Fixes Qiskit#911
@IvanIsCoding
Copy link
Collaborator

Looks like we have some Clippy errors that are new due to the 1.71 update?

Apart from that this LGTM

@mtreinish mtreinish added the automerge Queue a approved PR for merging label Jul 17, 2023
@coveralls
Copy link

Pull Request Test Coverage Report for Build 5605194288

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 96.383%

Totals Coverage Status
Change from base Build 5578056193: 0.0%
Covered Lines: 15004
Relevant Lines: 15567

💛 - Coveralls

@mergify mergify bot merged commit f874efc into Qiskit:stable/0.13 Jul 20, 2023
30 checks passed
@mtreinish mtreinish deleted the expand-hashbrown-support branch August 1, 2023 12:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
automerge Queue a approved PR for merging
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants