diff --git a/sway-core/src/type_engine/engine.rs b/sway-core/src/type_engine/engine.rs index a5832ab230c..54678b3f4ff 100644 --- a/sway-core/src/type_engine/engine.rs +++ b/sway-core/src/type_engine/engine.rs @@ -181,12 +181,16 @@ impl Engine { // } // If no previous attempts to unify were successful, raise an error - (_, _) => Err(TypeError::MismatchedType { - expected, - received, - help_text: Default::default(), - span: span.clone(), - }), + (the_received, the_expected) => match (the_received, the_expected) { + (TypeInfo::ErrorRecovery, _) => Ok(vec![]), + (_, TypeInfo::ErrorRecovery) => Ok(vec![]), + _ => Err(TypeError::MismatchedType { + expected, + received, + help_text: Default::default(), + span: span.clone(), + }), + }, } }