Code Monkey home page Code Monkey logo

Comments (5)

ldez avatar ldez commented on September 25, 2024 1

go1.21 is available https://go.dev/blog/go1.21

from go-critic.

ldez avatar ldez commented on September 25, 2024

The problem is also on ruleguard.

Tested on master of ruleguard:

go test
$ go test ./...
?       github.com/quasilyte/go-ruleguard       [no test files]
?       github.com/quasilyte/go-ruleguard/analyzer/testanalyzer [no test files]
?       github.com/quasilyte/go-ruleguard/cmd/ruleguard [no test files]
?       github.com/quasilyte/go-ruleguard/internal/golist       [no test files]
?       github.com/quasilyte/go-ruleguard/internal/xtypes       [no test files]
?       github.com/quasilyte/go-ruleguard/ruleguard/goutil      [no test files]
?       github.com/quasilyte/go-ruleguard/ruleguard/ir  [no test files]
?       github.com/quasilyte/go-ruleguard/ruleguard/irprint     [no test files]
?       github.com/quasilyte/go-ruleguard/ruleguard/profiling   [no test files]
?       github.com/quasilyte/go-ruleguard/ruleguard/quasigo/internal/evaltest   [no test files]
?       github.com/quasilyte/go-ruleguard/ruleguard/quasigo/stdlib/qfmt [no test files]
?       github.com/quasilyte/go-ruleguard/ruleguard/quasigo/stdlib/qstrconv     [no test files]
?       github.com/quasilyte/go-ruleguard/ruleguard/quasigo/stdlib/qstrings     [no test files]
--- FAIL: TestAnalyzer (4.09s)
    --- FAIL: TestAnalyzer/gocritic (0.26s)
        analysistest.go:295: error analyzing ruleguard@gocritic: load rules: parse rules file: typechecker error: ./testdata/src/gocritic/rules.go:6:8: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
    --- FAIL: TestAnalyzer/filtertest (0.27s)
        analysistest.go:295: error analyzing ruleguard@filtertest: load rules: parse rules file: typechecker error: ./testdata/src/filtertest/rules.go:6:8: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
    --- FAIL: TestAnalyzer/extra (0.23s)
        analysistest.go:295: error analyzing ruleguard@extra: load rules: parse rules file: typechecker error: ./testdata/src/extra/rules.go:5:8: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
    --- FAIL: TestAnalyzer/suggest (0.01s)
        analysistest.go:295: error analyzing ruleguard@suggest: load rules: parse rules file: typechecker error: ./testdata/src/suggest/rules.go:5:8: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
    --- FAIL: TestAnalyzer/namedtype/nested (0.27s)
        analysistest.go:295: error analyzing ruleguard@namedtype/nested: load rules: parse rules file: typechecker error: ./testdata/src/namedtype/nested/rules.go:5:8: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
    --- FAIL: TestAnalyzer/namedtype (0.01s)
        analysistest.go:295: error analyzing ruleguard@namedtype: load rules: parse rules file: typechecker error: ./testdata/src/namedtype/rules.go:5:8: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
    --- FAIL: TestAnalyzer/revive (0.13s)
        analysistest.go:295: error analyzing ruleguard@revive: load rules: parse rules file: typechecker error: ./testdata/src/revive/rules.go:5:8: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
    --- FAIL: TestAnalyzer/golint (0.22s)
        analysistest.go:295: error analyzing ruleguard@golint: load rules: parse rules file: typechecker error: ./testdata/src/golint/rules.go:5:8: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
    --- FAIL: TestAnalyzer/govet (0.01s)
        analysistest.go:295: error analyzing ruleguard@govet: load rules: parse rules file: typechecker error: ./testdata/src/govet/rules.go:5:8: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
    --- FAIL: TestAnalyzer/regression (0.27s)
        analysistest.go:295: error analyzing ruleguard@regression: load rules: parse rules file: typechecker error: ./testdata/src/regression/rules.go:7:2: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
    --- FAIL: TestAnalyzer/testvendored (0.23s)
        analysistest.go:295: error analyzing ruleguard@testvendored: load rules: parse rules file: typechecker error: ./testdata/src/testvendored/rules.go:5:8: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
    --- FAIL: TestAnalyzer/quasigo (0.24s)
        analysistest.go:295: error analyzing ruleguard@quasigo: load rules: parse rules file: typechecker error: ./testdata/src/quasigo/rules.go:7:2: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
    --- FAIL: TestAnalyzer/do (0.09s)
        analysistest.go:295: error analyzing ruleguard@do: load rules: parse rules file: typechecker error: ./testdata/src/do/rules.go:10:2: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
    --- FAIL: TestAnalyzer/matching (0.01s)
        analysistest.go:295: error analyzing ruleguard@matching: load rules: parse rules file: typechecker error: ./testdata/src/matching/rules.go:6:8: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
    --- FAIL: TestAnalyzer/dgryski (0.42s)
        analysistest.go:295: error analyzing ruleguard@dgryski: load rules: parse rules file: typechecker error: ./testdata/src/dgryski/rules.go:5:8: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
    --- FAIL: TestAnalyzer/comments (0.01s)
        analysistest.go:295: error analyzing ruleguard@comments: load rules: parse rules file: typechecker error: ./testdata/src/comments/rules.go:5:8: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
    --- FAIL: TestAnalyzer/stdlib (0.25s)
        analysistest.go:295: error analyzing ruleguard@stdlib: load rules: parse rules file: typechecker error: ./testdata/src/stdlib/rules.go:6:2: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
    --- FAIL: TestAnalyzer/uber (0.23s)
        analysistest.go:295: error analyzing ruleguard@uber: load rules: parse rules file: typechecker error: ./testdata/src/uber/rules.go:5:8: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
    --- FAIL: TestAnalyzer/localfunc (0.22s)
        analysistest.go:295: error analyzing ruleguard@localfunc: load rules: parse rules file: typechecker error: ./testdata/src/localfunc/rules.go:5:8: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
    --- FAIL: TestAnalyzer/goversion (0.21s)
        analysistest.go:295: error analyzing ruleguard@goversion: load rules: parse rules file: typechecker error: ./testdata/src/goversion/rules.go:6:2: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
    --- FAIL: TestAnalyzer/imports (0.27s)
        analysistest.go:295: error analyzing ruleguard@imports: load rules: parse rules file: typechecker error: ./testdata/src/imports/rules.go:7:2: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
    --- FAIL: TestAnalyzer/generics (0.03s)
        analysistest.go:295: error analyzing ruleguard@generics: load rules: parse rules file: typechecker error: ./testdata/src/generics/rules.go:6:8: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
    --- FAIL: TestAnalyzer/quickfix (0.20s)
        analysistest.go:295: error analyzing ruleguard@quickfix: load rules: parse rules file: typechecker error: ./testdata/src/quickfix/rules.go:6:8: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
