-
-
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
Use of Base.MainInclude.eval
no longer works on 1.11
#54057
Comments
The documentation printing is a bit confusing there. This documents the |
Could 1.11 alias Since it is exported and documented I don’t think it’s good to remove it without any warning. Just having a simple alias for a couple versions is a good compromise — this is what Python does when they make a breaking change within 3.x. For example parts of the Python stdlib It’s very helpful for developers so we have some notice to adapt. |
Deprecation warnings aren't active currently, so this would be the only thing with one. This the |
Okay thanks for the response.
Just to mention — I really don’t think this is a good way to make decisions on breaking the public API. If someone is using Julia internally at their company, with their own internal registry, their code will not be publicly indexed. Who knows if someone has been making extensive use of some tiny part of the API that they assumed was public and stable, and propagated across their internal ecosystem. It’s just not a good policy to be inconsistent on this stuff. I think having a consistent rule is the only option, like if the public API changes (even if it was mistakenly listed as part of the public API), then an alias should be created with a warning for the next few minor releases or something. Anyways this doesn’t affect my code as I’ve already fixed it, but just leaving my thoughts for posterity as I really want Julia to get more traction in industry. |
Again, it's not part of the public API. I understand why it may look that way, but the public API is |
Thanks. (Just to be clear I’m playing Devil’s advocate here a bit; my needs have been met!)
How could we know this though, without being a core dev? I think even if it’s listed by mistake as part of the public API — as it has been for several years — it should be treated as such.
Again, there’s no way to know the actual usage in the ecosystem. All we have is the open-source viewpoint. This might be the majority of Julia code now, but as a convention, I don’t think it’s good to ignore closed-source projects in any pH test of potentially disruptive decisions. |
There is the function
Base.MainInclude.eval
which is publicly documented here: https://docs.julialang.org/en/v1.10/base/base/#Base.MainInclude.evalHowever on 1.11 it seems this function no longer shows up in the docs, and does not seem to work:
whereas on 1.10:
This is breaking some CI in SymbolicRegression.jl (used here). Was this function removed by mistake? Maybe I am misinterpreting what part of the API is stable?
I see this PR from @JeffBezanson which might be relevant: #51878
Thanks,
Miles
The text was updated successfully, but these errors were encountered: