Skip to content

Commit 48f942b

Browse files
authored
Remove Iterators.reverse(::Tuple) specialization (#34732)
1 parent 438485e commit 48f942b

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

base/iterators.jl

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,6 @@ reverse(G::Generator) = Generator(G.f, reverse(G.iter))
9898
reverse(r::Reverse) = r.itr
9999
reverse(x::Union{Number,AbstractChar}) = x
100100
reverse(p::Pair) = Base.reverse(p) # copying pairs is cheap
101-
reverse(xs::Tuple) = Base.reverse(xs) # allows inference in mapfoldr and similar
102101

103102
iterate(r::Reverse{<:Tuple}, i::Int = length(r.itr)) = i < 1 ? nothing : (r.itr[i], i-1)
104103

base/reduce.jl

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,9 +178,12 @@ foldl(op, itr; kw...) = mapfoldl(identity, op, itr; kw...)
178178

179179
function mapfoldr_impl(f, op, nt, itr)
180180
op′, itr′ = _xfadjoint(BottomRF(FlipArgs(op)), Generator(f, itr))
181-
return foldl_impl(op′, nt, Iterators.reverse(itr′))
181+
return foldl_impl(op′, nt, _reverse(itr′))
182182
end
183183

184+
_reverse(itr) = Iterators.reverse(itr)
185+
_reverse(itr::Tuple) = reverse(itr) #33235
186+
184187
struct FlipArgs{F}
185188
f::F
186189
end

0 commit comments

Comments
 (0)