Commit 3308eb44 authored by Rob Pike's avatar Rob Pike

delete redundant bug.

fix typo.
add scoping bug.

R=gri
OCL=14349
CL=14349
parent a9af1841
// errchk $G $D/$F.go
// 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.
package main
func f1() {
exit:
print("hi\n");
}
func f2() {
const c = 1234;
}
func f3() {
i := c; // BUG: compiles but should not. constant is not in scope in this function
goto exit; // BUG: compiles but should not. label is not in this function
}
func main() {
f3();
}
......@@ -185,6 +185,9 @@ BUG: fails incorrectly
=========== bugs/bug090.go
BUG: compilation succeeds incorrectly
=========== bugs/bug091.go
BUG: compilation succeeds incorrectly
=========== fixedbugs/bug015.go
fixedbugs/bug015.go:7: overflow converting constant to <int64>INT64
......
......@@ -103,5 +103,5 @@ func main() {
assert(r == 2.0, "r");
assert(s == "a", "s");
assert(t == "b", "s");
assert(t == "b", "t");
}
// 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.
// $G $D/$F.go && $L $F.$A && ./$A.out
package main
func assert(cond bool, msg string) {
if !cond {
print("assertion fail: " + msg + "\n");
panic(1);
}
}
const (
x int = iota;
y = iota;
z = 1 << iota;
f float = 2 * iota;
g float = 4.5 * float(iota);
);
func main() {
assert(x == 0, "x");
assert(y == 1, "y");
assert(z == 4, "z");
assert(f == 6.0, "f");
assert(g == 18.0, "g");
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment