From 9f50228981914193c5c92aa20eae689fdc49d139 Mon Sep 17 00:00:00 2001 From: dcode Date: Wed, 23 Mar 2022 00:45:39 +0100 Subject: [PATCH] Defuse assert when flattening after already diagnosing an error --- src/module.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/module.ts b/src/module.ts index 1375d86a44..16aa7c058b 100644 --- a/src/module.ts +++ b/src/module.ts @@ -1452,7 +1452,10 @@ export class Module { } } let singleType = getExpressionType(single); - assert(singleType == TypeRef.Unreachable || singleType == type); + if (singleType != TypeRef.Unreachable && singleType != type) { + // can happen when there was a diagnostic prior + return this.unreachable(); + } return single; } return this.block(null, stmts, type);