From c3453977d7b5d6df0cb609e85f9b15bd3a28463a Mon Sep 17 00:00:00 2001
From: Raynel Sanchez <87539502+raynelfss@users.noreply.github.com>
Date: Thu, 18 Apr 2024 10:27:45 -0400
Subject: [PATCH] Fix: Bugs when fetching qargs or operations - Fix
qarg_for_operation_name logic to account for None and throw correct
exceptions. - Stringify description before sending in case of numerical
descriptors. - Fix qarg to account for None entry. - Other tweaks and fixes.
---
crates/accelerate/src/target.rs | 45 ++++++++++++++++++++-------------
qiskit/transpiler/_target.py | 6 +++--
2 files changed, 31 insertions(+), 20 deletions(-)
diff --git a/crates/accelerate/src/target.rs b/crates/accelerate/src/target.rs
index 8e9e897cba7c..8ac0214034cb 100644
--- a/crates/accelerate/src/target.rs
+++ b/crates/accelerate/src/target.rs
@@ -391,16 +391,21 @@ impl Target {
Returns:
set: The set of qargs the gate instance applies to.
*/
- if let Some(gate_map_oper) = self.gate_map[&operation].as_ref() {
- if gate_map_oper.is_empty() {
- return Ok(None);
+ if let Some(gate_map_oper) = self.gate_map.get(&operation).cloned() {
+ if let Some(gate_map_op) = gate_map_oper {
+ if gate_map_op.contains_key(&None) {
+ return Ok(None);
+ }
+ let qargs: Vec