diff --git a/clippy_utils/src/source.rs b/clippy_utils/src/source.rs index 638d32903123..5956830433a0 100644 --- a/clippy_utils/src/source.rs +++ b/clippy_utils/src/source.rs @@ -573,8 +573,13 @@ fn snippet_with_applicability_sess<'a>( } /// Converts a span to a code snippet. Returns `None` if not available. +#[allow(clippy::unnecessary_wraps)] pub fn snippet_opt(sess: &impl HasSession, span: Span) -> Option { - sess.sess().source_map().span_to_snippet(span).ok() + // Experiment: fail loudly if the snippet cannot be obtained + match sess.sess().source_map().span_to_snippet(span) { + Ok(v) => Some(v), + Err(e) => panic!("Error when getting snippet for {span:?}: {e:?}"), + } } /// Converts a span (from a block) to a code snippet if available, otherwise use default.