@@ -1012,7 +1012,10 @@ impl<'a> Parser<'a> {
10121012 if text. is_empty ( ) {
10131013 self . span_bug ( sp, "found empty literal suffix in Some" )
10141014 }
1015- self . span_err ( sp, & format ! ( "{} with a suffix is invalid" , kind) ) ;
1015+ let msg = format ! ( "{} with a suffix is invalid" , kind) ;
1016+ self . struct_span_err ( sp, & msg)
1017+ . span_label ( sp, msg)
1018+ . emit ( ) ;
10161019 }
10171020 }
10181021 }
@@ -1768,9 +1771,11 @@ impl<'a> Parser<'a> {
17681771 Mutability :: Immutable
17691772 } else {
17701773 let span = self . prev_span ;
1771- self . span_err ( span,
1772- "expected mut or const in raw pointer type (use \
1773- `*mut T` or `*const T` as appropriate)") ;
1774+ let msg = "expected mut or const in raw pointer type" ;
1775+ self . struct_span_err ( span, msg)
1776+ . span_label ( span, msg)
1777+ . help ( "use `*mut T` or `*const T` as appropriate" )
1778+ . emit ( ) ;
17741779 Mutability :: Immutable
17751780 } ;
17761781 let t = self . parse_ty_no_plus ( ) ?;
@@ -5612,15 +5617,20 @@ impl<'a> Parser<'a> {
56125617 // *mut self
56135618 // *not_self
56145619 // Emit special error for `self` cases.
5620+ let msg = "cannot pass `self` by raw pointer" ;
56155621 ( if isolated_self ( self , 1 ) {
56165622 self . bump ( ) ;
5617- self . span_err ( self . span , "cannot pass `self` by raw pointer" ) ;
5623+ self . struct_span_err ( self . span , msg)
5624+ . span_label ( self . span , msg)
5625+ . emit ( ) ;
56185626 SelfKind :: Value ( Mutability :: Immutable )
56195627 } else if self . look_ahead ( 1 , |t| t. is_mutability ( ) ) &&
56205628 isolated_self ( self , 2 ) {
56215629 self . bump ( ) ;
56225630 self . bump ( ) ;
5623- self . span_err ( self . span , "cannot pass `self` by raw pointer" ) ;
5631+ self . struct_span_err ( self . span , msg)
5632+ . span_label ( self . span , msg)
5633+ . emit ( ) ;
56245634 SelfKind :: Value ( Mutability :: Immutable )
56255635 } else {
56265636 return Ok ( None ) ;
@@ -5957,7 +5967,10 @@ impl<'a> Parser<'a> {
59575967 tps. where_clause = self . parse_where_clause ( ) ?;
59585968 self . expect ( & token:: Semi ) ?;
59595969 if unsafety != Unsafety :: Normal {
5960- self . span_err ( self . prev_span , "trait aliases cannot be unsafe" ) ;
5970+ let msg = "trait aliases cannot be unsafe" ;
5971+ self . struct_span_err ( self . prev_span , msg)
5972+ . span_label ( self . prev_span , msg)
5973+ . emit ( ) ;
59615974 }
59625975 Ok ( ( ident, ItemKind :: TraitAlias ( tps, bounds) , None ) )
59635976 } else {
0 commit comments