-
Notifications
You must be signed in to change notification settings - Fork 39
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
Type piracy? #25
Comments
I was sure @ararslan removed that ages ago. We should just delete it. |
If I did remove it, it was probably before OrderedCollections was split out from DataStructures, or something like that. I don't really remember but I agree this is bad. Since this has the potential to break downstream code and OrderedCollections has declared its version to be > 1.0, I think it should be a major release. |
It might have happened during the period where the code existed in both places, |
Seems like a good idea to remove it. It was there when I split this out. Maybe there was an unmerged PR or something? |
Should not have been closed. |
This came up again. The deprecation has been in place for about 16 months, although it only made it into a release 9 months ago. That seems more than long enough. Shall we delete it and release OrderedCollections v2? Or is the plan to reintegrate into DataStructures? |
While there is a full and concrete plan for exactly how to get DataStructures up to 1.0 I don't have time to work on it. But also I am in no rush to remove this type-piracy. |
It is arguably also introducing a bug:
|
Following up from #110 Conclusion is we remove it either:
Which ever comes first. |
This is getting worse with 1.10 now out and is actually a critical error in some advanced sysimage use cases What would it take to push for a 2.0 release? Are there any other planned 2.0 changes? |
Data point: even though I commented above, I forgot about this issue and now I notice that I have code which relies on this observable behaviour. |
We now have over 350 direct dependencies according to https://juliahub.com/ui/Packages/General/OrderedCollections so I think waiting just made this worse, and will keep making it worse. I have now created a milestone for https://github.com/JuliaCollections/OrderedCollections.jl/milestone/1 and will open a PR working towards 2.0.0. I would restrict that release to things like removing this particular type piracy and perhaps removing a few other deprecated things. So that packages ideally can just list both v1 & v2 as compatible in their But first there should be at least one more 1.x release with recent improvements. |
IMO a breaking change makes sense and I agree waiting more just makes it worse. I think some of the pain can be reduced by having very clear release notes with suggested upgrade path (e.g. forward compatibility + use both versions in compat as you suggested) and maybe also a discourse post announcing the change. I think uncertainty and time spent seeking information is a big chunk of the upgrade cost. |
We're having an issue using Julia from the Juno REPL (which imports
OrderedCollections
), in whichsort()
of aDict
returns anOrderedDict
even though the user didn't importOrderedCollections
. The unexpected behavior is described here:https://discourse.julialang.org/t/juno-repl-behaves-differently-than-terminal-repl/29469/2
The culprit appears to be :
Thanks.
The text was updated successfully, but these errors were encountered: