From 1a53daa66506d17b56df9293f3e945e3ca3f21e0 Mon Sep 17 00:00:00 2001 From: Ayaz Hafiz Date: Fri, 6 May 2022 17:41:36 -0400 Subject: [PATCH] Remove ability todo in mono --- compiler/mono/src/ir.rs | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/compiler/mono/src/ir.rs b/compiler/mono/src/ir.rs index 60afa97360..5bdeb6c0c8 100644 --- a/compiler/mono/src/ir.rs +++ b/compiler/mono/src/ir.rs @@ -15,7 +15,7 @@ use roc_debug_flags::{ dbg_do, ROC_PRINT_IR_AFTER_REFCOUNT, ROC_PRINT_IR_AFTER_RESET_REUSE, ROC_PRINT_IR_AFTER_SPECIALIZATION, }; -use roc_error_macros::{internal_error, todo_abilities}; +use roc_error_macros::internal_error; use roc_exhaustive::{Ctor, CtorName, Guard, RenderAs, TagId}; use roc_module::ident::{ForeignSymbol, Lowercase, TagName}; use roc_module::low_level::LowLevel; @@ -3657,7 +3657,22 @@ pub fn with_hole<'a>( specialize_naked_symbol(env, variable, procs, layout_cache, assigned, hole, symbol) } - AbilityMember(..) => todo_abilities!(), + AbilityMember(_member, specialization) => { + let specialization_symbol = specialization + .read() + .unwrap() + .expect("Specialization was never made!"); + + specialize_naked_symbol( + env, + variable, + procs, + layout_cache, + assigned, + hole, + specialization_symbol, + ) + } Tag { variant_var, name: tag_name,