diff --git a/hugr-core/src/hugr/views/sibling_subgraph.rs b/hugr-core/src/hugr/views/sibling_subgraph.rs index ddc307509..a024bcc17 100644 --- a/hugr-core/src/hugr/views/sibling_subgraph.rs +++ b/hugr-core/src/hugr/views/sibling_subgraph.rs @@ -345,7 +345,12 @@ impl SiblingSubgraph { let Some([rep_input, rep_output]) = replacement.get_io(rep_root) else { return Err(InvalidReplacement::InvalidDataflowParent); }; - if dfg_optype.dataflow_signature() != Some(self.signature(hugr)) { + + let current_signature = self.signature(hugr); + let new_signature = dfg_optype.dataflow_signature(); + if new_signature.as_ref().map(|s| &s.input) != Some(¤t_signature.input) + || new_signature.as_ref().map(|s| &s.output) != Some(¤t_signature.output) + { return Err(InvalidReplacement::InvalidSignature); }