]> Cypherpunks.ru repositories - gostls13.git/commitdiff
test/peano: use directly recursive type def
authorRobert Griesemer <gri@golang.org>
Fri, 6 Aug 2010 22:07:54 +0000 (15:07 -0700)
committerRobert Griesemer <gri@golang.org>
Fri, 6 Aug 2010 22:07:54 +0000 (15:07 -0700)
Test case for http://code.google.com/p/go/issues/detail?id=999

R=r
CC=golang-dev
https://golang.org/cl/1892050

test/peano.go

index 77a0d1272b62a6bf1800d2373ead233f3deb6ec4..f4c59d1e1a2c64b36fe9674704c085846fa01ce7 100644 (file)
@@ -6,9 +6,7 @@
 
 package main
 
-type Number struct {
-       next *Number
-}
+type Number *Number
 
 
 // -------------------------------------
@@ -26,13 +24,13 @@ func is_zero(x *Number) bool {
 
 func add1(x *Number) *Number {
        e := new(Number)
-       e.next = x
+       *e = x
        return e
 }
 
 
 func sub1(x *Number) *Number {
-       return x.next
+       return *x
 }
 
 
@@ -96,7 +94,7 @@ func check(x *Number, expected int) {
 // -------------------------------------
 // Test basic functionality
 
-func verify() {
+func init() {
        check(zero(), 0)
        check(add1(zero()), 1)
        check(gen(10), 10)
@@ -121,10 +119,7 @@ func verify() {
 // -------------------------------------
 // Factorial
 
-
 func main() {
-
-       verify()
        for i := 0; i <= 9; i++ {
                print(i, "! = ", count(fact(gen(i))), "\n")
        }