--- /dev/null
+package b
+
+import "fmt"
+
+// Wrapf is a printf wrapper.
+func Wrapf(format string, args ...interface{}) { // want Wrapf:"printfWrapper"
+ fmt.Sprintf(format, args...)
+}
+
+// Wrap is a print wrapper.
+func Wrap(args ...interface{}) { // want Wrap:"printWrapper"
+ fmt.Sprint(args...)
+}
+
+// NoWrap is not a wrapper.
+func NoWrap(format string, args ...interface{}) {
+}
+
+// Wrapf2 is another printf wrapper.
+func Wrapf2(format string, args ...interface{}) string { // want Wrapf2:"printfWrapper"
+
+ // This statement serves as an assertion that this function is a
+ // printf wrapper and that calls to it should be checked
+ // accordingly, even though the delegation below is obscured by
+ // the "("+format+")" operations.
+ if false {
+ fmt.Sprintf(format, args...)
+ }
+
+ // Effectively a printf delegation,
+ // but the printf checker can't see it.
+ return fmt.Sprintf("("+format+")", args...)
+}