diff --git a/compiler/gen_dev/src/generic64/mod.rs b/compiler/gen_dev/src/generic64/mod.rs index 051ce786de..cffb599d0d 100644 --- a/compiler/gen_dev/src/generic64/mod.rs +++ b/compiler/gen_dev/src/generic64/mod.rs @@ -489,8 +489,8 @@ impl< ret_layout: &Layout<'a>, ) { if let Some(SelfRecursive::SelfRecursive(id)) = self.is_self_recursive { - if &fn_name == self.proc_name.as_ref().unwrap() && self.join_map.contains_key(&id) { - return self.build_jump(&id, args, arg_layouts, ret_layout); + if &fn_name == self.proc_name.as_ref().unwrap() && self.join_map.contains_key(id) { + return self.build_jump(id, args, arg_layouts, ret_layout); } } // Save used caller saved regs. @@ -629,7 +629,7 @@ impl< let mut sub_backend = Self::new(self.env); sub_backend.reset( self.proc_name.as_ref().unwrap().clone(), - self.is_self_recursive.as_ref().unwrap().clone(), + <&roc_mono::ir::SelfRecursive>::clone(self.is_self_recursive.as_ref().unwrap()), ); // Sync static maps of important information. sub_backend.last_seen_map = self.last_seen_map.clone(); diff --git a/compiler/gen_dev/src/lib.rs b/compiler/gen_dev/src/lib.rs index 811f9b07af..f091ce71f1 100644 --- a/compiler/gen_dev/src/lib.rs +++ b/compiler/gen_dev/src/lib.rs @@ -553,7 +553,7 @@ where if self.env().lazy_literals { for sym in syms { if let Some((lit, layout)) = self.literal_map().remove(sym) { - self.load_literal(sym, &layout, &lit); + self.load_literal(sym, layout, lit); } } } diff --git a/compiler/gen_dev/src/object_builder.rs b/compiler/gen_dev/src/object_builder.rs index e4f9e9ff44..a85a89d23d 100644 --- a/compiler/gen_dev/src/object_builder.rs +++ b/compiler/gen_dev/src/object_builder.rs @@ -212,10 +212,10 @@ fn build_object<'a, B: Backend<'a>>( let mut procs = Vec::with_capacity_in(procedures.len(), env.arena); for ((sym, layout), proc) in procedures { let base_name = layout_ids - .get_toplevel(*sym, &layout) + .get_toplevel(*sym, layout) .to_symbol_string(*sym, &env.interns); - let fn_name = if env.exposed_to_host.contains(&sym) { + let fn_name = if env.exposed_to_host.contains(sym) { format!("roc_{}_exposed", base_name) } else { base_name @@ -234,7 +234,7 @@ fn build_object<'a, B: Backend<'a>>( kind: SymbolKind::Text, // TODO: Depending on whether we are building a static or dynamic lib, this should change. // We should use Dynamic -> anyone, Linkage -> static link, Compilation -> this module only. - scope: if env.exposed_to_host.contains(&sym) { + scope: if env.exposed_to_host.contains(sym) { SymbolScope::Dynamic } else { SymbolScope::Linkage @@ -251,7 +251,7 @@ fn build_object<'a, B: Backend<'a>>( let mut relocations = bumpalo::vec![in env.arena]; for (fn_name, section_id, proc_id, proc) in procs { let mut local_data_index = 0; - let (proc_data, relocs) = backend.build_proc(&proc); + let (proc_data, relocs) = backend.build_proc(proc); let proc_offset = output.add_symbol_data(proc_id, section_id, proc_data, 16); for reloc in relocs { let elfreloc = match reloc {