-- 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")
}

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

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

type embeddedInterface interface {
	sort.Interface
	io.Reader
}

