diff --git a/internal/backends/compiler_wat/wir/instruction_emitter.go b/internal/backends/compiler_wat/wir/instruction_emitter.go index 4c8b1bb..bd05f8e 100644 --- a/internal/backends/compiler_wat/wir/instruction_emitter.go +++ b/internal/backends/compiler_wat/wir/instruction_emitter.go @@ -731,6 +731,11 @@ func (m *Module) EmitGenConvert(x Value, typ ValueType) (insts []wat.Inst) { insts = append(insts, x.EmitPush()...) insts = append(insts, wat.NewInstCall("runtime.stringFromRuneSlice")) return + + case xt.Equal(m.RUNE) || xt.Equal(m.I32): + insts = append(insts, x.EmitPush()...) + insts = append(insts, wat.NewInstCall("runtime.stringFromRune")) + return } case typ.Equal(m.BYTES):