Cryptic ClassCastException
fugalh opened this issue · 1 comments
fugalh commented
$ lein test
lein test launchpad.core-test
Ran 1 tests containing 80 assertions.
0 failures, 0 errors.
$ lein quickie
:reloading (midi #error {
:cause clojure.lang.Cons cannot be cast to clojure.lang.Symbol
:via
[{:type java.lang.ClassCastException
:message clojure.lang.Cons cannot be cast to clojure.lang.Symbol
:at [clojure.core$find_ns invoke core.clj 3972]}]
:trace
[[clojure.core$find_ns invoke core.clj 3972]
[clojure.tools.namespace.repl$load_disabled_QMARK_ invoke repl.clj 32]
[clojure.core$complement$fn__4380 invoke core.clj 1376]
[clojure.core$filter$fn__4580 invoke core.clj 2690]
[clojure.lang.LazySeq sval LazySeq.java 40]
[clojure.lang.LazySeq seq LazySeq.java 49]
[clojure.lang.Cons next Cons.java 39]
[clojure.lang.RT next RT.java 674]
[clojure.core$next__4112 invoke core.clj 64]
[clojure.core$nthnext invoke core.clj 3038]
[clojure.core$print_sequential invoke core_print.clj 58]
[clojure.core$fn__5839 invoke core_print.clj 155]
[clojure.lang.MultiFn invoke MultiFn.java 233]
[clojure.core$pr_on invoke core.clj 3548]
[clojure.core$pr invoke core.clj 3560]
[clojure.lang.AFn applyToHelper AFn.java 154]
[clojure.lang.RestFn applyTo RestFn.java 132]
[clojure.core$apply invoke core.clj 630]
[clojure.core$pr doInvoke core.clj 3566]
[clojure.lang.RestFn applyTo RestFn.java 139]
[clojure.core$apply invoke core.clj 630]
[clojure.core$prn doInvoke core.clj 3593]
[clojure.lang.RestFn invoke RestFn.java 421]
[clojure.tools.namespace.repl$print_pending_reloads invoke repl.clj 29]
[clojure.tools.namespace.repl$do_refresh invoke repl.clj 93]
[clojure.tools.namespace.repl$refresh doInvoke repl.clj 145]
[clojure.lang.RestFn invoke RestFn.java 397]
[quickie.autotest$reload invoke autotest.clj 9]
[quickie.autotest$run invoke autotest.clj 52]
[user$eval875 invoke form-init989273796590312084.clj 1]
[clojure.lang.Compiler eval Compiler.java 6782]
[clojure.lang.Compiler eval Compiler.java 6772]
[clojure.lang.Compiler load Compiler.java 7227]
[clojure.lang.Compiler loadFile Compiler.java 7165]
[clojure.main$load_script invoke main.clj 275]
[clojure.main$init_opt invoke main.clj 280]
[clojure.main$initialize invoke main.clj 308]
[clojure.main$null_opt invoke main.clj 343]
[clojure.main$main doInvoke main.clj 421]
[clojure.lang.RestFn invoke RestFn.java 421]
[clojure.lang.Var invoke Var.java 383]
[clojure.lang.AFn applyToHelper AFn.java 156]
[clojure.lang.Var applyTo Var.java 700]
[clojure.main main main.java 37]]}
Here's the ns
declaration from src/midi.clj
:
(ns midi
(:import (javax.sound.midi MidiSystem
ShortMessage
SysexMessage
MidiUnavailableException)))
And here's the top of my test file:
(ns launchpad.core-test
(:require [clojure.test :refer :all]
[launchpad.core :as lp]))
It's possible I'm doing something wrong, I'm a clojure n00b. But AFAICT I haven't done anything bad. As you can see lein test
works ok.
fugalh commented
nvm, it turned out to be a cruft file with bad namespace syntax, which quickie was evaluating but me and lein test
were not.