diff options
Diffstat (limited to 'src/passes/Print.cpp')
-rw-r--r-- | src/passes/Print.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/passes/Print.cpp b/src/passes/Print.cpp index d700f85f3..68a2d16dc 100644 --- a/src/passes/Print.cpp +++ b/src/passes/Print.cpp @@ -2116,7 +2116,12 @@ struct PrintExpressionContents if (curr->safety == RefCast::Unsafe) { printMedium(o, "ref.cast_nop "); } else { - printMedium(o, "ref.cast null "); + // Emulate legacy polymorphic behavior for now. + if (curr->ref->type.isNullable()) { + printMedium(o, "ref.cast null "); + } else { + printMedium(o, "ref.cast "); + } } printHeapType(o, curr->intendedType, wasm); } |