.gitignore added
[dotfiles/.git] / .config / coc / extensions / coc-go-data / tools / pkg / mod / golang.org / x / tools@v0.1.1-0.20210319172145-bda8f5cee399 / refactor / eg / testdata / C1.go
1 package C1
2
3 import "strings"
4
5 func example() {
6         x := "foo"
7         println(x[:len(x)])
8
9         // Match, but the transformation is not sound w.r.t. possible side effects.
10         println(strings.Repeat("*", 3)[:len(strings.Repeat("*", 3))])
11
12         // No match, since second use of wildcard doesn't match first.
13         println(strings.Repeat("*", 3)[:len(strings.Repeat("*", 2))])
14
15         // Recursive match demonstrating bottom-up rewrite:
16         // only after the inner replacement occurs does the outer syntax match.
17         println((x[:len(x)])[:len(x[:len(x)])])
18         // -> (x[:len(x)])
19         // -> x
20 }