diff --git a/crates/red_knot_python_semantic/src/types/context.rs b/crates/red_knot_python_semantic/src/types/context.rs index 36e1e919f5..37d16c9f22 100644 --- a/crates/red_knot_python_semantic/src/types/context.rs +++ b/crates/red_knot_python_semantic/src/types/context.rs @@ -468,6 +468,11 @@ impl Drop for DiagnosticGuard<'_, '_> { // once. let diag = self.diag.take().unwrap(); + if std::thread::panicking() { + // Don't submit diagnostics when panicking because they might be incomplete. + return; + } + let Some(ann) = diag.primary_annotation() else { panic!( "All diagnostics reported by `InferContext` must have a \