2012-02-16 21:49:30 -07:00
|
|
|
// errorcheck
|
2008-08-05 17:09:49 -06:00
|
|
|
|
|
|
|
// 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 P
|
|
|
|
|
|
|
|
var x int
|
|
|
|
|
|
|
|
func foo() {
|
2009-08-12 14:18:54 -06:00
|
|
|
print(P.x); // ERROR "undefined"
|
2008-08-05 17:09:49 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2009-08-12 14:18:54 -06:00
|
|
|
uetli:~/Source/go1/test/bugs gri$ 6g bug085.go
|
2008-08-05 17:09:49 -06:00
|
|
|
bug085.go:6: P: undefined
|
|
|
|
Bus error
|
|
|
|
*/
|
|
|
|
|
|
|
|
/* expected scope hierarchy (outermost to innermost)
|
|
|
|
|
2012-12-13 16:11:31 -07:00
|
|
|
universe scope (contains predeclared identifiers int, float32, int32, len, etc.)
|
2008-08-05 17:09:49 -06:00
|
|
|
"solar" scope (just holds the package name P so it can be found but doesn't conflict)
|
|
|
|
global scope (the package global scope)
|
|
|
|
local scopes (function scopes)
|
|
|
|
*/
|