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

Add missing __getitem__ and other attributes to BitLocations (backport #13997) #14008

Merged
merged 1 commit into from
Mar 12, 2025

Conversation

mergify[bot]
Copy link
Contributor

@mergify mergify bot commented Mar 12, 2025

Fixes #13996

Summary

We accidentaly removed the capability of indexing a BitLocation object. These commits add that functionality back!

Details and comments

In an oversight after #13860, when switching to use the pyo3 friendly BitLocations which is not an instance of namedtuple we did not extend it to include sequence methods __getitem__ and __len__, which results in breaking api changes.

The following commits add those methods to BitLocations and also labels the class correctly as a sequence in PyO3.


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

)

* Add: `__getitem__` and other attributes to `BitLocations`
In an oversight after #13860, when switching to use the pyo3 friendly `BitLocations` which is not an instance of `namedtuple` we did not extend it to include sequence methods `__getitem__` and `__len__`, which results in breaking api changes.

The following commits add those methods to `BitLocations` and also labels the class correctly as a `sequence` in PyO3.

* Fix: Address review comments

* Fix: More formatting issues in tests

* Apply suggestions from code review

Co-authored-by: Matthew Treinish <mtreinish@kortar.org>

---------

Co-authored-by: Matthew Treinish <mtreinish@kortar.org>
(cherry picked from commit 3a80a81)
@mergify mergify bot requested a review from a team as a code owner March 12, 2025 19:10
@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:

  • @Qiskit/terra-core

@github-actions github-actions bot added bug Something isn't working Changelog: None Do not include in changelog labels Mar 12, 2025
@github-actions github-actions bot added this to the 2.0.0 milestone Mar 12, 2025
@mtreinish mtreinish enabled auto-merge March 12, 2025 19:34
@coveralls
Copy link

Pull Request Test Coverage Report for Build 13819580940

Details

  • 17 of 18 (94.44%) changed or added relevant lines in 1 file are covered.
  • 12 unchanged lines in 2 files lost coverage.
  • Overall coverage decreased (-0.002%) to 88.118%

Changes Missing Coverage Covered Lines Changed/Added Lines %
crates/circuit/src/dag_circuit.rs 17 18 94.44%
Files with Coverage Reduction New Missed Lines %
crates/qasm2/src/lex.rs 6 92.48%
crates/qasm2/src/parse.rs 6 97.61%
Totals Coverage Status
Change from base Build 13817569079: -0.002%
Covered Lines: 72656
Relevant Lines: 82453

💛 - Coveralls

@mtreinish mtreinish added this pull request to the merge queue Mar 12, 2025
Merged via the queue into stable/2.0 with commit 7d21ae2 Mar 12, 2025
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working Changelog: None Do not include in changelog
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants