go issue5231 源码
golang issue5231 代码
文件路径:/test/fixedbugs/issue5231.go
// compile
// 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 5231: method values lose their variadic property.
package p
type T int
func (t T) NotVariadic(s []int) int {
	return int(t) + s[0]
}
func (t T) Variadic(s ...int) int {
	return int(t) + s[0]
}
type I interface {
	NotVariadic(s []int) int
	Variadic(s ...int) int
}
func F() {
	var t T
	var p *T = &t
	var i I = p
	nv := t.NotVariadic
	nv = p.NotVariadic
	nv = i.NotVariadic
	var s int = nv([]int{1, 2, 3})
	v := t.Variadic
	v = p.Variadic
	v = i.Variadic
	s = v(1, 2, 3)
	var f1 func([]int) int = nv
	var f2 func(...int) int = v
	_, _, _ = f1, f2, s
}
相关信息
相关文章
                        
                            0
                        
                        
                             赞
                        
                    
                    
                热门推荐
- 
                        2、 - 优质文章
 - 
                        3、 gate.io
 - 
                        7、 openharmony
 - 
                        9、 golang