-
Notifications
You must be signed in to change notification settings - Fork 21
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
Use error-hint for fft-related errors #190
Conversation
Aqua was complaining about piracy. This eliminates some of the piracy it was worried about, and the rest we temporarily (?) circumvent by disabling Aqua's piracy test. This package now only loads AbstractFFTs on Julia versions that lack `Base.Experimental.register_error_hint` (Julia 1.4 and earlier).
I'm not wedded to this approach, so don't hold back with any concerns. We could also just disable the piracy test permanently. If on the contrary you think this is an improvement, I can look into the other sources of piracy. |
Codecov ReportBase: 62.67% // Head: 75.12% // Increases project coverage by
Additional details and impacted files@@ Coverage Diff @@
## master #190 +/- ##
===========================================
+ Coverage 62.67% 75.12% +12.45%
===========================================
Files 10 10
Lines 584 599 +15
===========================================
+ Hits 366 450 +84
+ Misses 218 149 -69
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My understanding is that type piracy will affect invalidation and thus hurt future using XXX
time. Will this still be true for Julia 1.9?
I like this change -- registering error hints by type piracy works but isn't a good choice.
If anything, I think it's a better idea to improve the error hint mechanism -- make it easier to add hooked information for developers. Although I have no idea what could it be.
Yes and no. For MethodInstances that are well-inferred, the only way piracy invalidates is if you overwrite a method with the same type-signature (you're directly replacing a call in the dispatch chain). For MethodInstances that have poorly-inferred calls (e.g., I don't know of any packages that define |
In my view this is not a breaking change (it only changes the kind of error thrown), so does not require a breaking release. |
Aqua was complaining about piracy. This eliminates some of the
piracy it was worried about, and the rest we temporarily (?)
circumvent by disabling Aqua's piracy test.
This package now only loads AbstractFFTs on Julia versions
that lack
Base.Experimental.register_error_hint
(Julia 1.4and earlier).