// 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

type Map map[string]int

func f[M ~map[K]V, K comparable, V any](M) {}
func g[M map[K]V, K comparable, V any](M) {}

func _[M1 ~map[K]V, M2 map[K]V, K comparable, V any]() {
        var m1 M1
        f(m1)
        g( /* ERROR M1 does not implement map\[K\]V */ m1) // M1 has tilde

        var m2 M2
        f(m2)
        g(m2) // M1 does not have tilde

        var m3 Map
        f(m3)
        g( /* ERROR Map does not implement map\[string\]int */ m3) // M in g does not have tilde
}
