compiler: guard against implicit double pointer indirection
The code that lowers field references can sometimes introduce a double
pointer indirection in cases where it is not/safe appropriate. For
example, in
var p **struct { f int }
p.f = 0
the assignment LHS was being incorrectly lowered to (*(*p)).f.
Detect this situation and issue an error.
Fixes golang/go#21770
Change-Id: I350e0696e0aa7032114797fe21dc54faa0a44933
Reviewed-on: https://go-review.googlesource.com/62330
Reviewed-by: Ian Lance Taylor <iant@golang.org>
1 file changed