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)

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to