| This test verifies that stubmethods quickfix generates correct | |
| signatures for instantiated generic interfaces. See golang/go#79845. | |
| -- go.mod -- | |
| module mod.com | |
| go 1.18 | |
| -- main.go -- | |
| package main | |
| type Group[E any] interface { | |
| Identity() E | |
| Combine(E, E) E | |
| Inverse(E) E | |
| } | |
| type IntegersModuloPrime struct { | |
| mod int | |
| } | |
| var _ Group[int] = IntegersModuloPrime{} //@quickfix(re"IntegersModuloPrime", re"missing method", stub) | |
| -- @stub/main.go -- | |
| @@ -13 +13,14 @@ | |
| -var _ Group[int] = IntegersModuloPrime{} //@quickfix(re"IntegersModuloPrime", re"missing method", stub) | |
| +// Combine implements [Group]. | |
| +func (i IntegersModuloPrime) Combine(int, int) int { | |
| + panic("unimplemented") | |
| +} | |
| + | |
| +// Identity implements [Group]. | |
| +func (i IntegersModuloPrime) Identity() int { | |
| + panic("unimplemented") | |
| +} | |
| + | |
| +// Inverse implements [Group]. | |
| +func (i IntegersModuloPrime) Inverse(int) int { | |
| + panic("unimplemented") | |
| +} | |
| @@ -15 +28 @@ | |
| +var _ Group[int] = IntegersModuloPrime{} //@quickfix(re"IntegersModuloPrime", re"missing method", stub) |