clj-commons / clj-commons/byte-streams

`def-conversion` sometimes breaks when AOT-compiled

Open
#68 5 comments 0 reactions 0 assignees View on GitHub
Dominant language
Clojure
Stars
430
Forks
31
PR merge metrics
No merged PRs in 30d

Description

Repro: https://github.com/bevuta/byte-streams-def-conversion-aot-issue

Essentially the same issue as https://github.com/clj-commons/byte-streams/issues/34 but with `tools.deps` and `tools.build` instead of Leiningen. The resulting error is the same:

Execution error (ClassCastException) at clj_commons.byte_streams.graph.ConversionGraph/assoc_conversion (graph.clj:117).
class clj_commons.byte_streams.graph.Type cannot be cast to class clj_commons.byte_streams.graph.Type (clj_commons.byte_streams.graph.Type is in unnamed module of loader 'app'; clj_commons.byte_streams.graph.Type is in unnamed module of loader clojure.lang.DynamicClassLoader @650a1aff)

It's very likely caused by https://clojure.atlassian.net/browse/CLJ-1741, i.e. when first AOT-compiling a namespace which depends on another namespace which contains a `def-conversion` call, and *then* AOT-compiling that namespace itself.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.