@@ -345,6 +345,7 @@ impl FlycheckActor {
345345) ;
346346}
347347if self . package_status . is_empty ( ) {
348+ tracing:: trace!( flycheck_id = self . id, "clearing diagnostics" ) ;
348349// We finished without receiving any diagnostics.
349350// That means all of them are stale.
350351self . send ( FlycheckMessage :: ClearDiagnostics {
@@ -354,6 +355,11 @@ impl FlycheckActor {
354355} else {
355356for ( package_id, status) in mem:: take ( & mut self . package_status ) {
356357if let DiagnosticReceived :: No = status {
358+ tracing:: trace!(
359+ flycheck_id = self . id,
360+ package_id = package_id. repr,
361+ "clearing diagnostics"
362+ ) ;
357363self . send ( FlycheckMessage :: ClearDiagnostics {
358364id : self . id ,
359365package_id : Some ( package_id) ,
@@ -385,9 +391,15 @@ impl FlycheckActor {
385391"diagnostic received"
386392) ;
387393if let Some ( package_id) = & package_id {
388- if !self . package_status . contains_key ( package_id) {
389- self . package_status
390- . insert ( package_id. clone ( ) , DiagnosticReceived :: Yes ) ;
394+ if let None | Some ( DiagnosticReceived :: No ) = self
395+ . package_status
396+ . insert ( package_id. clone ( ) , DiagnosticReceived :: Yes )
397+ {
398+ tracing:: trace!(
399+ flycheck_id = self . id,
400+ package_id = package_id. repr,
401+ "clearing diagnostics"
402+ ) ;
391403self . send ( FlycheckMessage :: ClearDiagnostics {
392404id : self . id ,
393405package_id : Some ( package_id. clone ( ) ) ,
0 commit comments