about summary refs log tree commit diff
diff options
context:
space:
mode:
authoryukang <moorekang@gmail.com>2023-06-10 10:34:19 +0800
committeryukang <moorekang@gmail.com>2023-06-10 10:34:19 +0800
commitf54e75730bb33d08281c91a9b77332606ec69942 (patch)
treee529ddb0afe8c059ccab51b2adea41538b96e91d
parente3071eaa608301bd4106c304e3c2f433d6507500 (diff)
downloadrust-f54e75730bb33d08281c91a9b77332606ec69942.tar.gz
rust-f54e75730bb33d08281c91a9b77332606ec69942.zip
remove unwrap
-rw-r--r--compiler/rustc_parse/src/parser/diagnostics.rs21
1 files changed, 12 insertions, 9 deletions
diff --git a/compiler/rustc_parse/src/parser/diagnostics.rs b/compiler/rustc_parse/src/parser/diagnostics.rs
index 2abd485b1be..228eff1269f 100644
--- a/compiler/rustc_parse/src/parser/diagnostics.rs
+++ b/compiler/rustc_parse/src/parser/diagnostics.rs
@@ -756,16 +756,19 @@ impl<'a> Parser<'a> {
                         // we expect to suggest `(foo::Bar { ... })` instead of `foo::(Bar { ... })`
                         let sm = self.sess.source_map();
                         let before = maybe_struct_name.span.shrink_to_lo();
-                        let extend_before = sm.span_extend_prev_while(before, |t| {
+                        if let Ok(extend_before) = sm.span_extend_prev_while(before, |t| {
                             t.is_alphanumeric() || t == ':' || t == '_'
-                        });
-                        Err(self.sess.create_err(StructLiteralNeedingParens {
-                            span: maybe_struct_name.span.to(expr.span),
-                            sugg: StructLiteralNeedingParensSugg {
-                                before: extend_before.unwrap().shrink_to_lo(),
-                                after: expr.span.shrink_to_hi(),
-                            },
-                        }))
+                        }) {
+                            Err(self.sess.create_err(StructLiteralNeedingParens {
+                                span: maybe_struct_name.span.to(expr.span),
+                                sugg: StructLiteralNeedingParensSugg {
+                                    before: extend_before.shrink_to_lo(),
+                                    after: expr.span.shrink_to_hi(),
+                                },
+                            }))
+                        } else {
+                            return None;
+                        }
                     } else {
                         self.sess.emit_err(StructLiteralBodyWithoutPath {
                             span: expr.span,