1
0
mirror of https://github.com/golang/go synced 2024-11-20 00:24:43 -07:00
go/doc
griesemer 9690d245d5 spec: clarify context type for certain non-constant shifts
The spec is not conclusive about whether a non-constant shift of
certain untyped constant left operands is valid when the shift
expression appears as an index in an index or slice expression,
or as a size in a `make` function call.

Despite identical spec rules in all these cases, cmd/compile accepts

	make([]byte, 1.0 << s)

but pronounces an error for

	a[1.0 << s]

(go/types accepts both).

This change clarifies the spec by explicitly stating that an
untyped constant left operand in a non-constant shift (1.0 in
the above examples) will be given type `int` in these contexts.

A separate issue #21693 addresses the cmd/compile bug.

Fixes #14844.

Change-Id: I4b52125e487a607fae377fcbed55463cdce9836c
Reviewed-on: https://go-review.googlesource.com/60230
Reviewed-by: Russ Cox <rsc@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2017-09-01 15:46:24 +00:00
..
articles doc/articles/wiki: fix final-test.patch 2017-08-31 21:25:48 +00:00
codewalk all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
devel doc: document go1.9 2017-08-24 19:54:25 +00:00
editors doc: add Atom to editor guide 2017-07-25 17:20:27 +00:00
gopher website: recreate 16px and 32px favicon 2016-08-25 15:43:32 +00:00
play doc/play: update URL for concurrent pi 2016-01-06 20:23:21 +00:00
progs cmd/cgo: support niladic function-like macros 2017-08-30 18:28:58 +00:00
asm.html doc: add mips, mips64 information to asm.html 2016-12-20 20:58:12 +00:00
cmd.html doc: website: changed link for cover 2017-06-18 16:19:31 +00:00
code.html doc: Proper default value for the $GOPATH. 2017-06-28 05:47:47 +00:00
conduct.html doc: update Code of Conduct wording and scope 2017-02-15 21:42:39 +00:00
contrib.html doc: add go1.9 to golang.org/project 2017-08-24 19:55:25 +00:00
contribute.html doc/contribute: improve wording of Gerrit description 2017-08-09 15:29:05 +00:00
debugging_with_gdb.html doc/gdb: mention GOTRACEBACK=crash 2017-01-13 18:05:46 +00:00
docs.html doc: add an editor guide 2017-07-19 21:38:16 +00:00
editors.html doc: use better wording to explain type-aware completion 2017-08-04 20:18:16 +00:00
effective_go.html doc: escape some HTML in Effective Go code examples 2017-04-20 16:29:19 +00:00
gccgo_contribute.html doc: fix stale gofrontend/gccgo contribution link 2016-09-01 18:38:38 +00:00
gccgo_install.html doc: update gccgo docs 2017-01-24 21:21:59 +00:00
go1.1.html
go1.2.html
go1.3.html
go1.4.html
go1.5.html
go1.6.html doc: GCC 6 will have the Go 1.6.1 user libraries 2016-04-14 20:00:33 +00:00
go1.7.html doc: fix broken links in 1.7 release docs 2016-11-07 18:51:29 +00:00
go1.8.html doc: fix broken link in go1.8.html 2017-02-22 23:51:12 +00:00
go1.9.html doc/1.9: add mention of net/http.LocalAddrContextKey 2017-08-28 19:21:54 +00:00
go1.html
go1compat.html
go_faq.html doc: add qualified mention of dep to FAQ 2017-06-20 16:07:41 +00:00
go_mem.html
go_spec.html spec: clarify context type for certain non-constant shifts 2017-09-01 15:46:24 +00:00
go-logo-black.png
go-logo-blue.png
go-logo-white.png
help.html doc: add Go Time podcast to the help page 2017-04-21 00:42:07 +00:00
ie.css
install-source.html doc: document go1.9 2017-08-24 19:54:25 +00:00
install.html doc: update binary requirements 2017-06-29 22:14:58 +00:00
root.html doc: hide blog content for golang.google.cn 2017-08-03 17:32:52 +00:00
security.html doc: dissuade people from using PGP for security reports 2017-04-17 18:33:08 +00:00
share.png
tos.html