From 7367dda244454cc3e1dbc9212c1f367bff999ee2 Mon Sep 17 00:00:00 2001 From: manuelbb-upb Date: Thu, 22 May 2025 18:39:18 +0200 Subject: [PATCH] 0-dim arguments Most of the functionality seemed to just work. Only `axes` needed changing. --- src/StackViews.jl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/StackViews.jl b/src/StackViews.jl index 3e73db2..c82a495 100644 --- a/src/StackViews.jl +++ b/src/StackViews.jl @@ -119,7 +119,7 @@ function Base.axes(A::StackView{T,N,D}) where {T,N,D} prev, post = Base.IteratorsMD.split(frame_axes, Val(D-1)) # use homogenous range to make _append_tuple happy - fill_range = convert(typeof(first(frame_axes)), Base.OneTo(1)) + fill_range = _convert(eltype(prev), Base.OneTo(1)) return (_append_tuple(prev, Val(D-1), fill_range)..., Base.OneTo(length(A.slices)), post...) @@ -140,6 +140,8 @@ end end # utils +_convert(::Type{Base.Bottom}, idx)=idx +_convert(T::Type, idx)=convert(T, idx) # For type stability @inline _max(::Val{x}, ::Val{y}) where {x, y} = Val(max(x, y))