1010
1111use { AmbiguityError , AmbiguityKind , AmbiguityErrorMisc } ;
1212use { CrateLint , Resolver , ResolutionError , ScopeSet , Weak } ;
13- use { Module , ModuleKind , NameBinding , NameBindingKind , PathResult , Segment , ToNameBinding } ;
13+ use { Module , NameBinding , NameBindingKind , PathResult , Segment , ToNameBinding } ;
1414use { is_known_tool, resolve_error} ;
1515use ModuleOrUniformRoot ;
1616use Namespace :: * ;
@@ -30,8 +30,6 @@ use syntax::ext::expand::{AstFragment, Invocation, InvocationKind};
3030use syntax:: ext:: hygiene:: { self , Mark } ;
3131use syntax:: ext:: tt:: macro_rules;
3232use syntax:: feature_gate:: { feature_err, is_builtin_attr_name, GateIssue } ;
33- use syntax:: fold:: { self , Folder } ;
34- use syntax:: ptr:: P ;
3533use syntax:: symbol:: { Symbol , keywords} ;
3634use syntax:: util:: lev_distance:: find_best_match_for_name;
3735use syntax_pos:: { Span , DUMMY_SP } ;
@@ -138,58 +136,6 @@ impl<'a> base::Resolver for Resolver<'a> {
138136 mark
139137 }
140138
141- fn eliminate_crate_var ( & mut self , item : P < ast:: Item > ) -> P < ast:: Item > {
142- struct EliminateCrateVar < ' b , ' a : ' b > (
143- & ' b mut Resolver < ' a > , Span
144- ) ;
145-
146- impl < ' a , ' b > Folder for EliminateCrateVar < ' a , ' b > {
147- fn fold_path ( & mut self , path : ast:: Path ) -> ast:: Path {
148- match self . fold_qpath ( None , path) {
149- ( None , path) => path,
150- _ => unreachable ! ( ) ,
151- }
152- }
153-
154- fn fold_qpath ( & mut self , mut qself : Option < ast:: QSelf > , mut path : ast:: Path )
155- -> ( Option < ast:: QSelf > , ast:: Path ) {
156- qself = qself. map ( |ast:: QSelf { ty, path_span, position } | {
157- ast:: QSelf {
158- ty : self . fold_ty ( ty) ,
159- path_span : self . new_span ( path_span) ,
160- position,
161- }
162- } ) ;
163-
164- if path. segments [ 0 ] . ident . name == keywords:: DollarCrate . name ( ) {
165- let module = self . 0 . resolve_crate_root ( path. segments [ 0 ] . ident ) ;
166- path. segments [ 0 ] . ident . name = keywords:: PathRoot . name ( ) ;
167- if !module. is_local ( ) {
168- let span = path. segments [ 0 ] . ident . span ;
169- path. segments . insert ( 1 , match module. kind {
170- ModuleKind :: Def ( _, name) => ast:: PathSegment :: from_ident (
171- ast:: Ident :: with_empty_ctxt ( name) . with_span_pos ( span)
172- ) ,
173- _ => unreachable ! ( ) ,
174- } ) ;
175- if let Some ( qself) = & mut qself {
176- qself. position += 1 ;
177- }
178- }
179- }
180- ( qself, path)
181- }
182-
183- fn fold_mac ( & mut self , mac : ast:: Mac ) -> ast:: Mac {
184- fold:: noop_fold_mac ( mac, self )
185- }
186- }
187-
188- let ret = EliminateCrateVar ( self , item. span ) . fold_item ( item) ;
189- assert ! ( ret. len( ) == 1 ) ;
190- ret. into_iter ( ) . next ( ) . unwrap ( )
191- }
192-
193139 fn visit_ast_fragment_with_placeholders ( & mut self , mark : Mark , fragment : & AstFragment ,
194140 derives : & [ Mark ] ) {
195141 let invocation = self . invocations [ & mark] ;
@@ -259,7 +205,6 @@ impl<'a> base::Resolver for Resolver<'a> {
259205 self . definitions . add_parent_module_of_macro_def ( invoc. expansion_data . mark ,
260206 normal_module_def_id) ;
261207 invoc. expansion_data . mark . set_default_transparency ( ext. default_transparency ( ) ) ;
262- invoc. expansion_data . mark . set_is_builtin ( def_id. krate == CrateNum :: BuiltinMacros ) ;
263208 }
264209
265210 Ok ( Some ( ext) )
0 commit comments