Welcome! Please see the About page for a little more info on how this works.

0 votes
in Compiler by

This issue: https://clojure.atlassian.net/browse/CLJ-1227 reported that functions defined with definline fail under AOT compilation.

The issue was rejected saying eventually compiler macros would replace it, and that its "experimental" marker meant that you shouldn't use it and assume its possibly buggy, yet it is used by Clojure core itself, and so the issue manifested itself for code AOT compiled against Clojure Core itself.

That said, at the end, there is a comment that says:

The root cause of this issue is https://clojure.atlassian.net/browse/CLJ-1330#icft=CLJ-1330 as investigated by Nicola Mometto in the thread cited above: http://dev.clojure.org/jira/browse/CLJ-1330
So fixing the latter will fix this one, too.

And CLJ-1330 has been fixed since release 1.7.

So my question is, is CLJ-1227 basically fixed? And you can now use definline with AOT code? Or is it just the use of definline by Clojure Core that is fixed?

Thank You

P.S.: I could not find the issue already on ask.clojure.org, so I assume closed issues might not have been migrated, sorry if this is a duplicate.

1 Answer

0 votes
selected by
Best answer

Re-running the repro attached to CLJ-1227 looks like it is fixed to me. Are you seeing a problem with something?

I would still say that definline is experimental and not what Rich really wants for this, although it's obviously not a burning issue. :)

Nothing in particular. It came up on the slack in some related form, and I was reading up on it. At my work we've had some hard to track AOT issues once in a while, so I like to be "in the know" around its edge cases, and with the jira comment I wasn't sure if this was still a possible problem or not.