-- go.mod -- module example.com go 1.18 -- template/template.go -- package template import ( "go/ast" // defines many unencapsulated structs "go/token" ) func before(from, to token.Pos) ast.BadExpr { return ast.BadExpr{From: from, To: to} } func after(from, to token.Pos) ast.BadExpr { return ast.BadExpr{from, to} } -- in/g1/g1.go -- package g1 import "go/ast" func example() { _ = ast.BadExpr{From: 123, To: 456} // match _ = ast.BadExpr{123, 456} // no match _ = ast.BadExpr{From: 123} // no match _ = ast.BadExpr{To: 456} // no match } -- out/g1/g1.go -- package g1 import "go/ast" func example() { _ = ast.BadExpr{123, 456} // match _ = ast.BadExpr{123, 456} // no match _ = ast.BadExpr{From: 123} // no match _ = ast.BadExpr{To: 456} // no match }