IllegalAccessError with def and protocols

20 views
Skip to first unread message

Meikel Brandmeyer

unread,
Nov 18, 2009, 6:42:08 AM11/18/09
to Clojure Dev
Hi,

I ran into an IllegalAccessError while playing around with latest
"new" jar from build.clojure.org.

Here an example:

(defprotocol IFoo
(bar [p x]))

(deftype Foo [x])

(def foo-prototype (Foo nil))

(extend ::Foo
IFoo
{:bar #(Foo %2)})

How to reproduce:

user=> (bar foo-prototype 5)
#:Foo{:x 5}
user=> (def x (bar foo-prototype 5))
java.lang.IllegalAccessError (NO_SOURCE_FILE:3)
user=> (.printStackTrace *e)
java.lang.IllegalAccessError (NO_SOURCE_FILE:3)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:4892)
at clojure.lang.Compiler.analyze(Compiler.java:4707)
at clojure.lang.Compiler.access$100(Compiler.java:35)
at clojure.lang.Compiler$DefExpr$Parser.parse(Compiler.java:
399)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:4885)
at clojure.lang.Compiler.analyze(Compiler.java:4707)
at clojure.lang.Compiler.analyze(Compiler.java:4668)
at clojure.lang.Compiler.eval(Compiler.java:4943)
at clojure.lang.Compiler.eval(Compiler.java:4907)
at clojure.core$eval__5561.invoke(core.clj:1975)
at clojure.main$repl__7993$read_eval_print__8005.invoke
(main.clj:180)
at clojure.main$repl__7993.doInvoke(main.clj:197)
at clojure.lang.RestFn.invoke(RestFn.java:422)
at clojure.main$repl_opt__8039.invoke(main.clj:251)
at clojure.main$main__8074.doInvoke(main.clj:337)
at clojure.lang.RestFn.invoke(RestFn.java:409)
at clojure.lang.Var.invoke(Var.java:365)
at clojure.lang.AFn.applyToHelper(AFn.java:173)
at clojure.lang.Var.applyTo(Var.java:482)
at clojure.main.main(main.java:37)
Caused by: java.lang.IllegalAccessError
at clojure.lang.Compiler.registerProtocolCallsite
(Compiler.java:5004)
at clojure.lang.Compiler.access$1000(Compiler.java:35)
at clojure.lang.Compiler$InvokeExpr.<init>(Compiler.java:2705)
at clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:2872)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:4887)
... 19 more
nil

Sincerely
Meikel
Reply all
Reply to author
Forward
0 new messages