cl: processPkg check runtimeTypes for generic method

This commit is contained in:
visualfc
2024-09-09 11:03:02 +08:00
parent 74b48ff56b
commit 3bdb921ee5
4 changed files with 854 additions and 4 deletions

37
cl/_testrt/tpmethod/in.go Normal file
View File

@@ -0,0 +1,37 @@
package main
type Tuple[T any] struct {
v T
}
func (t Tuple[T]) Get() T {
return t.v
}
type Future[T any] interface {
Then(func(T))
}
type future[T any] struct {
fn func(func(T))
}
func (f *future[T]) Then(callback func(T)) {
f.fn(callback)
}
func Async[T any](fn func(func(T))) Future[T] {
return &future[T]{fn: fn}
}
func ReadFile(fileName string) Future[Tuple[error]] {
return Async[Tuple[error]](func(resolve func(Tuple[error])) {
resolve(Tuple[error]{v: nil})
})
}
func main() {
ReadFile("foo.txt").Then(func(v Tuple[error]) {
println(v.Get())
})
}