mirror of
				https://github.com/golang/go.git
				synced 2025-11-04 10:40:57 +00:00 
			
		
		
		
	Follows suit with https://go-review.googlesource.com/#/c/20111. Generated by running $ grep -R 'Go Authors. All' * | cut -d":" -f1 | while read F;do perl -pi -e 's/Go Authors. All/Go Authors. All/g' $F;done The code in cmd/internal/unvendor wasn't changed. Fixes #15213 Change-Id: I4f235cee0a62ec435f9e8540a1ec08ae03b1a75f Reviewed-on: https://go-review.googlesource.com/21819 Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
		
			
				
	
	
		
			45 lines
		
	
	
	
		
			742 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
	
		
			742 B
		
	
	
	
		
			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
 | 
						|
}
 |