@@ -104,8 +104,6 @@ enum ResolutionError<'a> {
104104 IsNotATrait ( & ' a str ) ,
105105 /// error E0405: use of undeclared trait name
106106 UndeclaredTraitName ( & ' a str , SuggestedCandidates ) ,
107- /// error E0406: undeclared associated type
108- UndeclaredAssociatedType ,
109107 /// error E0407: method is not a member of trait
110108 MethodNotMemberOfTrait ( Name , & ' a str ) ,
111109 /// error E0437: type is not a member of trait
@@ -229,9 +227,6 @@ fn resolve_struct_error<'b, 'a: 'b, 'c>(resolver: &'b Resolver<'a>,
229227 err. span_label ( span, & format ! ( "`{}` is not in scope" , name) ) ;
230228 err
231229 }
232- ResolutionError :: UndeclaredAssociatedType => {
233- struct_span_err ! ( resolver. session, span, E0406 , "undeclared associated type" )
234- }
235230 ResolutionError :: MethodNotMemberOfTrait ( method, trait_) => {
236231 struct_span_err ! ( resolver. session,
237232 span,
@@ -519,9 +514,6 @@ impl<'a, 'v> Visitor<'v> for Resolver<'a> {
519514 fn visit_ty ( & mut self , ty : & Ty ) {
520515 self . resolve_type ( ty) ;
521516 }
522- fn visit_generics ( & mut self , generics : & Generics ) {
523- self . resolve_generics ( generics) ;
524- }
525517 fn visit_poly_trait_ref ( & mut self , tref : & ast:: PolyTraitRef , m : & ast:: TraitBoundModifier ) {
526518 match self . resolve_trait_reference ( tref. trait_ref . ref_id , & tref. trait_ref . path , 0 ) {
527519 Ok ( def) => self . record_def ( tref. trait_ref . ref_id , def) ,
@@ -1850,30 +1842,6 @@ impl<'a> Resolver<'a> {
18501842 } )
18511843 }
18521844
1853- fn resolve_generics ( & mut self , generics : & Generics ) {
1854- for predicate in & generics. where_clause . predicates {
1855- match predicate {
1856- & ast:: WherePredicate :: BoundPredicate ( _) |
1857- & ast:: WherePredicate :: RegionPredicate ( _) => { }
1858- & ast:: WherePredicate :: EqPredicate ( ref eq_pred) => {
1859- self . resolve_path ( eq_pred. id , & eq_pred. path , 0 , TypeNS ) . and_then ( |path_res| {
1860- if let PathResolution { base_def : Def :: TyParam ( ..) , .. } = path_res {
1861- Ok ( self . record_def ( eq_pred. id , path_res) )
1862- } else {
1863- Err ( false )
1864- }
1865- } ) . map_err ( |error_reported| {
1866- self . record_def ( eq_pred. id , err_path_resolution ( ) ) ;
1867- if error_reported { return }
1868- let error_variant = ResolutionError :: UndeclaredAssociatedType ;
1869- resolve_error ( self , eq_pred. span , error_variant) ;
1870- } ) . unwrap_or ( ( ) ) ;
1871- }
1872- }
1873- }
1874- visit:: walk_generics ( self , generics) ;
1875- }
1876-
18771845 fn with_current_self_type < T , F > ( & mut self , self_type : & Ty , f : F ) -> T
18781846 where F : FnOnce ( & mut Resolver ) -> T
18791847 {
0 commit comments