Robert Griesemer
dc60c5a7ec
go spec: clarification of channel close()
...
R=r, rsc
CC=golang-dev
https://golang.org/cl/1766042
2010-07-14 16:09:22 -07:00
Rob Pike
041d11623f
Go specification: Lock down some details about channels and select:
...
- nil channel in regular send or receive panics
- empty select blocks forever
R=rsc, gri, iant, ken2
CC=golang-dev
https://golang.org/cl/1825043
2010-07-13 16:23:54 -07:00
Robert Griesemer
0c2e6b3637
go spec: specify len/cap for nil slices, maps, and channels
...
Fixes #891 .
R=r, rsc
CC=golang-dev
https://golang.org/cl/1760043
2010-07-13 11:54:57 -07:00
Robert Griesemer
73ca127e67
go/spec: fix typo
...
R=r
CC=golang-dev
https://golang.org/cl/1790041
2010-07-09 13:02:54 -07:00
Russ Cox
f4429181df
spec: restrict when len(x) is constant
...
R=gri, iant, ken2, r
CC=golang-dev
https://golang.org/cl/1687047
2010-07-01 17:49:47 -07:00
Russ Cox
e495351ff7
spec: struct tags must be identical for types to be identical
...
We didn't mention this explicitly during our discussions,
but I think it fits the "identical types are spelled identically"
rule that we used.
R=gri, iant, ken2, r, rsc1
CC=golang-dev
https://golang.org/cl/1698043
2010-06-21 12:42:33 -07:00
Russ Cox
9562592342
spec: remove ... (keeping ...T)
...
R=gri, iant, ken2, r, r2
CC=golang-dev
https://golang.org/cl/1632041
2010-06-12 11:37:13 -07:00
Rob Pike
db8c2b1803
spec: clarify that result parameters are always zeroed before the function executes.
...
R=golang-dev
CC=golang-dev
https://golang.org/cl/1641043
2010-06-11 21:30:03 -07:00
Robert Griesemer
440cc95470
go spec: rename "assignment compatible" -> "assignable"
...
R=r, rsc
CC=golang-dev
https://golang.org/cl/1590041
2010-06-07 17:40:21 -07:00
Robert Griesemer
7bc03718f4
go spec: clean-up and consolidation of spec with implementation
...
Specifically:
- introduced notion of "underlying type"
- removed notion of type compatibility
- consolidated rules about assignment compatibility in
assignment compatibility section
- be consistent with specyfing that nil is the value
for uninitialized variables that can be nil (this
was not specified clearly for pointers, functions, interfaces)
- added/fixed various related links throughout
- clarify language on conversions
R=rsc, r, iant, ken2
CC=golang-dev
https://golang.org/cl/1536041
2010-06-07 15:49:39 -07:00
Robert Griesemer
1d282a8eb2
go spec: Base comparison compatibility on assignment compatibility.
...
Specifically:
- Simplified definition of comparison compatibility and folded into
section on comparison operators since it's only used there.
This is a small language change/cleanup. As a consequence:
- An interface value may now be compared against a non-interface value.
- Channels with opposite directions cannot be compared directly anymore
(per discussion with rsc).
R=rsc, r, iant, ken2
CC=golang-dev
https://golang.org/cl/1462041
2010-06-03 16:55:50 -07:00
Robert Griesemer
63f014910d
go spec: change def. of "type compatibility" to be non-recursive
...
and adjust conversion rules.
Also:
- clarification of type identity (no language change)
- adjust special rules for channel assignment/comparison to
require identical element types (in correspondence to non-
recursiveness of type compatibility)
R=rsc, iant, ken2, r
CC=golang-dev
https://golang.org/cl/1376042
2010-05-28 14:17:30 -07:00
Robert Griesemer
31f2503cde
go spec: Disallow &a notation to obtain a slice
...
from an array; one needs to write a[0:] instead.
R=rsc, r, iant, ken2
CC=golang-dev
https://golang.org/cl/1365041
2010-05-27 17:23:25 -07:00
Evan Shaw
67d30bb696
spec: Fix link to fallthrough statements
...
R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/1303041
2010-05-25 18:24:07 -07:00
Robert Griesemer
c7e03a32b3
go spec: minor fix, to match conversion rules 4 and 5
...
R=rsc
CC=golang-dev
https://golang.org/cl/1270042
2010-05-24 21:25:01 -07:00
Robert Griesemer
934a520d75
go spec: fix and clarify syntax of conversions
...
Fixes #803 .
R=rsc, r, iant, ken2
CC=golang-dev
https://golang.org/cl/1281041
2010-05-24 14:58:26 -07:00
Russ Cox
e7561de09a
spec: index of non-addressable array is not addressable
...
Motivated by:
func f() []int
func g() [10]int
f()[1] = 1 // ok
g()[1] = 1 // ERROR
R=gri
CC=golang-dev
https://golang.org/cl/1278041
2010-05-24 14:31:43 -07:00
Evan Shaw
cb4e9f8508
spec: Fix a code tag
...
R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/1266042
2010-05-23 11:21:47 -07:00
Robert Griesemer
3af4803704
go spec: added imaginary literal to semicolon rules (was missing)
...
- also added links to the respective sections
- reformatted section for better (source html) readability
- added missing closing </li>'s in many places
R=r
CC=golang-dev
https://golang.org/cl/1220041
2010-05-14 13:11:48 -07:00
Robert Griesemer
56ca697269
go spec: simplify section on channel types
...
R=rsc, iant, r
CC=golang-dev
https://golang.org/cl/1171041
2010-05-07 18:22:40 -07:00
Robert Griesemer
df674ffb43
go spec: clarification of make arguments,
...
specification of runtime exceptions for
make and division by zero
R=r, rsc, ken2, iant
CC=golang-dev
https://golang.org/cl/1081041
2010-05-04 17:31:40 -07:00
Robert Griesemer
39f009cb8e
go spec: fix iota description
...
R=r, rsc
CC=golang-dev
https://golang.org/cl/946046
2010-04-29 10:57:27 -07:00
Rob Pike
de92199648
spec: clarify "continue" with label. the text was obvious in intent but
...
inaccurate in meaning.
R=gri
CC=golang-dev
https://golang.org/cl/964045
2010-04-28 13:18:40 -07:00
Robert Griesemer
f5b3c14f31
go spec: fix wrong comment
...
Fixes #743 .
R=r, rsc
CC=golang-dev
https://golang.org/cl/944044
2010-04-27 17:52:44 -07:00
Evan Shaw
21110c799d
spec: Fix run-time panic header id
...
Everything was linking to "Run_time_panics", but the id was "Run_time_errors".
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/961042
2010-04-22 10:14:53 -07:00
Russ Cox
6aad41919b
go_spec updates
...
R=r, iant
CC=golang-dev
https://golang.org/cl/921041
2010-04-13 20:55:57 -07:00
Joe Poirier
d37e87c1b2
gp_spec typo fix: code example in the "Handling panics" section
...
R=rsc, adg
CC=golang-dev
https://golang.org/cl/881047
2010-04-08 10:25:57 +10:00
Robert Griesemer
d4a1619733
go spec: correct clarification of type declaration
...
R=rsc, r
CC=golang-dev
https://golang.org/cl/855043
2010-04-01 12:48:34 -07:00
Robert Griesemer
735e00d4a0
go spec: clarification of type declarations
...
R=r, rsc
CC=golang-dev
https://golang.org/cl/849044
2010-03-31 16:37:22 -07:00
Robert Griesemer
e8e4987ba3
godoc: support for title and subtitle headers when serving .html docs
...
and use it to show version (date) of go spec
Fixes #68 .
R=rsc
CC=golang-dev, r
https://golang.org/cl/848042
2010-03-30 17:37:42 -07:00
Andrew Gerrand
10b77f7a2b
spec: typo in switch sample code, missing semicolon
...
Fixes #697
R=r
CC=golang-dev
https://golang.org/cl/804042
2010-03-29 13:12:08 +11:00
Russ Cox
97d0e8fe6c
gc: allow taking address of out parameters
...
Fixes #186 .
R=ken2
CC=golang-dev
https://golang.org/cl/793041
2010-03-26 18:01:02 -07:00
Rob Pike
5bb29fb116
spec changes for panic and recover.
...
R=rsc, gri
CC=golang-dev
https://golang.org/cl/763041
2010-03-25 17:59:59 -07:00
Rob Pike
bf9b8f2c17
Delete panicln from the spec.
...
R=rsc, gri, iant, ken2
CC=golang-dev
https://golang.org/cl/738041
2010-03-24 15:17:00 -07:00
Robert Griesemer
48f0cd2bd5
go spec: modification of defer statement
...
R=r, rsc, ken2, iant
CC=golang-dev
https://golang.org/cl/708041
2010-03-23 17:30:14 -07:00
Robert Griesemer
29f1ca528b
Go spec: map indexing never raises a runtime exception.
...
Also: Actual map key must be assignment-compatible with
formal map key type.
Fixes #357 .
R=r, iant, rsc, ken2
CC=golang-dev
https://golang.org/cl/673042
2010-03-23 14:01:51 -07:00
Ian Lance Taylor
11a218444f
Revert previous change: complexN only converts to complexN.
...
This was discussed with Ken and Russ. 6g has been changed,
and both compilers now work this way. This avoids a double
type conversion--first to the float type, then to the complex
type.
R=r
CC=golang-dev, ken2, rsc
https://golang.org/cl/419042
2010-03-10 20:38:38 -08:00
Robert Griesemer
ef4c2b85a0
go_spec.html: fix typo and link
...
R=r
CC=golang-dev
https://golang.org/cl/382045
2010-03-10 15:29:36 -08:00
Ian Lance Taylor
18187e7d49
Complex values may only be compared for equality or inequality.
...
R=gri, r
CC=golang-dev
https://golang.org/cl/294042
2010-03-08 14:05:46 -08:00
Ian Lance Taylor
5cf707b499
Clarify that conversions to complex are OK.
...
R=r
CC=golang-dev
https://golang.org/cl/296042
2010-03-08 13:45:03 -08:00
Rob Pike
7297087101
Spec for complex numbers
...
R=rsc, ken2, gri, iant
CC=cw, golang-dev
https://golang.org/cl/227041
2010-03-04 12:35:16 -08:00
Robert Griesemer
f42e8833b3
language spec: make NUL byte rule an implementation restriction
...
R=rsc, r, iant, ken2
CC=golang-dev
https://golang.org/cl/211041
2010-02-17 15:50:34 -08:00
Russ Cox
b7d9ffeecd
spec: disallow NUL in source files
...
R=r
CC=golang-dev
https://golang.org/cl/209042
2010-02-16 16:47:18 -08:00
Rob Pike
1811fac7cb
specification of []int(string) and []byte(string).
...
also clarify other string conversions.
R=rsc, iant, gri, ken2
CC=golang-dev
https://golang.org/cl/207103
2010-02-17 11:26:09 +11:00
Rob Pike
810def8484
...T is now implemented
...
R=rsc, gri
CC=golang-dev
https://golang.org/cl/198050
2010-02-01 18:59:23 -08:00
Rob Pike
22a4952bd2
note that ...T is not yet implemented.
...
R=rsc
CC=golang-dev
https://golang.org/cl/194114
2010-01-27 13:45:16 -08:00
Rob Pike
b81065d07f
add definition of new parameter style
...
... T
for trailing arguments of type T.
R=rsc, gri, ken2, iant
CC=golang-dev
https://golang.org/cl/194100
2010-01-27 13:14:40 -08:00
Robert Griesemer
1c369bd55f
Clarify parsing of channel types.
...
R=r, rsc
CC=golang-dev
https://golang.org/cl/194091
2010-01-27 09:35:39 -08:00
Russ Cox
46871692c2
spec: allow func() func().
...
no longer ambiguous at top level, thanks to new semicolon rules.
use gofmt layout for function types.
Fixes #528 .
R=gri
CC=golang-dev
https://golang.org/cl/194077
2010-01-26 10:25:56 -08:00
Rob Pike
3909b6b479
log.Fatal does not exist. Use log.Crash.
...
R=rsc
CC=golang-dev
https://golang.org/cl/193075
2010-01-25 07:48:31 +11:00