diff options
| author | Russ Cox <rsc@golang.org> | 2017-11-13 21:30:22 -0500 |
|---|---|---|
| committer | Russ Cox <rsc@golang.org> | 2017-11-15 21:26:05 +0000 |
| commit | 2a166c93a3d2a7ba73e129649b7b41b6c696e74a (patch) | |
| tree | a2c7abc248f36af6c1376ecff37e790e90253cf4 /src/bytes/example_test.go | |
| parent | e7628bee6e8ddac41b213d9ed0b2d6e4051674e4 (diff) | |
| download | go-2a166c93a3d2a7ba73e129649b7b41b6c696e74a.tar.xz | |
bytes, strings: restore O(1) behavior of IndexAny(s, "") and LastIndexAny(s, "")
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: Brad Fitzpatrick <bradfitz@golang.org>
Diffstat (limited to 'src/bytes/example_test.go')
| -rw-r--r-- | src/bytes/example_test.go | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/bytes/example_test.go b/src/bytes/example_test.go index 00e39cadcb..5b7a46058f 100644 --- a/src/bytes/example_test.go +++ b/src/bytes/example_test.go @@ -155,7 +155,7 @@ func ExampleCount() { func ExampleEqual() { fmt.Println(bytes.Equal([]byte("Go"), []byte("Go"))) - fmt.Println(bytes.Equal([]byte("Go"), []byte("go"))) + fmt.Println(bytes.Equal([]byte("Go"), []byte("C++"))) // Output: // true // false |
