Fix to follow some recent changes to the go/types API.
diff --git a/lint.go b/lint.go
index 1a8c8d4..eff0bbd 100644
--- a/lint.go
+++ b/lint.go
@@ -944,7 +944,6 @@
 			}
 			lhsTyp := f.pkg.typeOf(v.Type)
 			rhsTyp := f.pkg.typeOf(rhs)
-			scope := f.pkg.scopeOf(v.Names[0])
 			if lhsTyp != nil && rhsTyp != nil && !types.Identical(lhsTyp, rhsTyp) {
 				// Assignment to a different type is not redundant.
 				return false
@@ -961,7 +960,7 @@
 				return false
 			}
 			// If the RHS is an untyped const, only warn if the LHS type is its default type.
-			if defType, ok := f.isUntypedConst(rhs, scope); ok && !isIdent(v.Type, defType) {
+			if defType, ok := f.isUntypedConst(rhs); ok && !isIdent(v.Type, defType) {
 				return false
 			}
 			// If the LHS is a known weaker type, and we couldn't type check both sides,
@@ -1472,15 +1471,11 @@
 // isUntypedConst reports whether expr is an untyped constant,
 // and indicates what its default type is.
 // scope may be nil.
-func (f *file) isUntypedConst(expr ast.Expr, scope *types.Scope) (defType string, ok bool) {
-	typ := f.pkg.typeOf(expr)
-	if typ == nil || scope == nil {
-		return "", false
-	}
-
+func (f *file) isUntypedConst(expr ast.Expr) (defType string, ok bool) {
 	// Re-evaluate expr outside of its context to see if it's untyped.
 	// (An expr evaluated within, for example, an assignment context will get the type of the LHS.)
-	tv, err := types.EvalNode(f.fset, expr, f.pkg.typesPkg, scope)
+	exprStr := f.render(expr)
+	tv, err := types.Eval(f.fset, f.pkg.typesPkg, expr.Pos(), exprStr)
 	if err != nil {
 		return "", false
 	}
diff --git a/lint_test.go b/lint_test.go
index 91a981e..e6b25de 100644
--- a/lint_test.go
+++ b/lint_test.go
@@ -271,9 +271,7 @@
 		if err != nil {
 			t.Fatalf("Type checking %q: %v", src, err)
 		}
-		// Use the first child scope of the package, which will be the file scope.
-		scope := pkg.Scope().Child(0)
-		tv, err := types.Eval(test.typString, pkg, scope)
+		tv, err := types.Eval(fset, pkg, token.NoPos, test.typString)
 		if err != nil {
 			t.Errorf("types.Eval(%q): %v", test.typString, err)
 			continue