github.com/go-asm/go@v1.21.1-0.20240213172139-40c5ead50c48/types/testdata/fixedbugs/issue40789.go (about) 1 // Copyright 2021 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package main 6 7 import "fmt" 8 9 func main() { 10 m := map[string]int{ 11 "a": 6, 12 "b": 7, 13 } 14 fmt.Println(copyMap[map[string]int, string, int](m)) 15 } 16 17 type Map[K comparable, V any] interface { 18 map[K] V 19 } 20 21 func copyMap[M Map[K, V], K comparable, V any](m M) M { 22 m1 := make(M) 23 for k, v := range m { 24 m1[k] = v 25 } 26 return m1 27 } 28 29 // simpler test case from the same issue 30 31 type A[X comparable] interface { 32 []X 33 } 34 35 func f[B A[X], X comparable]() B { 36 return nil 37 }