diff --git a/cirq-core/cirq/circuits/frozen_circuit.py b/cirq-core/cirq/circuits/frozen_circuit.py index c1b7534ac6..08e54bdb9b 100644 --- a/cirq-core/cirq/circuits/frozen_circuit.py +++ b/cirq-core/cirq/circuits/frozen_circuit.py @@ -99,6 +99,7 @@ def with_tags(self, *new_tags: Hashable) -> cirq.FrozenCircuit: return self new_circuit = FrozenCircuit(tags=self.tags + new_tags) new_circuit._moments = self._moments + new_circuit.untagged = self.untagged return new_circuit @_compat.cached_method diff --git a/cirq-core/cirq/circuits/frozen_circuit_test.py b/cirq-core/cirq/circuits/frozen_circuit_test.py index 99bba012bd..5cc02d2ff2 100644 --- a/cirq-core/cirq/circuits/frozen_circuit_test.py +++ b/cirq-core/cirq/circuits/frozen_circuit_test.py @@ -114,6 +114,9 @@ def test_tagged_circuits() -> None: assert tagged_circuit.with_tags("c") == cirq.FrozenCircuit(ops, tags=[*tags, "c"]) assert tagged_circuit.untagged == frozen_circuit assert frozen_circuit.untagged is frozen_circuit + assert frozen_circuit.with_tags(*tags).untagged is frozen_circuit + assert frozen_circuit.with_tags("a").untagged is frozen_circuit.with_tags("b").untagged + assert frozen_circuit.with_tags("a").with_tags("b").untagged is frozen_circuit assert tagged_circuit.unfreeze(copy=True).tags == tags assert tagged_circuit.unfreeze(copy=False).tags == tags # Test parameterized protocols