mirror of
https://github.com/golang/go
synced 2024-11-05 18:36:08 +00:00
cmd/gc: diagnose '_ = nil' better
Fixes #6004. R=ken2 CC=golang-dev https://golang.org/cl/13616044
This commit is contained in:
parent
85195e2ccf
commit
903c2fda18
2 changed files with 18 additions and 0 deletions
|
@ -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);
|
||||
|
|
15
test/fixedbugs/issue6004.go
Normal file
15
test/fixedbugs/issue6004.go
Normal 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"
|
||||
}
|
||||
|
Loading…
Reference in a new issue