bionanoimaging / FourierTools.jl

Tools for working with Fourier space.
https://bionanoimaging.github.io/FourierTools.jl/stable/
MIT License
56 stars 6 forks source link

Not precompiling on Julia 1.6.5 #20

Closed NicholasWMRitchie closed 2 years ago

NicholasWMRitchie commented 2 years ago

[b18b359b] FourierTools v0.3.2 doesn't seem to precompile on 1.6.5

julia> using FourierTools
[ Info: Precompiling FourierTools [b18b359b-aebc-45ac-a139-9c0ccbb2871e]
ERROR: LoadError: LoadError: syntax: space before "(" not allowed in "| (" at C:\Users\nritchie\.julia\packages\FourierTools\8lae9\src\nfft_nd.jl:134
Stacktrace:
  [1] top-level scope
    @ C:\Users\nritchie\.julia\packages\FourierTools\8lae9\src\nfft_nd.jl:134
  [2] include(mod::Module, _path::String)
    @ Base .\Base.jl:384
  [3] include(x::String)
    @ FourierTools C:\Users\nritchie\.julia\packages\FourierTools\8lae9\src\FourierTools.jl:1
  [4] top-level scope
    @ C:\Users\nritchie\.julia\packages\FourierTools\8lae9\src\FourierTools.jl:13
  [5] include
    @ .\Base.jl:384 [inlined]
  [6] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::Nothing)
    @ Base .\loading.jl:1235
  [7] top-level scope
    @ none:1
  [8] eval
    @ .\boot.jl:360 [inlined]
  [9] eval(x::Expr)
    @ Base.MainInclude .\client.jl:446
 [10] top-level scope
    @ none:1
in expression starting at C:\Users\nritchie\.julia\packages\FourierTools\8lae9\src\nfft_nd.jl:134
in expression starting at C:\Users\nritchie\.julia\packages\FourierTools\8lae9\src\FourierTools.jl:1
ERROR: Failed to precompile FourierTools [b18b359b-aebc-45ac-a139-9c0ccbb2871e] to C:\Users\nritchie\.julia\compiled\v1.6\FourierTools\jl_CCCE.tmp.
Stacktrace:
 [1] error(s::String)
   @ Base .\error.jl:33
 [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::Base.TTY, internal_stdout::Base.TTY, ignore_loaded_modules::Bool)
   @ Base .\loading.jl:1385
 [3] compilecache(pkg::Base.PkgId, path::String)
   @ Base .\loading.jl:1329
 [4] _require(pkg::Base.PkgId)
   @ Base .\loading.jl:1043
 [5] require(uuidkey::Base.PkgId)
   @ Base .\loading.jl:936
 [6] require(into::Module, mod::Symbol)
   @ Base .\loading.jl:923
roflmaostc commented 2 years ago

I've seen this before in some documentation fails...

That's kind of odd, since it used to work in the past with 1.6.

I'll try to tackle that tomorrow. Thanks for reporting!

roflmaostc commented 2 years ago

In 1.6.5:

julia> (1 .< 2) .|| (2 .> 2)
ERROR: syntax: space before "(" not allowed in "| (" at REPL[31]:1
Stacktrace:
 [1] top-level scope
   @ none:1

julia> (1 .< 2) .||(2 .> 2)
true

In Julia 1.7.3 everything works:

julia> (1 .< 2) .|| (2 .> 2)
true

julia> (1 .< 2) .||(2 .> 2)
true

As discussed on Slack, broadcasting with || is a new 1.7 feature. Therefore, I changed it to a map statement. Fixed with 6efb2c1

roflmaostc commented 2 years ago

I initiated the release process of Fourier Tools 0.3.3. Should be available soon :smile:

NicholasWMRitchie commented 2 years ago

Thanks! Works great!