@@ -216,18 +216,18 @@ pub enum UnresolvedNameContext {
216216fn resolve_error < ' b , ' a : ' b , ' tcx : ' a > ( resolver : & ' b Resolver < ' a , ' tcx > ,
217217 span : syntax:: codemap:: Span ,
218218 resolution_error : ResolutionError < ' b > ) {
219- resolve_struct_error ( resolver, span, resolution_error) . map ( | mut e| e . emit ( ) ) ;
219+ resolve_struct_error ( resolver, span, resolution_error) . emit ( ) ;
220220}
221221
222222fn resolve_struct_error < ' b , ' a : ' b , ' tcx : ' a > ( resolver : & ' b Resolver < ' a , ' tcx > ,
223223 span : syntax:: codemap:: Span ,
224224 resolution_error : ResolutionError < ' b > )
225- -> Option < DiagnosticBuilder < ' a > > {
225+ -> DiagnosticBuilder < ' a > {
226226 if !resolver. emit_errors {
227- return None ;
227+ return resolver . session . diagnostic ( ) . struct_dummy ( ) ;
228228 }
229229
230- Some ( match resolution_error {
230+ match resolution_error {
231231 ResolutionError :: TypeParametersFromOuterFunction => {
232232 struct_span_err ! ( resolver. session,
233233 span,
@@ -532,7 +532,7 @@ fn resolve_struct_error<'b, 'a: 'b, 'tcx: 'a>(resolver: &'b Resolver<'a, 'tcx>,
532532 E0435 ,
533533 "attempt to use a non-constant value in a constant" )
534534 }
535- } )
535+ }
536536}
537537
538538#[ derive( Copy , Clone ) ]
@@ -2202,10 +2202,10 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
22022202
22032203 // If it's a typedef, give a note
22042204 if let DefTy ( ..) = path_res. base_def {
2205- err. as_mut ( ) . map ( | mut e| e . span_note ( trait_path. span ,
2206- "`type` aliases cannot be used for traits" ) ) ;
2205+ err. span_note ( trait_path. span ,
2206+ "`type` aliases cannot be used for traits" ) ;
22072207 }
2208- err. as_mut ( ) . map ( | mut e| e . emit ( ) ) ;
2208+ err. emit ( ) ;
22092209 Err ( ( ) )
22102210 }
22112211 } else {
@@ -3493,11 +3493,11 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
34933493 let msg = format ! ( "did you mean to write: `{} {{ /* fields */ }}`?" ,
34943494 path_name) ;
34953495 if self . emit_errors {
3496- err. as_mut ( ) . map ( | mut e| e . fileline_help ( expr. span , & msg) ) ;
3496+ err. fileline_help ( expr. span , & msg) ;
34973497 } else {
3498- err. as_mut ( ) . map ( | mut e| e . span_help ( expr. span , & msg) ) ;
3498+ err. span_help ( expr. span , & msg) ;
34993499 }
3500- err. as_mut ( ) . map ( | mut e| e . emit ( ) ) ;
3500+ err. emit ( ) ;
35013501 self . record_def ( expr. id , err_path_resolution ( ) ) ;
35023502 } else {
35033503 // Write the result into the def map.
@@ -3534,11 +3534,11 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
35343534 let msg = format ! ( "did you mean to write: `{} {{ /* fields */ }}`?" ,
35353535 path_name) ;
35363536 if self . emit_errors {
3537- err. as_mut ( ) . map ( | mut e| e . fileline_help ( expr. span , & msg) ) ;
3537+ err. fileline_help ( expr. span , & msg) ;
35383538 } else {
3539- err. as_mut ( ) . map ( | mut e| e . span_help ( expr. span , & msg) ) ;
3539+ err. span_help ( expr. span , & msg) ;
35403540 }
3541- err. as_mut ( ) . map ( | mut e| e . emit ( ) ) ;
3541+ err. emit ( ) ;
35423542 }
35433543 _ => {
35443544 // Keep reporting some errors even if they're ignored above.
0 commit comments