diff --git a/go.mod b/go.mod index 1988379..f657da0 100644 --- a/go.mod +++ b/go.mod @@ -1,3 +1,3 @@ module github.com/pointlander/peg -go 1.24 +go 1.25 diff --git a/tree/peg.go b/tree/peg.go index fb4ef1b..fbdf4a8 100644 --- a/tree/peg.go +++ b/tree/peg.go @@ -637,10 +637,8 @@ func (t *Tree) Compile(file string, args []string, out io.Writer) (err error) { usage := [TypeLast]uint{} wg := sync.WaitGroup{} - wg.Add(2) - go func() { - defer wg.Done() + wg.Go(func() { ruleReached := make([]bool, t.RulesCount) for n := range t.Iterator() { if n.GetType() == TypeRule { @@ -655,17 +653,16 @@ func (t *Tree) Compile(file string, args []string, out io.Writer) (err error) { } } } - }() + }) - go func() { - defer wg.Done() + wg.Go(func() { ruleReached := make([]bool, t.RulesCount) for n := range t.Iterator() { if n.GetType() == TypeRule { t.checkRecursion(n, ruleReached) } } - }() + }) wg.Wait()