mirror of
https://github.com/golang/go.git
synced 2025-05-28 02:41:30 +00:00
cmd/gc: fix incorrect error when using f(g()) form on ... args
Fixes #5358. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/11282044
This commit is contained in:
parent
4949dcb211
commit
7e270cf6c4
@ -2131,9 +2131,9 @@ typecheckaste(int op, Node *call, int isddd, Type *tstruct, NodeList *nl, char *
|
||||
for(; tn; tn=tn->down) {
|
||||
if(assignop(tn->type, tl->type->type, &why) == 0) {
|
||||
if(call != N)
|
||||
yyerror("cannot use %T as type %T in argument to %N%s", tn->type, tl->type, call, why);
|
||||
yyerror("cannot use %T as type %T in argument to %N%s", tn->type, tl->type->type, call, why);
|
||||
else
|
||||
yyerror("cannot use %T as type %T in %s%s", tn->type, tl->type, desc, why);
|
||||
yyerror("cannot use %T as type %T in %s%s", tn->type, tl->type->type, desc, why);
|
||||
}
|
||||
}
|
||||
goto out;
|
||||
|
17
test/fixedbugs/issue5358.go
Normal file
17
test/fixedbugs/issue5358.go
Normal file
@ -0,0 +1,17 @@
|
||||
// errorcheck
|
||||
|
||||
// Copyright 2013 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.
|
||||
|
||||
// issue 5358: incorrect error message when using f(g()) form on ... args.
|
||||
|
||||
package main
|
||||
|
||||
func f(x int, y ...int) {}
|
||||
|
||||
func g() (int, []int)
|
||||
|
||||
func main() {
|
||||
f(g()) // ERROR "as type int in"
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user