You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
let T1 = Tuple{Type{Tuple{Vararg{AbstractUnitRange{Int64},N} where N}},CartesianIndices{N,R} where R<:Tuple{Vararg{AbstractUnitRange{Int64},N}}} where N
246
+
T2 = Tuple{Type{T},T} where T<:AbstractArray
247
+
T3 = Tuple{Type{AbstractArray{T,N} where N},AbstractArray} where T
248
+
T4 = Tuple{Type{AbstractArray{T,N}},AbstractArray{s57,N} where s57} where N where T
249
+
@test!args_morespecific(T1, T2)
250
+
@test!args_morespecific(T1, T3)
251
+
@test!args_morespecific(T1, T4)
252
+
@testargs_morespecific(T2, T3)
253
+
@testargs_morespecific(T2, T4)
254
+
end
255
+
256
+
@test!args_morespecific(Tuple{Type{Tuple{Vararg{AbstractUnitRange{Int64},N}}},} where N,
257
+
Tuple{Type{Tuple{Vararg{AbstractUnitRange,N} where N}},})
258
+
259
+
@testargs_morespecific(Tuple{Type{SubArray{T,2,P} where T}, Array{T}} where T where P,
260
+
Tuple{Type{AbstractArray{T,N} where N},AbstractArray} where T)
261
+
262
+
@testargs_morespecific(Tuple{Type{T},T} where T<:BitArray,
263
+
Tuple{Type{BitArray},Any})
264
+
265
+
abstract type Domain{T} end
266
+
267
+
abstract type AbstractInterval{T} <:Domain{T}end
268
+
269
+
struct Interval{L,R,T} <:AbstractInterval{T}
270
+
end
271
+
272
+
let A = Tuple{Type{Interval{:closed,:closed,T} where T}, Interval{:closed,:closed,T} where T},
273
+
B = Tuple{Type{II}, AbstractInterval} where II<:(Interval{:closed,:closed,T} where T),
274
+
C = Tuple{Type{AbstractInterval}, AbstractInterval}
275
+
@testargs_morespecific(A, B)
276
+
@test!args_morespecific(B, C)
277
+
@test!args_morespecific(A, C)
278
+
end
279
+
280
+
let A = Tuple{Type{Domain}, Interval{L,R,T} where T} where R where L,
281
+
B = Tuple{Type{II}, AbstractInterval} where II<:(Interval{:closed,:closed,T} where T),
282
+
C = Tuple{Type{AbstractInterval{T}}, AbstractInterval{T}} where T
283
+
@test!args_morespecific(A, B)
284
+
@testargs_morespecific(B, C)
285
+
@test!args_morespecific(A, C)
286
+
end
287
+
288
+
let A = Tuple{Type{AbstractInterval}, Interval{L,R,T} where T} where R where L,
289
+
B = Tuple{Type{II}, AbstractInterval} where II<:(Interval{:closed,:closed,T} where T),
290
+
C = Tuple{Type{AbstractInterval{T}}, AbstractInterval{T}} where T
0 commit comments