わからん…… lexer のユーザが期待する「打ち切る長さ」の「長さ」の単位は何なんだ……
制約の強い環境のユーザを想定すると、バイト長で制限することを考えるのが自然だが、一方で lexer への入力はバイト単位とは限らないという問題もある (たとえば UTF-16 だったり UTF-32 だったりで u16 や u32 の列が渡される可能性がある)
かといって Unicode code point の数にしてみたところで、コードポイント数で制約をかける意図とは……? となる。ASCII 128“文字” と絵文字128“文字” はメモリへの負荷がぜんぜん違うわけで。
いや、そもそも hard limit を設定すること自体が間違っているのか
どうせユーザ側で拒絶できるのなら確かにそうなのだが
hard limit をサポートしない理由について10行に渡るコメントを書いたのでもう安心