-
Notifications
You must be signed in to change notification settings - Fork 220
Closed
Description
I want to rerun the example given in the Julia manual (V1.4.1, PP 190-191)
struct SparseArray{T,N} <: AbstractArray{T,N}
data::Dict{NTuple{N,Int}, T}
dims::NTuple{N,Int}
end
SparseArray(::Type{T}, dims::Int...) where {T} = SparseArray(T, dims);
SparseArray(::Type{T}, dims::NTuple{N,Int}) where {T,N} = SparseArray{T,N}(Dict{NTuple{N,Int}, T}(), dims);
Base.size(A::SparseArray) = A.dims
Base.similar(A::SparseArray, ::Type{T}, dims::Dims) where {T} = SparseArray(T, dims)
Base.getindex(A::SparseArray{T,N}, I::Vararg{Int,N}) where {T,N} = get(A.data, I, zero(T))
Base.setindex!(A::SparseArray{T,N}, v, I::Vararg{Int,N}) where {T,N} = (A.data[I] = v)
A = SparseArray(Float64, 3, 3)
Everything works fine when the code is ran under a normal REPL, but when it is ran under the vscode-REPL via view --> Command Palette --> Julia: start REPL, I get the following error:
julia> A = SparseArray(Float64, 3, 3)
3×3 SparseArray{Float64,2}:
0.0Internal Error: ERROR: MethodError: no method matching size(::SparseArray{Float64,2})
The applicable method may be too new: running in world age 27143, while current world is 27151.
Closest candidates are:
size(::SparseArray) at REPL[4]:1 (method too new to be called from this world context.)
size(::AbstractArray{T,N}, ::Any) where {T, N} at abstractarray.jl:38
size(::BitArray{1}) at bitarray.jl:99
...
Stacktrace:0.0
[1] treerender(0.0::SparseArray{
Float64 ,20.0}) at /Users/lzhan/.vscode/extensions/julialang.language-julia-0.16.8/scripts/packages/VSCodeServer/src/trees.jl:1250.0
[2] treerender(0.0::VSCodeServer.
SubTree ) at 0.0/Users/lzhan/.vscode/extensions/julialang.language-julia-0.16.8/scripts/packages/VSCodeServer/src/trees.jl:54
[3] repl_getvariables_request0.0(:: VSCodeServer.JSONRPC.0.0JSONRPCEndpoint, ::
Nothing
julia>
[4] dispatch_msg(::VSCodeServer.JSONRPC.JSONRPCEndpoint, ::VSCodeServer.JSONRPC.MsgDispatcher, ::Dict{String,Any}) at /Users/lzhan/.vscode/extensions/julialang.language-julia-0.16.8/scripts/packages/JSONRPC/src/typed.jl:63
[5] macro expansion at /Users/lzhan/.vscode/extensions/julialang.language-julia-0.16.8/scripts/packages/VSCodeServer/src/VSCodeServer.jl:83 [inlined]
[6] (::VSCodeServer.var"#53#55"{Bool,String})() at ./task.jl:358
Internal Error: ERROR: MethodError: no method matching size(::SparseArray{Float64,2})
The applicable method may be too new: running in world age 27143, while current world is 27151.
Closest candidates are:
size(::SparseArray) at REPL[4]:1 (method too new to be called from this world context.)
size(::AbstractArray{T,N}, ::Any) where {T, N} at abstractarray.jl:38
size(::BitArray{1}) at bitarray.jl:99
...
Stacktrace:
[1] treerender(::SparseArray{Float64,2}) at /Users/lzhan/.vscode/extensions/julialang.language-julia-0.16.8/scripts/packages/VSCodeServer/src/trees.jl:125
[2] treerender(::VSCodeServer.SubTree) at /Users/lzhan/.vscode/extensions/julialang.language-julia-0.16.8/scripts/packages/VSCodeServer/src/trees.jl:54
[3] repl_getvariables_request(::VSCodeServer.JSONRPC.JSONRPCEndpoint, ::Nothing) at /Users/lzhan/.vscode/extensions/julialang.language-julia-0.16.8/scripts/packages/VSCodeServer/src/request_handlers.jl:88
[4] dispatch_msg(::VSCodeServer.JSONRPC.JSONRPCEndpoint, ::VSCodeServer.JSONRPC.MsgDispatcher, ::Dict{String,Any}) at /Users/lzhan/.vscode/extensions/julialang.language-julia-0.16.8/scripts/packages/JSONRPC/src/typed.jl:63
[5] macro expansion at /Users/lzhan/.vscode/extensions/julialang.language-julia-0.16.8/scripts/packages/VSCodeServer/src/VSCodeServer.jl:83 [inlined]
[6] (::VSCodeServer.var"#53#55"{Bool,String})() at ./task.jl:358
Metadata
Metadata
Assignees
Labels
No labels