• Ben Hoyt's avatar
    bytes: make TrimSpace return nil on all-space input · f24e1099
    Ben Hoyt authored
    Issue #29122 introduced a subtle regression due to the way that
    TrimFuncLeft is written: previously TrimSpace returned nil when given
    an input of all whitespace, but with the #29122 changes it returned an
    empty slice on all-space input.
    
    This change adds a special case to the new, optimized TrimSpace to go
    back to that behavior. While it is odd behavior and people shouldn't be
    relying on these functions returning a nil slice in practice, it's not
    worth the breakage of code that does.
    
    This tweak doesn't change the TrimSpace benchmarks significantly.
    
    Fixes #31038
    
    Change-Id: Idb495d02b474054d2b2f593c2e318a7a6625688a
    Reviewed-on: https://go-review.googlesource.com/c/go/+/169518Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
    f24e1099
bytes.go 27 KB