Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
clean-compiler-and-rts
compiler
Commits
91c7dc16
Commit
91c7dc16
authored
Jul 27, 2001
by
Ronny Wichers Schreur
🏘
Browse files
patch to prevent crash with undefined type variabeles in special declaration
parent
8e91821b
Changes
1
Hide whitespace changes
Inline
Side-by-side
frontend/check.icl
View file @
91c7dc16
...
...
@@ -473,6 +473,22 @@ where
build_type_subst
{
bind_src
,
bind_dst
}
type_heaps
#
(_,
bind_src
,
type_heaps
)
=
substitute
bind_src
type_heaps
// RWS ...
/*
FIXME: this is a patch for the following incorrect function type (in a dcl module)
f :: a | c a b special
a=[], b = Int
a=T, b = Char
The type variable b doesn't occur in f's type, but this is checked in a later
phase. Probably it's a better solution to change the order of checking.
*/
|
isNilPtr
bind_dst
.
tv_info_ptr
=
type_heaps
// ... RWS
=
{
type_heaps
&
th_vars
=
writePtr
bind_dst
.
tv_info_ptr
(
TVI_Type
bind_src
)
type_heaps
.
th_vars
}
build_var_subst
var
(
free_vars
,
type_var_heap
)
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment