Commit b2810003 by Ian Lance Taylor

compiler: Report unused variables initialized to function literals.

    
    Fixes golang/go#12317.
    
    Reviewed-on: https://go-review.googlesource.com/13908

From-SVN: r227285
parent 26343eaf
9ae5835a010a55fba875103be5f4e61485a97099
3aa2ea272e475010da8b480fc3095d0cd7254d12
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.
......@@ -3156,6 +3156,7 @@ Check_types_traverse::variable(Named_object* named_object)
error_at(var->location(),
"incompatible type in initialization (%s)",
reason.c_str());
init = Expression::make_error(named_object->location());
var->clear_init();
}
else if (init != NULL
......@@ -3180,13 +3181,13 @@ Check_types_traverse::variable(Named_object* named_object)
no->message_name().c_str());
}
}
else if (!var->is_used()
&& !var->is_global()
&& !var->is_parameter()
&& !var->is_receiver()
&& !var->type()->is_error()
&& (init == NULL || !init->is_error_expression())
&& !Lex::is_invalid_identifier(named_object->name()))
if (!var->is_used()
&& !var->is_global()
&& !var->is_parameter()
&& !var->is_receiver()
&& !var->type()->is_error()
&& (init == NULL || !init->is_error_expression())
&& !Lex::is_invalid_identifier(named_object->name()))
error_at(var->location(), "%qs declared and not used",
named_object->message_name().c_str());
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment