• Robert Griesemer's avatar
    undo CL 11884043 / bfd5ed8236d5 · 9f75dd7f
    Robert Griesemer authored
    CL submitted prematurely by mistake.
    
    ««« original CL description
    spec: clarify index and selector expressions
    
    1) Explain a[i] and a[i:j] where a is of type *A as
       shortcut for (*a)[i] and (*a)[i:j], respectively.
    
    2) Together with 1), because len() of nil slices is
       well defined, there's no need to special case nil
       operands anymore.
    
    3) The result of indexing or slicing a constant string
       is always a non-constant byte or string value.
    
    4) The result of slicing an untyped string is a value
       of type string.
    
    5) If the operand of a valid slice a[i:j] is nil (i, j
       must be 0 for it to be valid - this already follows
       from the in-range rules), the result is a nil slice.
    
    Fixes #4913.
    Fixes #5951.
    
    R=rsc, r, iant, ken
    CC=golang-dev
    https://golang.org/cl/11884043
    »»»
    
    R=r
    CC=golang-dev
    https://golang.org/cl/12170046
    9f75dd7f
Name
Last commit
Last update
..
articles Loading commit data...
codewalk Loading commit data...
devel Loading commit data...
gopher Loading commit data...
play Loading commit data...
progs Loading commit data...
Makefile Loading commit data...
cmd.html Loading commit data...
code.html Loading commit data...
contrib.html Loading commit data...
contribute.html Loading commit data...
debugging_with_gdb.html Loading commit data...
docs.html Loading commit data...
effective_go.html Loading commit data...
gccgo_contribute.html Loading commit data...
gccgo_install.html Loading commit data...
go-logo-black.png Loading commit data...
go-logo-blue.png Loading commit data...
go-logo-white.png Loading commit data...
go1.1.html Loading commit data...
go1.2.txt Loading commit data...
go1.html Loading commit data...
go1compat.html Loading commit data...
go_faq.html Loading commit data...
go_mem.html Loading commit data...
go_spec.html Loading commit data...
godocs.js Loading commit data...
help.html Loading commit data...
ie.css Loading commit data...
install-source.html Loading commit data...
install.html Loading commit data...
jquery.js Loading commit data...
logo-153x55.png Loading commit data...
reference.html Loading commit data...
root.html Loading commit data...
share.png Loading commit data...
sieve.gif Loading commit data...
style.css Loading commit data...
tos.html Loading commit data...