diff -r ff7c1d0eb353 -r 7f448375b9ac go/gogo.cc --- a/go/gogo.cc Tue Dec 21 10:08:48 2010 -0800 +++ b/go/gogo.cc Tue Dec 21 10:19:17 2010 -0800 @@ -881,7 +881,7 @@ { Named_object* no = this->current_bindings()->add_type(name, NULL, type, location); - if (!this->in_global_scope()) + if (!this->in_global_scope() && no->is_type()) no->type_value()->set_in_function(this->functions_.back().function); } @@ -901,7 +901,7 @@ { Bindings* bindings = this->current_bindings(); Named_object* no = bindings->add_type_declaration(name, NULL, location); - if (!this->in_global_scope()) + if (!this->in_global_scope() && no->is_type_declaration()) { Named_object* f = this->functions_.back().function; no->type_declaration_value()->set_in_function(f);