pub struct DatabaseOptions {
pub parse_lru: usize,
pub sema_lru: usize,
pub plan_lru: usize,
pub formatted_lru: usize,
}Expand description
Per-query LRU capacity configuration for crate::workspace::Database.
Pass to crate::workspace::Database::with_options at construction.
The options are immutable after construction — Salsa does not support
changing LRU capacity mid-session.
§Example
ⓘ
use cyrs_db::{Database, DatabaseOptions};
let opts = DatabaseOptions { parse_lru: 512, ..DatabaseOptions::default() };
let db = Database::with_options(opts);Fields§
§parse_lru: usizeMaximum number of memoised parse_cst / HIR results.
Covers the parse_cst tracked function. Default: 256.
sema_lru: usizeMaximum number of memoised semantic-analysis results.
Covers resolved_names and sema_diagnostics. Default: 256.
plan_lru: usizeMaximum number of memoised logical-plan results.
Covers plan_of. Default: 256.
formatted_lru: usizeMaximum number of memoised formatted-output results.
Covers any future formatted tracked query. Default: 256.
Currently unused — reserved for the formatter tracked query
(bead cy-31b-followup).
Trait Implementations§
Source§impl Clone for DatabaseOptions
impl Clone for DatabaseOptions
Source§fn clone(&self) -> DatabaseOptions
fn clone(&self) -> DatabaseOptions
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for DatabaseOptions
impl Debug for DatabaseOptions
Source§impl Default for DatabaseOptions
impl Default for DatabaseOptions
Source§impl PartialEq for DatabaseOptions
impl PartialEq for DatabaseOptions
Source§fn eq(&self, other: &DatabaseOptions) -> bool
fn eq(&self, other: &DatabaseOptions) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Eq for DatabaseOptions
impl StructuralPartialEq for DatabaseOptions
Auto Trait Implementations§
impl Freeze for DatabaseOptions
impl RefUnwindSafe for DatabaseOptions
impl Send for DatabaseOptions
impl Sync for DatabaseOptions
impl Unpin for DatabaseOptions
impl UnsafeUnpin for DatabaseOptions
impl UnwindSafe for DatabaseOptions
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more