fix:
type T []int
var a []int
var t = T(a)
R=ken
OCL=22341
CL=22341
diff --git a/src/cmd/6g/cgen.c b/src/cmd/6g/cgen.c
index 0ab1be5..2289164 100644
--- a/src/cmd/6g/cgen.c
+++ b/src/cmd/6g/cgen.c
@@ -415,6 +415,12 @@
fatal("agen: unknown op %N", n);
break;
+ case OCONV:
+ if(!eqtype(n->type, nl->type, 0))
+ fatal("agen: non-trivial OCONV");
+ agen(nl, res);
+ return;
+
case OCALLMETH:
cgen_callmeth(n, 0);
cgen_aret(n, res);
diff --git a/src/cmd/gc/walk.c b/src/cmd/gc/walk.c
index e0eb648..cfc3154f 100644
--- a/src/cmd/gc/walk.c
+++ b/src/cmd/gc/walk.c
@@ -563,8 +563,10 @@
// nil conversion
if(eqtype(t, l->type, 0)) {
- if(l->op != ONAME)
+ if(l->op != ONAME) {
indir(n, l);
+ n->type = t;
+ }
goto ret;
}