Deprecate subclassing of Register
and Bit
#13841
Merged
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.
The data represented by these classes will move to Rust space in Qiskit 2.0, and the remaining Python objects will be thin wrappers around the Rust-space objects. Rust space will not support additional bits beyond the existing triple
Qubit/AncillaQubit/Clbit
, and so Python-space will be unable to represent anything beyond this in the circuit data model.It's not clear what, if any, meaning was intended by subclassing these objects already, and Qiskit did not consider them subclass safe. We don't expect that anybody will have been doing this, so the impact should be minimal.
Summary
Details and comments
This is prep work for #13686, or an in-the-works PR by Ray that will supersede that one.