cmd/gc: diagnose '_ = nil' better

Fixes #6004.

R=ken2
CC=golang-dev
https://golang.org/cl/13616044
This commit is contained in:
Russ Cox 2013-09-09 12:49:39 -04:00
parent 85195e2ccf
commit 903c2fda18
2 changed files with 18 additions and 0 deletions

View file

@ -1411,6 +1411,9 @@ assignconv(Node *n, Type *t, char *context)
if(n == N || n->type == T || n->type->broke)
return n;
if(t->etype == TBLANK && n->type->etype == TNIL)
yyerror("use of untyped nil");
old = n;
old->diag++; // silence errors about n; we'll issue one below
defaultlit(&n, t);

View file

@ -0,0 +1,15 @@
// errorcheck
// Copyright 2013 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.
package main
func main() {
_ = nil // ERROR "use of untyped nil"
_, _ = nil, 1 // ERROR "use of untyped nil"
_, _ = 1, nil // ERROR "use of untyped nil"
_ = append(nil, 1, 2, 3) // ERROR "untyped nil"
}