diff options
author | dos-reis <gdr@axiomatics.org> | 2011-02-15 20:27:29 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2011-02-15 20:27:29 +0000 |
commit | 3691e956e1428f08363a0ed37e3f4f0f79b89ec0 (patch) | |
tree | 44d5775dae1631c6a78f96f6c45bc8a984f16442 /src | |
parent | d28551c8c802d510016a4762bb0139f93d0b2b69 (diff) | |
download | open-axiom-3691e956e1428f08363a0ed37e3f4f0f79b89ec0.tar.gz |
* interp/compiler.boot (coerceExtraHard): Explicitly fail if
autoCoerceByModemap fails.
Diffstat (limited to 'src')
-rw-r--r-- | src/ChangeLog | 5 | ||||
-rw-r--r-- | src/interp/compiler.boot | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index e5045df1..38b6a04e 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2011-02-15 Gabriel Dos Reis <gdr@cs.tamu.edu> + + * interp/compiler.boot (coerceExtraHard): Explicitly fail if + autoCoerceByModemap fails. + 2011-02-14 Gabriel Dos Reis <gdr@cs.tamu.edu> * interp/compiler.boot (getUnionMode): Remove. 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. |