Skip to content

Adjust to upcoming Base Vararg change - #843

Merged
andyferris merged 1 commit into
JuliaArrays:masterfrom
Keno:kf/varargchange
Oct 28, 2020
Merged

Adjust to upcoming Base Vararg change#843
andyferris merged 1 commit into
JuliaArrays:masterfrom
Keno:kf/varargchange

Conversation

@Keno

@Keno Keno commented Oct 27, 2020

Copy link
Copy Markdown
Contributor

There's two changes here:

  1. Drop unnecessary <: in Vararg. Tuples are already covariant and this form will be deprecated.
  2. Use Base.unwrapva, rather than open coding the equivalent, since the implementation will change.

With this change, everything should work with or without JuliaLang/julia#38136.

There's two changes here:
1. Drop unnecessary `<:` in Vararg. Tuples are already covariant and this form will be deprecated.
2. Use Base.unwrapva, rather than open coding the equivalent, since the implementation will change.
@Keno

Keno commented Oct 27, 2020

Copy link
Copy Markdown
Contributor Author

@mateuszbaran @c42f @andyferris If this looks good, could I get it merged/tagged? I'd like to run PkgEval on my Base change, but of course a lot of packages depend on StaticArrays, so won't get tested without this.

@mateuszbaran

Copy link
Copy Markdown
Collaborator

I think it looks fine and can be merged. Tagging is a bit of an issue though because master currently has a few slightly breaking changes and we may need to tag a breaking release.

@fredrikekre

fredrikekre commented Oct 27, 2020

Copy link
Copy Markdown
Member

Tagging is a bit of an issue though because master currently has a few slightly breaking changes and we may need to tag a breaking release.

That means a PkgEval won't be possible soon anyway since it will take time for all the ecosystem to upgrade... What are the changes? Are they truly BREAKING or are they "technically breaking"? This will be extremely disruptive.

@KristofferC

Copy link
Copy Markdown
Contributor

Perhaps try running a PkgEval with the StaticArrays master vs the latest StaticArray release and see what the results are.

@Keno

Keno commented Oct 27, 2020

Copy link
Copy Markdown
Contributor Author

Hmm? 0.12.5 was tagged from master two days ago and is the latest commit. Am I missing something?

@Keno

Keno commented Oct 27, 2020

Copy link
Copy Markdown
Contributor Author

Oh, I see. It wasn't merged.

@Keno

Keno commented Oct 27, 2020

Copy link
Copy Markdown
Contributor Author

I'll leave it to the maintainers, but if the next release would be a while, it'd be great if we could tag an 0.12.5 that's just 0.12.4 + this commit, such that the Base PR can move forward.

@mateuszbaran

Copy link
Copy Markdown
Collaborator

That means a PkgEval won't be possible soon anyway since it will take time for all the ecosystem to upgrade... What are the changes? Are they truly BREAKING or are they "technically breaking"? This will be extremely disruptive.

Nothing truly major. I think the biggest change is #783 that slightly changed how SizedArray works (including changing what view returns for MArray and SizedArray and what parent returns for SizedArray). #819 may be a small surprise for people who use eachindex on static arrays. #814 may cause some performance regressions on Julia <1.5 because it was tuned for the new memory layout.

Given how few packages actually use SizedArray according to JuliaHub it would most likely be less disruptive to tag master as a non-breaking release. From a quick look Altro.jl. RobotDynamics.jl and TrajectoryOptimization.jl may need some patching, as well as one package maintained by me (HybridArrays.jl but I already have a patch).

@andyferris

Copy link
Copy Markdown
Member

@c42f what if we release 0.13.0 under the premise of it being a “release candidate” for 1.0.0?

@Keno

Keno commented Oct 27, 2020

Copy link
Copy Markdown
Contributor Author

If the next release won't be a patch release, then I'd still like to request a 0.12.5 as 0.12.4 + this patch, so existing tagged packages with compat upper bounds on 0.12 will pick up this change.

@andyferris

andyferris commented Oct 28, 2020

Copy link
Copy Markdown
Member

I see. Sounds like we'll have to do something, then. It's not to hard too backport a few bugfixes.

I'll leave it to the maintainers

Aww, Keno, I kinda thought you were a maintainer ;)

@andyferris
andyferris merged commit e5abc2f into JuliaArrays:master Oct 28, 2020
@Keno

Keno commented Oct 28, 2020

Copy link
Copy Markdown
Contributor Author

I'm pretty sure I used to have access to this repo, but that got dropped in one of the many rounds of access reshuffle ;). That's ok though. My evil plan as always been to make this package unnecessary one day, so I'll just wait until then.

@andyferris

Copy link
Copy Markdown
Member

OK I just re-invited you. I kinda think of you as our Core maintainer :)

I also created a release-0.12 branch, with just a couple of very conservative cherry-picks.

My evil plan as always been to make this package unnecessary one day, so I'll just wait until then.

My hope and dream, too.

@andyferris

Copy link
Copy Markdown
Member

This seems to be pointing to the new branch now. I suspect this will be automatic. JuliaRegistries/General#23652

@Keno

Keno commented Oct 28, 2020

Copy link
Copy Markdown
Contributor Author

Thanks @andyferris

@c42f

c42f commented Oct 28, 2020

Copy link
Copy Markdown
Member

I also created a release-0.12 branch, with just a couple of very conservative cherry-picks.

Perfect, you beat me to it.

My evil plan as always been to make this package unnecessary one day, so I'll just wait until then.

My hope and dream, too.

Haha, yes indeed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants