docs: fix cache_contains implementor listing and docsrs gate, note Arc<T> return pattern, add peek recency test - #295
Merged
Merged
Conversation
…et*`, wrap order-method values in `CacheValue` Breaking changes ahead of 3.0.0 final: - remove `CacheSetError`: a TTL that would overflow `Instant` bounds now stores the entry with no expiry (never expires) on every set path, matching the sharded TTL stores (`cache_set` already behaved this way). `TtlCache` / `LruTtlCache` / `TtlSortedCache` set `Cached::Error = Infallible`, so every built-in in-memory store is infallible; the `type Error` machinery remains for custom and IO stores. - rename `TtlSortedCache::insert` / `insert_ttl` / `insert_evict` / `insert_ttl_evict` to `set` / `set_with_ttl` / `set_evict` / `set_with_ttl_evict`, returning `Option<V>` instead of `Result`. - unify the LRU-family order methods on one shape: `iter_order() -> Vec<(K, CacheValue<V, M>)>` and `value_order() -> Vec<CacheValue<V, M>>` on `LruCache`, `LruTtlCache`, and `ExpiringLruCache`. `CacheValue<V, M = ()>` (new root re-export) derefs to `V`, compares against bare values, and exposes per-entry metadata via typed accessors: `expires_at()` on `LruTtlCache` entries (`M = Option<Instant>`). `LruTtlCache` no longer leaks bare `(Option<Instant>, V)` tuples. Migration guide sections 18/22/33/43 updated and 74/75 added; design doc 0020 closed out (error split kept, `TimeBounds` gone).
jaemk
force-pushed
the
260720.pre-3.0-additive-parity
branch
from
July 21, 2026 01:55
b2aa189 to
ca91f18
Compare
jaemk
force-pushed
the
260720.pre-3.0-docs-fixes
branch
2 times, most recently
from
July 21, 2026 02:15
b0d66a6 to
d6dbba3
Compare
…cache_try_get_or_set_with`, `retain` on map stores
…`Arc<T>` return pattern, add `peek` recency test - drop `AsyncRedisCache` from the sync `ConcurrentCached::cache_contains` docs and the rc.9 changelog entry (it implements `async_cache_contains`); note the `dyn` limitation of the `where Self: Sized` bound - add the missing `doc(cfg(feature = "redis_async_cache"))` on `AsyncRedisCacheBuilder::client_side_caching` - note in the human migration guide that `async_cache_contains` is declared in RPIT form and `async fn` desugars to it - document the `Arc<T>` return pattern for expensive-to-clone values in the macro docs (#64); regenerate README - add a test asserting the `CachedPeek::peek` alias does not promote LRU recency or count hit/miss metrics
jaemk
force-pushed
the
260720.pre-3.0-additive-parity
branch
from
July 21, 2026 12:40
ca91f18 to
ffbecc1
Compare
jaemk
force-pushed
the
260720.pre-3.0-docs-fixes
branch
from
July 21, 2026 12:40
d6dbba3 to
002ed17
Compare
…note generic use of `cache_try_set` - Add human-guide sections for `Cached::Error` / infallible in-memory set paths, the `TtlSortedCache` `insert*` -> `set*` rename, and the `CacheValue`-wrapped `iter_order` / `value_order` shapes; drop the stale machine-guide entry range from the section intro. - Note on `Cached::cache_try_set` that generic code supporting fallible custom stores should call it and propagate `Self::Error`.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Docs and test fixes ahead of 3.0.0 final. Stacked on #294.
AsyncRedisCachefrom the syncConcurrentCached::cache_containsdocs and the rc.9 changelog entry (it implementsasync_cache_contains); note thedynlimitation of thewhere Self: Sizedbound.doc(cfg(feature = "redis_async_cache"))onAsyncRedisCacheBuilder::client_side_caching.async_cache_containsis declared in RPIT form andasync fndesugars to it.Arc<T>return pattern for expensive-to-clone values in the macro docs (Supporting references #64); regenerate README.CachedPeek::peekalias does not promote LRU recency or count hit/miss metrics.Cached::Error/ infallible in-memory set paths, theTtlSortedCacheinsert*->set*rename, and theCacheValue-wrappediter_order/value_ordershapes.Cached::cache_try_setthat generic code supporting fallible custom stores should call it and propagateSelf::Error.