mirror of
https://github.com/golang/go
synced 2024-11-24 22:47:58 -07:00
clarify pointer forward decls per ian's suggestion
R=r DELTA=13 (3 added, 7 deleted, 3 changed) OCL=14406 CL=14406
This commit is contained in:
parent
2dabb6525a
commit
2d697d67dc
@ -786,6 +786,7 @@ particular to dereference a channel pointer.
|
||||
var ch *chan int;
|
||||
ch = new(chan int); // new returns type *chan int
|
||||
|
||||
|
||||
Function types
|
||||
----
|
||||
|
||||
@ -990,11 +991,13 @@ The following scope rules apply:
|
||||
1. No identifier may be declared twice in a single scope.
|
||||
2. A language entity may only be referred to within its scope.
|
||||
3. Field and method identifiers may be used only to select elements
|
||||
from the corresponding types. In effect, the field selector operator
|
||||
from the corresponding types, and only after those types are fully
|
||||
declared. In effect, the field selector operator
|
||||
'.' temporarily re-opens the scope of such identifiers (see Expressions).
|
||||
4. Forward declaration: A type of the form "*T" may be mentioned at a point
|
||||
where "T" is not yet declared. The declaration of "T" must follow in the
|
||||
same package and "T" must be visible at the end of the block containing "*T".
|
||||
where "T" is not yet declared. The full declaration of "T" must be within a
|
||||
block containing the forward declaration, and the forward declaration
|
||||
refers to the innermost such full declaration.
|
||||
|
||||
Global declarations optionally may be marked for export with the reserved word
|
||||
"export". Local declarations can never be exported.
|
||||
@ -1016,10 +1019,6 @@ TODO: Eventually we need to be able to restrict visibility of fields and methods
|
||||
Export should be identifier-based: an identifier is either exported or not, and thus
|
||||
visible or not in importing package.
|
||||
|
||||
[OLD
|
||||
Declaration = ConstDecl | TypeDecl | VarDecl | FunctionDecl | ExportDecl .
|
||||
END]
|
||||
|
||||
|
||||
Const declarations
|
||||
----
|
||||
@ -1738,9 +1737,6 @@ if omitted, the first two examples above can be abbreviated:
|
||||
)
|
||||
|
||||
|
||||
TODO: should iota work in var, type, func decls too?
|
||||
|
||||
|
||||
Statements
|
||||
----
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user