2021-05-24 21:15:48 +00:00
|
|
|
// 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
|
|
|
|
|
2022-03-23 22:09:31 +00:00
|
|
|
import "./a"
|
2021-05-24 21:15:48 +00:00
|
|
|
|
|
|
|
type R[T any] struct {
|
2021-07-28 20:39:30 +00:00
|
|
|
F T
|
2021-05-24 21:15:48 +00:00
|
|
|
}
|
|
|
|
|
2021-08-31 03:30:25 +00:00
|
|
|
// type S = R // disallowed for now
|
2021-05-24 21:15:48 +00:00
|
|
|
|
|
|
|
type Sint = R[int]
|
|
|
|
|
2021-08-31 03:30:25 +00:00
|
|
|
// type Simp = a.Rimp // disallowed for now
|
2021-05-24 21:15:48 +00:00
|
|
|
|
2021-08-31 03:30:25 +00:00
|
|
|
// type SimpString Simp[string] // disallowed for now
|
|
|
|
type SimpString a.Rimp[string]
|
2021-05-24 21:15:48 +00:00
|
|
|
|
|
|
|
func main() {
|
2021-08-31 03:30:25 +00:00
|
|
|
// var s S[int] // disallowed for now
|
|
|
|
var s R[int]
|
2021-05-24 21:15:48 +00:00
|
|
|
if s.F != 0 {
|
|
|
|
panic(s.F)
|
|
|
|
}
|
|
|
|
var s2 Sint
|
|
|
|
if s2.F != 0 {
|
|
|
|
panic(s2.F)
|
|
|
|
}
|
2021-08-31 03:30:25 +00:00
|
|
|
// var s3 Simp[string] // disallowed for now
|
|
|
|
var s3 a.Rimp[string]
|
2021-05-24 21:15:48 +00:00
|
|
|
if s3.F != "" {
|
|
|
|
panic(s3.F)
|
|
|
|
}
|
|
|
|
var s4 SimpString
|
|
|
|
if s4.F != "" {
|
|
|
|
panic(s4.F)
|
|
|
|
}
|
|
|
|
}
|