-- suggestedfix_stub_typedecl_group_9_9 --
package stub

// Regression test for Issue #56825: file corrupted by insertion of
// methods after TypeSpec in a parenthesized TypeDecl.

import "io"

func newReadCloser() io.ReadCloser {
	return rdcloser{} //@suggestedfix("rd", "refactor.rewrite", "")
}

type (
	A        int
	rdcloser struct{}
	B        int
)

// Close implements io.ReadCloser
func (rdcloser) Close() error {
	panic("unimplemented")
}

// Read implements io.ReadCloser
func (rdcloser) Read(p []byte) (n int, err error) {
	panic("unimplemented")
}

func _() {
	// Local types can't be stubbed as there's nowhere to put the methods.
	// The suggestedfix assertion can't express this yet. TODO(adonovan): support it.
	type local struct{}
	var _ io.ReadCloser = local{} // want error: `local type "local" cannot be stubbed`
}

type (
	C int
)

