Giant blob of minor changes
[dotfiles/.git] / .config / coc / extensions / coc-go-data / tools / pkg / mod / honnef.co / go / tools@v0.0.1-2020.1.5 / staticcheck / testdata / src / CheckRegexps / CheckRegexps.go
1 package pkg
2
3 import (
4         "log"
5         "regexp"
6 )
7
8 const c1 = `[`
9 const c2 = `(abc)`
10
11 var re1 = regexp.MustCompile(`ab\yef`) // want `error parsing regexp`
12 var re2 = regexp.MustCompile(c1)       // want `error parsing regexp`
13 var re3 = regexp.MustCompile(c2)
14 var re4 = regexp.MustCompile(
15         c1, // want `error parsing regexp`
16 )
17
18 func fn() {
19         _, err := regexp.Compile(`foo(`) // want `error parsing regexp`
20         if err != nil {
21                 panic(err)
22         }
23         if re2.MatchString("foo(") {
24                 log.Println("of course 'foo(' matches 'foo('")
25         }
26
27         regexp.Match("foo(", nil)       // want `error parsing regexp`
28         regexp.MatchReader("foo(", nil) // want `error parsing regexp`
29         regexp.MatchString("foo(", "")  // want `error parsing regexp`
30 }
31
32 // must be a basic type to trigger SA4017 (in case of a test failure)
33 type T string
34
35 func (T) Fn() {}
36
37 // Don't get confused by methods named init
38 func (T) init() {}
39
40 // this will become a synthetic init function, that we don't want to
41 // ignore
42 var _ = regexp.MustCompile("(") // want `error parsing regexp`