--- FAIL: TestPrintIR (9.96s)
    --- FAIL: TestPrintIR/gocritic (0.50s)
        analyzer_test.go:242: gocritic output mismatches:   (
                """
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/appendAssign.go:7:2: appendAssign: append result not assigned to the same slice (rules.go:161)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/appendAssign.go:8:2: appendAssign: append result not assigned to the same slice (rules.go:161)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/appendAssign.go:12:3: appendAssign: append result not assigned to the same slice (rules.go:161)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/appendAssign.go:13:3: appendAssign: append result not assigned to the same slice (rules.go:161)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/deferUnlambda.go:10:2: deferUnlambda: can rewrite as `defer f()` (rules.go:270)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/deferUnlambda.go:12:2: deferUnlambda: can rewrite as `defer f(1)` (rules.go:270)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/deferUnlambda.go:14:2: deferUnlambda: can rewrite as `defer f(ten, ten+1)` (rules.go:270)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/deferUnlambda.go:16:2: deferUnlambda: can rewrite as `defer fmt.Println("hello")` (rules.go:274)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:15:2: testRules: suspicious self-assignment in x = x (rules.go:9)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:16:2: testRules: suspicious self-assignment in ys[0] = ys[0] (rules.go:9)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:20:2: testRules: can use parallel assignment like x,y=y,x (rules.go:11)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:28:3: testRules: can use parallel assignment like ys[0],xs[0]=xs[0],ys[0] (rules.go:11)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:34:3: testRules: can use parallel assignment like ys[0],xs[0]=xs[0],ys[0] (rules.go:11)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:38:3: testRules: can use parallel assignment like ys[0],xs[0]=xs[0],ys[0] (rules.go:11)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:45:2: testRules: suspicious duplicated args in copy(xs, xs) (rules.go:15)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:46:2: testRules: suspicious duplicated args in io.Copy(rw, rw) (rules.go:14)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:50:2: testRules: xs=append(xs,x,y) is faster (rules.go:53)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:63:6: testRules: n=0 argument does nothing, maybe n=-1 is indended? (rules.go:56)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:64:6: testRules: append called with 1 argument does nothing (rules.go:59)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:68:2: testRules: can write copy(b, s) without type conversion (rules.go:62)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:72:2: testRules: can simplify to x+=3 (rules.go:69)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:73:2: testRules: can simplify to x-=4 (rules.go:70)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:74:2: testRules: can simplify to x*=5 (rules.go:71)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:75:2: testRules: can simplify to y++ (rules.go:66)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:79:6: testRules: can simplify !!a to a (rules.go:73)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:80:6: testRules: can simplify !(i1!=i2) to i1==i2 (rules.go:74)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:81:6: testRules: can simplify !(i1==i2) to i1!=i2 (rules.go:75)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:85:6: testRules: suspicious duplicated i1 != 0 in condition (rules.go:18)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:86:6: testRules: suspicious identical LHS and RHS (rules.go:22)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:87:6: testRules: suspicious identical LHS and RHS (rules.go:31)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:88:6: testRules: suspicious identical LHS and RHS (rules.go:32)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:89:6: testRules: suspicious identical LHS and RHS (rules.go:36)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:95:18: testRules: suspicious duplicate key x (rules.go:48)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:98:3: testRules: suspicious duplicate key x (rules.go:48)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:103:18: testRules: suspicious duplicate key y (rules.go:48)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:108:2: testRules: can use MustCompile for const patterns (rules.go:43)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:111:2: testRules: can use MustCompile for const patterns (rules.go:44)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:115:6: testRules: yoda-style expression (rules.go:77)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:120:2: testRules: explicit array deref is redundant (rules.go:79)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:123:6: testRules: explicit array deref is redundant (rules.go:79)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:125:6: testRules: explicit array deref is redundant (rules.go:79)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:130:6: testRules: can simplify s[:] to s (rules.go:83)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:139:4: testRules: can simplify xs[:] to xs (rules.go:83)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:140:4: testRules: can simplify ys[:] to ys (rules.go:83)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:145:7: testRules: can simplify xs[0][:] to xs[0] (rules.go:83)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:180:2: testRules: should rewrite switch statement to if statement (rules.go:87)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:187:2: testRules: should rewrite switch statement to if statement (rules.go:88)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:194:2: testRules: should rewrite switch statement to if statement (rules.go:89)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:202:2: testRules: should rewrite switch statement to if statement (rules.go:90)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:210:2: testRules: can omit true in switch (rules.go:93)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:238:6: testRules: len(a) >= 0 is always true (rules.go:95)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:239:6: testRules: len(a) < 0 is always false (rules.go:96)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:240:6: testRules: len(a) <= 0 is never negative, can rewrite as len(a)==0 (rules.go:97)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:244:6: testRules: replace *new(bool) with false (rules.go:99)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:245:6: testRules: replace *new(string) with "" (rules.go:100)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:246:6: testRules: replace *new(int) with 0 (rules.go:101)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:252:6: testRules: replace len(s) == 0 with s == "" (rules.go:103)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:253:6: testRules: replace len(s) != 0 with s != "" (rules.go:106)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:255:6: testRules: replace len(*sptr) == 0 with *sptr == "" (rules.go:103)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:256:6: testRules: replace len(*sptr) != 0 with *sptr != "" (rules.go:106)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:270:6: testRules: index expr always panics; maybe you wanted xs[len(xs)-1]? (rules.go:110)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:271:6: testRules: index expr always panics; maybe you wanted ys[len(ys)-1]? (rules.go:110)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:288:7: testRules: Index() can return -1; maybe you wanted to do s[start+1:] (rules.go:116)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:292:7: testRules: Index() can return -1; maybe you wanted to do b[start+1:] (rules.go:118)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:295:7: testRules: Index() can return -1; maybe you wanted to do Index()+1 (rules.go:124)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:298:7: testRules: Index() can return -1; maybe you wanted to do Index()+1 (rules.go:125)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:302:10: testRules: Index() can return -1; maybe you wanted to do s[start+1:] (rules.go:115)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:307:10: testRules: Index() can return -1; maybe you wanted to do b[start+1:] (rules.go:117)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:356:6: testRules: use Split (rules.go:41)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:357:6: testRules: use ReplaceAll (rules.go:40)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:364:6: testRules: immediate deref in *flag.Bool("b", false, "") is most likely an error (rules.go:128)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:365:6: testRules: immediate deref in *flag.Duration("d", 0, "") is most likely an error (rules.go:130)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:366:6: testRules: immediate deref in *flag.Float64("f64", 0, "") is most likely an error (rules.go:129)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:367:6: testRules: immediate deref in *flag.Int("i", 0, "") is most likely an error (rules.go:131)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:368:6: testRules: immediate deref in *flag.Int64("i64", 0, "") is most likely an error (rules.go:132)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:369:6: testRules: immediate deref in *flag.String("s", "", "") is most likely an error (rules.go:133)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:370:6: testRules: immediate deref in *flag.Uint("u", 0, "") is most likely an error (rules.go:134)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:371:6: testRules: immediate deref in *flag.Uint64("u64", 0, "") is most likely an error (rules.go:135)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:380:3: testRules: returned expr is always nil; replace err with nil (rules.go:138)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:387:3: testRules: returned expr is always nil; replace o with nil (rules.go:138)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:394:3: testRules: returned expr is always nil; replace o.data with nil (rules.go:138)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:401:3: testRules: returned expr is always nil; replace pointers[0][1][2]["ptr"] with nil (rules.go:138)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:404:3: testRules: returned expr is always nil; replace ptr with nil (rules.go:138)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:508:21: testRules: xs copy can be avoided with &xs (rules.go:143)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:517:21: testRules: foo.arr copy can be avoided with &foo.arr (rules.go:143)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:524:21: testRules: xsList[0] copy can be avoided with &xsList[0] (rules.go:143)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:531:5: badCond: the condition is always false because -10 <= 10 (rules.go:151)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:534:5: badCond: the condition is always false because 10 >= -10 (rules.go:155)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:538:5: badCond: the condition is always false because ten+1 >= -10 (rules.go:155)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:550:2: preferFprint: fmt.Fprintf(w, "%x", 10) should be preferred to the w.Write([]byte(fmt.Sprintf("%x", 10))) (rules.go:183)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:551:2: preferFprint: fmt.Fprint(w, 1, 2, 3, 4) should be preferred to the w.Write([]byte(fmt.Sprint(1, 2, 3, 4))) (rules.go:178)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:552:2: preferFprint: fmt.Fprintln(w, 1, 2, 3, 4) should be preferred to the w.Write([]byte(fmt.Sprintln(1, 2, 3, 4))) (rules.go:188)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:570:3: syncMapLoadAndDelete: use m.LoadAndDelete to perform load+delete operations atomically (rules.go:195)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:624:6: argOrder: "http://" and s arguments order looks reversed (rules.go:203)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:626:6: argOrder: []byte("http://") and b arguments order looks reversed (rules.go:204)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:627:6: argOrder: []byte{'h', 't', 't', 'p', ':', '/', '/'} and b arguments order looks reversed (rules.go:204)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:629:6: argOrder: ":" and s arguments order looks reversed (rules.go:207)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:630:6: argOrder: []byte(":") and b arguments order looks reversed (rules.go:208)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:632:6: argOrder: ":" and s arguments order looks reversed (rules.go:209)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:633:6: argOrder: []byte(":") and b arguments order looks reversed (rules.go:210)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:635:6: argOrder: ":" and s arguments order looks reversed (rules.go:211)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:636:6: argOrder: []byte(":") and b arguments order looks reversed (rules.go:212)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:638:6: argOrder: "/" and s arguments order looks reversed (rules.go:213)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:639:6: argOrder: []byte("/") and b arguments order looks reversed (rules.go:214)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:641:6: argOrder: "uint uint8 uint16 uint32" and s arguments order looks reversed (rules.go:207)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:642:6: argOrder: "optional foo bar" and s arguments order looks reversed (rules.go:209)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:686:6: equalFold: consider replacing with strings.EqualFold(s1, s2) (rules.go:231)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:687:6: equalFold: consider replacing with strings.EqualFold(s1, s2) (rules.go:233)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:688:6: equalFold: consider replacing with strings.EqualFold(s1, s2) (rules.go:232)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:689:6: equalFold: consider replacing with strings.EqualFold(s1, "select") (rules.go:231)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:690:6: equalFold: consider replacing with strings.EqualFold("select", s1) (rules.go:233)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:691:6: equalFold: consider replacing with strings.EqualFold(s1, s2) (rules.go:234)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:692:6: equalFold: consider replacing with strings.EqualFold(s1, s2) (rules.go:236)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:693:6: equalFold: consider replacing with strings.EqualFold(s1, s2) (rules.go:235)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:695:6: equalFold: consider replacing with !strings.EqualFold(s1, s2) (rules.go:244)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:696:6: equalFold: consider replacing with !strings.EqualFold(s1, s2) (rules.go:246)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:697:6: equalFold: consider replacing with !strings.EqualFold(s1, s2) (rules.go:245)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:698:6: equalFold: consider replacing with !strings.EqualFold(s1, "select") (rules.go:244)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:699:6: equalFold: consider replacing with !strings.EqualFold("select", s1) (rules.go:246)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:700:6: equalFold: consider replacing with !strings.EqualFold(s1, s2) (rules.go:247)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:701:6: equalFold: consider replacing with !strings.EqualFold(s1, s2) (rules.go:249)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:702:6: equalFold: consider replacing with !strings.EqualFold(s1, s2) (rules.go:248)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:704:6: equalFold: consider replacing with bytes.EqualFold(b1, b2) (rules.go:257)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:705:6: equalFold: consider replacing with bytes.EqualFold(b1, b2) (rules.go:259)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:706:6: equalFold: consider replacing with bytes.EqualFold(b1, b2) (rules.go:258)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:707:6: equalFold: consider replacing with bytes.EqualFold(b1, []byte("select")) (rules.go:257)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:708:6: equalFold: consider replacing with bytes.EqualFold([]byte("select"), b1) (rules.go:259)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:709:6: equalFold: consider replacing with bytes.EqualFold(b1, b2) (rules.go:260)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:710:6: equalFold: consider replacing with bytes.EqualFold(b1, b2) (rules.go:262)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:711:6: equalFold: consider replacing with bytes.EqualFold(b1, b2) (rules.go:261)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:713:7: equalFold: consider replacing with bytes.EqualFold(b1, b2) (rules.go:257)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:714:7: equalFold: consider replacing with bytes.EqualFold(b1, b2) (rules.go:259)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:715:7: equalFold: consider replacing with bytes.EqualFold(b1, b2) (rules.go:258)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:716:7: equalFold: consider replacing with bytes.EqualFold(b1, []byte("select")) (rules.go:257)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:717:7: equalFold: consider replacing with bytes.EqualFold([]byte("select"), b1) (rules.go:259)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:718:7: equalFold: consider replacing with bytes.EqualFold(b1, b2) (rules.go:260)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:719:7: equalFold: consider replacing with bytes.EqualFold(b1, b2) (rules.go:262)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/f1.go:720:7: equalFold: consider replacing with bytes.EqualFold(b1, b2) (rules.go:261)
            +   ruleguard: load rules: parse rules file: typechecker error: /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/gocritic/rules.go:6:8: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
                ... // 1 identical line
                """
              )
    --- FAIL: TestPrintIR/filtertest (0.75s)
        analyzer_test.go:242: filtertest output mismatches:   (
                """
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/badfmt.go:5:6: testRules: suspicious tripple parens (rules.go:169)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:39:2: testRules: true (rules.go:164)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:46:3: testRules: true (rules.go:255)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:47:3: testRules: true (rules.go:255)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:57:3: testRules: true (rules.go:259)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:58:3: testRules: true (rules.go:259)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:59:3: testRules: true (rules.go:259)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:60:3: testRules: true (rules.go:259)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:61:3: testRules: true (rules.go:259)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:62:3: testRules: true (rules.go:259)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:63:3: testRules: true (rules.go:259)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:81:3: testRules: true (rules.go:286)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:82:3: testRules: true (rules.go:286)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:94:3: testRules: true (rules.go:11)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:96:3: testRules: false (rules.go:12)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:97:3: testRules: false (rules.go:12)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:101:3: testRules: true (rules.go:15)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:102:3: testRules: true (rules.go:15)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:103:3: testRules: true (rules.go:15)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:104:3: testRules: true (rules.go:15)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:105:3: testRules: true (rules.go:15)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:106:3: testRules: true (rules.go:15)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:108:3: testRules: false (rules.go:14)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:109:3: testRules: false (rules.go:14)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:113:3: testRules: true (rules.go:18)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:114:3: testRules: true (rules.go:18)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:115:3: testRules: true (rules.go:18)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:117:3: testRules: false (rules.go:17)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:118:3: testRules: false (rules.go:17)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:119:3: testRules: false (rules.go:17)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:125:2: testRules: true (rules.go:179)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:126:2: testRules: true (rules.go:179)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:130:2: testRules: true (rules.go:183)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:131:2: testRules: true (rules.go:183)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:136:2: testRules: true (rules.go:187)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:139:2: testRules: true (rules.go:191)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:140:2: testRules: true (rules.go:191)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:141:2: testRules: true (rules.go:191)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:145:2: testRules: true (rules.go:136)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:146:2: testRules: true (rules.go:136)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:147:2: testRules: true (rules.go:136)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:149:2: testRules: false (rules.go:137)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:150:2: testRules: false (rules.go:137)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:151:2: testRules: false (rules.go:137)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:152:2: testRules: false (rules.go:137)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:156:2: testRules: true (rules.go:267)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:157:2: testRules: true (rules.go:267)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:175:2: testRules: true (rules.go:267)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:176:2: testRules: true (rules.go:267)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:177:2: testRules: true (rules.go:267)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:178:2: testRules: true (rules.go:267)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:179:2: testRules: true (rules.go:267)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:180:2: testRules: true (rules.go:267)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:181:2: testRules: true (rules.go:267)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:182:2: testRules: true (rules.go:267)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:213:2: testRules: true (rules.go:267)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:214:2: testRules: true (rules.go:267)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:215:2: testRules: true (rules.go:267)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:223:3: testRules: true (rules.go:195)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:229:3: testRules: true (rules.go:199)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:230:3: testRules: true (rules.go:199)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:248:3: testRules: true (rules.go:20)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:249:3: testRules: true (rules.go:20)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:250:3: testRules: true (rules.go:20)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:251:3: testRules: true (rules.go:20)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:263:3: testRules: true (rules.go:24)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:264:3: testRules: true (rules.go:24)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:265:3: testRules: true (rules.go:24)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:278:3: testRules: true (rules.go:28)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:283:3: testRules: true (rules.go:28)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:291:2: testRules: concat (rules.go:32)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:292:2: testRules: addition (rules.go:40)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:293:2: testRules: s1 !is(int) (rules.go:44)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:294:2: testRules: i1 !is(string) && pure (rules.go:54)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:296:2: testRules: ss is([]string) (rules.go:58)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:300:2: testRules: ii !is(string) && !is(int) (rules.go:62)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:302:2: testRules: true (rules.go:66)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:305:2: testRules: true (rules.go:68)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:309:2: testRules: true (rules.go:70)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:311:2: testRules: true (rules.go:70)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:312:2: testRules: true (rules.go:70)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:316:2: testRules: true (rules.go:70)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:317:2: testRules: true (rules.go:70)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:318:2: testRules: true (rules.go:70)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:320:2: testRules: true (rules.go:73)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:321:2: testRules: true (rules.go:73)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:322:2: testRules: true (rules.go:73)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:323:2: testRules: true (rules.go:73)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:324:2: testRules: true (rules.go:73)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:325:2: testRules: true (rules.go:73)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:326:2: testRules: true (rules.go:73)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:327:2: testRules: false (rules.go:75)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:328:2: testRules: false (rules.go:75)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:329:2: testRules: false (rules.go:75)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:330:2: testRules: false (rules.go:75)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:331:2: testRules: false (rules.go:75)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:332:2: testRules: false (rules.go:75)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:333:2: testRules: false (rules.go:75)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:334:2: testRules: false (rules.go:75)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:336:2: testRules: true (rules.go:81)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:337:2: testRules: true (rules.go:81)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:339:2: testRules: true (rules.go:82)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:341:2: testRules: true (rules.go:82)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:343:2: testRules: true (rules.go:83)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:347:2: testRules: true (rules.go:84)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:348:2: testRules: true (rules.go:85)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:352:2: testRules: true (rules.go:86)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:353:2: testRules: true (rules.go:86)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:355:2: testRules: true (rules.go:78)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:356:2: testRules: true (rules.go:78)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:357:2: testRules: true (rules.go:78)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:359:2: testRules: false (rules.go:79)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:360:2: testRules: false (rules.go:79)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:361:2: testRules: false (rules.go:79)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:365:2: testRules: true (rules.go:100)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:368:2: testRules: true (rules.go:101)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:374:2: testRules: true (rules.go:88)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:375:2: testRules: true (rules.go:88)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:379:2: testRules: true (rules.go:92)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:384:2: testRules: true (rules.go:96)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:394:3: testRules: true (rules.go:48)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:395:3: testRules: true (rules.go:48)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:396:3: testRules: true (rules.go:48)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:397:3: testRules: true (rules.go:48)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:399:3: testRules: false (rules.go:49)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:400:3: testRules: false (rules.go:49)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:401:3: testRules: false (rules.go:49)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:402:3: testRules: false (rules.go:49)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:403:3: testRules: false (rules.go:49)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:404:3: testRules: false (rules.go:49)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:413:3: testRules: true (rules.go:51)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:414:3: testRules: true (rules.go:51)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:415:3: testRules: true (rules.go:51)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:416:3: testRules: true (rules.go:51)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:417:3: testRules: true (rules.go:51)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:419:3: testRules: false (rules.go:52)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:420:3: testRules: false (rules.go:52)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:421:3: testRules: false (rules.go:52)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:422:3: testRules: false (rules.go:52)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:423:3: testRules: false (rules.go:52)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:428:3: testRules: true (rules.go:207)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:432:3: testRules: true (rules.go:211)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:433:3: testRules: true (rules.go:211)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:434:3: testRules: true (rules.go:211)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:438:3: testRules: true (rules.go:215)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:439:3: testRules: true (rules.go:215)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:440:3: testRules: true (rules.go:215)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:441:3: testRules: true (rules.go:215)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:442:3: testRules: true (rules.go:215)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:443:3: testRules: true (rules.go:215)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:457:3: testRules: true (rules.go:219)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:458:3: testRules: true (rules.go:219)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:459:3: testRules: true (rules.go:219)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:460:3: testRules: true (rules.go:219)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:461:3: testRules: true (rules.go:219)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:462:3: testRules: true (rules.go:219)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:463:3: testRules: true (rules.go:219)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:481:3: testRules: true (rules.go:223)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:482:3: testRules: true (rules.go:223)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:483:3: testRules: true (rules.go:223)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:486:3: testRules: true (rules.go:227)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:487:3: testRules: true (rules.go:227)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:488:3: testRules: true (rules.go:227)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:489:3: testRules: true (rules.go:227)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:490:3: testRules: true (rules.go:227)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:491:3: testRules: true (rules.go:227)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:510:3: testRules: true (rules.go:231)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:511:3: testRules: true (rules.go:231)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:512:3: testRules: true (rules.go:231)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:513:3: testRules: true (rules.go:231)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:514:3: testRules: true (rules.go:231)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:515:3: testRules: true (rules.go:231)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:542:3: testRules: true (rules.go:235)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:543:3: testRules: true (rules.go:235)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:544:3: testRules: true (rules.go:235)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:545:3: testRules: true (rules.go:235)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:546:3: testRules: true (rules.go:235)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:547:3: testRules: true (rules.go:235)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:576:3: testRules: true (rules.go:239)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:577:3: testRules: true (rules.go:239)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:578:3: testRules: true (rules.go:239)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:579:3: testRules: true (rules.go:239)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:580:3: testRules: true (rules.go:239)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:581:3: testRules: true (rules.go:239)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:582:3: testRules: true (rules.go:239)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:583:3: testRules: true (rules.go:239)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:584:3: testRules: true (rules.go:239)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:585:3: testRules: true (rules.go:239)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:586:3: testRules: true (rules.go:239)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:587:3: testRules: true (rules.go:239)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:588:3: testRules: true (rules.go:239)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:589:3: testRules: true (rules.go:239)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:590:3: testRules: true (rules.go:239)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:591:3: testRules: true (rules.go:239)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:592:3: testRules: true (rules.go:239)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:593:3: testRules: true (rules.go:239)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:594:3: testRules: true (rules.go:239)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:614:3: testRules: true (rules.go:243)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:615:3: testRules: true (rules.go:243)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:616:3: testRules: true (rules.go:247)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:617:3: testRules: true (rules.go:247)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:624:3: testRules: true (rules.go:243)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:633:3: testRules: true (rules.go:243)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:634:3: testRules: true (rules.go:243)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:643:3: testRules: true (rules.go:243)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:644:3: testRules: true (rules.go:243)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:645:3: testRules: true (rules.go:247)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:646:3: testRules: true (rules.go:247)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:653:3: testRules: true (rules.go:243)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:654:3: testRules: true (rules.go:243)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:655:3: testRules: true (rules.go:247)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:656:3: testRules: true (rules.go:247)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:692:3: testRules: true (rules.go:251)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:693:3: testRules: true (rules.go:251)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:700:3: testRules: true (rules.go:251)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:701:3: testRules: true (rules.go:251)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:708:3: testRules: true (rules.go:251)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:709:3: testRules: true (rules.go:251)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:710:3: testRules: true (rules.go:251)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:711:3: testRules: true (rules.go:251)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:712:3: testRules: true (rules.go:251)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:725:3: testRules: true (rules.go:251)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:726:3: testRules: true (rules.go:251)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:727:3: testRules: true (rules.go:251)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:736:2: testRules: true (rules.go:127)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:737:2: testRules: true (rules.go:127)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:738:2: testRules: true (rules.go:127)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:739:2: testRules: true (rules.go:127)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:741:2: testRules: false (rules.go:128)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:742:2: testRules: false (rules.go:128)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:749:2: testRules: true (rules.go:130)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:750:2: testRules: true (rules.go:130)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:751:2: testRules: true (rules.go:130)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:752:2: testRules: true (rules.go:130)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:754:2: testRules: false (rules.go:131)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:755:2: testRules: false (rules.go:131)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:756:2: testRules: false (rules.go:131)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:761:3: testRules: true (rules.go:263)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:762:3: testRules: true (rules.go:263)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:763:3: testRules: true (rules.go:263)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:764:3: testRules: true (rules.go:263)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:765:3: testRules: true (rules.go:263)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:766:3: testRules: true (rules.go:263)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:783:3: testRules: true (rules.go:263)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:784:3: testRules: true (rules.go:263)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:785:3: testRules: true (rules.go:263)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:786:3: testRules: true (rules.go:263)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:787:3: testRules: true (rules.go:263)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:788:3: testRules: true (rules.go:263)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:805:2: testRules: true (rules.go:133)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:806:2: testRules: true (rules.go:133)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:807:2: testRules: true (rules.go:133)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:809:2: testRules: false (rules.go:134)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:810:2: testRules: false (rules.go:134)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:811:2: testRules: false (rules.go:134)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:812:2: testRules: false (rules.go:134)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:813:2: testRules: false (rules.go:134)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:814:2: testRules: false (rules.go:134)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:820:2: testRules: true (rules.go:119)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:821:2: testRules: true (rules.go:119)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:822:2: testRules: true (rules.go:119)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:823:2: testRules: true (rules.go:119)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:824:2: testRules: true (rules.go:119)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:826:2: testRules: false (rules.go:123)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:827:2: testRules: false (rules.go:123)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:828:2: testRules: false (rules.go:123)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:829:2: testRules: false (rules.go:123)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:839:2: testRules: false (rules.go:107)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:840:2: testRules: false (rules.go:107)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:842:2: testRules: true (rules.go:103)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:843:2: testRules: true (rules.go:103)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:844:2: testRules: true (rules.go:103)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:845:2: testRules: true (rules.go:103)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:846:2: testRules: true (rules.go:103)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:847:2: testRules: true (rules.go:103)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:848:2: testRules: true (rules.go:103)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:849:2: testRules: true (rules.go:103)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:850:2: testRules: true (rules.go:103)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:851:2: testRules: true (rules.go:103)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:852:2: testRules: true (rules.go:103)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:854:2: testRules: true (rules.go:103)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:855:2: testRules: true (rules.go:111)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:856:2: testRules: true (rules.go:111)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:857:2: testRules: true (rules.go:111)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:858:2: testRules: true (rules.go:111)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:860:2: testRules: false (rules.go:115)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:861:2: testRules: false (rules.go:115)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:862:2: testRules: false (rules.go:115)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:863:2: testRules: false (rules.go:115)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:864:2: testRules: false (rules.go:115)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:865:2: testRules: false (rules.go:115)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:869:2: testRules: true (rules.go:143)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:872:2: testRules: true (rules.go:144)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:875:2: testRules: true (rules.go:145)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:878:2: testRules: true (rules.go:147)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:882:2: testRules: true (rules.go:148)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:885:2: testRules: true (rules.go:203)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:890:2: testRules: true (rules.go:150)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:900:2: testRules: true (rules.go:140)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:904:2: testRules: true (rules.go:141)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:921:2: testRules: true (rules.go:171)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:926:2: testRules: true (rules.go:173)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:927:2: testRules: true (rules.go:173)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:928:2: testRules: true (rules.go:173)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:929:2: testRules: true (rules.go:173)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:930:2: testRules: true (rules.go:173)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:931:2: testRules: true (rules.go:173)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:932:2: testRules: true (rules.go:173)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:934:2: testRules: true (rules.go:174)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:935:2: testRules: true (rules.go:174)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:936:2: testRules: true (rules.go:174)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:937:2: testRules: true (rules.go:174)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:944:2: testRules: true (rules.go:175)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:945:2: testRules: true (rules.go:175)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:947:2: testRules: true (rules.go:176)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:948:2: testRules: true (rules.go:176)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:949:2: testRules: true (rules.go:176)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:953:2: testRules: true (rules.go:177)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:954:2: testRules: true (rules.go:177)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:959:1: testRules: global var (rules.go:273)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:960:1: testRules: global var (rules.go:272)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:966:2: testRules: global var (rules.go:271)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:967:2: testRules: global var (rules.go:271)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:980:19: testRules: true (rules.go:278)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:981:19: testRules: true (rules.go:278)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:982:20: testRules: true (rules.go:278)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:984:31: testRules: true (rules.go:278)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:985:31: testRules: true (rules.go:278)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:986:36: testRules: true (rules.go:278)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:994:14: testRules: true (rules.go:282)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:995:17: testRules: true (rules.go:282)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:998:16: testRules: true (rules.go:278)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:1004:11: testRules: true (rules.go:278)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:1010:16: testRules: true (rules.go:278)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:1016:22: testRules: true (rules.go:278)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:1017:21: testRules: true (rules.go:278)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:1024:20: testRules: true (rules.go:278)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:1028:11: testRules: true (rules.go:278)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:1036:14: testRules: true (rules.go:278)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:1037:15: testRules: true (rules.go:278)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:1045:3: testRules: true (rules.go:278)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:1048:7: testRules: true (rules.go:278)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:1051:6: testRules: true (rules.go:278)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:1054:10: testRules: true (rules.go:278)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:1057:3: testRules: true (rules.go:278)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:1060:4: testRules: true (rules.go:278)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:1067:6: testRules: true (rules.go:278)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:1070:3: testRules: true (rules.go:282)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:1071:3: testRules: true (rules.go:282)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/f1.go:1076:9: testRules: true (rules.go:278)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/foo_file1.go:4:2: testRules: true (rules.go:160)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/foo_file2.go:4:2: testRules: true (rules.go:160)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/imports_filepath.go:9:2: testRules: true (rules.go:152)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/imports_filepath.go:12:2: testRules: true (rules.go:156)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/linetest4.go:4:2: testRules: true (rules.go:139)
            +   ruleguard: load rules: parse rules file: typechecker error: /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/filtertest/rules.go:6:8: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
                ... // 1 identical line
                """
              )
    --- FAIL: TestPrintIR/extra (0.63s)
        analyzer_test.go:242: extra output mismatches:   (
                """
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:22:9: testRules: suggestion: b (rules.go:139)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:23:9: testRules: suggestion: ch (rules.go:140)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:28:7: testRules: suggestion: s.String() (rules.go:22)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:40:6: testRules: suggestion: s1+s2 (rules.go:135)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:48:7: testRules: use strconv.FormatInt(int64(x16), 10) (rules.go:15)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:52:7: testRules: use strconv.FormatInt(x64, 10) (rules.go:12)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:64:7: testRules: use strconv.FormatBool((i+i)&1 == 0) (rules.go:19)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:70:2: testRules: please remove the assignment to _ (rules.go:26)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:77:5: testRules: assign mightFail() to err and then do a nil check (rules.go:31)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:79:5: testRules: assign mightFail() to err and then do a nil check (rules.go:30)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:95:5: testRules: rewrite as 'x == 0 || y == 0' (rules.go:38)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:98:5: testRules: rewrite as 'x != 5 && y == 5' (rules.go:39)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:103:6: testRules: might want to replace context.TODO() (rules.go:44)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:109:14: testRules: use filepath.Join for file paths (rules.go:47)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:114:3: testRules: use filepath.Join for file paths (rules.go:49)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:119:11: testRules: use filepath.Join for file paths (rules.go:46)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:124:3: testRules: use filepath.Join for file paths (rules.go:48)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:145:6: testRules: rewrite as 'make([]int, 10, 14)' (rules.go:52)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:151:2: testRules: can use for range over ch (rules.go:57)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:160:9: testRules: rewrite as '4 * time.Second' (rules.go:60)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:166:9: testRules: suggestion: time.Since(t).Microseconds() (rules.go:77)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:169:9: testRules: suggestion: time.Since(t).Milliseconds() (rules.go:79)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:176:6: testRules: suggestion: strings.HasPrefix(s2, "prefix") (rules.go:116)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:177:6: testRules: suggestion: strings.HasPrefix(s1, "suffix") (rules.go:120)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:178:6: testRules: suggestion: strings.Contains(s1, "s") (rules.go:124)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:187:6: testRules: replace 'old' and 'new' parameters are identical (rules.go:132)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:194:3: testRules: suggestion: strings.Repeat("foo", i) (rules.go:128)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:201:3: testRules: suggestion: strings.Repeat(part, i) (rules.go:129)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:212:6: testRules: suggestion: s1 == s2 (rules.go:97)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:213:6: testRules: suggestion: s1 < s2 (rules.go:99)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:214:6: testRules: suggestion: s1 < s2 (rules.go:100)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:215:6: testRules: suggestion: s1 > s2 (rules.go:102)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:216:6: testRules: suggestion: s1 > s2 (rules.go:103)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:228:5: testRules: suggestion: strings.HasPrefix(s1, s2) (rules.go:111)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:230:5: testRules: suggestion: strings.HasSuffix(s1, s2) (rules.go:113)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:237:6: testRules: suggestion: strings.Contains(s1, s2) (rules.go:106)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:238:6: testRules: suggestion: strings.Contains(s1, s2) (rules.go:107)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:239:6: testRules: suggestion: !strings.Contains(s1, s2) (rules.go:109)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:243:2: testRules: suggestion: fmt.Fprintf(os.Stderr, "foo: %d", x) (rules.go:82)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:244:2: testRules: suggestion: fmt.Fprintf(os.Stderr, "message") (rules.go:82)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:245:2: testRules: suggestion: fmt.Fprintf(os.Stderr, "%d%d", x, 10) (rules.go:82)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:250:2: testRules: suggestion: fmt.Printf("foo: %d", x) (rules.go:87)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:251:2: testRules: suggestion: fmt.Printf("message") (rules.go:87)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:252:2: testRules: suggestion: fmt.Printf("%d%d", x, 10) (rules.go:87)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:262:2: testRules: suggestion: sort.Strings(s1) (rules.go:89)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:263:2: testRules: suggestion: sort.Ints(ints) (rules.go:93)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:282:2: testRules: suggestion: if err := withCtx.theContext.Err(); err != nil { return err } (rules.go:64)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:288:2: testRules: suggestion: if err := ctx.Err(); err != nil { return err } (rules.go:64)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:301:1: testRules: error as underlying type is probably a mistake (rules.go:69)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:303:1: testRules: empty var() block (rules.go:73)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:307:1: testRules: empty type() block (rules.go:75)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:309:1: testRules: empty const() block (rules.go:74)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:312:2: testRules: empty var() block (rules.go:73)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:313:2: testRules: empty type() block (rules.go:75)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:314:2: testRules: empty const() block (rules.go:74)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:328:5: testRules: suggestion: clusterContext.PostInstallData.CoreDNSUpdateFunction != nil (rules.go:142)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:331:5: testRules: suggestion: clusterContext.PostInstallD<...>stedStruct.DeeplyNestedField != nil (rules.go:142)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:340:2: testRules: the parentheses around 1 are superfluous (rules.go:40)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:341:2: testRules: the parentheses around xs[0] + 2 are superfluous (rules.go:40)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:342:2: testRules: the parentheses around 1 + 2 are superfluous (rules.go:40)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:343:2: testRules: the parentheses around xs[0] + xs[1] are superfluous (rules.go:40)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:344:2: testRules: the parentheses around f(0) are superfluous (rules.go:40)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:345:2: testRules: the parentheses around 0 are superfluous (rules.go:40)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:353:2: testRules: maybe mu.RLock() was intended? (rules.go:144)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:359:2: testRules: maybe mu.Lock() was intended? (rules.go:145)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:365:2: testRules: maybe x.mu.RLock() was intended? (rules.go:144)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:371:2: testRules: maybe x.mu.Lock() was intended? (rules.go:145)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:378:8: testRules: maybe defer x.mu.Unlock() was intended? (rules.go:147)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:384:8: testRules: maybe defer x.mu.RUnlock() was intended? (rules.go:151)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:389:2: testRules: check on xs is redundant, empty/nil slices and maps can be safely iterated (rules.go:156)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:395:2: testRules: check on xs is redundant, empty/nil slices and maps can be safely iterated (rules.go:157)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:401:2: testRules: check on xs is redundant, empty/nil slices and maps can be safely iterated (rules.go:158)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:407:2: testRules: check on xs is redundant, empty/nil slices and maps can be safely iterated (rules.go:159)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:413:2: testRules: check on xs is redundant, empty/nil slices and maps can be safely iterated (rules.go:160)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:419:2: testRules: check on xs is redundant, empty/nil slices and maps can be safely iterated (rules.go:161)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:425:2: testRules: check on xs is redundant, empty/nil slices and maps can be safely iterated (rules.go:162)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:431:2: testRules: check on xs is redundant, empty/nil slices and maps can be safely iterated (rules.go:163)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:439:6: testRules: empty error (rules.go:166)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:440:6: testRules: empty error (rules.go:166)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:446:2: testRules: context.WithValue result should not be ignored (rules.go:168)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:452:1: testRules: error vars should be prefixed with Err (rules.go:172)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:454:1: testRules: error vars should be prefixed with Err (rules.go:172)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:469:2: testRules: rewrite as 'x := 20; if true { x = 10 }' (rules.go:178)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:483:2: testRules: don't ignore the getError result (rules.go:182)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:496:6: testRules: use %q instead of "%s" for quoted strings (rules.go:186)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:497:6: testRules: use %q instead of "%s" for quoted strings (rules.go:186)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:499:6: testRules: use %q instead of "%s" for quoted strings (rules.go:186)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:500:6: testRules: use %q instead of "%s" for quoted strings (rules.go:186)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:511:1: testRules: don't embed sync.Mutex (rules.go:191)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:515:1: testRules: don't embed sync.Mutex (rules.go:191)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:520:1: testRules: don't embed sync.Mutex (rules.go:191)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:525:1: testRules: don't embed sync.Mutex (rules.go:191)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:532:1: testRules: don't embed *sync.Mutex (rules.go:194)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:536:1: testRules: don't embed *sync.Mutex (rules.go:194)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:541:1: testRules: don't embed *sync.Mutex (rules.go:194)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:546:1: testRules: don't embed *sync.Mutex (rules.go:194)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:553:1: testRules: don't embed sync.RWMutex (rules.go:197)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:557:1: testRules: don't embed sync.RWMutex (rules.go:197)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:562:1: testRules: don't embed sync.RWMutex (rules.go:197)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:567:1: testRules: don't embed sync.RWMutex (rules.go:197)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:574:1: testRules: don't embed *sync.RWMutex (rules.go:200)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:578:1: testRules: don't embed *sync.RWMutex (rules.go:200)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:583:1: testRules: don't embed *sync.RWMutex (rules.go:200)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/file.go:588:1: testRules: don't embed *sync.RWMutex (rules.go:200)
            +   ruleguard: load rules: parse rules file: typechecker error: /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/extra/rules.go:5:8: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
                ... // 1 identical line
                """
              )
    --- FAIL: TestPrintIR/suggest (0.27s)
        analyzer_test.go:242: suggest output mismatches:   strings.Join({
            -   "/home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/",
            -   "src/suggest/file.go:4:6: testRules: suggestion: x == 1 || y == 1",
            -   " (rules.go:8",
            +   "ruleguard: load rules: parse rules file: typechecker error: /hom",
            +   "e/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/",
            +   "suggest/rules.go:5:8: could not import github.com/quasilyte/go-r",
            +   `uleguard/dsl (can't find import: "github.com/quasilyte/go-rulegu`,
            +   `ard/dsl"`,
                ")\n",
              }, "")
    --- FAIL: TestPrintIR/revive (0.38s)
        analyzer_test.go:242: revive output mismatches:   (
                """
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/revive/file.go:9:2: testRules: explicit call to GC (rules.go:8)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/revive/file.go:15:2: testRules: direct assignment to atomic value (rules.go:11)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/revive/file.go:17:2: testRules: direct assignment to atomic value (rules.go:15)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/revive/file.go:23:5: testRules: omit bool literal in expression (rules.go:20)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/revive/file.go:26:19: testRules: omit bool literal in expression (rules.go:23)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/revive/file.go:29:9: testRules: omit bool literal in expression (rules.go:22)
            +   ruleguard: load rules: parse rules file: typechecker error: /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/revive/rules.go:5:8: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
                """
              )
    --- FAIL: TestPrintIR/golint (0.42s)
        analyzer_test.go:242: golint output mismatches:   (
                """
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/golint/file.go:11:10: testRules: should replace error.New(fmt.Sprintf(...)) with fmt.Errorf(...) (rules.go:8)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/golint/file.go:25:3: testRules: should replace t.Error(fmt.Sprintf(...)) with t.Errorf(...) (rules.go:10)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/golint/file.go:62:10: testRules: if block ends with a return statement, so drop this else and outdent its block (rules.go:16)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/golint/file.go:70:3: testRules: if block ends with a return statement, so drop this else and outdent its block (rules.go:16)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/golint/file.go:78:3: testRules: if block ends with a return statement, so drop this else and outdent its block (rules.go:16)
            +   ruleguard: load rules: parse rules file: typechecker error: /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/golint/rules.go:5:8: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
                """
              )
    --- FAIL: TestPrintIR/govet (0.28s)
        analyzer_test.go:242: govet output mismatches:   (
                """
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/govet/file.go:15:6: shiftOverflow: i8 (8 bits) too small for shift of 8 (rules.go:8)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/govet/file.go:16:6: shiftOverflow: i8 (8 bits) too small for shift of 10 (rules.go:8)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/govet/file.go:21:6: shiftOverflow: ui8 (8 bits) too small for shift of 8 (rules.go:8)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/govet/file.go:22:6: shiftOverflow: ui8 (8 bits) too small for shift of 10 (rules.go:8)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/govet/file.go:27:6: shiftOverflow: ui16 (16 bits) too small for shift of 16 (rules.go:12)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/govet/file.go:28:6: shiftOverflow: ui16 (16 bits) too small for shift of 17 (rules.go:12)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/govet/file.go:33:6: shiftOverflow: ui32 (32 bits) too small for shift of 32 (rules.go:16)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/govet/file.go:34:6: shiftOverflow: ui32 (32 bits) too small for shift of 33 (rules.go:16)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/govet/file.go:39:6: shiftOverflow: ui64 (64 bits) too small for shift of 64 (rules.go:20)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/govet/file.go:40:6: shiftOverflow: ui64 (64 bits) too small for shift of (63 + 1) (rules.go:20)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/govet/file.go:50:7: shiftOverflow: (ui8 + 1) (8 bits) too small for shift of 9 (rules.go:8)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/govet/file.go:55:7: shiftOverflow: (ui8 + 1) (8 bits) too small for shift of 9 (rules.go:8)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/govet/file.go:70:7: shiftOverflow: (ui8 + 1) (8 bits) too small for shift of 9 (rules.go:8)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/govet/file.go:78:7: shiftOverflow: (ui8 + 1) (8 bits) too small for shift of 9 (rules.go:8)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/govet/file.go:84:7: shiftOverflow: (ui8 + 1) (8 bits) too small for shift of 9 (rules.go:8)
            +   ruleguard: load rules: parse rules file: typechecker error: /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/govet/rules.go:5:8: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
                """
              )
    --- FAIL: TestPrintIR/regression (0.45s)
        analyzer_test.go:242: regression output mismatches:   (
                """
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue115.go:10:2: issue115: "foo" is not a constexpr int (rules.go:25)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue115.go:11:2: issue115: intFunc() is not a constexpr int (rules.go:25)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue115.go:12:2: issue115: stringFunc() is not a constexpr int (rules.go:25)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue192.go:6:2: issue192: suggestion: fmt.Printf("abc", ) (rules.go:31)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue192.go:7:2: issue192: suggestion: fmt.Printf("%d", 10) (rules.go:31)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue192.go:8:2: issue192: suggestion: fmt.Printf("%d%d", 1, 2) (rules.go:31)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue192.go:10:2: issue192: suggestion: fmt.Printf("%d"+"\n", , 10) (rules.go:34)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue192.go:11:2: issue192: suggestion: fmt.Printf("%d%d"+"\n", 10, 20) (rules.go:34)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue192.go:12:2: issue192: suggestion: fmt.Printf("%d%d%s"+"\n", 10, 20, "abc") (rules.go:34)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue291.go:6:33: issue291: good, have explicit type (rules.go:44)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue291.go:14:35: issue291: good, have explicit type (rules.go:44)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue291.go:17:17: issue291: avoid use of iota without explicit type (rules.go:39)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue291.go:25:26: issue291: avoid use of iota without explicit type (rules.go:39)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue315.go:18:6: issue315: return concrete type instead of io.Reader (rules.go:57)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue315.go:22:6: issue315: return concrete type instead of io.Reader (rules.go:58)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue315.go:26:6: issue315: return concrete type instead of Issue315_Iface (rules.go:59)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue315.go:32:33: issue315: return concrete type instead of Issue315_Iface (rules.go:60)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue339.go:4:2: issue339: pattern1 (rules.go:51)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue339.go:7:2: issue339: pattern1 (rules.go:51)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue339.go:5:2: issue339: pattern2 (rules.go:52)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue339.go:14:2: issue339: pattern1 (rules.go:51)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue339.go:17:2: issue339: pattern1 (rules.go:51)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue339.go:13:2: issue339: pattern2 (rules.go:52)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue339.go:16:2: issue339: pattern2 (rules.go:52)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue339.go:20:2: issue339: pattern2 (rules.go:52)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue360.go:7:19: issue360: don't use strings.Compare (rules.go:70)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue360.go:11:23: issue360: don't use strings.Compare (rules.go:69)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue360.go:16:19: issue360: don't use strings.Compare (rules.go:70)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue360.go:23:19: issue360: don't use strings.Compare (rules.go:70)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue360.go:27:19: issue360: don't use strings.Compare (rules.go:70)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue372.go:4:6: issue372: creating a map (rules.go:76)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue372.go:5:6: issue372: creating a map (rules.go:76)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue68.go:5:1: issue68: Parallel test (rules.go:12)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue68.go:9:1: issue68: Not a parallel test (rules.go:11)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue72.go:6:6: issue72: use net/mail Address.String() instead of fmt.Sprintf() (rules.go:20)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue72.go:7:6: issue72: use net/mail Address.String() instead of fmt.Sprintf() (rules.go:16)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue72.go:8:6: issue72: use net/mail Address.String() instead of fmt.Sprintf() (rules.go:16)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/issue72.go:9:6: issue72: use net/mail Address.String() instead of fmt.Sprintf() (rules.go:17)
            +   ruleguard: load rules: parse rules file: typechecker error: /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/regression/rules.go:7:2: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
                ... // 1 identical line
                """
              )
    --- FAIL: TestPrintIR/quasigo (0.42s)
        analyzer_test.go:242: quasigo output mismatches:   (
                """
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:13:2: testRules: true (rules.go:134)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:17:2: testRules: true (rules.go:138)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:18:2: testRules: true (rules.go:138)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:23:2: testRules: true (rules.go:142)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:27:2: testRules: true (rules.go:146)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:28:2: testRules: true (rules.go:146)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:32:2: testRules: true (rules.go:150)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:33:2: testRules: true (rules.go:150)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:34:2: testRules: true (rules.go:150)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:39:2: testRules: true (rules.go:154)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:40:2: testRules: true (rules.go:154)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:41:2: testRules: true (rules.go:154)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:42:2: testRules: true (rules.go:154)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:47:2: testRules: true (rules.go:163)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:48:2: testRules: true (rules.go:163)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:49:2: testRules: true (rules.go:163)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:50:2: testRules: true (rules.go:163)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:54:2: testRules: true (rules.go:167)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:55:2: testRules: true (rules.go:167)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:56:2: testRules: true (rules.go:167)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:57:2: testRules: true (rules.go:167)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:61:2: testRules: true (rules.go:158)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:62:2: testRules: true (rules.go:158)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:66:2: testRules: true (rules.go:175)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:67:2: testRules: true (rules.go:175)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:68:2: testRules: true (rules.go:175)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:69:2: testRules: true (rules.go:175)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:77:2: testRules: true (rules.go:171)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:78:2: testRules: true (rules.go:171)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:79:2: testRules: true (rules.go:171)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:80:2: testRules: true (rules.go:171)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:81:2: testRules: true (rules.go:171)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:85:2: testRules: true (rules.go:179)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:86:2: testRules: true (rules.go:179)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:87:2: testRules: true (rules.go:179)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:92:2: testRules: true (rules.go:183)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:93:2: testRules: true (rules.go:183)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:98:2: testRules: true (rules.go:187)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:99:2: testRules: true (rules.go:187)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:100:2: testRules: true (rules.go:187)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:101:2: testRules: true (rules.go:187)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:104:3: testRules: true (rules.go:187)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:105:3: testRules: true (rules.go:187)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/target.go:107:3: testRules: true (rules.go:187)
            +   ruleguard: load rules: parse rules file: typechecker error: /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quasigo/rules.go:7:2: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
                ... // 1 identical line
                """
              )
    --- FAIL: TestPrintIR/do (0.80s)
        analyzer_test.go:242: do output mismatches:   (
                """
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/do/target.go:4:2: testRules: Hello, World! (rules.go:56)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/do/target.go:5:2: testRules: suggestion: Hello, World! (rules.go:59)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/do/target.go:8:2: testRules: "str" (rules.go:62)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/do/target.go:9:2: testRules: x+1 (rules.go:62)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/do/target.go:11:2: testRules: , world (rules.go:65)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/do/target.go:12:2: testRules: world (rules.go:65)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/do/target.go:13:2: testRules: hello, world (rules.go:65)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/do/target.go:15:2: testRules: empty string (rules.go:68)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/do/target.go:16:2: testRules: non-empty string (rules.go:68)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/do/target.go:18:2: testRules: int (rules.go:71)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/do/target.go:19:2: testRules: string (rules.go:71)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/do/target.go:20:2: testRules: []int (rules.go:71)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/do/target.go:21:2: testRules: int (rules.go:71)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/do/target.go:22:2: testRules: *int (rules.go:71)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/do/target.go:24:2: testRules: true (rules.go:74)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/do/target.go:25:2: testRules: true (rules.go:74)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/do/target.go:26:2: testRules: false (rules.go:74)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/do/target.go:27:2: testRules: false (rules.go:74)
            +   ruleguard: load rules: parse rules file: typechecker error: /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/do/rules.go:10:2: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
                """
              )
    --- FAIL: TestPrintIR/matching (0.30s)
        analyzer_test.go:242: matching output mismatches:   (
                """
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/matching/file.go:7:7: testRules: repeated expression in list (rules.go:9)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/matching/file.go:8:15: testRules: repeated expression in list (rules.go:9)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/matching/file.go:12:3: testRules: repeated expression in list (rules.go:9)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/matching/file.go:15:3: testRules: repeated expression in list (rules.go:9)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/matching/file.go:20:9: testRules: repeated expression in list (rules.go:9)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/matching/file.go:26:15: testRules: redundant slicing of a range expression (rules.go:11)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/matching/file.go:32:12: testRules: redundant slicing of a range expression (rules.go:11)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/matching/file.go:65:4: testRules: m[b.AuthorID] contains b (rules.go:15)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/matching/file.go:73:3: testRules: copy() contains a slicing operation (rules.go:19)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/matching/file.go:74:3: testRules: copy() contains a slicing operation (rules.go:19)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/matching/file.go:75:3: testRules: copy() contains a slicing operation (rules.go:19)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/matching/file.go:80:3: testRules: sink(err) call not followed by return err (rules.go:23)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/matching/file.go:90:3: testRules: sink(err2) call not followed by return err2 (rules.go:23)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/matching/file.go:99:2: testRules: expensive call inside a loop (rules.go:27)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/matching/file.go:103:2: testRules: expensive call inside a loop (rules.go:27)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/matching/file.go:112:2: testRules: expensive call inside a loop (rules.go:27)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/matching/file.go:113:3: testRules: expensive call inside a loop (rules.go:27)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/matching/file.go:123:6: testRules: nil check may not be enough to access objects[0], check for len (rules.go:31)
            +   ruleguard: load rules: parse rules file: typechecker error: /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/matching/rules.go:6:8: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
                """
              )
    --- FAIL: TestPrintIR/dgryski (0.60s)
        analyzer_test.go:242: dgryski output mismatches:   strings.Join({
            -   "/home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/",
            -   "src/dgryski/learngo.go:182:2: floateq: floating point as switch ",
            -   "expression (rules.go:225",
            +   "ruleguard: load rules: parse rules file: typechecker error: /hom",
            +   "e/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/",
            +   "dgryski/rules.go:5:8: could not import github.com/quasilyte/go-r",
            +   `uleguard/dsl (can't find import: "github.com/quasilyte/go-rulegu`,
            +   `ard/dsl"`,
                ")\n",
              }, "")
    --- FAIL: TestPrintIR/uber (0.48s)
        analyzer_test.go:242: uber output mismatches:   (
                """
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:13:5: ifacePtr: don't use pointers to an interface (rules.go:8)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:16:23: ifacePtr: don't use pointers to an interface (rules.go:8)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:19:9: ifacePtr: don't use pointers to an interface (rules.go:8)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:25:10: ifacePtr: don't use pointers to an interface (rules.go:8)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:35:2: newMutex: use zero mutex value instead, 'var mu2 sync.Mutex' (rules.go:14)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:42:2: deferCleanup: mu.Lock() should be followed by a deferred Unlock (rules.go:20)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:47:2: deferCleanup: mu.Lock() should be followed by a deferred Unlock (rules.go:20)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:55:3: deferCleanup: f.Close() should be deferred right after the os.Open error check (rules.go:24)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:64:3: deferCleanup: f.Close() should be deferred right after the os.Open error check (rules.go:24)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:103:6: channelSize: channels should have a size of one or be unbuffered (rules.go:32)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:104:6: channelSize: channels should have a size of one or be unbuffered (rules.go:32)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:108:2: enumStartsAtOne: enums should start from 1, not 0; use iota+1 (rules.go:38)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:136:2: uncheckedTypeAssert: avoid unchecked type assertions as they can panic (rules.go:45)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:138:3: uncheckedTypeAssert: avoid unchecked type assertions as they can panic (rules.go:44)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:142:2: uncheckedTypeAssert: avoid unchecked type assertions as they can panic (rules.go:46)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:143:2: uncheckedTypeAssert: avoid unchecked type assertions as they can panic (rules.go:46)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:144:2: uncheckedTypeAssert: avoid unchecked type assertions as they can panic (rules.go:46)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:145:2: uncheckedTypeAssert: avoid unchecked type assertions as they can panic (rules.go:46)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:153:7: uncheckedTypeAssert: avoid unchecked type assertions as they can panic (rules.go:47)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:154:7: uncheckedTypeAssert: avoid unchecked type assertions as they can panic (rules.go:47)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:155:7: uncheckedTypeAssert: avoid unchecked type assertions as they can panic (rules.go:47)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:157:7: uncheckedTypeAssert: avoid unchecked type assertions as they can panic (rules.go:48)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:158:7: uncheckedTypeAssert: avoid unchecked type assertions as they can panic (rules.go:48)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:159:7: uncheckedTypeAssert: avoid unchecked type assertions as they can panic (rules.go:48)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:160:7: uncheckedTypeAssert: avoid unchecked type assertions as they can panic (rules.go:48)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:164:7: uncheckedTypeAssert: avoid unchecked type assertions as they can panic (rules.go:47)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:165:7: uncheckedTypeAssert: avoid unchecked type assertions as they can panic (rules.go:47)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:166:7: uncheckedTypeAssert: avoid unchecked type assertions as they can panic (rules.go:47)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:167:7: uncheckedTypeAssert: avoid unchecked type assertions as they can panic (rules.go:47)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:169:7: uncheckedTypeAssert: avoid unchecked type assertions as they can panic (rules.go:48)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:170:7: uncheckedTypeAssert: avoid unchecked type assertions as they can panic (rules.go:48)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:171:7: uncheckedTypeAssert: avoid unchecked type assertions as they can panic (rules.go:48)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:172:7: uncheckedTypeAssert: avoid unchecked type assertions as they can panic (rules.go:48)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:180:3: unnecessaryElse: rewrite as 'x := 5; if cond { x = 10 }' (rules.go:53)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:194:2: localVarDecl: use := for local variables declaration (rules.go:59)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/file.go:195:2: localVarDecl: use := for local variables declaration (rules.go:64)
            +   ruleguard: load rules: parse rules file: typechecker error: /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/uber/rules.go:5:8: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
                ... // 1 identical line
                """
              )
    --- FAIL: TestPrintIR/localfunc (0.41s)
        analyzer_test.go:242: localfunc output mismatches:   (
                """
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/localfunc/target.go:19:2: testRules: true (rules.go:11)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/localfunc/target.go:20:2: testRules: true (rules.go:11)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/localfunc/target.go:25:2: testRules: true (rules.go:18)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/localfunc/target.go:26:2: testRules: true (rules.go:18)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/localfunc/target.go:30:2: testRules: true (rules.go:23)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/localfunc/target.go:31:2: testRules: true (rules.go:23)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/localfunc/target.go:35:2: testRules: true (rules.go:31)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/localfunc/target.go:37:2: testRules: true (rules.go:39)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/localfunc/target.go:39:2: testRules: true (rules.go:47)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/localfunc/target.go:40:2: testRules: true (rules.go:47)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/localfunc/target.go:41:2: testRules: true (rules.go:47)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/localfunc/target.go:42:2: testRules: true (rules.go:47)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/localfunc/target.go:55:2: testRules: true (rules.go:55)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/localfunc/target.go:56:2: testRules: true (rules.go:55)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/localfunc/target.go:60:2: testRules: true (rules.go:63)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/localfunc/target.go:61:2: testRules: true (rules.go:63)
            +   ruleguard: load rules: parse rules file: typechecker error: /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/localfunc/rules.go:5:8: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
                """
              )
    --- FAIL: TestPrintIR/imports (0.41s)
        analyzer_test.go:242: imports output mismatches:   (
                """
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/imports/f1.go:9:9: testCryptoRand: crypto/rand (rules.go:16)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/imports/f1.go:10:9: testMathRand: math/rand (rules.go:11)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/imports/f1.go:14:9: testMathRand: math/rand (rules.go:11)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/imports/f1.go:15:9: testCryptoRand: crypto/rand (rules.go:16)
            +   ruleguard: load rules: parse rules file: typechecker error: /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/imports/rules.go:7:2: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
                """
              )
    --- FAIL: TestPrintIR/quickfix (0.53s)
        analyzer_test.go:242: quickfix output mismatches:   (
                """
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quickfix/rangeClause.go:9:15: rangeRuneSlice: suggestion: range s (rules.go:9)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quickfix/rangeClause.go:15:15: rangeRuneSlice: suggestion: range s[:] (rules.go:9)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quickfix/rangeClause.go:22:15: rangeRuneSlice: suggestion: range getString() (rules.go:9)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quickfix/rangeClause.go:28:17: rangeRuneSlice: suggestion: range "foo" (rules.go:9)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quickfix/rangeClause.go:29:18: rangeRuneSlice: suggestion: range "123" (rules.go:9)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quickfix/rangeClause.go:39:3: writeString: suggestion: buf.WriteString("example") (rules.go:15)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quickfix/rangeClause.go:43:3: writeString: suggestion: (&buf).WriteString("example") (rules.go:15)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quickfix/rangeClause.go:48:3: writeString: suggestion: buf.WriteString("example") (rules.go:15)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quickfix/rangeClause.go:52:3: writeString: suggestion: buffers[0].WriteString("str") (rules.go:15)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quickfix/rangeClause.go:60:3: writeString: suggestion: o.buf.WriteString("foo") (rules.go:15)
            -   /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quickfix/rangeClause.go:68:3: writeString: suggestion: o.buf.WriteString("foo") (rules.go:15)
            +   ruleguard: load rules: parse rules file: typechecker error: /home/ldez/sources/golangci-lint/go-ruleguard/analyzer/testdata/src/quickfix/rules.go:6:8: could not import github.com/quasilyte/go-ruleguard/dsl (can't find import: "github.com/quasilyte/go-ruleguard/dsl")
                """
              )
