[CLJ-1129] Invalid ns macro can yield a difficult to trace exception Created: 17/Dec/12 Updated: 19/Dec/12 Resolved: 19/Dec/12 |
|
| Status: | Closed |
| Project: | Clojure |
| Component/s: | None |
| Affects Version/s: | Release 1.4 |
| Fix Version/s: | None |
| Type: | Defect | Priority: | Minor |
| Reporter: | Howard Lewis Ship | Assignee: | Unassigned |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | aot, feedback | ||
| Description |
|
I inadvertently stripped off the namespace part of my ns macro, so that it was (ns (:use .... Clearly a user error, but an easy one. However, the result (from the REPL or the AOT compiler) was not ideal: Exception in thread "main" java.lang.ClassCastException: clojure.lang.PersistentList cannot be cast to clojure.lang.Named at clojure.core$name.invoke(core.clj:1489) at clojure.core$root_resource.invoke(core.clj:5210) at clojure.core$load_one.invoke(core.clj:5227) at clojure.core$compile$fn__4895.invoke(core.clj:5426) at clojure.core$compile.invoke(core.clj:5425) at clojuresque.tasks.compile$main$fn__64.invoke(compile.clj:23) at clojuresque.cli$with_command_line_STAR_.invoke(cli.clj:92) at clojuresque.tasks.compile$main.doInvoke(compile.clj:6) at clojure.lang.RestFn.applyTo(RestFn.java:137) at clojure.core$apply.invoke(core.clj:601) at clojure.lang.Var.invoke(Var.java:419) at clojuresque.Driver.main(Driver.java:39) The problem here is that there is no indication of what file was being loaded and compiled at the time of the error. Since I was in the middle of refactoring a big swath of code, I had some work to do to track down which file I had mangled. I would like to see a little more logging to the System/err to identify what resource file was being read and compiled by the compiler at the time of the exception. |
| Comments |
| Comment by Andy Fingerhut [ 18/Dec/12 1:12 AM ] |
|
Howard, is this perhaps a duplicate of CLJ-939? Let me know, and I can close this ticket as a duplicate if so. |
| Comment by Howard Lewis Ship [ 18/Dec/12 11:10 AM ] |
|
Yes, looks like a dupe to me. Sorry about that, I did do a search for existing issue before adding mine, but they can be hard to find. |
| Comment by Andy Fingerhut [ 19/Dec/12 1:09 AM ] |
|
Closed as duplicate of CLJ-939. |