Inlining even simple calls such as:
_ = astutil.NodeContains(p.File, typeError.Pos)
causes literalization due to the need for a binding decl within the function body:
_ = func() bool { var n ast.Node = p.File; return n.Pos() <= typeError.Pos && typeError.Pos <= n.End() }()
But the name n is not used in the caller block, so it would be fine to melt the call down to:
var n ast.Node = p.File
_ = n.Pos() <= typeError.Pos && typeError.Pos <= n.End()
FWIW, without the _ = ... assignment, the inliner does reduce the call:
{
var n ast.Node = p.File
_ = n.Pos() <= typeError.Pos && typeError.Pos <= n.End()
}
@findleyr