@@ -93,6 +93,7 @@ Size(::Type{Transpose{T, A}}) where {T, A <: AbstractVecOrMat{T}} = Size(Size(A)
9393Size (:: Type{Symmetric{T, A}} ) where {T, A <: AbstractMatrix{T} } = Size (A)
9494Size (:: Type{Hermitian{T, A}} ) where {T, A <: AbstractMatrix{T} } = Size (A)
9595Size (:: Type{Diagonal{T, A}} ) where {T, A <: AbstractVector{T} } = Size (Size (A)[1 ], Size (A)[1 ])
96+ Size (:: Type{<:LinearAlgebra.AbstractTriangular{T, A}} ) where {T,A} = Size (A)
9697
9798@pure Size (:: Type{<:AbstractArray{<:Any, N}} ) where {N} = Size (ntuple (_ -> Dynamic (), N))
9899
@@ -117,7 +118,7 @@ Length(::Size{S}) where {S} = _Length(S...)
117118@inline _Length (S... ) = Length {Dynamic()} ()
118119
119120# Some @pure convenience functions for `Size`
120- @pure get (:: Size{S} ) where {S} = S
121+ @pure ( :: Type{Tuple} ) (:: Size{S} ) where {S} = S
121122
122123@pure getindex (:: Size{S} , i:: Int ) where {S} = i <= length (S) ? S[i] : 1
123124
@@ -138,7 +139,7 @@ Base.LinearIndices(::Size{S}) where {S} = LinearIndices(S)
138139@pure size_tuple (:: Size{S} ) where {S} = Tuple{S... }
139140
140141# Some @pure convenience functions for `Length`
141- @pure get (:: Length{L} ) where {L} = L
142+ @pure ( :: Type{Int} ) (:: Length{L} ) where {L} = L
142143
143144@pure Base.:(== )(:: Length{L} , l:: Int ) where {L} = L == l
144145@pure Base.:(== )(l:: Int , :: Length{L} ) where {L} = l == L
0 commit comments