I would have expected view(xx) to return a 0-dimensional DimArray here (tested on v0.30.1):
julia> x = [0.5]
1-element Vector{Float64}:
0.5
julia> view(x)
0-dimensional view(::Array{Float64, 0}) with eltype Float64:
0.5
julia> xx = DimArray([0.5], (X,))
┌ 1-element DimArray{Float64, 1} ┐
├────────────────────────── dims ┤
↓ X
└────────────────────────────────┘
0.5
julia> view(xx)
ERROR: ArgumentError: axes of the array (0) do not match number of dimensions (1)
Stacktrace:
[1] _dimlengtherror(na::Int64, nd::Int64)
@ DimensionalData ~/ppl/DimensionalData.jl/src/array/array.jl:587
[2] checkdims(n::Int64, dims::Tuple{X{DimensionalData.Dimensions.Lookups.NoLookup{Base.OneTo{Int64}}}})
@ DimensionalData ~/ppl/DimensionalData.jl/src/array/array.jl:585
[3] checkdims(A::SubArray{Float64, 0, Array{…}, Tuple{}, true}, dims::Tuple{X{…}})
@ DimensionalData ~/ppl/DimensionalData.jl/src/array/array.jl:583
[4] DimArray(data::SubArray{…}, dims::Tuple{…}, refdims::Tuple{}, name::DimensionalData.NoName, metadata::DimensionalData.Dimensions.Lookups.NoMetadata)
@ DimensionalData ~/ppl/DimensionalData.jl/src/array/array.jl:467
[5] rebuild
@ ~/ppl/DimensionalData.jl/src/array/array.jl:586 [inlined]
[6] rebuild
@ ~/ppl/DimensionalData.jl/src/array/array.jl:86 [inlined]
[7] rebuildsliced
@ ~/ppl/DimensionalData.jl/src/array/array.jl:118 [inlined]
[8] rebuildsliced
@ ~/ppl/DimensionalData.jl/src/array/array.jl:114 [inlined]
[9] rebuildsliced
@ ~/ppl/DimensionalData.jl/src/array/array.jl:112 [inlined]
[10] #view#217
@ ~/ppl/DimensionalData.jl/src/array/indexing.jl:48 [inlined]
[11] view(A::DimVector{…})
@ DimensionalData ~/ppl/DimensionalData.jl/src/array/indexing.jl:45
[12] top-level scope
@ REPL[60]:1
Some type information was truncated. Use `show(err)` to see complete types.
I would have expected view(xx) to return a 0-dimensional DimArray here (tested on v0.30.1):