]> Cypherpunks repositories - gostls13.git/commit
bytes, strings: align requirements for functions passed to FieldFuncs
authorMartin Möhrmann <moehrmann@google.com>
Wed, 29 Apr 2020 10:23:32 +0000 (12:23 +0200)
committerMartin Möhrmann <moehrmann@google.com>
Wed, 29 Apr 2020 19:58:47 +0000 (19:58 +0000)
commitf2163c4d458df70bd46f284f995419135f0e1fc3
tree1b4f2e830b93f2f44df73581e89ad6f2efbca22d
parent35dce1d67c730a0f49c82660e94fe8305cac6861
bytes, strings: align requirements for functions passed to FieldFuncs

golang.org/cl/229763 removed the documentation of requirements of
the function passed to FieldsFunc. The current implementation does
not require functions to return consistent results but this had not
been the case for previous implementations.

Add the requirement for consistent results back to the documentation
to allow for future implementations to be more allocation efficient
for an output with more than 32 fields. This is possible with a two
pass algorithm first determining the number of fields used to allocate
the output slice and then splitting the input into fields.

While at it align the documentation of bytes.FieldsFunc with
strings.FieldFunc.

Fixes #38630

Change-Id: Iabbf9ca3dff0daa41f4ec930a21a3dd98e19f122
Reviewed-on: https://go-review.googlesource.com/c/go/+/230797
Run-TryBot: Martin Möhrmann <moehrmann@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Robert Griesemer <gri@golang.org>
src/bytes/bytes.go
src/strings/strings.go