package fail

type Counter struct{ N int }

func (c *Counter) Inc() { c.N++ }

type Incrementer interface{ Inc() }

var _ Incrementer = Counter{}

type Left struct{ X int }
type Right struct{ X int }
type Both struct {
	Left
	Right
}

func invalid() {
	Counter{}.Inc()
	m := map[string]Counter{"x": {}}
	m["x"].Inc()
	_ = Counter.Inc
	var both Both
	_ = both.X
}
