| // Copyright 2022 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| package p |
| |
| import ( |
| "context" |
| "database/sql" |
| ) |
| |
| type I interface { |
| m(int, int, *int, int) |
| } |
| |
| type T struct{} |
| |
| func (_ *T) m(a, b, c, d int) {} |
| |
| var _ I = new /* ERROR have m\(int, int, int, int\)\n\t\twant m\(int, int, \*int, int\) */ (T) |
| |
| // (slightly modified) test case from issue |
| |
| type Result struct { |
| Value string |
| } |
| |
| type Executor interface { |
| Execute(context.Context, sql.Stmt, int, []sql.NamedArg, int) (Result, error) |
| } |
| |
| type myExecutor struct{} |
| |
| func (_ *myExecutor) Execute(ctx context.Context, stmt sql.Stmt, maxrows int, args []sql.NamedArg, urgency int) (*Result, error) { |
| return &Result{}, nil |
| } |
| |
| var ex Executor = new /* ERROR have Execute\(context\.Context, sql\.Stmt, int, \[\]sql\.NamedArg, int\) \(\*Result, error\)\n\t\twant Execute\(context\.Context, sql\.Stmt, int, \[\]sql\.NamedArg, int\) \(Result, error\) */ (myExecutor) |