-
Notifications
You must be signed in to change notification settings - Fork 221
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
Upper bound Reexport.jl to fix compilation issue #1686
Conversation
Another fix would be to rename |
But isn't this a bug on the end of Reexport.jl though? In the sense that this is allowed by the language. |
Yes, I guess so. I assume it would be sufficient to interpolate |
Co-authored-by: David Widmann <devmotion@users.noreply.github.com>
In which expression? |
In the following way: simonster/Reexport.jl#35 |
Maybe we can skip this PR if the PR to Reexport is merged and released without too much delay. The problem with such bounds in Turing in general is that it is not clear that it will help users without manual intervention. If they just |
Ah gotcha!:)
But even then we still need to ensure that we're not compat with 1.2.1, right? So yes but we still need a PR to fix bounds.
Sure, but the big thing here is "might". Most will have the same bound for Reexport as we currently have, i.e. |
Pull Request Test Coverage Report for Build 1162456986
💛 - Coveralls |
Codecov Report
@@ Coverage Diff @@
## master #1686 +/- ##
=======================================
Coverage 80.07% 80.07%
=======================================
Files 23 23
Lines 1405 1405
=======================================
Hits 1125 1125
Misses 280 280 Continue to review full report at Codecov.
|
The main point is: this PR does not help if users/packages/etc. don't end up with the new Turing version. And if they already use Reexport@1.2.1 since e.g. they updated their environment, then it is not guaranteed that they end up with the new version since Reexport would have to be downgraded. The Reexport bugfix release would solve these issues since the problem would be solved by just running The only way to ensure that Reexport@1.2.1 never shows up in any installations is to change the compatibilities in the general registry. Even this PR won't guarantee that some users don't end up with Reexport@1.2.1 since older versions of Turing are compatible with it (at least officially). |
Hmm, how would the following end up with you did Turing = "0.17"
Reexport = "1" Surely |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't know, Pkg and its decisions are still a mystery to me 😄 I just spent almost an hour trying to debug a Pkg weirdness and I still don't know what's going on. My gut feeling is that upper bounding package versions in new releases while they are unbounded in previous ones is no golden bullet. For instance, people opened issues all the time about some compilation error that was fixed in recent versions but somehow they all ended up with outdated versions of Turing and actually had to force the update to a more recent one. In the end I just fixed all compatibility bounds in the registry and it seems this worked 😄
That being said, I am not generally opposed to this PR but I think the better solution would be a bugfix release of Reexport 🙂
Aaah, okay 😅 Yeah I kind of just assumed it would do the above. And the isuse you're talking about sounds awful.. But I'll merge for now since it's holding up PRs in other packages 👍 |
FYI, Reexport v1.2.2 has been released which fixes the issue with Turing, and v1.2.1 has been yanked from General. Since Turing requires Julia 1.3, it should be safe to revert to a compat entry of |
Thanks, I already opened a PR 🙂 |
simonster/Reexport.jl#33 (comment)