blob: 1a01c7d8b4d7d1f0d0cd7e181c2fdb6804256ab8 [file] [edit]
// This code relies on pre-go1.28 string(integer) conversion rules;
// the build tag downgrades the file to go1.21 (the oldest version
// to which a build tag can downgrade).
//go:build go1.21
package fix
type str = string
// The conversion is dropped when T is string, even via an alias...
func _(x int16) str {
return str(x) // want `conversion from int16 to str \(string\) yields...`
}
// ...but not when T is a type parameter whose only term is string.
func _[S ~string](x int16) S {
return S(x) // want `conversion from int16 to string \(in S\) yields...`
}