Initial commit: Go 1.23 release state
This commit is contained in:
37
test/typeparam/issue51219b.dir/a.go
Normal file
37
test/typeparam/issue51219b.dir/a.go
Normal file
@@ -0,0 +1,37 @@
|
||||
// Copyright 2022 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 Interaction[DataT InteractionDataConstraint] struct {
|
||||
}
|
||||
|
||||
type InteractionDataConstraint interface {
|
||||
[]byte |
|
||||
UserCommandInteractionData
|
||||
}
|
||||
|
||||
type UserCommandInteractionData struct {
|
||||
resolvedInteractionWithOptions
|
||||
}
|
||||
|
||||
type resolvedInteractionWithOptions struct {
|
||||
Resolved Resolved `json:"resolved,omitempty"`
|
||||
}
|
||||
|
||||
type Resolved struct {
|
||||
Users ResolvedData[User] `json:"users,omitempty"`
|
||||
}
|
||||
|
||||
type ResolvedData[T ResolvedDataConstraint] map[uint64]T
|
||||
|
||||
type ResolvedDataConstraint interface {
|
||||
User | Message
|
||||
}
|
||||
|
||||
type User struct{}
|
||||
|
||||
type Message struct {
|
||||
Interaction *Interaction[[]byte] `json:"interaction,omitempty"`
|
||||
}
|
||||
14
test/typeparam/issue51219b.dir/b.go
Normal file
14
test/typeparam/issue51219b.dir/b.go
Normal file
@@ -0,0 +1,14 @@
|
||||
// Copyright 2022 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 b
|
||||
|
||||
import (
|
||||
"./a"
|
||||
)
|
||||
|
||||
// InteractionRequest is an incoming request Interaction
|
||||
type InteractionRequest[T a.InteractionDataConstraint] struct {
|
||||
a.Interaction[T]
|
||||
}
|
||||
14
test/typeparam/issue51219b.dir/p.go
Normal file
14
test/typeparam/issue51219b.dir/p.go
Normal file
@@ -0,0 +1,14 @@
|
||||
// Copyright 2022 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 p
|
||||
|
||||
import (
|
||||
"./b"
|
||||
)
|
||||
|
||||
// ResponseWriterMock mocks corde's ResponseWriter interface
|
||||
type ResponseWriterMock struct {
|
||||
x b.InteractionRequest[[]byte]
|
||||
}
|
||||
Reference in New Issue
Block a user