1
0
mirror of https://github.com/golang/go synced 2024-11-19 21:24:40 -07:00
go/src
Robert Griesemer d5e47fdc92 go/types: perform delayed tests even for types.Eval
R=go1.11

types.Eval historically never evaluated any delayed tests, which
included verification of validity of map keys, but also function
literal bodies.

Now, embedded interfaces are also type-checked in a delayed fashion,
so it becomes imperative to do all delayed checks for eval (otherwise
obviously incorrect type expressions are silently accepted).

Enabling the delayed tests also removes the restriction that function
literals were not type-checked.

Also fixed a bug where eval wouldn't return a type-checking error
because check.handleBailout was using the wrong err variable.

Added tests that verify that method set computation is using the
right types when evaluating interfaces with embedded types.

For #18395.
For #22992.

Change-Id: I574fa84568b5158bca4b4ccd4ef5abb616fbf896
Reviewed-on: https://go-review.googlesource.com/84898
Reviewed-by: Alan Donovan <adonovan@google.com>
2018-02-12 21:40:19 +00:00
..
archive
bufio
builtin
bytes
cmd all: restore changes from faulty merge/revert 2018-02-12 20:13:59 +00:00
compress
container container/list: document nil values more 2018-01-08 18:06:27 +00:00
context
crypto crypto/x509: better document Verify's behaviour. 2018-01-18 14:43:29 +00:00
database/sql database/sql: buffers provided to Rows.Next should not be modified by drivers 2018-01-25 19:14:14 +00:00
debug
encoding encoding/gob: avoid race on idToType 2018-01-04 02:17:33 +00:00
errors
expvar
flag
fmt
go go/types: perform delayed tests even for types.Eval 2018-02-12 21:40:19 +00:00
hash
html html/template: check for duplicates when inserting escapers 2018-01-10 17:36:27 +00:00
image
index/suffixarray
internal
io
log
math math/rand: typo fixed in documentation of seedPos 2018-01-04 20:27:29 +00:00
mime
net net: fix the kernel state name for TCP listen queue on FreeBSD 2018-02-02 00:04:20 +00:00
os os/signal: skip TestTerminalSignal if posix_openpt fails with EACCES 2018-01-31 00:50:06 +00:00
path
plugin
reflect reflect: fix doc nit 2018-01-09 21:48:16 +00:00
regexp
runtime runtime: restore RSB for sigpanic call on mips64x 2018-01-31 20:57:53 +00:00
sort
strconv
strings strings: prevent copyCheck from forcing Builder to escape and allocate 2018-01-09 22:01:28 +00:00
sync sync: consistently use article "a" for RWMutex 2018-01-16 23:09:57 +00:00
syscall syscall: use SYS_GETDENTS64 on linux/mips64{,le} 2018-01-31 20:42:49 +00:00
testing cmd/go, testing: test names don't have to be alphanumeric 2018-01-04 01:52:55 +00:00
text text/template: revert CL 66410 "add break, continue actions in ranges" 2018-02-06 05:00:01 +00:00
time time: revert CL 78735 (was: space padding using underscore) 2018-01-03 20:50:44 +00:00
unicode
unsafe
vendor/golang_org/x
all.bash
all.bat
all.rc
androidtest.bash misc,src: add support for specifying adb flags to the android harness 2018-01-20 21:13:30 +00:00
bootstrap.bash bootstrap.bash: only fetch git revision if we need it 2018-01-30 15:11:56 +00:00
buildall.bash
clean.bash
clean.bat
clean.rc
cmp.bash
iostest.bash
make.bash
make.bat
Make.dist
make.rc
naclmake.bash
nacltest.bash
race.bash
race.bat
run.bash
run.bat
run.rc