| Server IP : 217.160.0.135 / Your IP : 216.73.217.85 Web Server : Apache System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64 User : sws1074145052 ( 1074145052) PHP Version : 8.3.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /lib/go/test/typeparam/issue49027.dir/ |
Upload File : |
// 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 a
func Conv(v interface{}) string {
return conv[string](v)
}
func conv[T any](v interface{}) T {
return v.(T)
}
func Conv2(v interface{}) (string, bool) {
return conv2[string](v)
}
func conv2[T any](v interface{}) (T, bool) {
x, ok := v.(T)
return x, ok
}
func Conv3(v interface{}) string {
return conv3[string](v)
}
func conv3[T any](v interface{}) T {
switch v := v.(type) {
case T:
return v
default:
var z T
return z
}
}
type Mystring string
func (Mystring) Foo() {
}
func Conv4(v interface{Foo()}) Mystring {
return conv4[Mystring](v)
}
func conv4[T interface{Foo()}](v interface{Foo()}) T {
switch v := v.(type) {
case T:
return v
default:
var z T
return z
}
}