Skip to content

Commit ef7ef3a

Browse files
authored
Restrict triangular type aliases to AbstractMatrixes (#1220)
Simple change to restrict the type parameter in aliases such as `UpperOrUnitUpperTriangular` to `AbstractMatrix`es. Since the struct definitions impose the same condition, having this restriction on the aliases avoids method ambiguities.
1 parent 579b5f7 commit ef7ef3a

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/triangular.jl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -139,10 +139,10 @@ julia> UnitUpperTriangular(A)
139139
"""
140140
UnitUpperTriangular
141141

142-
const UpperOrUnitUpperTriangular{T,S} = Union{UpperTriangular{T,S}, UnitUpperTriangular{T,S}}
143-
const LowerOrUnitLowerTriangular{T,S} = Union{LowerTriangular{T,S}, UnitLowerTriangular{T,S}}
144-
const UpperOrLowerTriangular{T,S} = Union{UpperOrUnitUpperTriangular{T,S}, LowerOrUnitLowerTriangular{T,S}}
145-
const UnitUpperOrUnitLowerTriangular{T,S} = Union{UnitUpperTriangular{T,S}, UnitLowerTriangular{T,S}}
142+
const UpperOrUnitUpperTriangular{T,S<:AbstractMatrix{T}} = Union{UpperTriangular{T,S}, UnitUpperTriangular{T,S}}
143+
const LowerOrUnitLowerTriangular{T,S<:AbstractMatrix{T}} = Union{LowerTriangular{T,S}, UnitLowerTriangular{T,S}}
144+
const UpperOrLowerTriangular{T,S<:AbstractMatrix{T}} = Union{UpperOrUnitUpperTriangular{T,S}, LowerOrUnitLowerTriangular{T,S}}
145+
const UnitUpperOrUnitLowerTriangular{T,S<:AbstractMatrix{T}} = Union{UnitUpperTriangular{T,S}, UnitLowerTriangular{T,S}}
146146

147147
uppertriangular(M) = UpperTriangular(M)
148148
lowertriangular(M) = LowerTriangular(M)

0 commit comments

Comments
 (0)