Initial commit: Go 1.23 release state
This commit is contained in:
9
test/typeparam/aliasimp.dir/a.go
Normal file
9
test/typeparam/aliasimp.dir/a.go
Normal file
@@ -0,0 +1,9 @@
|
||||
// Copyright 2020 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
|
||||
|
||||
type Rimp[T any] struct {
|
||||
F T
|
||||
}
|
||||
41
test/typeparam/aliasimp.dir/main.go
Normal file
41
test/typeparam/aliasimp.dir/main.go
Normal file
@@ -0,0 +1,41 @@
|
||||
// Copyright 2020 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
|
||||
|
||||
import "./a"
|
||||
|
||||
type R[T any] struct {
|
||||
F T
|
||||
}
|
||||
|
||||
// type S = R // disallowed for now
|
||||
|
||||
type Sint = R[int]
|
||||
|
||||
// type Simp = a.Rimp // disallowed for now
|
||||
|
||||
// type SimpString Simp[string] // disallowed for now
|
||||
type SimpString a.Rimp[string]
|
||||
|
||||
func main() {
|
||||
// var s S[int] // disallowed for now
|
||||
var s R[int]
|
||||
if s.F != 0 {
|
||||
panic(s.F)
|
||||
}
|
||||
var s2 Sint
|
||||
if s2.F != 0 {
|
||||
panic(s2.F)
|
||||
}
|
||||
// var s3 Simp[string] // disallowed for now
|
||||
var s3 a.Rimp[string]
|
||||
if s3.F != "" {
|
||||
panic(s3.F)
|
||||
}
|
||||
var s4 SimpString
|
||||
if s4.F != "" {
|
||||
panic(s4.F)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user