-
Notifications
You must be signed in to change notification settings - Fork 66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Crash when reifying an interface #240
Comments
Reproduced and reported at tools.analyzer level, sadly there isn't much we can do meanwhile https://ask.clojure.org/index.php/10391/ambiguous-method-signature-method-thrown-clojure-wouldnt |
@vemv I am not necessarily advocating for this, as it requires keeping track of patches made to upstream libraries used by Eastwood, but most libraries used by Eastwood are "shaded", i.e. copied into Eastwood's own source code, and with their namespaces renamed, so that it is still possible to use Eastwood on projects that use different versions of those libraries without certain kinds of errors occurring if they conflicted. Thus it is certainly possible to make arbitrary local changes to Eastwood's shaded copy of any/all libs it uses, without waiting for upstream changes. You get the benefit of quicker turnaround, but the disadvantage that you have to maintain the local changes, and decide whether/how to merge them in when you decide to upgrade the version of the upstream library you want to use in future Eastwood versions. |
Thanks for the insight! Yes, I got that impression from the codebase and applied a small patch here #359 But personally I'd think twice before creating larger changes. I'd have hope that the reported issue would get fixed and accordingly we could upgrade or "cherry-pick" the fix. But you are right in hinting that At the same time I'd try to have upsteam libs fix the bugs they may have. Using dolly/mranderson is one thing, taking responsibility for other libs' bugs might be a more delicate area. |
I've found a case where reifying an interface will crash the Eastwood process.
This code works OK,
eastwood
fails, but the error is useful:The output is:
But when I import the interface from another file,
eastwood
crashes harder:The output is:
The text was updated successfully, but these errors were encountered: