Commit 062ae457 authored by Dominik Honnef's avatar Dominik Honnef Committed by Russ Cox

cmd/gc: do not typecheck nil types in multiple assignment

Fixes #6572.

LGTM=rsc, daniel.morsing, rsc
R=golang-codereviews, bradfitz, minux.ma, iant, rsc, gobot, daniel.morsing
CC=golang-codereviews
https://golang.org/cl/14516055
parent f00af3da
......@@ -2814,7 +2814,7 @@ typecheckas2(Node *n)
n->op = OAS2FUNC;
t = structfirst(&s, &r->type);
for(ll=n->list; ll; ll=ll->next) {
if(ll->n->type != T)
if(t->type != T && ll->n->type != T)
checkassignto(t->type, ll->n);
if(ll->n->defn == n && ll->n->ntype == N)
ll->n->type = t->type;
......
// errorcheck
// Copyright 2014 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 foo() (T, T) { // ERROR "undefined"
return 0, 0
}
func bar() (T, string, T) { // ERROR "undefined"
return 0, "", 0
}
func main() {
var x, y, z int
x, y = foo()
x, y, z = bar() // ERROR "cannot (use type|assign) string"
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment