aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Griesemer <gri@golang.org>2010-08-06 15:07:54 -0700
committerRobert Griesemer <gri@golang.org>2010-08-06 15:07:54 -0700
commit1dd88408007adb131711216d5c747717070d0fb0 (patch)
treed526fc9a37c133592d94c51b7179147dd0e58731
parent64f24107e11766c95a8f16c4351c07846b2ed50b (diff)
downloadgo-1dd88408007adb131711216d5c747717070d0fb0.tar.gz
go-1dd88408007adb131711216d5c747717070d0fb0.zip
test/peano: use directly recursive type def
Test case for http://code.google.com/p/go/issues/detail?id=999 R=r CC=golang-dev https://golang.org/cl/1892050
-rw-r--r--test/peano.go13
1 files changed, 4 insertions, 9 deletions
diff --git a/test/peano.go b/test/peano.go
index 77a0d1272b..f4c59d1e1a 100644
--- a/test/peano.go
+++ b/test/peano.go
@@ -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")
}