// errorcheck

// Copyright 2012 The Go Authors.  All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// Issue 4458: gc accepts invalid method expressions
// like (**T).Method.

package main

type T struct{}

func (T) foo() {}

func main() {
	av := T{}
	pav := &av
	(**T).foo(&pav) // ERROR "no method foo|requires named type or pointer to named"
}
