Skip to content

Commit 87e65bc

Browse files
authored
Add missing parent_type definitions for Hermitian (#364)
1 parent a73a242 commit 87e65bc

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

lib/ArrayInterfaceCore/src/ArrayInterfaceCore.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -124,16 +124,16 @@ end
124124
Returns the parent array that type `T` wraps.
125125
"""
126126
parent_type(x) = parent_type(typeof(x))
127-
parent_type(::Type{Symmetric{T,S}}) where {T,S} = S
128-
parent_type(::Type{<:AbstractTriangular{T,S}}) where {T,S} = S
127+
parent_type(@nospecialize T::Type{<:Union{Symmetric,Hermitian}}) = fieldtype(T, :data)
128+
parent_type(@nospecialize T::Type{<:Union{UpTri,LoTri}}) = fieldtype(T, :data)
129129
parent_type(@nospecialize T::Type{<:PermutedDimsArray}) = fieldtype(T, :parent)
130130
parent_type(@nospecialize T::Type{<:Adjoint}) = fieldtype(T, :parent)
131131
parent_type(@nospecialize T::Type{<:Transpose}) = fieldtype(T, :parent)
132132
parent_type(@nospecialize T::Type{<:SubArray}) = fieldtype(T, :parent)
133133
parent_type(@nospecialize T::Type{<:Base.ReinterpretArray}) = fieldtype(T, :parent)
134134
parent_type(@nospecialize T::Type{<:Base.ReshapedArray}) = fieldtype(T, :parent)
135135
parent_type(@nospecialize T::Type{<:Union{Base.Slice,Base.IdentityUnitRange}}) = fieldtype(T, :indices)
136-
parent_type(::Type{Diagonal{T,V}}) where {T,V} = V
136+
parent_type(@nospecialize T::Type{<:Diagonal}) = fieldtype(T, :diag)
137137
parent_type(T::Type) = T
138138

139139
"""

0 commit comments

Comments
 (0)