From 342cd143e72b2056e8bca41627af49777caaffab Mon Sep 17 00:00:00 2001 From: tannevaled Date: Fri, 3 Jul 2026 23:03:48 +0200 Subject: [PATCH] deps: bump go-ruby-regexp to the anchored class-run consumer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bump the go-ruby-regexp pin from the bounds-only match API (c52ca89ccd08) to ba2d1e459518, which adds a fast anchored class-run consumer to the regexp VM. StringScanner already calls the allocation-free bounds-only API (MatchBoundsAt / MatchBounds), so its skip / match? primitives inherit the fast path with no strscan code change: an anchored single-character-class repeat (\s+, \S+, [0-9]+, [A-Za-z0-9_]+, …) is now consumed in one tight loop over the input bytes with no per-byte VM dispatch and no MatchData allocation. Output stays byte-identical to MRI on every operation; go test -race is clean at 100% statement coverage. Co-Authored-By: Claude Opus 4.8 --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 92bbb10..3a06ee7 100644 --- a/go.mod +++ b/go.mod @@ -2,4 +2,4 @@ module github.com/go-ruby-strscan/strscan go 1.26.4 -require github.com/go-ruby-regexp/regexp v0.0.0-20260703193131-c52ca89ccd08 +require github.com/go-ruby-regexp/regexp v0.0.0-20260703203242-ba2d1e459518 diff --git a/go.sum b/go.sum index f90e640..d91e5ad 100644 --- a/go.sum +++ b/go.sum @@ -1,2 +1,2 @@ -github.com/go-ruby-regexp/regexp v0.0.0-20260703193131-c52ca89ccd08 h1:2ULLhB9SUBzHngWYrbltWEmt7jCbA1SvweZsmKwdilM= -github.com/go-ruby-regexp/regexp v0.0.0-20260703193131-c52ca89ccd08/go.mod h1:+0nK2X+aCPMO91bPMM/DT1OFUIzFQeoTPGkkOR3kd84= +github.com/go-ruby-regexp/regexp v0.0.0-20260703203242-ba2d1e459518 h1:mx1Is+QoupXnTpkwTagK5lVJpJLcRgjvkbCc9LgX2qk= +github.com/go-ruby-regexp/regexp v0.0.0-20260703203242-ba2d1e459518/go.mod h1:+0nK2X+aCPMO91bPMM/DT1OFUIzFQeoTPGkkOR3kd84=