-- suggestedfix_stub_embedded_8_27 --
package stub

import (
	"io"
	"sort"
)

var _ embeddedInterface = (*embeddedConcrete)(nil) //@suggestedfix("(", "refactor.rewrite")

type embeddedConcrete struct{}

// Len implements embeddedInterface
func (*embeddedConcrete) Len() int {
	panic("unimplemented")
}

// Less implements embeddedInterface
func (*embeddedConcrete) Less(i int, j int) bool {
	panic("unimplemented")
}

// Swap implements embeddedInterface
func (*embeddedConcrete) Swap(i int, j int) {
	panic("unimplemented")
}

// Read implements embeddedInterface
func (*embeddedConcrete) Read(p []byte) (n int, err error) {
	panic("unimplemented")
}

type embeddedInterface interface {
	sort.Interface
	io.Reader
}

