diff --git a/clippy_utils/src/source.rs b/clippy_utils/src/source.rs index eecbfb3936ac..8c9eeae37c3a 100644 --- a/clippy_utils/src/source.rs +++ b/clippy_utils/src/source.rs @@ -514,8 +514,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.