-
Notifications
You must be signed in to change notification settings - Fork 155
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 support of sequence protocol for returned lists #730
Conversation
Add the `sequence` option to PyO3's `pyclass`, so that the `sq_length` slot is implemented [1]. Implementing this method is required for sequence types, or Python C API functions like `PySequence_Size` will fail with an error. The `reversed` built-in method relies on `PySequence_*` methods. A test reversing `NodeIndices` is added to guard against future violations of the sequence protocol. Fixes Qiskit#696. [1]: PyO3/pyo3#2567
|
Pull Request Test Coverage Report for Build 3423049318
💛 - Coveralls |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks for fixing this! I just pushed up a quick release note to document the fix. Lets merge this, backport it, and we can prepare a 0.12.1 release to get this fix out
Sure, you're welcome! The |
* Fix support of sequence protocol for returned lists Add the `sequence` option to PyO3's `pyclass`, so that the `sq_length` slot is implemented [1]. Implementing this method is required for sequence types, or Python C API functions like `PySequence_Size` will fail with an error. The `reversed` built-in method relies on `PySequence_*` methods. A test reversing `NodeIndices` is added to guard against future violations of the sequence protocol. Fixes #696. [1]: PyO3/pyo3#2567 * Add release note Co-authored-by: Matthew Treinish <mtreinish@kortar.org> (cherry picked from commit 4592bc0)
…735) * Bump pyo3 from 0.17.2 to 0.17.3 (#723) Bumps [pyo3](https://github.com/pyo3/pyo3) from 0.17.2 to 0.17.3. - [Release notes](https://github.com/pyo3/pyo3/releases) - [Changelog](https://github.com/PyO3/pyo3/blob/main/CHANGELOG.md) - [Commits](PyO3/pyo3@v0.17.2...v0.17.3) --- updated-dependencies: - dependency-name: pyo3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (cherry picked from commit d91f488) # Conflicts: # Cargo.lock # Cargo.toml * Fix support of sequence protocol for returned lists (#730) * Fix support of sequence protocol for returned lists Add the `sequence` option to PyO3's `pyclass`, so that the `sq_length` slot is implemented [1]. Implementing this method is required for sequence types, or Python C API functions like `PySequence_Size` will fail with an error. The `reversed` built-in method relies on `PySequence_*` methods. A test reversing `NodeIndices` is added to guard against future violations of the sequence protocol. Fixes #696. [1]: PyO3/pyo3#2567 * Add release note Co-authored-by: Matthew Treinish <mtreinish@kortar.org> (cherry picked from commit 4592bc0) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Tino Wagner <ich@tinowagner.com> Co-authored-by: Ivan Carvalho <ivancarv@student.ubc.ca>
Add the
sequence
option to PyO3'spyclass
, so that thesq_length
slot is implemented 1. Implementing this method is required for sequence types, or Python C API functions likePySequence_Size
will fail with an error.The
reversed
built-in method relies onPySequence_*
methods. A test reversingNodeIndices
is added to guard against future violations of the sequence protocol.Fixes #696.