mirror of
https://github.com/golang/go
synced 2024-11-21 22:04:39 -07:00
gc: test case for recursive interface bug.
R=rsc CC=golang-dev https://golang.org/cl/5555066
This commit is contained in:
parent
e56dc0ad37
commit
c3eddc4503
15
test/interface/recursive1.go
Normal file
15
test/interface/recursive1.go
Normal file
@ -0,0 +1,15 @@
|
||||
// true # used by recursive2
|
||||
|
||||
// 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.
|
||||
|
||||
package p
|
||||
|
||||
type I1 interface {
|
||||
F() I2
|
||||
}
|
||||
|
||||
type I2 interface {
|
||||
I1
|
||||
}
|
22
test/interface/recursive2.go
Normal file
22
test/interface/recursive2.go
Normal file
@ -0,0 +1,22 @@
|
||||
// $G $D/recursive1.go && $G $D/$F.go
|
||||
|
||||
// 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.
|
||||
|
||||
// Check that the mutually recursive types in recursive1.go made it
|
||||
// intact and with the same meaning, by assigning to or using them.
|
||||
|
||||
package main
|
||||
|
||||
import "./recursive1"
|
||||
|
||||
func main() {
|
||||
var i1 p.I1
|
||||
var i2 p.I2
|
||||
i1 = i2
|
||||
i2 = i1
|
||||
i1 = i2.F()
|
||||
i2 = i1.F()
|
||||
_, _ = i1, i2
|
||||
}
|
Loading…
Reference in New Issue
Block a user