mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
go/types: report invalid ... in conversions
This is a port of CL 277072 from the dev.typeparams branch. Fixes #43124 Change-Id: I1424c396dc1ea984ec85b8f31a4d43353bf7e4fc Reviewed-on: https://go-review.googlesource.com/c/go/+/277352 Run-TryBot: Robert Findley <rfindley@google.com> TryBot-Result: Go Bot <gobot@golang.org> Trust: Robert Findley <rfindley@google.com> Reviewed-by: Robert Griesemer <gri@golang.org>
This commit is contained in:
parent
278b9a8a4a
commit
6e3cc5c56f
2 changed files with 20 additions and 0 deletions
|
|
@ -33,6 +33,10 @@ func (check *Checker) call(x *operand, e *ast.CallExpr) exprKind {
|
|||
case 1:
|
||||
check.expr(x, e.Args[0])
|
||||
if x.mode != invalid {
|
||||
if e.Ellipsis.IsValid() {
|
||||
check.errorf(e.Args[0], _BadDotDotDotSyntax, "invalid use of ... in conversion to %s", T)
|
||||
break
|
||||
}
|
||||
check.conversion(x, T)
|
||||
}
|
||||
default:
|
||||
|
|
|
|||
16
src/go/types/fixedbugs/issue43124.src
Normal file
16
src/go/types/fixedbugs/issue43124.src
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
// Copyright 2020 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
|
||||
|
||||
var _ = int(0 /* ERROR invalid use of \.\.\. in conversion to int */ ...)
|
||||
|
||||
// test case from issue
|
||||
|
||||
type M []string
|
||||
|
||||
var (
|
||||
x = []string{"a", "b"}
|
||||
_ = M(x /* ERROR invalid use of \.\.\. in conversion to M */ ...)
|
||||
)
|
||||
Loading…
Add table
Add a link
Reference in a new issue