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]