tools.analyzer

Another case where emit-form seems to omit a type tag leading to reflection warning

Details

  • Type: Defect Defect
  • Status: Closed Closed
  • Priority: Minor Minor
  • Resolution: Completed
  • Affects Version/s: None
  • Fix Version/s: None
  • Component/s: None
  • Labels:
    None

Description

To reproduce, go to latest version of core.async source tree and with latest tools.analyzer(.jvm) and latest Eastwood 0.1.1-SNAPSHOT:

lein eastwood '{:namespaces [ clojure.core.async.impl.timers ] :debug #{:eval}}'

I get exactly one reflection warning, but none appear when compiling the code normally:

Reflection warning, clojure/core/async/impl/timers.clj:1:251 - reference to field channel can't be resolved.

It is inside defn timeout

Activity

Hide
Nicola Mometto added a comment -

Should be fixed with https://github.com/clojure/tools.analyzer.jvm/commit/bb4c9fca086b3cbeba382df7435990f493148869 and https://github.com/clojure/tools.analyzer/commit/fe76b18248a336566965ff9b235e97af65f1f1f1 but it's possible there are still some edge-cases missing.

Please open a new ticket if you find any, thanks

Show
Nicola Mometto added a comment - Should be fixed with https://github.com/clojure/tools.analyzer.jvm/commit/bb4c9fca086b3cbeba382df7435990f493148869 and https://github.com/clojure/tools.analyzer/commit/fe76b18248a336566965ff9b235e97af65f1f1f1 but it's possible there are still some edge-cases missing. Please open a new ticket if you find any, thanks
Hide
Andy Fingerhut added a comment -

That change to tools.analyzer causes it to fail one of its unit tests run by 'lein test'

Show
Andy Fingerhut added a comment - That change to tools.analyzer causes it to fail one of its unit tests run by 'lein test'
Hide
Nicola Mometto added a comment -

Sorry about that. I was relying on hudson to check whether or not it break anything but the commit didn't trigger a new build and I didn't notice I was looking at an old build.

Should be fixed now.

Show
Nicola Mometto added a comment - Sorry about that. I was relying on hudson to check whether or not it break anything but the commit didn't trigger a new build and I didn't notice I was looking at an old build. Should be fixed now.
Hide
Andy Fingerhut added a comment -

Hmm. Fails more unit tests of 'lein test' now.

Show
Andy Fingerhut added a comment - Hmm. Fails more unit tests of 'lein test' now.
Hide
Nicola Mometto added a comment -

That was intended, I finished that minor refactor with https://github.com/clojure/tools.analyzer/commit/d52e8400b460c1475646f084d53f948d7fae5b34
Tests are now passing again.

Show
Nicola Mometto added a comment - That was intended, I finished that minor refactor with https://github.com/clojure/tools.analyzer/commit/d52e8400b460c1475646f084d53f948d7fae5b34 Tests are now passing again.

People

Vote (0)
Watch (1)

Dates

  • Created:
    Updated:
    Resolved: