Commit 677b58f1 authored by John van Groningen's avatar John van Groningen

don't allow attributes of type constructor variables in type class contexts,...

don't allow attributes of type constructor variables in type class contexts, instead of requiring uniform attribution of all occurrences in the type and the context (in inferred types these attributes are removed from type class contexts)
parent 24f87c20
......@@ -1022,7 +1022,8 @@ checkOpenAType mod_index scope dem_attr type=:{at_type = CV tv :@: types, at_att
*/
checkOpenAType mod_index scope dem_attr type=:{at_type = CV tv :@: types, at_attribute} (ots, oti, cs)
# (cons_var, var_attr, (oti, cs)) = checkTypeVar scope dem_attr tv at_attribute (oti, cs)
(types, (ots, oti, cs)) = mapSt (checkOpenAType mod_index scope DAK_None) types (ots, oti, cs)
#! dem_arg_attr_kind = if dem_attr=:DAK_Ignore DAK_Ignore DAK_None
# (types, (ots, oti, cs)) = mapSt (checkOpenAType mod_index scope dem_arg_attr_kind) types (ots, oti, cs)
= ({ type & at_type = CV cons_var :@: types, at_attribute = var_attr }, (ots, oti, cs))
checkOpenAType mod_index scope dem_attr_kind type=:{ at_type=TQualifiedIdent module_id type_name types, at_attribute}
(ots=:{ots_type_defs,ots_modules}, oti, cs=:{cs_symbol_table,cs_x={x_check_dynamic_types}})
......
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