Skip to content

Commit d913db4

Browse files
authored
fix #33367, defining enums is slow (#33494)
Each definition used a new closure and call to `ntuple`, which is not necessary since the code only runs at load time.
1 parent 80dca30 commit d913db4

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

base/Enums.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ macro enum(T, syms...)
189189
Enums.namemap(::Type{$(esc(typename))}) = $(esc(namemap))
190190
Base.typemin(x::Type{$(esc(typename))}) = $(esc(typename))($lo)
191191
Base.typemax(x::Type{$(esc(typename))}) = $(esc(typename))($hi)
192-
let insts = ntuple(i->$(esc(typename))($values[i]), $(length(values)))
192+
let insts = (Any[ $(esc(typename))(v) for v in $values ]...,)
193193
Base.instances(::Type{$(esc(typename))}) = insts
194194
end
195195
end

0 commit comments

Comments
 (0)