From 08de3362b4f0766159ec4989e4002a70ab2c8b00 Mon Sep 17 00:00:00 2001 From: Todd Mortimer Date: Thu, 8 Apr 2021 20:08:51 -0400 Subject: [PATCH] Move debug assertion. --- src/extensions/idle.rs | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/extensions/idle.rs b/src/extensions/idle.rs index cf55151..fa08142 100644 --- a/src/extensions/idle.rs +++ b/src/extensions/idle.rs @@ -157,24 +157,26 @@ impl<'a, T: Read + Write + 'a> Handle<'a, T> { if !callback(response) { break Ok(WaitOutcome::MailboxChanged); } + + // Assert on partial parse in debug builds - we expect + // to always parse all or none of the input buffer. + // On release builds, we still do the right thing. + debug_assert!( + rest.is_empty(), + "Unexpected partial parse: input: {:?}, output: {:?}", + v, + rest, + ); + if rest.is_empty() { v.clear(); } else { - // Assert on partial parse in debug builds - we expect - // to always parse all or none of the input buffer. - // On release builds, we still do the right thing. - debug_assert!( - rest.len() != v.len(), - "Unexpected partial parse: input: {:?}, output: {:?}", - v, - rest - ); let used = v.len() - rest.len(); v.drain(0..used); } } // Incomplete parse - do nothing and read more. - (_rest, None) => (), + (_rest, None) => {} } } Err(r) => break Err(r),