diff --git a/compiler/module/src/symbol.rs b/compiler/module/src/symbol.rs index 65b8d366cf..ceb6748d80 100644 --- a/compiler/module/src/symbol.rs +++ b/compiler/module/src/symbol.rs @@ -877,6 +877,9 @@ define_builtins! { // used in wasm dev backend to mark temporary values in the VM stack 24 WASM_TMP: "#wasm_tmp" + + // the _ used in mono when a specialized symbol is deleted + 25 DELETED_SPECIALIZATION: "#deleted_specialization" } 1 NUM: "Num" => { 0 NUM_NUM: "Num" imported // the Num.Num type alias diff --git a/compiler/mono/src/ir.rs b/compiler/mono/src/ir.rs index 268ba249f7..3f791837a9 100644 --- a/compiler/mono/src/ir.rs +++ b/compiler/mono/src/ir.rs @@ -544,8 +544,7 @@ impl<'a> Specialized<'a> { .zip(self.proc_layouts.into_iter()) .zip(self.procedures.into_iter()) .filter_map(|((s, l), in_progress)| { - // we use UNDERSCORE for removed symbols - if let Symbol::UNDERSCORE = s { + if let Symbol::REMOVED_SPECIALIZATION = s { None } else { match in_progress { @@ -596,8 +595,7 @@ impl<'a> Specialized<'a> { } if let Some(index) = index { - // we use UNDERSCORE for removed symbols - self.symbols[index] = Symbol::UNDERSCORE; + self.symbols[index] = Symbol::REMOVED_SPECIALIZATION; true } else {