Fork me on GitHub
#clojure-dev
<
2015-08-31
>
bronsa03:08:36

@alexmiller: Looks like there's a serious bug in the direct linking stuff

bronsa03:08:09

compiling

(defn x [y]
  (try
    (finally
      (let [z y]))))
produces
VerifyError (class: user$x, method: invokeStatic signature: (Ljava/lang/Object;)Ljava/lang/Object;) Can only throw Throwable objects  java.lang.Class.getDeclaredConstructors0 (Class.java:-2)

bronsa04:08:36

looks like an off by 1 error

bronsa04:08:05

my bet is that it has to do with the artificial locals used by TryExpr not being actual LocalBindings and https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/Compiler.java#L4001-L4013

ghadi15:08:35

try catch blocks always contain a bug, eh