aboutsummaryrefslogtreecommitdiff
path: root/frontend/overloading.icl
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/overloading.icl')
-rw-r--r--frontend/overloading.icl12
1 files changed, 6 insertions, 6 deletions
diff --git a/frontend/overloading.icl b/frontend/overloading.icl
index 07b13ca..ed3e286 100644
--- a/frontend/overloading.icl
+++ b/frontend/overloading.icl
@@ -328,10 +328,10 @@ where
where
fresh_context :: !TypeContext !*TypeHeaps -> (TypeContext,*TypeHeaps)
fresh_context tc=:{tc_types} type_heaps
- # (tc_types, type_heaps) = substitute tc_types type_heaps
-// (tc_var, var_heap) = newPtr VI_Empty var_heap
-// = ({ tc & tc_types = tc_types, tc_var = tc_var }, (var_heap, type_heaps))
- = ({ tc & tc_types = tc_types }, type_heaps)
+ # (changed_tc_types, tc_types, type_heaps) = substitute tc_types type_heaps
+ | changed_tc_types
+ = ({tc & tc_types = tc_types}, type_heaps)
+ = (tc, type_heaps)
is_unboxed_array:: [Type] PredefinedSymbols -> Bool
is_unboxed_array [TA {type_index={glob_module,glob_object},type_arity} _ : _] predef_symbols
@@ -851,7 +851,7 @@ where
= type_var_heap <:= (tv_info_ptr, TVI_Type type)
subst_context_and_generate_super_classes class_context (super_classes, type_heaps)
- # (super_class, type_heaps) = substitute class_context type_heaps
+ # (_, super_class, type_heaps) = substitute class_context type_heaps
| containsContext super_class super_classes
= (super_classes, type_heaps)
= generate_super_classes super_class ([super_class : super_classes], type_heaps)
@@ -1090,7 +1090,7 @@ where
# {tc_class=TCClass {glob_object={ds_index},glob_module}} = tc2
{class_args,class_members,class_context,class_dictionary} = defs.[glob_module].com_class_defs.[ds_index]
th_vars = foldr2 (\{tv_info_ptr} type -> writePtr tv_info_ptr (TVI_Type type)) th_vars class_args tc2.tc_types
- (super_instances, type_heaps) = substitute class_context { type_heaps & th_vars = th_vars }
+ (_, super_instances, type_heaps) = substitute class_context {type_heaps & th_vars = th_vars}
= find_super_instance tc1 super_instances (size class_members) address glob_module class_dictionary.ds_index defs type_heaps
where
find_super_instance :: !TypeContext ![TypeContext] !Index ![(Int, Global DefinedSymbol)] !Index !Index !{#CommonDefs} !*TypeHeaps