• Russ Cox's avatar
    bytes, strings: restore O(1) behavior of IndexAny(s, "") and LastIndexAny(s, "") · 2a166c93
    Russ Cox authored
    CL 65851 (bytes) and CL 65910 (strings) “improve[d] readability”
    by removing the special case that bypassed the whole function body
    when chars == "". In doing so, yes, the function was unindented a
    level, which is nice, but the runtime of that case went from O(1) to O(n)
    where n = len(s).
    
    I don't know if anyone's code depends on the O(1) behavior in this case,
    but quite possibly someone's does.
    
    This CL adds the special case back, with a comment to prevent future
    deletions, and without reindenting each function body in full.
    
    Change-Id: I5aba33922b304dd1b8657e6d51d6c937a7f95c81
    Reviewed-on: https://go-review.googlesource.com/78112
    Run-TryBot: Russ Cox <rsc@golang.org>
    Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
    2a166c93
bytes.go 22.4 KB