aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/cmd/compile/internal/noder/writer.go4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/cmd/compile/internal/noder/writer.go b/src/cmd/compile/internal/noder/writer.go
index 2bb0b4d5d7..73f2df8e39 100644
--- a/src/cmd/compile/internal/noder/writer.go
+++ b/src/cmd/compile/internal/noder/writer.go
@@ -1218,6 +1218,7 @@ func (w *writer) expr(expr syntax.Expr) {
}
obj := obj.(*types2.Var)
+ assert(!obj.IsField())
assert(targs.Len() == 0)
w.code(exprLocal)
@@ -1337,10 +1338,11 @@ func (w *writer) compLit(lit *syntax.CompositeLit) {
w.typ(tv.Type)
typ := tv.Type
+ // TODO(mdempsky): Use types2.StructuralType here too? See #50833.
if ptr, ok := typ.Underlying().(*types2.Pointer); ok {
typ = ptr.Elem()
}
- str, isStruct := typ.Underlying().(*types2.Struct)
+ str, isStruct := types2.StructuralType(typ).(*types2.Struct)
w.len(len(lit.ElemList))
for i, elem := range lit.ElemList {