-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Fix qiskit-synthesis crate standalone builds #14526
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
jakelishman
merged 1 commit into
Qiskit:main
from
mtreinish:resolve-the-sk-bincode-serde-hashbrown-quagmire
Jun 3, 2025
Merged
Fix qiskit-synthesis crate standalone builds #14526
jakelishman
merged 1 commit into
Qiskit:main
from
mtreinish:resolve-the-sk-bincode-serde-hashbrown-quagmire
Jun 3, 2025
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
One or more of the following people are relevant to this code:
|
Merged
jakelishman
previously approved these changes
Jun 3, 2025
43990d7
to
603803e
Compare
In the recently merged Qiskit#14203 the bincode dependency was added to the qiskit-synthesis crate to provide a binary serialization of the computed basic approximations. However, under the covers this library is using serde and it depends on having anything passed to it be serde serializable. When building the qiskit-synthesis crate by itself the hashbrown crate does not enable the serde feature meaning it doesn't derive the necessary serialization traits for serde. This didn't show up in a full build because other libraries pulled in as part of the build cause serde to be enabled for hashbrown. This commit fixes this by adding the serde feature to the Cargo.toml for hashbrown to ensure we're building with the feature required in the crate using it. This also takes the opportunity to fix some small clippy lint issues identified by the latest stable version of clippy in the synthesis crate which were introduced in Qiskit#14203 and Qiskit#13929.
jakelishman
approved these changes
Jun 3, 2025
mtreinish
added a commit
to mtreinish/qiskit-core
that referenced
this pull request
Jun 3, 2025
This commit adds a new step to the rust unit test CI job that runs cargo check on each of our crates in isolation to ensure that they all build on their own. This will prevent issues like what was fixed in Qiskit#14526 from popping up again (which has happened before).
mtreinish
added a commit
to mtreinish/qiskit-core
that referenced
this pull request
Jun 3, 2025
This commit adds a new step to the rust unit test CI job that runs cargo check on each of our crates in isolation to ensure that they all build on their own. This will prevent issues like what was fixed in Qiskit#14526 from popping up again (which has happened before).
Pull Request Test Coverage Report for Build 15427494068Details
💛 - Coveralls |
github-merge-queue bot
pushed a commit
that referenced
this pull request
Jun 4, 2025
This commit adds a new step to the rust unit test CI job that runs cargo check on each of our crates in isolation to ensure that they all build on their own. This will prevent issues like what was fixed in #14526 from popping up again (which has happened before).
rahaman-quantum
pushed a commit
to rahaman-quantum/qiskit
that referenced
this pull request
Jun 20, 2025
In the recently merged Qiskit#14203 the bincode dependency was added to the qiskit-synthesis crate to provide a binary serialization of the computed basic approximations. However, under the covers this library is using serde and it depends on having anything passed to it be serde serializable. When building the qiskit-synthesis crate by itself the hashbrown crate does not enable the serde feature meaning it doesn't derive the necessary serialization traits for serde. This didn't show up in a full build because other libraries pulled in as part of the build cause serde to be enabled for hashbrown. This commit fixes this by adding the serde feature to the Cargo.toml for hashbrown to ensure we're building with the feature required in the crate using it. This also takes the opportunity to fix some small clippy lint issues identified by the latest stable version of clippy in the synthesis crate which were introduced in Qiskit#14203 and Qiskit#13929.
rahaman-quantum
pushed a commit
to rahaman-quantum/qiskit
that referenced
this pull request
Jun 20, 2025
This commit adds a new step to the rust unit test CI job that runs cargo check on each of our crates in isolation to ensure that they all build on their own. This will prevent issues like what was fixed in Qiskit#14526 from popping up again (which has happened before).
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Changelog: None
Do not include in changelog
priority: high
Rust
This PR or issue is related to Rust code in the repository
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
In the recently merged #14203 the bincode dependency was added to the qiskit-synthesis crate to provide a binary serialization of the computed basic approximations. However, under the covers this library is using serde and it depends on having anything passed to it be serde serializable. When building the qiskit-synthesis crate by itself the hashbrown crate does not enable the serde feature meaning it doesn't derive the necessary serialization traits for serde. This didn't show up in a full build because other libraries pulled in as part of the build cause serde to be enabled for hashbrown. This commit fixes this by adding the serde feature to the Cargo.toml for hashbrown to ensure we're building with the feature required in the crate using it.
This also takes the opportunity to fix some small clippy lint issues identified by the latest stable version of clippy in the synthesis crate which were introduced in #14203 and #13929.
Details and comments