Closed fridis closed 1 day ago
A slightly extended example might help to give some more insight:
f(x ()->unit) => _ := x.call
a is
redef as_string => "--a--"
s(x Any) => say x
say (f (s a.this))
_ := a
results in
> ~/fuzion/work/build/bin/fz reg_issue3308a.fz
error 1: Found error clazz in set of clazzes in the IR even though no earlier errors were reported. This can only be the result of a severe bug.
one error.
The problem seems to be that on the call to s a.this
, an attempt is made to box a.fun.call
and not a.fun.call.outer.outer
, resulting in chaos.
This is somewhat realted to #3308 and #3314. This code
produces