fix: add method checks for interface types

This commit is contained in:
Marc Vertes
2019-12-09 18:24:04 +01:00
committed by Traefiker Bot
parent 488e491bf8
commit 1ff1a50753
7 changed files with 134 additions and 2 deletions

View File

@@ -260,7 +260,7 @@ func assign(n *node) {
switch {
case dest.typ.cat == interfaceT:
svalue[i] = genValueInterface(src)
case dest.typ.cat == valueT && dest.typ.rtype.Kind() == reflect.Interface:
case (dest.typ.cat == valueT || dest.typ.cat == errorT) && dest.typ.rtype.Kind() == reflect.Interface:
svalue[i] = genInterfaceWrapper(src, dest.typ.rtype)
case dest.typ.cat == valueT && src.typ.cat == funcT:
svalue[i] = genFunctionWrapper(src)