use std::cell::RefCell; use std::collections::hash_map::Entry; use std::collections::HashMap; use std::hash::Hash; use std::rc::{Rc, Weak}; use unic_langid::LanguageIdentifier;
pubmod concurrent;
pubtrait Memoizable { type Args: 'static + Eq + Hash + Clone; type Error; fn construct(lang: LanguageIdentifier, args: Self::Args) -> Result<Self, Self::Error> where Self: std::marker::Sized;
}
let e = match cache.entry(args.clone()) {
Entry::Occupied(entry) => entry.into_mut(),
Entry::Vacant(entry) => { let val = I::construct(self.lang.clone(), args)?;
entry.insert(val)
}
};
Ok(cb(&e))
}
}
#[cfg(test)] mod tests { usesuper::*; use fluent_langneg::{negotiate_languages, NegotiationStrategy}; use intl_pluralrules::{PluralCategory, PluralRuleType, PluralRules as IntlPluralRules};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.