diff options
author | sjakie | 2001-11-06 15:19:26 +0000 |
---|---|---|
committer | sjakie | 2001-11-06 15:19:26 +0000 |
commit | 5fad349fdd934de889b41a9a5d7a27eb1cba0db9 (patch) | |
tree | 5d69e9e000c999262ce90bb1e5ee101d6e99690a /frontend | |
parent | removed conversion table (diff) |
Bug fix: crashed with cyclic type classes
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@882 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend')
-rw-r--r-- | frontend/analtypes.icl | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/frontend/analtypes.icl b/frontend/analtypes.icl index 0592a9a..434c5a8 100644 --- a/frontend/analtypes.icl +++ b/frontend/analtypes.icl @@ -749,8 +749,9 @@ where // ---> ("determine_kinds_of_class", class_name, class_kinds) = ({class_infos & [class_module,class_index] = [ KindConst \\ _ <- [1..class_arity]] }, { as & as_error = popErrorAdmin as.as_error }) | isCyclicClass class_infos.[class_module,class_index] - # class_name = modules.[class_module].com_class_defs.[class_index].class_name - = (class_infos, { as & as_error = checkError class_name class_def_error as.as_error }) + # {class_name,class_arity} = modules.[class_module].com_class_defs.[class_index] + = ({ class_infos & [class_module,class_index] = [ KindConst \\ _ <- [1..class_arity]]}, + { as & as_error = checkError class_name class_def_error as.as_error }) = (class_infos, as) where fresh_kind_vars nr_of_vars fresh_vars kind_heap |