mirror of
				https://github.com/golang/go.git
				synced 2025-11-04 02:30:57 +00:00 
			
		
		
		
	Updates #26335 Change-Id: Ibfb1e232a0c66fa699842c8908ae5ff0f5d2177d Reviewed-on: https://go-review.googlesource.com/123316 Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
		
			
				
	
	
		
			32 lines
		
	
	
	
		
			563 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
	
		
			563 B
		
	
	
	
		
			Go
		
	
	
	
	
	
// run
 | 
						|
 | 
						|
// Copyright 2018 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.
 | 
						|
 | 
						|
// gccgo mishandled passing a struct with an empty field through
 | 
						|
// reflect.Value.Call.
 | 
						|
 | 
						|
package main
 | 
						|
 | 
						|
import (
 | 
						|
	"reflect"
 | 
						|
)
 | 
						|
 | 
						|
type Empty struct {
 | 
						|
	f1, f2 *byte
 | 
						|
	empty struct{}
 | 
						|
}
 | 
						|
 | 
						|
func F(e Empty, s []string) {
 | 
						|
	if len(s) != 1 || s[0] != "hi" {
 | 
						|
		panic("bad slice")
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func main() {
 | 
						|
	reflect.ValueOf(F).Call([]reflect.Value{
 | 
						|
		reflect.ValueOf(Empty{}),
 | 
						|
		reflect.ValueOf([]string{"hi"}),
 | 
						|
	})
 | 
						|
}
 |