Skip to content

Commit 774e40e

Browse files
committed
internal/tdtest: use sync.OnceValues
The code gets a bit shorter and harder to misuse. Signed-off-by: Daniel Martí <[email protected]> Change-Id: I19edf20f06369158e41f9a5fb6f7827422daf6bc Reviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1201760 Unity-Result: CUE porcuepine <[email protected]> Reviewed-by: Roger Peppe <[email protected]> TryBot-Result: CUEcueckoo <[email protected]>
1 parent ffafd61 commit 774e40e

File tree

1 file changed

+12
-21
lines changed

1 file changed

+12
-21
lines changed

internal/tdtest/update.go

+12-21
Original file line numberDiff line numberDiff line change
@@ -53,27 +53,18 @@ type callInfo struct {
5353
fieldName string
5454
}
5555

56-
var (
57-
once sync.Once
58-
pkgs []*packages.Package
59-
pkgsErr error
60-
)
61-
62-
func initPackages() ([]*packages.Package, error) {
63-
once.Do(func() {
64-
cfg := &packages.Config{
65-
Mode: packages.NeedFiles |
66-
packages.NeedDeps |
67-
packages.NeedTypes |
68-
packages.NeedTypesInfo |
69-
packages.NeedSyntax,
70-
Tests: true,
71-
}
56+
var loadPackages = sync.OnceValues(func() ([]*packages.Package, error) {
57+
cfg := &packages.Config{
58+
Mode: packages.NeedFiles |
59+
packages.NeedDeps |
60+
packages.NeedTypes |
61+
packages.NeedTypesInfo |
62+
packages.NeedSyntax,
63+
Tests: true,
64+
}
7265

73-
pkgs, pkgsErr = packages.Load(cfg, ".")
74-
})
75-
return pkgs, pkgsErr
76-
}
66+
return packages.Load(cfg, ".")
67+
})
7768

7869
func (s *set[T]) getInfo(file string) *info {
7970
if s.info != nil {
@@ -89,7 +80,7 @@ func (s *set[T]) getInfo(file string) *info {
8980

9081
t := s.t
9182

92-
pkgs, pkgsErr = initPackages()
83+
pkgs, pkgsErr := loadPackages()
9384
if pkgsErr != nil {
9485
t.Fatalf("load: %v\n", pkgsErr)
9586
}

0 commit comments

Comments
 (0)