go.exp/go/types: better error messages for failing shifts

When updating expression trees with the final type,
use the default type for untyped values since that
is the type of the values materialized at run-time.

As a result, error messages due to delayed operand
checking for non-constant untyped shift operands
become better (they refer to a materialized rather
an untyped type).

R=adonovan
CC=golang-dev
https://golang.org/cl/7842044
4 files changed