• Robert Griesemer's avatar
    go/types: perform delayed tests even for types.Eval · d5e47fdc
    Robert Griesemer authored
    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/84898Reviewed-by: 's avatarAlan Donovan <adonovan@google.com>
    d5e47fdc
Name
Last commit
Last update
.github Loading commit data...
api Loading commit data...
doc Loading commit data...
lib/time Loading commit data...
misc Loading commit data...
src Loading commit data...
test Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
AUTHORS Loading commit data...
CONTRIBUTING.md Loading commit data...
CONTRIBUTORS Loading commit data...
LICENSE Loading commit data...
PATENTS Loading commit data...
README.md Loading commit data...
VERSION Loading commit data...
favicon.ico Loading commit data...
robots.txt Loading commit data...