From 7d74e3cff2957ffc165f94020a886ff262d4b55e Mon Sep 17 00:00:00 2001 From: MichaelBroughton Date: Mon, 25 Oct 2021 19:39:53 -0700 Subject: [PATCH] Flush missed v0.13 backlog items. (#4600) Missed these in the original flush here #4567 --- cirq-core/cirq/__init__.py | 2 - cirq-core/cirq/circuits/circuit.py | 5 -- cirq-core/cirq/circuits/circuit_test.py | 3 - cirq-core/cirq/ops/gate_operation.py | 17 ------ cirq-core/cirq/protocols/__init__.py | 2 - .../protocols/measurement_key_protocol.py | 30 +--------- .../measurement_key_protocol_test.py | 59 ------------------- 7 files changed, 1 insertion(+), 117 deletions(-) diff --git a/cirq-core/cirq/__init__.py b/cirq-core/cirq/__init__.py index 0fd5e5d1df5..92da3a30c14 100644 --- a/cirq-core/cirq/__init__.py +++ b/cirq-core/cirq/__init__.py @@ -526,10 +526,8 @@ json_serializable_dataclass, dataclass_json_dict, kraus, - measurement_key, measurement_key_name, measurement_key_obj, - measurement_keys, measurement_key_names, measurement_key_objs, mixture, diff --git a/cirq-core/cirq/circuits/circuit.py b/cirq-core/cirq/circuits/circuit.py index cab090ae7a3..fd63531a170 100644 --- a/cirq-core/cirq/circuits/circuit.py +++ b/cirq-core/cirq/circuits/circuit.py @@ -50,7 +50,6 @@ import numpy as np import cirq._version -from cirq._compat import deprecated from cirq import devices, ops, protocols, value, qis from cirq.circuits._bucket_priority_queue import BucketPriorityQueue from cirq.circuits.circuit_operation import CircuitOperation @@ -915,10 +914,6 @@ def all_measurement_key_objs(self) -> AbstractSet[value.MeasurementKey]: def _measurement_key_objs_(self) -> AbstractSet[value.MeasurementKey]: return self.all_measurement_key_objs() - @deprecated(deadline='v0.13', fix='use all_measurement_key_names instead') - def all_measurement_keys(self) -> AbstractSet[str]: - return self.all_measurement_key_names() - def all_measurement_key_names(self) -> AbstractSet[str]: return {key for op in self.all_operations() for key in protocols.measurement_key_names(op)} diff --git a/cirq-core/cirq/circuits/circuit_test.py b/cirq-core/cirq/circuits/circuit_test.py index fee06bea7d3..74a37647ef2 100644 --- a/cirq-core/cirq/circuits/circuit_test.py +++ b/cirq-core/cirq/circuits/circuit_test.py @@ -4312,9 +4312,6 @@ def _measurement_key_name_(self): assert c.all_measurement_key_names() == cirq.measurement_key_names(c) assert c.all_measurement_key_names() == c.all_measurement_key_objs() - with cirq.testing.assert_deprecated(deadline="v0.13"): - assert c.all_measurement_key_names() == c.all_measurement_keys() - # Empty case. assert circuit_cls().all_measurement_key_names() == set() diff --git a/cirq-core/cirq/ops/gate_operation.py b/cirq-core/cirq/ops/gate_operation.py index 160bc4073a9..d5c1c1c0b55 100644 --- a/cirq-core/cirq/ops/gate_operation.py +++ b/cirq-core/cirq/ops/gate_operation.py @@ -34,7 +34,6 @@ import numpy as np from cirq import protocols, value -from cirq._compat import _warn_or_error from cirq.ops import raw_types, gate_features from cirq.type_workarounds import NotImplementedType @@ -222,28 +221,12 @@ def _measurement_key_name_(self) -> Optional[str]: getter = getattr(self.gate, '_measurement_key_name_', None) if getter is not None: return getter() - getter = getattr(self.gate, '_measurement_key_', None) - if getter is not None: - _warn_or_error( - f'_measurement_key_ was used but is deprecated.\n' - f'It will be removed in cirq v0.13.\n' - f'Use _measurement_key_name_ instead.\n' - ) - return getter() return NotImplemented def _measurement_key_names_(self) -> Optional[AbstractSet[str]]: getter = getattr(self.gate, '_measurement_key_names_', None) if getter is not None: return getter() - getter = getattr(self.gate, '_measurement_keys_', None) - if getter is not None: - _warn_or_error( - f'_measurement_keys_ was used but is deprecated.\n' - f'It will be removed in cirq v0.13.\n' - f'Use _measurement_key_names_ instead.\n' - ) - return getter() return NotImplemented def _measurement_key_obj_(self) -> Optional[value.MeasurementKey]: diff --git a/cirq-core/cirq/protocols/__init__.py b/cirq-core/cirq/protocols/__init__.py index ac7f308d621..9b7db79a472 100644 --- a/cirq-core/cirq/protocols/__init__.py +++ b/cirq-core/cirq/protocols/__init__.py @@ -91,10 +91,8 @@ ) from cirq.protocols.measurement_key_protocol import ( is_measurement, - measurement_key, measurement_key_name, measurement_key_obj, - measurement_keys, measurement_key_names, measurement_key_objs, with_key_path, diff --git a/cirq-core/cirq/protocols/measurement_key_protocol.py b/cirq-core/cirq/protocols/measurement_key_protocol.py index 3bec7d99495..a0508bbb1b9 100644 --- a/cirq-core/cirq/protocols/measurement_key_protocol.py +++ b/cirq-core/cirq/protocols/measurement_key_protocol.py @@ -17,7 +17,7 @@ from typing_extensions import Protocol -from cirq._compat import deprecated, deprecated_parameter, _warn_or_error +from cirq._compat import deprecated_parameter from cirq._doc import doc_private from cirq import value @@ -100,11 +100,6 @@ def _with_measurement_key_mapping_(self, key_map: Dict[str, str]): """ -@deprecated(deadline='v0.13', fix='use cirq.measurement_key_name instead') -def measurement_key(val: Any, default: Any = RaiseTypeErrorIfNotProvided): - return measurement_key_name(val, default) - - def measurement_key_obj(val: Any, default: Any = RaiseTypeErrorIfNotProvided): """Get the single measurement key object for the given value. @@ -198,38 +193,15 @@ def _measurement_key_names_from_magic_methods(val: Any) -> Optional[AbstractSet[ result = NotImplemented if getter is None else getter() if result is not NotImplemented and result is not None: return set(result) - getter = getattr(val, '_measurement_keys_', None) - result = NotImplemented if getter is None else getter() - if result is not NotImplemented and result is not None: - _warn_or_error( - f'_measurement_keys_ was used but is deprecated.\n' - f'It will be removed in cirq v0.13.\n' - f'Use _measurement_key_names_ instead.\n' - ) - return set(result) getter = getattr(val, '_measurement_key_name_', None) result = NotImplemented if getter is None else getter() if result is not NotImplemented and result is not None: return {result} - getter = getattr(val, '_measurement_key_', None) - result = NotImplemented if getter is None else getter() - if result is not NotImplemented and result is not None: - _warn_or_error( - f'_measurement_key_ was used but is deprecated.\n' - f'It will be removed in cirq v0.13.\n' - f'Use _measurement_key_name_ instead.\n' - ) - return {result} return result -@deprecated(deadline='v0.13', fix='use cirq.measurement_key_names instead') -def measurement_keys(val: Any, *, allow_decompose: bool = True): - return measurement_key_names(val, allow_decompose=allow_decompose) - - def measurement_key_objs(val: Any) -> AbstractSet[value.MeasurementKey]: """Gets the measurement key objects of measurements within the given value. diff --git a/cirq-core/cirq/protocols/measurement_key_protocol_test.py b/cirq-core/cirq/protocols/measurement_key_protocol_test.py index f4036d9e5f6..fa6db4a1bba 100644 --- a/cirq-core/cirq/protocols/measurement_key_protocol_test.py +++ b/cirq-core/cirq/protocols/measurement_key_protocol_test.py @@ -49,49 +49,6 @@ def test_measurement_key_obj(gate): assert cirq.measurement_key_obj(gate, 'a') == 'door locker' -@pytest.mark.parametrize('gate', [ReturnsStr(), ReturnsObj()]) -def test_measurement_key_deprecated(gate): - with cirq.testing.assert_deprecated(deadline="v0.13"): - assert isinstance(cirq.measurement_key(gate), str) - - with cirq.testing.assert_deprecated(deadline="v0.13"): - assert cirq.measurement_key(gate) == cirq.MeasurementKey(name='door locker') - - with cirq.testing.assert_deprecated(deadline="v0.13"): - assert cirq.measurement_key(gate) == 'door locker' - - with cirq.testing.assert_deprecated(deadline="v0.13"): - assert cirq.measurement_key(gate, None) == 'door locker' - - with cirq.testing.assert_deprecated(deadline="v0.13"): - assert cirq.measurement_key(gate, NotImplemented) == 'door locker' - - with cirq.testing.assert_deprecated(deadline="v0.13"): - assert cirq.measurement_key(gate, 'a') == 'door locker' - - -@pytest.mark.parametrize('key_method', [cirq.measurement_key_name, cirq.measurement_key_obj]) -def test_measurement_key_magic_method_deprecated(key_method): - class DeprecatedMagicMethod(cirq.SingleQubitGate): - def _measurement_key_(self): - return 'door locker' - - gate = DeprecatedMagicMethod() - with cirq.testing.assert_deprecated(deadline="v0.13"): - assert key_method(gate) == 'door locker' - with cirq.testing.assert_deprecated(deadline="v0.13"): - assert key_method(gate.on(cirq.LineQubit(0))) == 'door locker' - - with cirq.testing.assert_deprecated(deadline="v0.13"): - assert key_method(gate, None) == 'door locker' - - with cirq.testing.assert_deprecated(deadline="v0.13"): - assert key_method(gate, NotImplemented) == 'door locker' - - with cirq.testing.assert_deprecated(deadline="v0.13"): - assert key_method(gate, 'a') == 'door locker' - - @pytest.mark.parametrize('key_method', [cirq.measurement_key_name, cirq.measurement_key_obj]) def test_measurement_key_no_method(key_method): class NoMethod: @@ -223,22 +180,6 @@ def num_qubits(self) -> int: assert key_method(MeasurementKeysGate().on(a)) == keys -@pytest.mark.parametrize('key_method', [cirq.measurement_key_names, cirq.measurement_key_objs]) -def test_measurement_keys_magic_method_deprecated(key_method): - class DeprecatedMagicMethod(cirq.Gate): - def _measurement_keys_(self): - return ['a', 'b'] - - def num_qubits(self) -> int: - return 1 - - a = cirq.LineQubit(0) - with cirq.testing.assert_deprecated(deadline="v0.13"): - assert key_method(DeprecatedMagicMethod()) == {'a', 'b'} - with cirq.testing.assert_deprecated(deadline="v0.13"): - assert key_method(DeprecatedMagicMethod().on(a)) == {'a', 'b'} - - def test_measurement_keys_allow_decompose_deprecated(): a = cirq.LineQubit(0) with cirq.testing.assert_deprecated(deadline="v0.14"):