deftype issue in 1.3-beta1

16 views
Skip to first unread message

Praki

unread,
Jun 25, 2011, 1:25:54 PM6/25/11
to Clojure
This looks like an issue with hyphenated attribute names in deftype.
defrecord seems to be fine.

user> *clojure-version*
{:major 1, :minor 3, :incremental 0, :qualifier "beta1"}
user> (deftype Foo [foo])
user.Foo
user> (Foo. 1)
#user.Foo[1]
user> (deftype Bar [bar-id])
user.Bar
user> (Bar. 1)
; Evaluation aborted.
user>

The stack trace is:

No matching field found: bar-id for class user.Bar
[Thrown class java.lang.IllegalArgumentException]

Restarts:
0: [QUIT] Quit to the SLIME top level

Backtrace:
0: clojure.lang.Reflector.getInstanceField(Reflector.java:289)
1: clojure.core$print_deftype
$iter__5055__5059$fn__5060$fn__5061.invoke(core_print.clj:246)
2: clojure.core$print_deftype
$iter__5055__5059$fn__5060.invoke(core_print.clj:245)
3: clojure.lang.LazySeq.sval(LazySeq.java:42)
4: clojure.lang.LazySeq.seq(LazySeq.java:60)
5: clojure.lang.RT.seq(RT.java:466)
6: clojure.core$seq.invoke(core.clj:133)
7: clojure.core$print_sequential.invoke(core_print.clj:46)
8: clojure.core$print_deftype.invoke(core_print.clj:247)
9: clojure.core$fn__5070.invoke(core_print.clj:250)
10: clojure.lang.MultiFn.invoke(MultiFn.java:167)
11: clojure.core$pr_on.invoke(core.clj:3244)
12: clojure.core$pr.invoke(core.clj:3256)
13: clojure.lang.AFn.applyToHelper(AFn.java:161)
14: clojure.lang.RestFn.applyTo(RestFn.java:132)
15: clojure.core$apply.invoke(core.clj:600)
16: clojure.core$pr_str.doInvoke(core.clj:4184)
17: clojure.lang.RestFn.invoke(RestFn.java:408)
18: swank.commands.basic
$eval807$interactive_eval__808.invoke(basic.clj:66)
19: clojure.lang.Var.invoke(Var.java:401)
20: user$eval1672.invoke(NO_SOURCE_FILE)
21: clojure.lang.Compiler.eval(Compiler.java:6406)
22: clojure.lang.Compiler.eval(Compiler.java:6372)
23: clojure.core$eval.invoke(core.clj:2745)
24: swank.core$eval_in_emacs_package.invoke(core.clj:92)
25: swank.core$eval_for_emacs.invoke(core.clj:239)
26: clojure.lang.Var.invoke(Var.java:409)
27: clojure.lang.AFn.applyToHelper(AFn.java:167)
28: clojure.lang.Var.applyTo(Var.java:518)
29: clojure.core$apply.invoke(core.clj:600)
30: swank.core$eval_from_control.invoke(core.clj:99)
31: swank.core$eval_loop.invoke(core.clj:104)
32: swank.core$spawn_repl_thread$fn__494$fn__495.invoke(core.clj:309)
33: clojure.lang.AFn.applyToHelper(AFn.java:159)
34: clojure.lang.AFn.applyTo(AFn.java:151)
35: clojure.core$apply.invoke(core.clj:600)
36: swank.core$spawn_repl_thread$fn__494.doInvoke(core.clj:306)
37: clojure.lang.RestFn.invoke(RestFn.java:397)
38: clojure.lang.AFn.run(AFn.java:24)
39: java.lang.Thread.run(Thread.java:662)

Alan Dipert

unread,
Jun 27, 2011, 10:13:40 PM6/27/11
to clo...@googlegroups.com
Thanks for the report Praki. Definitely a bug; I created
http://dev.clojure.org/jira/browse/CLJ-817 with a patch. I expect a
fix will make it into the next beta.

Best,
Alan
Clojure/core

> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clo...@googlegroups.com
> Note that posts from new members are moderated - please be patient with your first post.
> To unsubscribe from this group, send email to
> clojure+u...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
>

Reply all
Reply to author
Forward
0 new messages