-
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
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
Change in macro hygiene on 0.6? #19587
Comments
I see. So it was the case that 0.5 was relying on incorrect behavior? |
Yes, it's a 3yrs+ old bug that a surprisingly number of packages are relying on. |
Got it. Thanks! I'll see if I can put together a PR to fix PyCall. |
rdeits
added a commit
to rdeits/PyCall.jl
that referenced
this issue
Dec 13, 2016
Macros that attempt to interpolate expressions should do so with ```julia $(esc(ex)) ``` rather than ```julia $ex ``` This worked on 0.5 (though it apparently shouldn't have), but is now broken on 0.6. Fixes JuliaPy#332 See the discussion at JuliaLang/julia#19587
...and now I notice that @yuyichao already did that. Oh well. |
evetion
added a commit
to evetion/ArchGDAL.jl
that referenced
this issue
Sep 30, 2017
yeesian
pushed a commit
to yeesian/ArchGDAL.jl
that referenced
this issue
Oct 1, 2017
* Fix deprecations * Drop support for 0.5 * Allow fails on Julia nightly and finish fast. * Hardcoded 0.6 release for travis * Fixed several macros on 0.6, see JuliaLang/julia#19587 * Fixed Array(T, x) warnings. * Added color for travis julia output. * Replaced pointer_to_array, included projection tests. * Forgot to uncomment temp dir creation.
yeesian
pushed a commit
to yeesian/ArchGDAL.jl
that referenced
this issue
Mar 27, 2018
* Fix deprecations * Drop support for 0.5 * Allow fails on Julia nightly and finish fast. * Hardcoded 0.6 release for travis * Fixed several macros on 0.6, see JuliaLang/julia#19587 * Fixed Array(T, x) warnings. * Added color for travis julia output. * Replaced pointer_to_array, included projection tests. * Forgot to uncomment temp dir creation. Former-commit-id: 15d963b
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I'm trying to understand why PyCall.jl is currently broken on Julia master: JuliaPy/PyCall.jl#332
The issue seems to be a change in the macro hygiene behavior between 0.5 and 0.6. As an example, I'll use the basic
@assert
macro from the metaprogramming docsOn julia v0.5 this works fine. On master, I get:
The fix is to replace
$ex
with$(esc(ex))
. But then it's not clear why it should have worked on 0.5 but not on master. Is this a case of 0.5 being too permissive with something that was technically incorrect?versioninfo()
for my Julia master is:The text was updated successfully, but these errors were encountered: