This repository was archived by the owner on May 28, 2025. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +12
-9
lines changed
compiler/rustc_parse/src/parser Expand file tree Collapse file tree 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> {
756756 // we expect to suggest `(foo::Bar { ... })` instead of `foo::(Bar { ... })`
757757 let sm = self . sess . source_map ( ) ;
758758 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| {
760760 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+ }
769772 } else {
770773 self . sess . emit_err ( StructLiteralBodyWithoutPath {
771774 span : expr. span ,
You can’t perform that action at this time.
0 commit comments