-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Expunging @ngenerate and @nsplat #9098
Conversation
What's this "trailing whitespace found in file" and how do I easily get rid of it? |
pwned by #8914 I don't know what your favourite editor is but I'm sure googling 'remove trailing whitespace ' should do the trick. |
2d039c6
to
3477f04
Compare
Thanks. Just did a |
That command should be a suggestion for the whitespace fail. |
This commit tackles all files except multidimensional.jl
3477f04
to
def80f7
Compare
It seems the real obstacle to further progress on this PR was recursive staged functions (#8853), which was fixed by the merger of #9921. I've gone ahead and finished the removal of |
Looks great. As soon as this gets merged, I will revisit the problem of implementing a more general/more efficient version of |
Nice net deletion! |
Thanks. I'm traveling over the next few days, so I'll hold off on merging this until I can deal with any problems that arise. |
Expunging @ngenerate and @nsplat
This broke an impressive amount of packages (sorry for delayed reaction), but I think it comes down to StatsBase.jl - JuliaStats/StatsBase.jl#107 |
I'm not remotely surprised. Looks like @simonster has fixed the problem in StatsBase, and as long as a new version has been tagged things should clear out tomorrow. Still may be some individual ones that need fixing, like JuliaMath/Interpolations.jl#21 (comment) |
Certainly one of the easier fixes! Its nice to see things breaking again :D |
This also breaks DataArrays even though it's using Compat. I haven't dug into why yet. I see some ambiguity warnings that weren't there before:
(edit: this is just because the stagedfunction has a more general method signature and is easy to fix) and then this throws an error (with a somewhat bogus-looking backtrace):
|
This one's for you, @JeffBezanson. Happy early thesis-defense.
Now that we have
stagedfunction
s/@generated function
s, there is no need for@ngenerate
. (@nsplat
still might have a purpose, but without@ngenerate
I think we might as well ditch both at once. You can fake de-splatting withstagedfunction
s.) This is a WIP at getting rid of them. Currently if I try to convert those last few BitArray methods, I get failures: building hangs atprimes.jl
, the first file aftermultidimensional.jl
. Interestingly, they all involve@ncall
, leading me to suspect a type-inference problem. #8504 is a likely suspect.This is broken up in a series of small steps because it was basically murder to debug this---these functions are core infrastructure, and with multiple breakages it's hard to figure out what's happening. Given that we don't fully trust stagedfunctions yet (see #8501 (comment)), I also thought it would be good to ensure that
git bisect
would be as informative as possible. But if people object, I can (reluctantly) squash. Just don't ask me to bisect any problems later 😄.See also JuliaLang/Compat.jl#19, which hopefully will provide backward-compatibility. I know this wasn't an exported interface, but I still felt guilty about just yanking it. I'll also write up some docs about how to convert functions.