-
Notifications
You must be signed in to change notification settings - Fork 40
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
Disable @inbounds, it's too dangerous for *this* package #283
Comments
This seem like a gross over reaction to me based on some blog post that found a package with 8 year old code where |
Well, not to me if it restores confidence in the Julia ecosystem. It's not just "a package" that's currently (still) broken. @StefanKarpinski proposed disabling My original idea was for Julialang, and then as followup, a possible command-line switch to restore current behavior. If done in the package, then such a switch less likely to happen. https://www.reddit.com/r/Julia/duplicates/uqwd2h/why_i_no_longer_recommend_julia/ got even cross-posted to r/worldnews while later "removed by the moderators" and r/programming and more. I'm trying to limit the (in part, mostly misunderstood) bad effects. |
There's no need to overreact like this -- Some (broken) packages were written back when custom axes didn't exist -- they still work very well for their originally designed scope, they just don't work well with new stuff. If we want help, we can put up PR to fix things, to remove or correct unsafe This package doesn't handle |
If you wanna help, maybe you can help review #281 and leave some comments. |
FYI (the more radical proposal): JuliaLang/julia#45342 (comment) |
Would it make sense to instead create a new |
This will have severe performance implications, since |
Should this be reopened, and done? Also it's unclear if I still believe it's (more) dangerous for non-1-based arrays. With this change all code (using this package) would work, or fail and let you know. All arrays (using this package) can opt into OffsetArrays.no_offset_view and do I understand correctly then that's a 1-based view, that would be treated as an 1-based array, and then As documented in this package, some of Julia expects 1-based, and doesn't work otherwise, at least (only parts of?) LinearAlgebra. Does that also apply to Base, would some of it fail with |
Code that expects 1-based indexing should be protected with My understanding is that |
Yes, code should, and it likely does, but while I don't have specific code in mind I have generic code (in package) in mind. A lot of them might not think this through. So each and every one such might break composability in the ecosystem, yes, until found and fixed (but do we want to be unsafe until then, and when can we be sure it is fixed and will not get broken again?). If it were possible to just disable for packages, that would be great, but until then I think better to just do it globally. And well if would make |
Explained at Julialang (where the issue was closed):
JuliaLang/julia#45353 (comment)
The text was updated successfully, but these errors were encountered: