+++ /dev/null
-// +build ignore
-
-package C1
-
-import "strings"
-
-func example() {
- x := "foo"
- println(x)
-
- // Match, but the transformation is not sound w.r.t. possible side effects.
- println(strings.Repeat("*", 3))
-
- // No match, since second use of wildcard doesn't match first.
- println(strings.Repeat("*", 3)[:len(strings.Repeat("*", 2))])
-
- // Recursive match demonstrating bottom-up rewrite:
- // only after the inner replacement occurs does the outer syntax match.
- println(x)
- // -> (x[:len(x)])
- // -> x
-}