I believe that cljs versions 1.9.493 and above break core.async (and
possibly other libraries) under :advanced optimizations.

Here is a minimal reproduction:
In src/ca_adv_bug/core.cljs:

(ns ca-adv-bug.core
  (:require
   [cljs.core.async :as ca]
   [cljs.nodejs :as nodejs])
  (:require-macros
   [cljs.core.async.macros :refer [go]]))

(nodejs/enable-util-print!)

(defn -main [& args]
  (go
    (println "Hello world!")))

(set! *main-cli-fn* -main)


In build.clj:

(require 'cljs.build.api)

(cljs.build.api/build
 "src"
 {:optimizations :advanced
  :target :nodejs
  :main 'ca-adv-bug.core
  :output-to "main.js"})


In the current directory, I have two versions of the standalone cljs jar,
named with their versions, as well as the latest core.async jar. I pulled
them from
https://github.com/clojure/clojurescript/releases/download/r1.9.473/cljs.jar
and
https://github.com/clojure/clojurescript/releases/download/r1.9.493/cljs.jar
.

First, with cljs v1.9.473:

~/src/test-ca $ java -cp cljs-1.9.473.jar:core.async-0.3.441.jar:src
clojure.main build.clj

~/src/test-ca $ node main.js

Hello world!

Now with cljs v1.9.493:

~/src/test-ca $ java -cp cljs-1.9.493.jar:core.async-0.3.441.jar:src
clojure.main build.clj

Mar 03, 2017 3:39:53 PM com.google.javascript.jscomp.LoggerErrorManager
println

SEVERE: /Users/chad/src/test-ca/out/cljs/core/async.js:1426: ERROR - Parse
error. No newline allowed before '=>'

var inst_6822 = async(inst_6821);

                                ^


Mar 03, 2017 3:39:53 PM com.google.javascript.jscomp.LoggerErrorManager
printSummary

WARNING: 1 error(s), 0 warning(s)

ERROR: JSC_PARSE_ERROR. Parse error. No newline allowed before '=>' at
/Users/chad/src/test-ca/out/cljs/core/async.js line 1426 : 32


Can others reproduce this? This issue is blocking us from using the latest
cljs, as we rely on core.async and :advanced optimizations.

Thank you for your efforts,

Chad Harrington
chad.harring...@gmail.com
c...@farbetter.com

-- 
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
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to