Skip to content

Conversation

@arohner
Copy link
Contributor

@arohner arohner commented Dec 2, 2025

More bug fixes after #70 and #73

  • When determining whether two classloaders are compatible?, also check java class names, not just clj namespaces. This identifies JarHell as a major source of compile errors and non-determinism
  • gen_build: Make clojure_library targets depend on clojure.core.specs.alpha rather than clojure.core. This fixes a bug where clojure.core.specs.alpha gets compiled into user jars, causing false positives in compatibility checks.
  • minor comments and code golfing

@arohner arohner force-pushed the speed-fixes branch 2 times, most recently from d8ae825 to 3dc9f9c Compare December 2, 2025 22:02
Copy link

@miridius miridius left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Comment on lines 115 to 119
(map (fn [[k1 v1]]
(when-let [[_k2 v2] (find larger k1)]
(when (not= v1 v2)
[k1 [v1 v2]]))))
(filter identity))))
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⛳ map + filter identity = keep

Suggested change
(map (fn [[k1 v1]]
(when-let [[_k2 v2] (find larger k1)]
(when (not= v1 v2)
[k1 [v1 v2]]))))
(filter identity))))
(keep (fn [[k1 v1]]
(when-let [[_k2 v2] (find larger k1)]
(when (not= v1 v2)
[k1 [v1 v2]])))))))

@arohner arohner force-pushed the speed-fixes branch 3 times, most recently from ebf98d4 to e037150 Compare December 3, 2025 18:11
- When determining whether two classloaders are compatible?, also check for java class names, not just clj namespaces. This identifies JarHell as a major source of compile errors and non-determinism
- gen_build: Make clojure_library targets depend on clojure.core.specs.alpha rather than clojure.core. This fixes a bug where clojure.core.specs.alpha gets compiled into user jars, causing false positives in compatibility checks.
- minor comments and code golfing
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants