package implementation

import "golang.org/x/tools/internal/lsp/implementation/other"

type ImpP struct{} //@ImpP

func (*ImpP) Laugh() { //@mark(LaughP, "Laugh")
}

type ImpS struct{} //@ImpS

func (ImpS) Laugh() { //@mark(LaughS, "Laugh")
}

type ImpI interface { //@ImpI
	Laugh() //@mark(LaughI, "Laugh"),implementations("augh", LaughP),implementations("augh", OtherLaughP),implementations("augh", LaughS),implementations("augh", LaughL),implementations("augh", OtherLaughI),implementations("augh", OtherLaughS)
}

type Laugher interface { //@Laugher,implementations("augher", ImpP),implementations("augher", OtherImpP),implementations("augher", ImpI),implementations("augher", ImpS),implementations("augher", OtherImpI),implementations("augher", OtherImpS),
	Laugh() //@mark(LaughL, "Laugh"),implementations("augh", LaughP),implementations("augh", OtherLaughP),implementations("augh", LaughI),implementations("augh", LaughS),implementations("augh", OtherLaughI),implementations("augh", OtherLaughS)
}

type Foo struct {
	other.Foo
}

type U interface {
	U() //TODO: fix flaky @implementations("U", ImpU)
}

type cryer int

func (cryer) Cry(other.CryType) {} //@mark(CryImpl, "Cry")
