File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 157157# and make(NTuple{N}, S)
158158
159159@generated function _make (:: Type{T} , args... ) where T <: Tuple
160- isempty (args) && return :(Make0 {$(T === Tuple ? Tuple{} : T)} ())
160+ if isempty (args)
161+ TT = T === Tuple ? Tuple{} :
162+ T === NTuple ? Tuple{} :
163+ T isa UnionAll && Type{T} <: Type{NTuple{N}} where N ? T{default_sampling (Tuple)} :
164+ T
165+ return :(Make0 {$TT} ())
166+ end
161167 isNT = length (args) == 1 && T != = Tuple && (
162168 T <: NTuple || ! isa (T, UnionAll)) # !isa(Tuple, UnionAll) !!
163169
Original file line number Diff line number Diff line change @@ -188,6 +188,9 @@ const spString = Sampler(MersenneTwister, String)
188188 @test all (in (1 : 3 ), s)
189189 s = rand (rng... , Tuple, 4 )
190190 @test s isa NTuple{4 ,Float64}
191+
192+ s = rand (rng... , NTuple{3 })
193+ @test s isa NTuple{3 ,Float64}
191194end
192195
193196@testset " Rand" for rng in ([], [MersenneTwister (0 )], [RandomDevice ()])
303306 r = rand (make (Tuple{AbstractFloat,Integer}, 1 : 3 ))
304307 @test r isa Tuple{Float64,Int64}
305308 @test all (in (1 : 3 ), r)
309+
310+ r = rand (make (NTuple{3 }))
311+ @test r isa NTuple{3 ,Float64}
306312end
307313
308314@testset " rand(make(String, ...))" begin
You can’t perform that action at this time.
0 commit comments