aboutsummaryrefslogtreecommitdiff
path: root/src/interp/compiler.boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp/compiler.boot')
-rw-r--r--src/interp/compiler.boot4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/interp/compiler.boot b/src/interp/compiler.boot
index 73f7410d..34f55b20 100644
--- a/src/interp/compiler.boot
+++ b/src/interp/compiler.boot
@@ -1704,7 +1704,9 @@ coerceExtraHard(T is [x,m',e],m) ==
-- For values from domains satisfying Union-like properties, apply
-- implicit retraction if clear from context.
(t := hasType(x,e)) and unionLike?(m',e) is ['UnionCategory,:l]
- and member(t,l) => coerce(autoCoerceByModemap(T,t),m)
+ and member(t,l) =>
+ T' := autoCoerceByModemap(T,t) => coerce(T',m)
+ nil
-- Give it one last chance.
-- FIXME: really, we shouldn't. Codes relying on this are
-- FIXME: inherently difficult to comprehend and likely broken.