abstract type AbstractGrid{T, F, V} <: AbstractArray{Union{T,Missing},2} end
Why the Union{T,Missing}
impedes the compilation here?
I always get a UndefRefError: access to undefined reference
.
EDIT: Seems to be related to Revise @tim.holy
abstract type AbstractGrid{T, F, V} <: AbstractArray{Union{T,Missing},2} end
Why the Union{T,Missing}
impedes the compilation here?
I always get a UndefRefError: access to undefined reference
.
EDIT: Seems to be related to Revise @tim.holy
julia> using Revise
julia> abstract type AbstractGrid{T, F, V} <: AbstractArray{Union{T,Missing},2} end
# no error
?
use
includet("mod.jl")
where mod.jl contains:
module SomeModule
abstract type AbstractType <: AbstractArray{Union{Int,Missing},2} end
end
results in that error:
julia> includet("mod.jl")
UndefRefError: access to undefined reference
Stacktrace:
[1] getindex at .\array.jl:744 [inlined]
[2] lookup_var at C:\Users\Matthis\.julia\packages\JuliaInterpreter\ATirK\src\interpret.jl:4 [inlined]
[3] lookup_or_eval(::Any, ::JuliaInterpreter.Frame, ::Any) at C:\Users\Matthis\.julia\packages\JuliaInterpreter\ATirK\src\interpret.jl:77
[4] lookup_or_eval(::Any, ::JuliaInterpreter.Frame, ::Any) at C:\Users\Matthis\.julia\packages\JuliaInterpreter\ATirK\src\interpret.jl:87
[5] evaluate_abstracttype(::Any, ::JuliaInterpreter.Frame, ::Expr) at C:\Users\Matthis\.julia\packages\JuliaInterpreter\ATirK\src\interpret.jl:318
[6] step_expr!(::Any, ::JuliaInterpreter.Frame, ::Any, ::Bool) at C:\Users\Matthis\.julia\packages\JuliaInterpreter\ATirK\src\interpret.jl:467
[7] #methods_by_execution!#14(::Bool, ::Bool, ::typeof(Revise.methods_by_execution!), ::Any, ::Revise.CodeTrackingMethodInfo, ::Dict{Module,Array{Expr,1}}, ::JuliaInterpreter.Frame) at C:\Users\Matthis\.julia\packages\Revise\cbX7Q\src\lowered.jl:70
[8] #methods_by_execution! at .\none:0 [inlined]
[9] #methods_by_execution!#9(::Base.Iterators.Pairs{Symbol,Bool,Tuple{Symbol},NamedTuple{(:define,),Tuple{Bool}}}, ::typeof(Revise.methods_by_execution!), ::Any, ::Revise.CodeTrackingMethodInfo, ::Dict{Module,Array{Expr,1}}, ::Module, ::Expr) at C:\Users\Matthis\.julia\packages\Revise\cbX7Q\src\lowered.jl:49
[10] #methods_by_execution! at .\none:0 [inlined]
[11] #eval_with_signatures#63(::Bool, ::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::typeof(Revise.eval_with_signatures), ::Module, ::Expr) at C:\Users\Matthis\.julia\packages\Revise\cbX7Q\src\Revise.jl:351
[12] eval_with_signatures at C:\Users\Matthis\.julia\packages\Revise\cbX7Q\src\Revise.jl:349 [inlined]
[13] (::Revise.var"#61#62"{OrderedCollections.OrderedDict{Revise.RelocatableExpr,Union{Nothing, Array{Any,1}}},OrderedCollections.OrderedDict{Revise.RelocatableExpr,Union{Nothing, Array{Any,1}}},Module})() at C:\Users\Matthis\.julia\packages\Revise\cbX7Q\src\Revise.jl:285
[14] with_logstate(::Revise.var"#61#62"{OrderedCollections.OrderedDict{Revise.RelocatableExpr,Union{Nothing, Array{Any,1}}},OrderedCollections.OrderedDict{Revise.RelocatableExpr,Union{Nothing, Array{Any,1}}},Module}, ::Base.CoreLogging.LogState) at .\logging.jl:395
[15] with_logger at .\logging.jl:491 [inlined]
[16] eval_new! at C:\Users\Matthis\.julia\packages\Revise\cbX7Q\src\Revise.jl:275 [inlined]
[17] eval_new!(::OrderedCollections.OrderedDict{Module,OrderedCollections.OrderedDict{Revise.RelocatableExpr,Union{Nothing, Array{Any,1}}}}, ::OrderedCollections.OrderedDict{Module,OrderedCollections.OrderedDict{Revise.RelocatableExpr,Union{Nothing, Array{Any,1}}}}) at C:\Users\Matthis\.julia\packages\Revise\cbX7Q\src\Revise.jl:327
[18] revise() at C:\Users\Matthis\.julia\packages\Revise\cbX7Q\src\Revise.jl:543
[19] revise at C:\Users\Matthis\.julia\packages\Revise\cbX7Q\src\Revise.jl:567 [inlined]
[20] run_backend(::REPL.REPLBackend) at C:\Users\Matthis\.julia\packages\Revise\cbX7Q\src\Revise.jl:970
[21] (::Revise.var"#79#81"{REPL.REPLBackend})() at .\task.jl:333
while evaluating
begin
#= C:\Users\Matthis\.julia\dev\GridEnhancing\src\mod.jl:1 =#
#= C:\Users\Matthis\.julia\dev\GridEnhancing\src\mod.jl:1 =#
#= C:\Users\Matthis\.julia\dev\GridEnhancing\src\mod.jl:2 =#
abstract type AbstractType <: AbstractArray{Union{Int, Missing}, 2} end
end
in module Main.SomeModule
┌ Error: evaluation error
│ mod = Main.SomeModule
│ ex =
│ quote
│ #= C:\Users\Matthis\.julia\dev\GridEnhancing\src\mod.jl:1 =#
│ #= C:\Users\Matthis\.julia\dev\GridEnhancing\src\mod.jl:1 =#
│ #= C:\Users\Matthis\.julia\dev\GridEnhancing\src\mod.jl:2 =#
│ abstract type AbstractType <: AbstractArray{Union{Int, Missing}, 2} end
│ end
│ exception =
│ UndefRefError: access to undefined reference
│ Stacktrace:
│ [1] getindex at .\array.jl:744 [inlined]
│ [2] lookup_var at C:\Users\Matthis\.julia\packages\JuliaInterpreter\ATirK\src\interpret.jl:4 [inlined]
│ [3] lookup_or_eval(::Any, ::JuliaInterpreter.Frame, ::Any) at C:\Users\Matthis\.julia\packages\JuliaInterpreter\ATirK\src\interpret.jl:77
│ [4] lookup_or_eval(::Any, ::JuliaInterpreter.Frame, ::Any) at C:\Users\Matthis\.julia\packages\JuliaInterpreter\ATirK\src\interpret.jl:87
│ [5] evaluate_abstracttype(::Any, ::JuliaInterpreter.Frame, ::Expr) at C:\Users\Matthis\.julia\packages\JuliaInterpreter\ATirK\src\interpret.jl:318
│ [6] step_expr!(::Any, ::JuliaInterpreter.Frame, ::Any, ::Bool) at C:\Users\Matthis\.julia\packages\JuliaInterpreter\ATirK\src\interpret.jl:467
│ [7] #methods_by_execution!#14(::Bool, ::Bool, ::typeof(Revise.methods_by_execution!), ::Any, ::Revise.CodeTrackingMethodInfo, ::Dict{Module,Array{Expr,1}}, ::JuliaInterpreter.Frame) at C:\Users\Matthis\.julia\packages\Revise\cbX7Q\src\lowered.jl:70
│ [8] #methods_by_execution! at C:\Users\Matthis\.julia\packages\Revise\cbX7Q\src\lowered.jl:0 [inlined]
│ [9] #methods_by_execution!#9(::Base.Iterators.Pairs{Symbol,Bool,Tuple{Symbol,Symbol},NamedTuple{(:define, :skip_include),Tuple{Bool,Bool}}}, ::typeof(Revise.methods_by_execution!), ::Any, ::Revise.CodeTrackingMethodInfo, ::Dict{Module,Array{Expr,1}}, ::Module, ::Expr) at C:\Users\Matthis\.julia\packages\Revise\cbX7Q\src\lowered.jl:49
│ [10] #methods_by_execution! at .\none:0 [inlined]
│ [11] #eval_with_signatures#63(::Bool, ::Base.Iterators.Pairs{Symbol,Bool,Tuple{Symbol},NamedTuple{(:skip_include,),Tuple{Bool}}}, ::typeof(Revise.eval_with_signatures), ::Module, ::Expr) at C:\Users\Matthis\.julia\packages\Revise\cbX7Q\src\Revise.jl:351
│ [12] #eval_with_signatures at .\none:0 [inlined]
│ [13] #instantiate_sigs!#64(::Bool, ::Base.Iterators.Pairs{Symbol,Bool,Tuple{Symbol},NamedTuple{(:skip_include,),Tuple{Bool}}}, ::typeof(Revise.instantiate_sigs!), ::OrderedCollections.OrderedDict{Module,OrderedCollections.OrderedDict{Revise.RelocatableExpr,Union{Nothing, Array{Any,1}}}}) at C:\Users\Matthis\.julia\packages\Revise\cbX7Q\src\Revise.jl:359
│ [14] #instantiate_sigs! at .\none:0 [inlined]
│ [15] #track#69(::Bool, ::Bool, ::typeof(Revise.track), ::Module, ::String) at C:\Users\Matthis\.julia\packages\Revise\cbX7Q\src\Revise.jl:614
│ [16] #track at .\none:0 [inlined]
│ [17] includet(::Module, ::String) at C:\Users\Matthis\.julia\packages\Revise\cbX7Q\src\Revise.jl:662
│ [18] includet(::String) at C:\Users\Matthis\.julia\packages\Revise\cbX7Q\src\Revise.jl:672
│ [19] top-level scope at REPL[3]:1
│ [20] eval(::Module, ::Any) at .\boot.jl:330
│ [21] eval_user_input(::Any, ::REPL.REPLBackend) at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\REPL\src\REPL.jl:86
│ [22] run_backend(::REPL.REPLBackend) at C:\Users\Matthis\.julia\packages\Revise\cbX7Q\src\Revise.jl:973
│ [23] (::Revise.var"#79#81"{REPL.REPLBackend})() at .\task.jl:333
└ @ Revise C:\Users\Matthis\.julia\packages\Revise\cbX7Q\src\lowered.jl:52
This will be fixed by JuliaInterpreter 0.7.6, scheduled to be released momentarily.