From 31129c3367f96d159b4f2a244be67d2e7b7e5f7b Mon Sep 17 00:00:00 2001 From: Lilith Orion Hafner Date: Tue, 9 Apr 2024 11:44:50 -0500 Subject: [PATCH] make `view(::Memory, ::Colon)` produce a Vector (#54005) (cherry picked from commit 97ac3ecc707888bd1c9344ed8386aea40d14c346) --- base/genericmemory.jl | 1 + test/arrayops.jl | 2 ++ 2 files changed, 3 insertions(+) diff --git a/base/genericmemory.jl b/base/genericmemory.jl index 3463be456ea59..c1dc215a68d33 100644 --- a/base/genericmemory.jl +++ b/base/genericmemory.jl @@ -312,3 +312,4 @@ end $(Expr(:new, :(Array{T, 1}), :ref, :dims)) end end +view(m::GenericMemory, inds::Colon) = view(m, eachindex(m)) diff --git a/test/arrayops.jl b/test/arrayops.jl index a31d373a65a38..1c36453a6adae 100644 --- a/test/arrayops.jl +++ b/test/arrayops.jl @@ -3203,6 +3203,7 @@ end @test @inferred(view(mem, 3:8))::Vector{Int} == 13:18 @test @inferred(view(mem, 20:19))::Vector{Int} == [] @test @inferred(view(mem, -5:-7))::Vector{Int} == [] + @test @inferred(view(mem, :))::Vector{Int} == mem @test @inferred(reshape(mem, 5, 2))::Matrix{Int} == reshape(11:20, 5, 2) # 53990 @@ -3217,6 +3218,7 @@ end @test @inferred(view(empty_mem, 1:0))::Vector{Module} == [] @test @inferred(view(empty_mem, 10:3))::Vector{Module} == [] + @test @inferred(view(empty_mem, :))::Vector{Module} == empty_mem @test isempty(@inferred(reshape(empty_mem, 0, 7, 1))::Array{Module, 3}) offset_inds = OffsetArrays.IdOffsetRange(values=3:6, indices=53:56)