clj-commons / manifold

A compatibility layer for event-driven abstractions
1.02k stars 106 forks source link

Compatibility with graal native-image #184

Open willcohen opened 4 years ago

willcohen commented 4 years ago

Trying to use manifold downstream with graal's native-image using a patched for CLJ-1472 clojure yields an error with locking:

Syntax error (IllegalArgumentException) compiling fn* at (manifold/deferred.clj:456:5).
Cannot assign to non-mutable: mta

A similar issue with core.memoize reimplemented in Java. Will attempt to rewrite SuccessDeferred in Java to see if this fixes compatibility.

Additional uses of locking may require similar fixes.

danielcompton commented 4 years ago

Does this still happen with the Clojure 1.10.2 test release? There were a few different patches that tried to fix this issue. Do you have a reproducing test case for this?

KingMob commented 3 years ago

@willcohen Do you have a test case and a Clojure version for this error?