Skip to content

Commit 65833dc

Browse files
authored
Rollup merge of #72261 - csmoe:issue-72095, r=estebank
Break out early on empty span when generate_fn_span Closes #72095 r? @oli-obk cc @estebank @tmandry
2 parents 49b81ca + 2e1c2a6 commit 65833dc

File tree

1 file changed

+17
-8
lines changed

1 file changed

+17
-8
lines changed

src/librustc_span/source_map.rs

+17-8
Original file line numberDiff line numberDiff line change
@@ -910,14 +910,23 @@ impl SourceMap {
910910

911911
pub fn generate_fn_name_span(&self, span: Span) -> Option<Span> {
912912
let prev_span = self.span_extend_to_prev_str(span, "fn", true);
913-
self.span_to_snippet(prev_span)
914-
.map(|snippet| {
915-
let len = snippet
916-
.find(|c: char| !c.is_alphanumeric() && c != '_')
917-
.expect("no label after fn");
918-
prev_span.with_hi(BytePos(prev_span.lo().0 + len as u32))
919-
})
920-
.ok()
913+
if let Ok(snippet) = self.span_to_snippet(prev_span) {
914+
debug!(
915+
"generate_fn_name_span: span={:?}, prev_span={:?}, snippet={:?}",
916+
span, prev_span, snippet
917+
);
918+
919+
if snippet.is_empty() {
920+
return None;
921+
};
922+
923+
let len = snippet
924+
.find(|c: char| !c.is_alphanumeric() && c != '_')
925+
.expect("no label after fn");
926+
Some(prev_span.with_hi(BytePos(prev_span.lo().0 + len as u32)))
927+
} else {
928+
None
929+
}
921930
}
922931

923932
/// Takes the span of a type parameter in a function signature and try to generate a span for

0 commit comments

Comments
 (0)