File tree 1 file changed +12
-9
lines changed
compiler/rustc_parse/src/parser
1 file changed +12
-9
lines changed Original file line number Diff line number Diff line change @@ -756,16 +756,19 @@ impl<'a> Parser<'a> {
756
756
// we expect to suggest `(foo::Bar { ... })` instead of `foo::(Bar { ... })`
757
757
let sm = self . sess . source_map ( ) ;
758
758
let before = maybe_struct_name. span . shrink_to_lo ( ) ;
759
- let extend_before = sm. span_extend_prev_while ( before, |t| {
759
+ if let Ok ( extend_before) = sm. span_extend_prev_while ( before, |t| {
760
760
t. is_alphanumeric ( ) || t == ':' || t == '_'
761
- } ) ;
762
- Err ( self . sess . create_err ( StructLiteralNeedingParens {
763
- span : maybe_struct_name. span . to ( expr. span ) ,
764
- sugg : StructLiteralNeedingParensSugg {
765
- before : extend_before. unwrap ( ) . shrink_to_lo ( ) ,
766
- after : expr. span . shrink_to_hi ( ) ,
767
- } ,
768
- } ) )
761
+ } ) {
762
+ Err ( self . sess . create_err ( StructLiteralNeedingParens {
763
+ span : maybe_struct_name. span . to ( expr. span ) ,
764
+ sugg : StructLiteralNeedingParensSugg {
765
+ before : extend_before. shrink_to_lo ( ) ,
766
+ after : expr. span . shrink_to_hi ( ) ,
767
+ } ,
768
+ } ) )
769
+ } else {
770
+ return None ;
771
+ }
769
772
} else {
770
773
self . sess . emit_err ( StructLiteralBodyWithoutPath {
771
774
span : expr. span ,
You can’t perform that action at this time.
0 commit comments