Skip to content

Commit 98e678f

Browse files
authored
simplify generated code for iterate on codeunits (#36159)
* simplify generated code for iterate on codeunits * Update basic.jl
1 parent cbd854b commit 98e678f

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

base/strings/basic.jl

+2-1
Original file line numberDiff line numberDiff line change
@@ -734,7 +734,8 @@ size(s::CodeUnits) = (length(s),)
734734
elsize(s::CodeUnits{T}) where {T} = sizeof(T)
735735
@propagate_inbounds getindex(s::CodeUnits, i::Int) = codeunit(s.s, i)
736736
IndexStyle(::Type{<:CodeUnits}) = IndexLinear()
737-
iterate(s::CodeUnits, i=1) = (@_propagate_inbounds_meta; i == length(s)+1 ? nothing : (s[i], i+1))
737+
@inline iterate(s::CodeUnits, i=1) = (i % UInt) - 1 < length(s) ? (@inbounds s[i], i + 1) : nothing
738+
738739

739740
write(io::IO, s::CodeUnits) = write(io, s.s)
740741

0 commit comments

Comments
 (0)