diff options
-rw-r--r-- | src/jvm/clojure/lang/Compiler.java | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/jvm/clojure/lang/Compiler.java b/src/jvm/clojure/lang/Compiler.java index c1961f78..c5781106 100644 --- a/src/jvm/clojure/lang/Compiler.java +++ b/src/jvm/clojure/lang/Compiler.java @@ -1880,11 +1880,12 @@ static boolean subsumes(Class[] c1, Class[] c2){ Boolean better = false; for(int i = 0; i < c1.length; i++) { - if(!(c1[i] == c2[i] || c2[i].isPrimitive() && c1[i] == Object.class)) + if(c1[i] != c2[i])// || c2[i].isPrimitive() && c1[i] == Object.class)) { - if(c1[i].isPrimitive() && c2[i] == Object.class + if(!c1[i].isPrimitive() && c2[i].isPrimitive() //|| Number.class.isAssignableFrom(c1[i]) && c2[i].isPrimitive() - || c2[i].isAssignableFrom(c1[i])) + || + c2[i].isAssignableFrom(c1[i])) better = true; else return false; |