From bdd49de52ad09390976ae78618aa55692359970b Mon Sep 17 00:00:00 2001 From: Ian Hincks Date: Mon, 27 Mar 2023 12:36:31 -0400 Subject: [PATCH] Ensure QuantumCircuit.metadata is always a dict (#1761) * Ensure QuantumCircuit.metadata is always a dict This is for compatibility with https://github.com/Qiskit/qiskit-terra/pull/9849 * fix order * fix typo :( * revert object->object() change * make backportable --- qiskit_aer/backends/aerbackend.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/qiskit_aer/backends/aerbackend.py b/qiskit_aer/backends/aerbackend.py index 4ff9a3d6ed..06481ae144 100644 --- a/qiskit_aer/backends/aerbackend.py +++ b/qiskit_aer/backends/aerbackend.py @@ -426,13 +426,13 @@ def _execute_circuits_job(self, circuits, noise_model, config, job_id="", format # Take metadata from headers of experiments to work around JSON serialization error metadata_list = [] for idx, circ in enumerate(circuits): + metadata_list.append(circ.metadata) + # TODO: we test for True-like on purpose here to condition against both None and {}, + # which allows us to support versions of Terra before and after QuantumCircuit.metadata + # accepts None as a valid value. This logic should be revisited after terra>=0.24.0 is + # required. if circ.metadata: - metadata = circ.metadata - metadata_list.append(metadata) - circ.metadata = {} - circ.metadata["metadata_index"] = idx - else: - metadata_list.append(None) + circ.metadata = {"metadata_index": idx} # Run simulation aer_circuits = assemble_circuits(circuits)