diff --git a/_test/assign8.go b/_test/assign8.go new file mode 100644 index 00000000..75f258dc --- /dev/null +++ b/_test/assign8.go @@ -0,0 +1,9 @@ +package main + +func main() { + _ = 1 + println(1) +} + +// Output: +// 1 diff --git a/interp/cfg.go b/interp/cfg.go index 5b1b4bd4..82038622 100644 --- a/interp/cfg.go +++ b/interp/cfg.go @@ -343,7 +343,7 @@ func (interp *Interpreter) cfg(root *node) ([]*node, error) { dest, src := n.child[i], n.child[sbase+i] var sym *symbol var level int - if n.kind == defineStmt { + if n.kind == defineStmt || (n.kind == assignStmt && dest.ident == "_") { if src.typ != nil && src.typ.cat == nilT { err = src.cfgErrorf("use of untyped nil") break