From e45ab5d531b55989d8d415e7d2468c281ba15560 Mon Sep 17 00:00:00 2001 From: Douglas Wilson <141026920+doug-q@users.noreply.github.com> Date: Tue, 1 Oct 2024 16:46:19 +0100 Subject: [PATCH] feat: Add an `OpLoadError` variant of `BuildError`. (#1537) closes #1536 --- hugr-core/src/builder.rs | 5 +++++ hugr-core/src/extension/simple_op.rs | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/hugr-core/src/builder.rs b/hugr-core/src/builder.rs index 38a5334b3..a53811ba9 100644 --- a/hugr-core/src/builder.rs +++ b/hugr-core/src/builder.rs @@ -88,6 +88,7 @@ //! ``` use thiserror::Error; +use crate::extension::simple_op::OpLoadError; use crate::extension::{SignatureError, TO_BE_INFERRED}; use crate::hugr::ValidationError; use crate::ops::handle::{BasicBlockID, CfgID, ConditionalID, DfgID, FuncID, TailLoopID}; @@ -194,6 +195,10 @@ pub enum BuildError { #[source] error: BuilderWiringError, }, + + #[error("Failed to load an extension op: {0}")] + #[allow(missing_docs)] + ExtensionOp(#[from] OpLoadError), } #[derive(Debug, Clone, PartialEq, Error)] diff --git a/hugr-core/src/extension/simple_op.rs b/hugr-core/src/extension/simple_op.rs index 0bf1068a4..6906b40d7 100644 --- a/hugr-core/src/extension/simple_op.rs +++ b/hugr-core/src/extension/simple_op.rs @@ -17,7 +17,7 @@ use delegate::delegate; use thiserror::Error; /// Error loading operation. -#[derive(Debug, Error, PartialEq)] +#[derive(Debug, Error, PartialEq, Clone)] #[error("{0}")] #[allow(missing_docs)] #[non_exhaustive]