a couple of bugs around nil are fixed

SVN=123423
diff --git a/test/bugs/bug045.go b/test/fixedbugs/bug045.go
similarity index 90%
rename from test/bugs/bug045.go
rename to test/fixedbugs/bug045.go
index d6ec0f1..08b6990 100644
--- a/test/bugs/bug045.go
+++ b/test/fixedbugs/bug045.go
@@ -11,9 +11,9 @@
 }
 
 func main() {
-	var ta *[]T;
+	var ta *[]*T;
 
-	ta = new([1]T);
+	ta = new([1]*T);
 	ta[0] = nil;
 }
 /*
diff --git a/test/golden.out b/test/golden.out
index 1179f0d..67fb83f 100644
--- a/test/golden.out
+++ b/test/golden.out
@@ -26,8 +26,6 @@
 =========== ./literal.go
 
 =========== ./nil.go
-nil.go:30: illegal conversion of constant to <T>{}
-BUG: known to fail incorrectly
 
 =========== ./sieve.go
 sieve.go:8: fatal error: walktype: switch 1 unknown op SEND l(151)
@@ -210,10 +208,6 @@
 bugs/bug044.go:23: error in shape across assignment
 BUG: compilation should succeed
 
-=========== bugs/bug045.go
-bugs/bug045.go:13: illegal conversion of constant to <T>{}
-BUG: known to fail incorrectly
-
 =========== bugs/bug046.go
 bugs/bug046.go:7: illegal <this> pointer
 BUG: known to fail incorrectly
@@ -304,3 +298,5 @@
 =========== fixedbugs/bug028.go
 
 =========== fixedbugs/bug031.go
+
+=========== fixedbugs/bug045.go
diff --git a/test/nil.go b/test/nil.go
index 3062ea3..d0cb65d 100644
--- a/test/nil.go
+++ b/test/nil.go
@@ -21,7 +21,7 @@
 	var c *chan int;
 	var t *T;
 	var in IN;
-	var ta *[]T;
+	var ta *[]IN;
 
 	i = nil;
 	f = nil;
@@ -30,6 +30,6 @@
 	c = nil;
 	t = nil;
 	i = nil;
-	ta = new([1]T);
-	ta[0] = nil;  //BUG (see bugs/bug045.go) 
+	ta = new([1]IN);
+	ta[0] = nil;
 }