From c4c79ff6003d5d82ac39c16db50f2799f5380a2f Mon Sep 17 00:00:00 2001 From: Pedro Rivero Date: Tue, 13 Dec 2022 17:41:07 -0600 Subject: [PATCH] Remove deprecated `measure` and `reset` circuit operations (#9278) * Remove measure * Remove reset * Add reno * Update reno Co-authored-by: Julien Gacon Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> --- qiskit/circuit/measure.py | 31 ------------------- qiskit/circuit/reset.py | 29 ----------------- ...emove-deprecated-ops-d01b83362c3557ca.yaml | 5 +++ .../python/circuit/test_circuit_operations.py | 26 ---------------- 4 files changed, 5 insertions(+), 86 deletions(-) create mode 100644 releasenotes/notes/remove-deprecated-ops-d01b83362c3557ca.yaml diff --git a/qiskit/circuit/measure.py b/qiskit/circuit/measure.py index 8da0db586c..02f0bf4f34 100644 --- a/qiskit/circuit/measure.py +++ b/qiskit/circuit/measure.py @@ -14,8 +14,6 @@ Quantum measurement in the computational basis. """ -import warnings - from qiskit.circuit.instruction import Instruction from qiskit.circuit.exceptions import CircuitError @@ -39,32 +37,3 @@ class Measure(Instruction): yield qarg, [each_carg] else: raise CircuitError("register size error") - - -def measure(circuit, qubit, clbit): - """Measure a quantum bit into classical bit. - - .. deprecated:: Qiskit Terra 0.19 - Use :meth:`.QuantumCircuit.measure` instead, either by calling - ``circuit.measure(qubit, clbit)``, or if a full function is required, then - ``QuantumCircuit.measure(circuit, qubit, clbit)``. - - Args: - circuit (QuantumCircuit): the quantum circuit to attach the measurement to. - qubit (Union[Qubit, int]): the quantum bit to measure - clbit (Union[Clbit, int]): the classical bit to store the measurement result in. - - Returns: - .InstructionSet: a handle to the created instruction. - - Raises: - CircuitError: if either bit is not in the circuit, or is in a bad format. - """ - warnings.warn( - "The loose 'measure' function is deprecated as of Qiskit Terra 0.19, and will be removed" - " in a future release. Instead, you should call 'circuit.measure(qubit, clbit)', or if you" - " need a function, you can do `QuantumCircuit.measure(circuit, qubit, clbit)'.", - category=DeprecationWarning, - stacklevel=2, - ) - return circuit.measure(qubit, clbit) diff --git a/qiskit/circuit/reset.py b/qiskit/circuit/reset.py index e986c1ba33..b36b488c41 100644 --- a/qiskit/circuit/reset.py +++ b/qiskit/circuit/reset.py @@ -14,8 +14,6 @@ Qubit reset to computational zero. """ -import warnings - from qiskit.circuit.instruction import Instruction @@ -29,30 +27,3 @@ class Reset(Instruction): def broadcast_arguments(self, qargs, cargs): for qarg in qargs[0]: yield [qarg], [] - - -def reset(circuit, qubit): - """Reset a quantum bit on a circuit. - - .. deprecated:: Qiskit Terra 0.19 - Use :meth:`.QuantumCircuit.reset` instead, either by calling ``circuit.reset(qubit)``, or if - a full function is required, then ``QuantumCircuit.reset(circuit, qubit)``. - - Args: - circuit (QuantumCircuit): the quantum circuit to attach the reset operation to. - qubit (Union[Qubit, int]): the quantum bit to reset - - Returns: - .InstructionSet: a handle to the created instruction. - - Raises: - CircuitError: if the qubit is not in the circuit, or is in a bad format. - """ - warnings.warn( - "The loose 'reset' function is deprecated as of Qiskit Terra 0.19, and will be removed" - " in a future release. Instead, you should call 'circuit.reset(qubit)', or if you" - " need a function, you can do `QuantumCircuit.reset(circuit, qubit)'.", - category=DeprecationWarning, - stacklevel=2, - ) - return circuit.reset(qubit) diff --git a/releasenotes/notes/remove-deprecated-ops-d01b83362c3557ca.yaml b/releasenotes/notes/remove-deprecated-ops-d01b83362c3557ca.yaml new file mode 100644 index 0000000000..fa89666df1 --- /dev/null +++ b/releasenotes/notes/remove-deprecated-ops-d01b83362c3557ca.yaml @@ -0,0 +1,5 @@ +--- +upgrade: + - | + Remove ``qiskit.circuit.measure.measure`` and ``qiskit.circuit.reset.reset`` + functions deprecated since 0.19. diff --git a/test/python/circuit/test_circuit_operations.py b/test/python/circuit/test_circuit_operations.py index 8b956482f3..2612f2cfb8 100644 --- a/test/python/circuit/test_circuit_operations.py +++ b/test/python/circuit/test_circuit_operations.py @@ -1114,32 +1114,6 @@ class TestCircuitOperations(QiskitTestCase): self.assertEqual(qc.num_clbits, 10) self.assertEqual(qc.num_ancillas, 10) - def test_deprecated_measure_function(self): - """Test that the deprecated version of the loose 'measure' function works correctly.""" - from qiskit.circuit.measure import measure - - test = QuantumCircuit(1, 1) - with self.assertWarnsRegex(DeprecationWarning, r".*Qiskit Terra 0\.19.*"): - measure(test, 0, 0) - - expected = QuantumCircuit(1, 1) - expected.measure(0, 0) - - self.assertEqual(test, expected) - - def test_deprecated_reset_function(self): - """Test that the deprecated version of the loose 'reset' function works correctly.""" - from qiskit.circuit.reset import reset - - test = QuantumCircuit(1, 1) - with self.assertWarnsRegex(DeprecationWarning, r".*Qiskit Terra 0\.19.*"): - reset(test, 0) - - expected = QuantumCircuit(1, 1) - expected.reset(0) - - self.assertEqual(test, expected) - def test_from_instructions(self): """Test from_instructions method."""