From 14c2206b7c52d76330e88e0f85eab924dd05abb3 Mon Sep 17 00:00:00 2001 From: Jakob Nybo Nissen Date: Mon, 27 May 2024 12:21:01 +0200 Subject: [PATCH] Fix typo in unsafe_wrap method --- base/pointer.jl | 2 +- test/core.jl | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/base/pointer.jl b/base/pointer.jl index 494e87996355c..b1580ef17d562 100644 --- a/base/pointer.jl +++ b/base/pointer.jl @@ -118,7 +118,7 @@ end function unsafe_wrap(::Union{Type{GenericMemory{kind,<:Any,Core.CPU}},Type{GenericMemory{kind,T,Core.CPU}}}, p::Ptr{T}, dims::Tuple{Int}; own::Bool = false) where {kind,T} ccall(:jl_ptr_to_genericmemory, Ref{GenericMemory{kind,T,Core.CPU}}, - (Any, Ptr{Cvoid}, Csize_t, Cint), GenericMemory{kind,T,Core.CPU}, p, dim[1], own) + (Any, Ptr{Cvoid}, Csize_t, Cint), GenericMemory{kind,T,Core.CPU}, p, dims[1], own) end function unsafe_wrap(::Union{Type{GenericMemory{kind,<:Any,Core.CPU}},Type{GenericMemory{kind,T,Core.CPU}}}, p::Ptr{T}, d::Integer; own::Bool = false) where {kind,T} diff --git a/test/core.jl b/test/core.jl index 23372669c69f3..e74acd9dd576e 100644 --- a/test/core.jl +++ b/test/core.jl @@ -6251,6 +6251,16 @@ let @test_throws ArgumentError unsafe_wrap(Array, convert(Ptr{Union{Int, Nothing}}, pointer(A5)), 6) end +# More unsafe_wrap +let + a = [1, 2, 3] + GC.@preserve a begin + m = unsafe_wrap(Memory{Int}, pointer(a), (3,)) + @test m == a + @test m isa Memory{Int} + end +end + # copyto! A23567 = Vector{Union{Float64, Nothing}}(undef, 5) B23567 = collect(Union{Float64, Nothing}, 1.0:3.0)