diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/jvm/clojure/lang/Compiler.java | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/jvm/clojure/lang/Compiler.java b/src/jvm/clojure/lang/Compiler.java index c6168cf3..2dcfd698 100644 --- a/src/jvm/clojure/lang/Compiler.java +++ b/src/jvm/clojure/lang/Compiler.java @@ -2800,6 +2800,11 @@ static public class FnExpr implements Expr{ Class c = o.getClass(); if(Modifier.isPublic(c.getModifiers())) { + //can't emit derived fn types due to visibility + if(RestFn.class.isAssignableFrom(c)) + return Type.getType(RestFn.class); + else if(AFn.class.isAssignableFrom(c)) + return Type.getType(AFn.class); return Type.getType(c); } return OBJECT_TYPE; |