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

Fix extraction of controlled parametric gates (backport #13067) #13080

Merged
merged 1 commit into from
Sep 3, 2024

Conversation

mergify[bot]
Copy link
Contributor

@mergify mergify bot commented Sep 3, 2024

Summary

The mutable check in the controlled-gate OperationFromPython extraction logic to check for a mutated base_gate was overzealous, and would return false positives for parametric controlled gates. The only modification to base_gate of a standard-library gate that would not have caused data-model problems from Python space would be setting the base-gate label, which is used for a public feature of the circuit visualisers.

The change to get_standard_gate_name_mapping is just a minor convenience to make the gate objects directly appendable to a circuit; previously, each Parameter object was distinct and had a UUID clash with others of the same name, so could not be used together. The new behaviour is purely a convenience for tests; it largely should not be useful for users to directly append these gates.

Details and comments


This is an automatic backport of pull request #13067 done by [Mergify](https://mergify.com).

The `mutable` check in the controlled-gate `OperationFromPython`
extraction logic to check for a mutated `base_gate` was overzealous,
and would return false positives for parametric controlled gates.  The
only modification to `base_gate` of a standard-library gate that would
not have caused data-model problems from Python space would be setting
the base-gate label, which is used for a public feature of the circuit
visualisers.

The change to `get_standard_gate_name_mapping` is just a minor
convenience to make the gate objects directly appendable to a circuit;
previously, each `Parameter` object was distinct and had a UUID clash
with others of the same name, so could not be used together.  The new
behaviour is purely a convenience for tests; it largely should not be
useful for users to directly append these gates.

(cherry picked from commit 8f33084)
@mergify mergify bot requested a review from a team as a code owner September 3, 2024 15:07
@qiskit-bot
Copy link
Collaborator

Thank you for opening a new pull request.

Before your PR can be merged it will first need to pass continuous integration tests and be reviewed. Sometimes the review process can be slow, so please be patient.

While you're waiting, please feel free to review other open PRs. While only a subset of people are authorized to approve pull requests for merging, everyone is encouraged to review open pull requests. Doing reviews helps reduce the burden on the core team and helps make the project's code better for everyone.

One or more of the following people are relevant to this code:

  • @Cryoris
  • @Qiskit/terra-core
  • @ajavadia
  • @kevinhartman
  • @mtreinish

@github-actions github-actions bot added Changelog: Bugfix Include in the "Fixed" section of the changelog Rust This PR or issue is related to Rust code in the repository mod: circuit Related to the core of the `QuantumCircuit` class or the circuit library labels Sep 3, 2024
@github-actions github-actions bot added this to the 1.2.1 milestone Sep 3, 2024
@coveralls
Copy link

Pull Request Test Coverage Report for Build 10685632838

Details

  • 10 of 10 (100.0%) changed or added relevant lines in 2 files are covered.
  • 5 unchanged lines in 2 files lost coverage.
  • Overall coverage increased (+0.03%) to 89.83%

Files with Coverage Reduction New Missed Lines %
crates/qasm2/src/expr.rs 1 94.02%
crates/qasm2/src/lex.rs 4 92.23%
Totals Coverage Status
Change from base Build 10671302158: 0.03%
Covered Lines: 66917
Relevant Lines: 74493

💛 - Coveralls

@jakelishman jakelishman added this pull request to the merge queue Sep 3, 2024
Merged via the queue into stable/1.2 with commit 84ecc80 Sep 3, 2024
18 checks passed
@mergify mergify bot deleted the mergify/bp/stable/1.2/pr-13067 branch September 3, 2024 16:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changelog: Bugfix Include in the "Fixed" section of the changelog mod: circuit Related to the core of the `QuantumCircuit` class or the circuit library 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.

3 participants