aboutsummaryrefslogtreecommitdiff
path: root/frontend/checktypes.icl
diff options
context:
space:
mode:
authorsjakie2001-08-30 10:26:50 +0000
committersjakie2001-08-30 10:26:50 +0000
commit9aa1f9250087251447dcb9d386b9c0c9e2088074 (patch)
tree76ef1820a011b24463363635fe748a1b300bcf1e /frontend/checktypes.icl
parentrestoring old main (diff)
bug fix in universally quantified types
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@699 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/checktypes.icl')
-rw-r--r--frontend/checktypes.icl3
1 files changed, 2 insertions, 1 deletions
diff --git a/frontend/checktypes.icl b/frontend/checktypes.icl
index 2c3c5bb..a5c5e99 100644
--- a/frontend/checktypes.icl
+++ b/frontend/checktypes.icl
@@ -874,6 +874,7 @@ checkSymbolType is_function mod_index st=:{st_args,st_result,st_context,st_attr_
checked_st = {st & st_vars = st_vars, st_args = st_args, st_result = st_result, st_context = st_context,
st_attr_vars = st_attr_vars, st_attr_env = st_attr_env }
= (checked_st, specials, type_defs, class_defs, modules, heaps, cs)
+// ---> ("checkSymbolType", checked_st)
where
check_attr_inequality ineq=:{ai_demanded=ai_demanded=:{av_name=dem_name},ai_offered=ai_offered=:{av_name=off_name}} cs=:{cs_symbol_table,cs_error}
# (dem_entry, cs_symbol_table) = readPtr dem_name.id_info cs_symbol_table
@@ -1330,7 +1331,7 @@ removeDefinitionFromSymbolTable level {id_info} symbol_table
| isNilPtr id_info
= symbol_table
# ({ste_def_level, ste_previous}, symbol_table) = readPtr id_info symbol_table
- | ste_def_level == level
+ | ste_def_level >= level
= symbol_table <:= (id_info, ste_previous)
= symbol_table