]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: improve error message for unknown fields in structs
authorEmmanuel Odeke <emm.odeke@gmail.com>
Fri, 28 Oct 2016 04:52:33 +0000 (21:52 -0700)
committerJosh Bleecher Snyder <josharian@gmail.com>
Sat, 29 Oct 2016 05:33:14 +0000 (05:33 +0000)
commit7b4545653c371be73c660bc87356ec467496dbbf
tree1ee6277be3a821c9b22968222d3f4435d89419d4
parent894abb5f680c040777f17f9f8ee5a5ab3a03cb94
cmd/compile: improve error message for unknown fields in structs

Improves the error message by moving the field name before the body
of a struct, in the error message for unknown fields for structs.

* Exhibit:
Given program:

package main

import "time"

func main() {
  _ = struct {
    about      string
    before     map[string]uint
    update     map[string]int
    updateTime time.Time
    expect     map[string]int
  }{
    about:   "this one",
    updates: map[string]int{"gopher": 10},
  }
}

* Before:
./issue17631.go:20: unknown struct { about string; before map[string]uint;
 update map[string]int; updateTime time.Time; expect map[string]int } field
'updates' in struct literal

* After:
./issue17631.go:20: unknown field 'updates' in struct literal of type { about string;
before map[string]uint; update map[string]int; updateTime time.Time;
expect map[string]int }

Fixes #17631

Change-Id: I76842616411b931b5ad7a76bd42860dfde7739f4
Reviewed-on: https://go-review.googlesource.com/32240
Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
src/cmd/compile/internal/gc/typecheck.go
test/fixedbugs/issue14136.go
test/fixedbugs/issue17631.go [new file with mode: 0644]