FAIL
FAIL    github.com/quasilyte/go-ruleguard/analyzer      21.008s
ok      github.com/quasilyte/go-ruleguard/internal/goenv        (cached)
ok      github.com/quasilyte/go-ruleguard/internal/xsrcimporter (cached)
ok      github.com/quasilyte/go-ruleguard/ruleguard     (cached)
ok      github.com/quasilyte/go-ruleguard/ruleguard/irconv      (cached)
ok      github.com/quasilyte/go-ruleguard/ruleguard/quasigo     (cached)
ok      github.com/quasilyte/go-ruleguard/ruleguard/textmatch   (cached)
ok      github.com/quasilyte/go-ruleguard/ruleguard/typematch   (cached)
FAIL
 

from go-critic.

cristaloleg avatar cristaloleg commented on September 25, 2024

CC: @quasilyte

from go-critic.

ldez avatar ldez commented on September 25, 2024

We have a problem: ruleguard has not been fixed for go1.21 and I know that people will start to ask for the support of go1.21 inside golangci-lint in the following hours.

We have several solutions:

  • fix ruleguard (the best but not trivial)
  • disable ruleguard inside go-critic for go1.21
  • disable ruleguard inside golangci-lint for go1.21
  • disable ruleguard inside golangci-lint
  • disable go-critic inside golangci-lint for go1.21 (the worst, I think we don't need that)

from go-critic.

cristaloleg avatar cristaloleg commented on September 25, 2024

Fixed in #1363 and released https://github.com/go-critic/go-critic/releases/tag/v0.9.0

from go-critic.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.