mirror of
https://github.com/golang/go
synced 2024-11-23 00:40:08 -07:00
28 lines
586 B
Go
28 lines
586 B
Go
|
// $G $D/$F.dir/one.go && $G $D/$F.dir/two.go && $G $D/$F.go && $L $F.$A && ./$A.out
|
||
|
|
||
|
// 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 converting a type defined in a different package to an
|
||
|
// interface defined in a third package, where the interface has a
|
||
|
// hidden method. This used to cause a link error with gccgo.
|
||
|
|
||
|
package main
|
||
|
|
||
|
import (
|
||
|
"./one"
|
||
|
"./two"
|
||
|
)
|
||
|
|
||
|
func F(i1 one.I1) {
|
||
|
switch v := i1.(type) {
|
||
|
case two.S2:
|
||
|
one.F1(v)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func main() {
|
||
|
F(nil)
|
||
|
}
|