diff --git a/_test/assert4.go b/_test/assert4.go new file mode 100644 index 000000000..dcf3f6845 --- /dev/null +++ b/_test/assert4.go @@ -0,0 +1,11 @@ +package main + +var cc interface{} = 2 +var dd = cc.(int) + +func main() { + println(dd) +} + +// Output: +// 2 diff --git a/interp/type.go b/interp/type.go index 39b5f903b..6c493b31b 100644 --- a/interp/type.go +++ b/interp/type.go @@ -1093,6 +1093,9 @@ func nodeType2(interp *Interpreter, sc *scope, n *node, seen []*node) (t *itype, sc.sym[sname].typ = t } + case typeAssertExpr: + t, err = nodeType2(interp, sc, n.child[1], seen) + default: err = n.cfgErrorf("type definition not implemented: %s", n.kind) }