From 3691e956e1428f08363a0ed37e3f4f0f79b89ec0 Mon Sep 17 00:00:00 2001 From: dos-reis Date: Tue, 15 Feb 2011 20:27:29 +0000 Subject: * interp/compiler.boot (coerceExtraHard): Explicitly fail if autoCoerceByModemap fails. --- src/interp/compiler.boot | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/interp') 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. -- cgit v1.2.3