From e3c07b010ac0f6277ab1c2446cd15c35dac1b25d Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Tue, 29 Jan 2019 19:41:15 +0300 Subject: [PATCH] fast-path no-op gc as well --- src/derived.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/derived.rs b/src/derived.rs index d41ee76..cd3eabc 100644 --- a/src/derived.rs +++ b/src/derived.rs @@ -948,6 +948,7 @@ where map_write.clear(); return; }, + (DiscardIf::Never, _) | (_, DiscardWhat::Nothing) => return, _ => {} } map_write.retain(|key, query_state| { @@ -980,10 +981,10 @@ where // when we read `revision_now`. assert!(memo.verified_at <= revision_now); match strategy.discard_if { - DiscardIf::Never => true, + DiscardIf::Never => unreachable!(), DiscardIf::Outdated if memo.verified_at == revision_now => true, DiscardIf::Outdated | DiscardIf::Always => match strategy.discard_what { - DiscardWhat::Nothing => true, + DiscardWhat::Nothing => unreachable!(), DiscardWhat::Values => { memo.value = None; true