Verified Commit 28c890cd authored by Camil Staps's avatar Camil Staps

Resolve crash on existentially qualified type variables that already appear in...

Resolve crash on existentially qualified type variables that already appear in the left-hand side of the type
parent e4ab7387
......@@ -615,7 +615,9 @@ where
= addExistentionalTypeVariablesToSymbolTable cti_lhs_attribute cons_def.cons_exi_vars ti_type_heaps cs
(st_args, st_attr_env,class_defs,(ts, ti=:{ti_type_heaps}, cs))
= bind_types_of_cons cons_def.cons_type.st_args cti free_vars [] class_defs (ts, {ti & ti_type_heaps = ti_type_heaps}, cs)
(unused_exi_vars,th_vars,cs)
| not cs.cs_error.ea_ok
= (class_defs, ts, ti, cs)
# (unused_exi_vars,th_vars,cs)
= find_unused_existential_type_vars exi_vars [] ti_type_heaps.th_vars cs
(st_context,class_defs,ts,ti=:{ti_type_heaps},cs)
= bind_context_of_cons cons_def.cons_type.st_context cti class_defs ts { ti & ti_type_heaps = { ti_type_heaps & th_vars = th_vars } } cs
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment