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

gc: bug291

Fixes #915.

R=ken2
CC=golang-dev
https://golang.org/cl/1856042
This commit is contained in:
Russ Cox 2010-07-15 15:17:42 -07:00
parent 691d765121
commit 08a263a991
3 changed files with 25 additions and 11 deletions

View File

@ -92,15 +92,9 @@ init1(Node *n, NodeList **out)
break;
case OAS2FUNC:
if(n->defn->initorder)
break;
n->defn->initorder = 1;
for(l=n->defn->rlist; l; l=l->next)
init1(l->n, out);
*out = list(*out, n->defn);
break;
case OAS2MAPR:
case OAS2DOTTYPE:
case OAS2RECV:
if(n->defn->initorder)
break;
n->defn->initorder = 1;

23
test/fixedbugs/bug291.go Normal file
View File

@ -0,0 +1,23 @@
// $G $D/$F.go && $L $F.$A && ./$A.out
// 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.
// http://code.google.com/p/go/issues/detail?id=915
package main
type T struct {
x int
}
var t = &T{42}
var i interface{} = t
var tt, ok = i.(*T)
func main() {
if tt == nil || tt.x != 42 {
println("BUG")
}
}

View File

@ -177,6 +177,3 @@ panic PC=xxx
=========== bugs/bug260.go
FAIL
BUG: bug260 failed
=========== bugs/bug274.go
BUG: errchk: command succeeded unexpectedly