Fixes #20602.
Change-Id: Iac1589484dec626c018314e0cea7efce091fd87d
Reviewed-on: https://go-review.googlesource.com/45075
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
}
n.Left = typecheck(n.Left, Erv)
n.Left = defaultlit(n.Left, nil)
- n.Left = implicitstar(n.Left)
+ if n.Op == OCAP || n.Op == OLEN {
+ n.Left = implicitstar(n.Left)
+ }
l := n.Left
t := l.Type
if t == nil {
--- /dev/null
+// errorcheck
+
+// Copyright 2017 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.
+
+// Verify that the correct (not implicitly dereferenced)
+// type is reported in the error message.
+
+package p
+
+var p = &[1]complex128{0}
+var _ = real(p) // ERROR "type \*\[1\]complex128"
+var _ = imag(p) // ERROR "type \*\[1\]complex128"