-
Notifications
You must be signed in to change notification settings - Fork 19
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
Make Dates and Test weak dependencies #168
Conversation
This PR indeed doesn't seem to cause issues within Accessors tests. Of course, cannot be sure about more complicated environments, given the stdlib weakdep fragility. |
That's good, it's supposed to be a fix 🙂
I can't say much without knowing the packages and their versions that were used when you ran |
Most recent versions of everything, started from scratch.
Sure, it's highly likely for some test dependency to depend on LinearAlgebra / Dates (how would you test these extensions otherwise?). And 100% some test dep depends on Test :)
Having an extra dependency is not a bug, so removing it cannot be a "fix". It's strictly an optimization, and a pretty minor one for stdlibs. |
Currently, Accessors breaks/holds back large parts of the ecosystem and this is resolved by the PR. I'd consider that a fix. |
Having a dependency on a registered package, and even more so on an stdlib, is not "breaking" anything. Packages are created for others to depend on them :) |
Basically every package tries to move |
That's an ... unusual understanding of the word "bug" :) Anyway, let's merge and see how it goes. |
LinearAlgebra is kept as a direct dependency until JuliaObjects/ConstructionBase.jl#95 is released: Without that PR, LinearAlgebra is a transitive dependency of Accessors and hence a LinearAlgebra extension of Accessors is not useful (and will even lead to warnings).
Edit: I think even if JuliaObjects/ConstructionBase.jl#95 is released before this PR is merged it would be beneficial to use a two step procedure and only make LinearAlgebra a weak dependency in a separate release: It requires to bump the ConstructionBase compat entry but due to the change in ConstructionBase 1.5.7 quite a few downstream packages and users might not be able to easily upgrade to a newer ConstructionBase version. By splitting the switch to weak dependencies over two releases, these users could at least benefit from the change in this PR (which does not require a new version of ConstructionBase).