// errorcheck // Copyright 2017 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. // Compiler rejected initialization of structs to composite literals // in a non-static setting (e.g. in a function) // when the struct contained a field named _. package p type T struct { _ string } func ok() { var x = T{"check"} _ = x _ = T{"et"} } var ( y = T{"stare"} w = T{_: "look"} // ERROR "invalid field name _ in struct initializer|expected struct field name|unknown field _ in struct literal of type T" _ = T{"page"} _ = T{_: "out"} // ERROR "invalid field name _ in struct initializer|expected struct field name|unknown field _ in struct literal of type T" ) func bad() { var z = T{_: "verse"} // ERROR "invalid field name _ in struct initializer|expected struct field name|unknown field _ in struct literal of type T" _ = z _ = T{_: "itinerary"} // ERROR "invalid field name _ in struct initializer|expected struct field name|unknown field _ in struct literal of type T" }