mirror of
https://github.com/golang/go
synced 2024-11-20 09:44:45 -07:00
28 lines
701 B
Go
28 lines
701 B
Go
|
// 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 P
|
||
|
|
||
|
var x int
|
||
|
|
||
|
func foo() {
|
||
|
print P.x; // P should be defined between the outermost "universe" scope and the global scope
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
uetli:~/Source/go1/test/bugs gri$ 6g bug085.go
|
||
|
bug085.go:6: P: undefined
|
||
|
Bus error
|
||
|
*/
|
||
|
|
||
|
/* expected scope hierarchy (outermost to innermost)
|
||
|
|
||
|
universe scope (contains predeclared identifiers int, float, int32, len, etc.)
|
||
|
"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)
|
||
|
*/
|