1
0
mirror of https://github.com/golang/go synced 2024-11-25 04:37:56 -07:00

gc: bug245

Fixes #529.

R=ken2
CC=golang-dev
https://golang.org/cl/186215
This commit is contained in:
Russ Cox 2010-01-18 17:30:15 -08:00
parent 8e996304f3
commit ff6e310b00
3 changed files with 19 additions and 1 deletions

View File

@ -322,6 +322,7 @@ slicelit(Node *n, Node *var, NodeList **init)
t = shallow(n->type); t = shallow(n->type);
t->bound = mpgetfix(n->right->val.u.xval); t->bound = mpgetfix(n->right->val.u.xval);
t->width = 0; t->width = 0;
t->sym = nil;
dowidth(t); dowidth(t);
// make static initialized array // make static initialized array
@ -688,6 +689,7 @@ initctxt:
t = shallow(t); t = shallow(t);
t->bound = mpgetfix(n->right->right->val.u.xval); t->bound = mpgetfix(n->right->right->val.u.xval);
t->width = 0; t->width = 0;
t->sym = nil;
dowidth(t); dowidth(t);
// make static initialized array // make static initialized array

View File

@ -1715,7 +1715,7 @@ typecheckcomplit(Node **np)
memset(hash, 0, sizeof hash); memset(hash, 0, sizeof hash);
l = typecheck(&n->right /* sic */, Etype /* TODO | Edotarray */); l = typecheck(&n->right /* sic */, Etype);
if((t = l->type) == T) if((t = l->type) == T)
goto error; goto error;
nerr = nerrors; nerr = nerrors;

16
test/fixedbugs/bug245.go Normal file
View File

@ -0,0 +1,16 @@
// $G $D/$F.go || echo BUG: bug245
// Copyright 2010 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
type T []int
func (t T) m()
func main() {
_ = T{}
}
// bug245.go:14: fatal error: method mismatch: T for T