diff options
author | Russ Cox <rsc@golang.org> | 2010-01-26 10:25:56 -0800 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2010-01-26 10:25:56 -0800 |
commit | 246a2a1af14b65c8f8ffca9b2a4437bb8c0f799e (patch) | |
tree | 746ad82f098b29ba00b21fc922a53c4f50e5c0d1 | |
parent | 5913a581838ea3d2fd9f2265b9cc7d4d720300e8 (diff) | |
download | golang-246a2a1af14b65c8f8ffca9b2a4437bb8c0f799e.tar.gz |
spec: allow func() func().
no longer ambiguous at top level, thanks to new semicolon rules.
use gofmt layout for function types.
Fixes issue 528.
R=gri
CC=golang-dev
http://codereview.appspot.com/194077
-rw-r--r-- | doc/go_spec.html | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/doc/go_spec.html b/doc/go_spec.html index b11aea959..b5931c110 100644 --- a/doc/go_spec.html +++ b/doc/go_spec.html @@ -909,7 +909,7 @@ must either all be present or all be absent. If present, each name stands for one item (parameter or result) of the specified type; if absent, each type stands for one item of that type. Parameter and result lists are always parenthesized except that if there is exactly -one unnamed result that is not a function type it may written as an unparenthesized type. +one unnamed result it may written as an unparenthesized type. </p> <p> For the last parameter only, instead of a type one may write @@ -919,15 +919,15 @@ type. </p> <pre> -func () -func (x int) -func () int -func (string, float, ...) -func (a, b int, z float) bool -func (a, b int, z float) (bool) -func (a, b int, z float, opt ...) (success bool) -func (int, int, float) (float, *[]int) -func (n int) (func (p* T)) +func() +func(x int) +func() int +func(string, float, ...) +func(a, b int, z float) bool +func(a, b int, z float) (bool) +func(a, b int, z float, opt ...) (success bool) +func(int, int, float) (float, *[]int) +func(n int) func(p *T) </pre> @@ -1210,8 +1210,8 @@ type ( T1 []string T2 struct { a, b int } T3 struct { a, c int } - T4 func (int, float) *T0 - T5 func (x int, y float) *[]string + T4 func(int, float) *T0 + T5 func(x int, y float) *[]string ) </pre> @@ -1223,7 +1223,7 @@ these types are identical: T0 and T0 []int and []int struct { a, b *T5 } and struct { a, b *T5 } -func (x int, y float) *[]string and func (int, float) (result *[]string) +func(x int, y float) *[]string and func(int, float) (result *[]string) </pre> <p> @@ -1239,7 +1239,7 @@ These types are compatible: T0 and T0 T0 and []string T3 and struct { a int; c int } -T4 and func (x int, y float) *[]string +T4 and func(x int, y float) *[]string </pre> <p> @@ -2128,7 +2128,7 @@ FunctionLit = FunctionType Body . </pre> <pre> -func (a, b int, z float) bool { return a*b < int(z) } +func(a, b int, z float) bool { return a*b < int(z) } </pre> <p> @@ -3049,7 +3049,7 @@ with an explicit receiver as its first argument; it has signature </p> <pre> -func (tv T, a int) int +func(tv T, a int) int </pre> <p> @@ -3076,7 +3076,7 @@ yields a function value representing <code>Mp</code> with signature </p> <pre> -func (tp *T, f float) float +func(tp *T, f float) float </pre> <p> @@ -3093,7 +3093,7 @@ yields a function value representing <code>Mv</code> with signature </p> <pre> -func (tv *T, a int) int +func(tv *T, a int) int </pre> <p> |