1
0
mirror of https://github.com/golang/go synced 2024-11-22 04:44:39 -07:00

- clarified that composites are values created every time they

are evaluated, removed corresponding TODO.

R=r
DELTA=5  (3 added, 1 deleted, 1 changed)
OCL=17746
CL=17751
This commit is contained in:
Robert Griesemer 2008-10-23 17:19:56 -07:00
parent 536b1f2e98
commit 4712165b17

View File

@ -59,7 +59,6 @@ Open issues:
[ ] semantics of statements
[ ] need for type switch? (or use type guard with ok in tuple assignment?)
[ ] do we need anything on package vs file names?
[ ] Do composite literals create a new literal each time (gri thinks yes)
[ ] type switch or some form of type test needed
[ ] what is the meaning of typeof()
[ ] at the moment: type T S; strips any methods of S. It probably shouldn't.
@ -91,6 +90,8 @@ Decisions in need of integration into the doc:
Closed:
[x] Do composite literals create a new literal each time (gri thinks yes) (Russ is putting in a change
to this effect, essentially)
[x] comparison operators: can we compare interfaces?
[x] can we add methods to types defined in another package? (probably not)
[x] optional semicolons: too complicated and unclear
@ -1479,7 +1480,8 @@ or a list of expression pairs for map literals.
If LiteralType is a TypeName, the denoted type must be an array, map, or
structure. The types of the expressions must match the respective key, element,
and field types of the literal type; there is no automatic type conversion.
Composite literals are values of the type specified by LiteralType; to get
Composite literals are values of the type specified by LiteralType; that is
a new value is created every time the literal is evaluated. To get
a pointer to the literal, the address operator "&" must be used.
Implementation restriction: Currently, map literals are pointers to maps.