Hi, I noticed every instance of using `defrecord` with CLJS 0.0.1503/lein-cljsbuild 0.2.8 is emitting the following warning during compilation:
WARNING: Protocol IPrintable is deprecated at line ## <filename> What is the recommended way to use `defrecord` as of the new CLJS version? When I try to use `defrecord` at repl-rhino, I get the following error: ClojureScript:cljs.user> (defrecord Foo [bar]) WARNING: cljs.core/pr-sequential is deprecated. at line 1 WARNING: cljs.core/pr-sequential is deprecated. at line 1 WARNING: cljs.core/pr-sequential is deprecated. at line 1 WARNING: cljs.core/pr-sequential is deprecated. at line 1 "Error evaluating:" (defrecord Foo [bar]) :as "\n/**\n* @constructor\n* @param {*} bar\n* @param {*} __meta\n* @param {*} __extmap\n* @param {*=} __meta \n* @param {*=} __extmap\n*/\ncljs.user.Foo = (function (bar,__meta,__extmap){\nthis.bar = bar;\nthis.__meta = __meta;\nthis.__extmap = __extmap;\nthis.cljs$lang$protocol_mask$partition1$ = 0;\nthis.cljs$lang$protocol_mask$partition0$ = 2766538506;\nif(arguments.length>1){\nthis.__meta = __meta;\nthis.__extmap = __extmap;\n} else {\nthis.__meta=null;\nthis.__extmap=null;\n}\n})\ncljs.user.Foo.prototype.cljs$core$IHash$_hash$arity$1 = (function (this__2224__auto__){\nvar this__10305 = this;\nvar h__2094__auto____10306 = this__10305.__hash;\nif(!((h__2094__auto____10306 == null)))\n{return h__2094__auto____10306;\n} else\n{var h__2094__auto____10307 = cljs.core.hash_imap.call(null,this__2224__auto__);\nthis__10305.__hash = h__2094__auto____10307;\nreturn h__2094__auto____10307;\n}\n});\ncljs.user.Foo.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (this__2229__auto__,k__2230__auto__){\nvar this__10308 = this;\nreturn this__2229__auto__.cljs$core$ILookup$_lookup$arity$3(this__2229__auto__,k__2230__auto__,null);\n});\ncljs.user.Foo.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (this__2231__auto__,k10303,else__2232__auto__){\nvar this__10309 = this;\nif((k10303 === \"\\uFDD0'bar\"))\n{return this__10309.bar;\n} else\n{if(\"\\uFDD0'else\")\n{return cljs.core._lookup.call(null,this__10309.__extmap,k10303,else__2232__auto__);\n} else\n{return null;\n}\n}\n});\ncljs.user.Foo.prototype.cljs$core$IAssociative$_assoc$arity$3 = (function (this__2236__auto__,k__2237__auto__,G__10302){\nvar this__10310 = this;\nvar pred__10311__10314 = cljs.core.identical_QMARK_;\nvar expr__10312__10315 = k__2237__auto__;\nif(pred__10311__10314.call(null,\"\\uFDD0'bar\",expr__10312__10315))\n{return (new cljs.user.Foo(G__10302,this__10310.__meta,this__10310.__extmap,null));\n} else\n{return (new cljs.user.Foo(this__10310.bar,this__10310.__meta,cljs.core.assoc.call(null,this__10310.__extmap,k__2237__auto__,G__10302),null));\n}\n});\ncljs.user.Foo.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (this__2248__auto__,writer__2249__auto__,opts__2250__auto__){\nvar this__10316 = this;\nvar pr_pair__2251__auto____10317 = (function (keyval__2252__auto__){\nreturn cljs.core.pr_sequential_writer.call(null,writer__2249__auto__,cljs.core.pr_writer,\"\",\" \",\"\",opts__2250__auto__,keyval__2252__auto__);\n});\nreturn cljs.core.pr_sequential_writer.call(null,writer__2249__auto__,pr_pair__2251__auto____10317,[cljs.core.str(\"#\"),cljs.core.str(\"Foo\"),cljs.core.str(\"{\")].join(''),\", \",\"}\",opts__2250__auto__,cljs.core.concat.call(null,cljs.core.PersistentVector.fromArray([cljs.core.vector.call(null,\"\\uFDD0'bar\",this__10316.bar)], true),this__10316.__extmap));\n});\ncljs.user.Foo.prototype.cljs$core$ICollection$_conj$arity$2 = (function (this__2234__auto__,entry__2235__auto__){\nvar this__10318 = this;\nif(cljs.core.vector_QMARK_.call(null,entry__2235__auto__))\n{return this__2234__auto__.cljs$core$IAssociative$_assoc$arity$3(this__2234__auto__,cljs.core._nth.call(null,entry__2235__auto__,0),cljs.core._nth.call(null,entry__2235__auto__,1));\n} else\n{return cljs.core.reduce.call(null,cljs.core._conj,this__2234__auto__,entry__2235__auto__);\n}\n});\ncljs.user.Foo.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (this__2241__auto__){\nvar this__10319 = this;\nreturn cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core.PersistentVector.fromArray([cljs.core.vector.call(null,\"\\uFDD0'bar\",this__10319.bar)], true),this__10319.__extmap));\n});\ncljs.user.Foo.prototype.cljs$core$IPrintable$_pr_seq$arity$2 = (function (this__2243__auto__,opts__2244__auto__){\nvar this__10320 = this;\nvar pr_pair__2245__auto____10321 = (function (keyval__2246__auto__){\nreturn cljs.core.pr_sequential.call(null,cljs.core.pr_seq,\"\",\" \",\"\",opts__2244__auto__,keyval__2246__auto__);\n});\nreturn cljs.core.pr_sequential.call(null,pr_pair__2245__auto____10321,[cljs.core.str(\"#\"),cljs.core.str(\"cljs.user.Foo\"),cljs.core.str(\"{\")].join(''),\", \",\"}\",opts__2244__auto__,cljs.core.concat.call(null,cljs.core.PersistentVector.fromArray([cljs.core.vector.call(null,\"\\uFDD0'bar\",this__10320.bar)], true),this__10320.__extmap));\n});\ncljs.user.Foo.prototype.cljs$core$ICounted$_count$arity$1 = (function (this__2233__auto__){\nvar this__10322 = this;\nreturn (1 + cljs.core.count.call(null,this__10322.__extmap));\n});\ncljs.user.Foo.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (this__2225__auto__,other__2226__auto__){\nvar this__10323 = this;\nif(cljs.core.truth_((function (){var and__3822__auto____10324 = other__2226__auto__;\nif(cljs.core.truth_(and__3822__auto____10324))\n{var and__3822__auto____10325 = (this__2225__auto__.constructor === other__2226__auto__.constructor);\nif(and__3822__auto____10325)\n{return cljs.core.equiv_map.call(null,this__2225__auto__,other__2226__auto__);\n} else\n{return and__3822__auto____10325;\n}\n} else\n{return and__3822__auto____10324;\n}\n})()))\n{return true;\n} else\n{return false;\n}\n});\ncljs.user.Foo.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (this__2228__auto__,G__10302){\nvar this__10326 = this;\nreturn (new cljs.user.Foo(this__10326.bar,G__10302,this__10326.__extmap,this__10326.__hash));\n});\ncljs.user.Foo.prototype.cljs$core$IMeta$_meta$arity$1 = (function (this__2227__auto__){\nvar this__10327 = this;\nreturn this__10327.__meta;\n});\ncljs.user.Foo.prototype.cljs$core$IMap$_dissoc$arity$2 = (function (this__2238__auto__,k__2239__auto__){\nvar this__10328 = this;\nif(cljs.core.contains_QMARK_.call(null,cljs.core.PersistentHashSet.fromArray([\"\\uFDD0'bar\"]),k__2239__auto__))\n{return cljs.core.dissoc.call(null,cljs.core.with_meta.call(null,cljs.core.into.call(null,cljs.core.ObjMap.EMPTY,this__2238__auto__),this__10328.__meta),k__2239__auto__);\n} else\n{return (new cljs.user.Foo(this__10328.bar,this__10328.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,this__10328.__extmap,k__2239__auto__)),null));\n}\n});\ncljs.user.Foo.cljs$lang$type = true;\ncljs.user.Foo.cljs$lang$ctorPrSeq = (function (this__2271__auto__){\nreturn cljs.core.list.call(null,\"cljs.user/Foo\");\n});\ncljs.user.Foo.cljs$lang$ctorPrWriter = (function (this__2271__auto__,writer__2272__auto__){\nreturn cljs.core._write.call(null,writer__2272__auto__,\"cljs.user/Foo\");\n});\ncljs.user.__GT_Foo = (function __GT_Foo(bar){\nreturn (new cljs.user.Foo(bar));\n});\ncljs.user.map__GT_Foo = (function map__GT_Foo(G__10304){\nreturn (new cljs.user.Foo((new cljs.core.Keyword(\"\\uFDD0'bar\")).call(null,G__10304),null,cljs.core.dissoc.call(null,G__10304,\"\\uFDD0'bar\")));\n});\ncljs.user.Foo;\n" org.mozilla.javascript.JavaScriptException: Error: No protocol method IWriter.-write defined for type object: {:meta false, :readably true, :flush-on-newline true, :dup false} (cljs/core.cljs#276) at cljs/core.cljs:276 (anonymous) at cljs/core.cljs:268 (_write) at <cljs repl>:131 (anonymous) at cljs/core.cljs:6271 (pr_writer) at cljs/core.cljs:6248 (pr_seq_writer) at cljs/core.cljs:6256 (pr_sb_with_opts) at cljs/core.cljs:6268 (pr_str_with_opts) at cljs/core.cljs:6305 (anonymous) at cljs/core.cljs:6312 (anonymous) at <cljs repl>:1 nil Shantanu -- 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