Как вызвать сбой strings.FieldsFunc в Go

В документации FieldsFunc сказано:

Если f не возвращает согласованные результаты для данного c, FieldsFunc может аварийно завершить работу.

Эта функция написана на самом Go, и ее текущая реализация говорит обо всем…

Входная строка проходит дважды. Один раз, чтобы получить числовые поля, которые используются для выделения результирующего среза (и базового массива):

// Now create them.
a := make([]string, n)

Во время 2-го обхода a заполняется найденными полями. Как же тогда вылететь из этой функции? Достаточно зарезервировать слишком мало памяти после первого цикла:

package main
import (
    "strings"
)
func main() {
    found := false
    strings.FieldsFunc("bad", func(char rune) bool {
        if char == 'a' {
            if !found {
                found = true
                return false
            }
            return true
        }
        return false
    })
}

Во время первого цикла будет обнаружено только одно поле (вся входная строка). После вызова буквы «а» вернется истина, что означает, что во время второго прохода будут обнаружены два поля. Когда место только для одного поля, это плохо.