From 2a166c93a3d2a7ba73e129649b7b41b6c696e74a Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Mon, 13 Nov 2017 21:30:22 -0500 Subject: bytes, strings: restore O(1) behavior of IndexAny(s, "") and LastIndexAny(s, "") MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-by: Brad Fitzpatrick --- src/bytes/example_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/bytes/example_test.go') 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 -- cgit v1.3-5-g9baa