meggart / DiskArrays.jl

Other
72 stars 13 forks source link

@assume_effects :removable breaks compilation on Julia 1.9. #159

Closed lupemba closed 5 months ago

lupemba commented 5 months ago

The new assume_effects added in DiskArrays 0.4.0 completely breaks the package for Julia 1.9.

using DiskArrays throws the following error.

[ Info: Precompiling DiskArrays [3c3547ce-8d99-4f5e-a174-61eb10b00ae3]
ERROR: LoadError: ArgumentError: @assume_effects :removable not supported        
Stacktrace:
  [1] var"@assume_effects"(__source__::LineNumberNode, __module__::Module, args::Vararg{Any})
    @ Base .\expr.jl:676
  [2] #macroexpand#63
    @ .\expr.jl:119 [inlined]
  [3] macroexpand
    @ .\expr.jl:117 [inlined]
  [4] docm(source::LineNumberNode, mod::Module, meta::Any, ex::Any, define::Bool)
    @ Base.Docs .\docs\Docs.jl:539
  [5] docm(source::LineNumberNode, mod::Module, meta::Any, ex::Any)
    @ Base.Docs .\docs\Docs.jl:539
  [6] var"@doc"(::LineNumberNode, ::Module, ::String, ::Vararg{Any})
    @ Core .\boot.jl:539
  [7] include(mod::Module, _path::String)
    @ Base .\Base.jl:457
  [8] include(x::String)
    @ DiskArrays C:\Users\Kok\.julia\packages\DiskArrays\LD5Gn\src\DiskArrays.jl:1
  [9] top-level scope
    @ C:\Users\Kok\.julia\packages\DiskArrays\LD5Gn\src\DiskArrays.jl:15
 [10] include
    @ .\Base.jl:457 [inlined]
 [11] 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, UInt128}}, source::String)
    @ Base .\loading.jl:2049
 [12] top-level scope
    @ stdin:3
in expression starting at C:\Users\Kok\.julia\packages\DiskArrays\LD5Gn\src\diskarray.jl:32
in expression starting at C:\Users\Kok\.julia\packages\DiskArrays\LD5Gn\src\diskarray.jl:32
in expression starting at C:\Users\Kok\.julia\packages\DiskArrays\LD5Gn\src\DiskArrays.jl:1
in expression starting at stdin:3
rafaqz commented 5 months ago

Good catch we should stick to 1.9 effects and test on 1.9

meggart commented 5 months ago

Do you think supporting julia 1.9 is essential? Alternatively we could just bump the julia compat to 1.10.

lupemba commented 5 months ago

Do you think supporting julia 1.9 is essential? Alternatively we could just bump the julia compat to 1.10.

I don't think that supporting 1.9 is essential but it is definitely a nice to have. Julia 1.10 have just been out for 3 months so support for older version is definitely wanted.

Supporting older version is nice as long it do not limit development of new features or causes to much extra work.

rafaqz commented 5 months ago

We would be essentially forcing the whole geo ecosystem to drop 1.9.

Can we use a different effect that 1.9 supports, or do we specifically need :removable?

lupemba commented 5 months ago

This is solved with https://github.com/meggart/DiskArrays.jl/pull/161 I have tested the new release and it compiles fine on Julia 1.9