compiler: fix nil constant interface

A nil interface has no dynamic type (or: nil dynamic type). Don't try to
use the static type as the dynamic type, because these are different.
This commit is contained in:
Ayke van Laethem
2018-09-03 01:01:24 +02:00
parent 4ed04309a3
commit c100e4d67f
2 changed files with 4 additions and 10 deletions
+1 -1
View File
@@ -103,7 +103,7 @@ func (p *Program) AnalyseCallgraph() {
// Find all types that are put in an interface.
func (p *Program) AnalyseInterfaceConversions() {
// Clear, if AnalyseTypes has been called before.
p.typesWithoutMethods = map[string]int{"interface{}": 0, "error": 1}
p.typesWithoutMethods = map[string]int{"nil": 0}
p.typesWithMethods = map[string]*InterfaceType{}
for _, f := range p.Functions {