| Test of 'implementation' query on generic types. |
| |
| -- go.mod -- |
| module example.com |
| go 1.18 |
| |
| -- implementation/implementation.go -- |
| package implementation |
| |
| type GenIface[T any] interface { //@loc(GenIface, "GenIface"),implementation("GenIface", GC) |
| F(int, string, T) //@loc(GenIfaceF, "F"),implementation("F", GCF) |
| } |
| |
| type GenConc[U any] int //@loc(GenConc, "GenConc"),implementation("GenConc", GI) |
| |
| func (GenConc[V]) F(int, string, V) {} //@loc(GenConcF, "F"),implementation("F", GIF) |
| |
| type GenConcString struct{ GenConc[string] } //@loc(GenConcString, "GenConcString"),implementation(GenConcString, GIString) |
| |
| -- other/other.go -- |
| package other |
| |
| type GI[T any] interface { //@loc(GI, "GI"),implementation("GI", GenConc) |
| F(int, string, T) //@loc(GIF, "F"),implementation("F", GenConcF) |
| } |
| |
| type GIString GI[string] //@loc(GIString, "GIString"),implementation("GIString", GenConcString) |
| |
| type GC[U any] int //@loc(GC, "GC"),implementation("GC", GenIface) |
| |
| func (GC[V]) F(int, string, V) {} //@loc(GCF, "F"),implementation("F", GenIfaceF) |