frenchy64 / typed-clojurescript-play

Playground for Typed Clojurescript
20 stars 4 forks source link

Upgrading to latest versions of clojure, core.typed, and clojurescript breaks it #1

Open vheuken opened 8 years ago

vheuken commented 8 years ago

When I pull from the repo and run lein typed check-cljs, it works fine.

When I upgrade to the latest versions of Clojure/Clojurescript/core.typed I get the followinge rror: Exception in thread "main" java.lang.AssertionError: Assert failed: Cannot find namespace: clojure.core.typed.check-ns-cljs

I'm getting the exact same error trying to incorporate core.typed into my own project. I looked at this to see if it'd help me fix my issue, but it seems to have the same issue.

Here's exactly what I upgraded:

  :dependencies [[org.clojure/clojure "1.7.0"]
                 [org.clojure/core.typed "0.3.18"]
                 [org.clojure/clojurescript "1.7.170"]]
  :plugins [[lein-typed "0.3.5"]]
frenchy64 commented 8 years ago

When does this happen? During initialisation of the type system?

vheuken commented 8 years ago

No, after:

vincent@vincent-desktop ~/Workspace/typed-clojurescript-play $ lein typed check-cljs
Initializing core.typed ...
Building core.typed base environments ...
Finished building base environments
"Elapsed time: 7405.981377 msecs"
core.typed initialized.
Exception in thread "main" java.lang.AssertionError: Assert failed: Cannot find namespace: clojure.core.typed.check-ns-cljs
ns, compiling:(/tmp/form-init1180480322226678885.clj:1:73)
    at clojure.lang.Compiler.load(Compiler.java:7239)
    at clojure.lang.Compiler.loadFile(Compiler.java:7165)
    at clojure.main$load_script.invoke(main.clj:275)
    at clojure.main$init_opt.invoke(main.clj:280)
    at clojure.main$initialize.invoke(main.clj:308)
    at clojure.main$null_opt.invoke(main.clj:343)
    at clojure.main$main.doInvoke(main.clj:421)
    at clojure.lang.RestFn.invoke(RestFn.java:421)
    at clojure.lang.Var.invoke(Var.java:383)
    at clojure.lang.AFn.applyToHelper(AFn.java:156)
    at clojure.lang.Var.applyTo(Var.java:700)
    at clojure.main.main(main.java:37)
Caused by: java.lang.AssertionError: Assert failed: Cannot find namespace: clojure.core.typed.check-ns-cljs
ns
    at clojure.core.typed.current_impl$v.invoke(current_impl.clj:41)
    at cljs.core.typed$check_ns_STAR_.doInvoke(typed.clj:274)
    at clojure.lang.RestFn.invoke(RestFn.java:410)
    at user$eval1048$fn__1049.invoke(form-init1180480322226678885.clj:1)
    at user$eval1048.invoke(form-init1180480322226678885.clj:1)
    at clojure.lang.Compiler.eval(Compiler.java:6782)
    at clojure.lang.Compiler.eval(Compiler.java:6772)
    at clojure.lang.Compiler.load(Compiler.java:7227)
    ... 11 more
Subprocess failed
frenchy64 commented 8 years ago

Ok, I have put no effort in keeping the CLJS type checker working unfortunately. Even if this error was fixed, the CLJS checker is not updated. I have a list of things to get CLJS checking back up and running if you're interested in helping, but it's not on my radar otherwise.

vheuken commented 8 years ago

That's unfortunate. Have you considered making that a bit more obvious in the core.typed documentation?

frenchy64 commented 8 years ago

Good point. Where would be most helpful?

vheuken commented 8 years ago

Maybe somewhere near the top of the README. When I first went to core.typed's Github page to look for help, I ctrl+f'd for "clojurescript" and was disappointed when I found no info. I assumed it worked because of this sample project and the fact that there were some references to Clojurescript in the codebase.

frenchy64 commented 8 years ago

Thanks. https://github.com/clojure/core.typed/commit/4646c52b3b292c340e40a0d67fefc13cbde22439

Sorry for the disappointment, would be cool to see it back up and running.

frenchy64 commented 8 years ago

Whoops, typo https://github.com/clojure/core.typed#clojurescript-checker

vheuken commented 8 years ago

Cool, but you made a typo here: https://github.com/clojure/core.typed/commit/4646c52b3b292c340e40a0d67fefc13cbde22439#diff-04c6e90faac2675aa89e2176d2eec7d8R83

Should be "ClojureScript checker hasn't followed the last year of upstream changes" :)

EDIT: You caught it. Thanks!