summaryrefslogtreecommitdiff
path: root/test/decl.go
diff options
context:
space:
mode:
authorRob Pike <r@golang.org>2009-04-18 17:21:00 -0700
committerRob Pike <r@golang.org>2009-04-18 17:21:00 -0700
commitdccbbf401cc34b01d0c5d7d4657f161d3c491a88 (patch)
treeb8fc9a1edd33965ce67aafc5472c1df9ba685028 /test/decl.go
parent87ce757eee55aafbe35b03b2cad734d9631fe6cb (diff)
downloadgolang-dccbbf401cc34b01d0c5d7d4657f161d3c491a88.tar.gz
tests for redeclaration in :=
R=ken DELTA=71 (71 added, 0 deleted, 0 changed) OCL=27616 CL=27616
Diffstat (limited to 'test/decl.go')
-rw-r--r--test/decl.go29
1 files changed, 29 insertions, 0 deletions
diff --git a/test/decl.go b/test/decl.go
new file mode 100644
index 000000000..6229db9b1
--- /dev/null
+++ b/test/decl.go
@@ -0,0 +1,29 @@
+// $G $F.go && $L $F.$A && ./$A.out
+
+// Copyright 2009 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.
+
+// Correct short declarations and redeclarations.
+
+package main
+
+func f1() int { return 1 }
+func f2() (float, int) { return 1, 2 }
+func f3() (float, int, string) { return 1, 2, "3" }
+
+func main() {
+ i, f, s := f3();
+ j, f := f2(); // redeclare f
+ k := f1();
+ m, g, s := f3();
+ m, h, s := f3();
+ {
+ // new block should be ok.
+ i, f, s := f3();
+ j, f := f2(); // redeclare f
+ k := f1();
+ m, g, s := f3();
+ m, h, s := f3();
+ }
+}