mirror of
https://github.com/golang/go
synced 2024-09-06 00:19:45 +00:00
![Ian Lance Taylor](/assets/img/avatar_default.png)
The gccgo compiler had two different bugs triggered by this test case. R=golang-dev, r CC=golang-dev https://golang.org/cl/5606052
41 lines
634 B
Go
41 lines
634 B
Go
// true
|
|
|
|
// Copyright 2012 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.
|
|
|
|
// Test method expressions with arguments.
|
|
// This file is not tested by itself; it is imported by method4.go.
|
|
|
|
package method4a
|
|
|
|
type T1 int
|
|
|
|
type T2 struct {
|
|
F int
|
|
}
|
|
|
|
type I1 interface {
|
|
Sum([]int, int) int
|
|
}
|
|
|
|
type I2 interface {
|
|
Sum(a []int, b int) int
|
|
}
|
|
|
|
func (i T1) Sum(a []int, b int) int {
|
|
r := int(i) + b
|
|
for _, v := range a {
|
|
r += v
|
|
}
|
|
return r
|
|
}
|
|
|
|
func (p *T2) Sum(a []int, b int) int {
|
|
r := p.F + b
|
|
for _, v := range a {
|
|
r += v
|
|
}
|
|
return r
|
|
}
|