go interfacearg 源码
golang interfacearg 代码
文件路径:/test/typeparam/interfacearg.go
// run
// Copyright 2021 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 main
type I interface{}
type _S[T any] struct {
x *T
}
// F is a non-generic function, but has a type _S[I] which is instantiated from a
// generic type. Test that _S[I] is successfully exported.
func F() {
v := _S[I]{}
if v.x != nil {
panic(v)
}
}
// Testing the various combinations of method expressions.
type S1 struct{}
func (*S1) M() {}
type S2 struct{}
func (S2) M() {}
func _F1[T interface{ M() }](t T) {
_ = T.M
}
func F2() {
_F1(&S1{})
_F1(S2{})
_F1(&S2{})
}
func main() {
F()
F2()
}
相关信息
相关文章
0
赞
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
7、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