@@ -30,14 +30,15 @@ use syntax::ast_map::{node_item, node_method};
3030use syntax:: ast_map;
3131use syntax:: ast_util:: { Private , Public , has_legacy_export_attr, is_local} ;
3232use syntax:: ast_util:: { visibility_to_privacy} ;
33+ use syntax:: codemap:: span;
3334use syntax:: visit;
3435
3536fn check_crate( tcx : ty:: ctxt , method_map : & method_map , crate : @ast:: crate ) {
3637 let privileged_items = @DVec ( ) ;
3738 let legacy_exports = has_legacy_export_attr ( crate . node. attrs ) ;
3839
3940 // Adds structs that are privileged to this scope.
40- let add_privileged_items = | items : & [ @ast:: item ] | {
41+ let add_privileged_items: @ fn ( & [ @ast:: item ] ) -> int = |items | {
4142 let mut count = 0 ;
4243 for items. each |item| {
4344 match item. node {
@@ -53,7 +54,8 @@ fn check_crate(tcx: ty::ctxt, method_map: &method_map, crate: @ast::crate) {
5354 } ;
5455
5556 // Checks that an enum variant is in scope
56- let check_variant = |span, enum_id| {
57+ let check_variant: @fn ( span : span , enum_id : ast:: def_id ) =
58+ |span, enum_id| {
5759 let variant_info = ty:: enum_variants ( tcx, enum_id) [ 0 ] ;
5860 let parental_privacy = if is_local ( enum_id) {
5961 let parent_vis = ast_map:: node_item_query ( tcx. items , enum_id. node ,
@@ -81,7 +83,8 @@ fn check_crate(tcx: ty::ctxt, method_map: &method_map, crate: @ast::crate) {
8183 } ;
8284
8385 // Checks that a private field is in scope.
84- let check_field = |span, id, ident| {
86+ let check_field: @fn ( span : span , id : ast:: def_id , ident : ast:: ident ) =
87+ |span, id, ident| {
8588 let fields = ty:: lookup_struct_fields ( tcx, id) ;
8689 for fields. each |field| {
8790 if field. ident != ident { loop ; }
@@ -95,7 +98,8 @@ fn check_crate(tcx: ty::ctxt, method_map: &method_map, crate: @ast::crate) {
9598 } ;
9699
97100 // Checks that a private method is in scope.
98- let check_method = |span, origin : & method_origin | {
101+ let check_method: @fn ( span : span , origin : & method_origin ) =
102+ |span, origin| {
99103 match * origin {
100104 method_static( method_id) => {
101105 if method_id. crate == local_crate {
0 commit comments