Skip to content

Commit 4d22d42

Browse files
authored
feat: add Adapt.parent_type dispatch (#372)
1 parent 5972e9e commit 4d22d42

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

ext/OffsetArraysAdaptExt.jl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,9 @@ using OffsetArrays, Adapt
88
import Adapt
99
Adapt.adapt_structure(to, O::OffsetArray) = OffsetArrays.parent_call(x -> Adapt.adapt(to, x), O)
1010

11+
@static if isdefined(Adapt, :parent_type)
12+
# To support Adapt 3.0 which doesn't have parent_type defined
13+
Adapt.parent_type(::Type{OffsetArray{T,N,AA}}) where {T,N,AA} = AA
14+
end
15+
1116
end

test/runtests.jl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2500,6 +2500,10 @@ end
25002500
s_arr = adapt(SMatrix{3,3}, arr)
25012501
@test parent(s_arr) isa SArray
25022502
@test arr == adapt(Array, s_arr)
2503+
2504+
if isdefined(Adapt, :parent_type)
2505+
@test Adapt.parent_type(typeof(arr)) == typeof(arr.parent)
2506+
end
25032507
end
25042508

25052509
@testset "Pointer" begin

0 commit comments

Comments
 (0)