diff --git a/qiskit/transpiler/instruction_durations.py b/qiskit/transpiler/instruction_durations.py index fc9186a8790a..a34b7e787f32 100644 --- a/qiskit/transpiler/instruction_durations.py +++ b/qiskit/transpiler/instruction_durations.py @@ -94,7 +94,7 @@ def from_backend(cls, backend: Backend): except AttributeError: dt = None - return InstructionDurations(instruction_durations, dt=dt) + return cls(instruction_durations, dt=dt) def update(self, inst_durations: "InstructionDurationsType" | None, dt: float = None): """Update self with inst_durations (inst_durations overwrite self). diff --git a/releasenotes/notes/instructiondurations-subclass-from-backend-1240cb924f386816.yaml b/releasenotes/notes/instructiondurations-subclass-from-backend-1240cb924f386816.yaml new file mode 100644 index 000000000000..474dc629dd9e --- /dev/null +++ b/releasenotes/notes/instructiondurations-subclass-from-backend-1240cb924f386816.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - | + :meth:`.InstructionDurations.from_backend` now returns an instance of any subclass + of :class:`.InstructionDurations` instead of the base class.