1
0
mirror of https://github.com/golang/go synced 2024-09-23 21:20:13 -06:00
go/test/fixedbugs/issue13779.go
Caio Marcelo de Oliveira Filho f229e46783 cmd/compile: better error when assigning to struct field in map
Identify this assignment case and instead of the more general error

    prog.go:6: cannot assign to students["sally"].age

produce

    prog.go:6: cannot directly assign to struct field students["sally"].age in map

that explains why the assignment is not possible.

Fixes #13779.

Change-Id: I90c10b445f907834fc1735aa66e44a0f447aa74f
Reviewed-on: https://go-review.googlesource.com/21462
Reviewed-by: David Chase <drchase@google.com>
2016-04-04 14:07:47 +00:00

16 lines
492 B
Go

// errorcheck
// Copyright 2016 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 13779: provide better error message when directly assigning to struct field in map
package main
func main() {
type person struct{ age, weight, height int }
students := map[string]person{"sally": person{12, 50, 32}}
students["sally"].age = 3 // ERROR "cannot directly assign to struct field .* in map"
}