diff --git a/implementors/core/clone/trait.Clone.js b/implementors/core/clone/trait.Clone.js index d051ab1f..985e00cc 100644 --- a/implementors/core/clone/trait.Clone.js +++ b/implementors/core/clone/trait.Clone.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["plat_egg"] = [{"text":"impl<L: Clone, D: Clone> Clone for EClassData<L, D>","synthetic":false,"types":["plat_egg::eclass::EClassData"]},{"text":"impl<L: Clone + Language, N: Clone + Analysis<L>> Clone for EGraph<L, N> where
    N::Data: Clone,
    L::Discriminant: Clone,
    N::Data: Clone
","synthetic":false,"types":["plat_egg::egraph::EGraph"]},{"text":"impl Clone for Justification","synthetic":false,"types":["plat_egg::explain::Justification"]},{"text":"impl<L: Clone + Language> Clone for TreeTerm<L>","synthetic":false,"types":["plat_egg::explain::TreeTerm"]},{"text":"impl<L: Clone + Language> Clone for FlatTerm<L>","synthetic":false,"types":["plat_egg::explain::FlatTerm"]},{"text":"impl Clone for SymbolLang","synthetic":false,"types":["plat_egg::language::SymbolLang"]},{"text":"impl<L: Clone> Clone for MultiPattern<L>","synthetic":false,"types":["plat_egg::multipattern::MultiPattern"]},{"text":"impl<L: Clone> Clone for Pattern<L>","synthetic":false,"types":["plat_egg::pattern::Pattern"]},{"text":"impl<L: Clone> Clone for ENodeOrVar<L>","synthetic":false,"types":["plat_egg::pattern::ENodeOrVar"]},{"text":"impl<D: Clone> Clone for RawEClass<D>","synthetic":false,"types":["plat_egg::raw::eclass::RawEClass"]},{"text":"impl<L: Clone + Language> Clone for EGraphResidual<L>","synthetic":false,"types":["plat_egg::raw::egraph::EGraphResidual"]},{"text":"impl<L: Clone + Language, D: Clone, U: Clone> Clone for RawEGraph<L, D, U>","synthetic":false,"types":["plat_egg::raw::egraph::RawEGraph"]},{"text":"impl Clone for PushInfo","synthetic":false,"types":["plat_egg::raw::semi_persistent1::PushInfo"]},{"text":"impl Clone for UndoLog","synthetic":false,"types":["plat_egg::raw::semi_persistent1::UndoLog"]},{"text":"impl<T: Clone> Clone for DefaultVec<T>","synthetic":false,"types":["plat_egg::raw::bitset::DefaultVec"]},{"text":"impl Clone for BitSet","synthetic":false,"types":["plat_egg::raw::bitset::BitSet"]},{"text":"impl<L: Clone> Clone for RecExpr<L>","synthetic":false,"types":["plat_egg::raw::language::RecExpr"]},{"text":"impl Clone for PushInfo","synthetic":false,"types":["plat_egg::raw::semi_persistent2::PushInfo"]},{"text":"impl Clone for UndoLog","synthetic":false,"types":["plat_egg::raw::semi_persistent2::UndoLog"]},{"text":"impl<'a, L> Clone for UndoCtx<'a, L>","synthetic":false,"types":["plat_egg::raw::semi_persistent2::UndoCtx"]},{"text":"impl Clone for UnionFind","synthetic":false,"types":["plat_egg::raw::unionfind::UnionFind"]},{"text":"impl<L: Clone, N: Clone> Clone for Rewrite<L, N>","synthetic":false,"types":["plat_egg::rewrite::Rewrite"]},{"text":"impl<C: Clone, A: Clone> Clone for ConditionalApplier<C, A>","synthetic":false,"types":["plat_egg::rewrite::ConditionalApplier"]},{"text":"impl Clone for StopReason","synthetic":false,"types":["plat_egg::run::StopReason"]},{"text":"impl Clone for Report","synthetic":false,"types":["plat_egg::run::Report"]},{"text":"impl<IterData: Clone> Clone for Iteration<IterData>","synthetic":false,"types":["plat_egg::run::Iteration"]},{"text":"impl Clone for Var","synthetic":false,"types":["plat_egg::subst::Var"]},{"text":"impl Clone for Subst","synthetic":false,"types":["plat_egg::subst::Subst"]},{"text":"impl Clone for Id","synthetic":false,"types":["plat_egg::Id"]}]; +implementors["plat_egg"] = [{"text":"impl<L: Clone, D: Clone> Clone for EClassData<L, D>","synthetic":false,"types":["plat_egg::eclass::EClassData"]},{"text":"impl<L: Clone + Language, N: Clone + Analysis<L>> Clone for EGraph<L, N> where
    N::Data: Clone,
    L::Discriminant: Clone,
    N::Data: Clone
","synthetic":false,"types":["plat_egg::egraph::EGraph"]},{"text":"impl Clone for Justification","synthetic":false,"types":["plat_egg::explain::Justification"]},{"text":"impl<L: Clone + Language> Clone for TreeTerm<L>","synthetic":false,"types":["plat_egg::explain::TreeTerm"]},{"text":"impl<L: Clone + Language> Clone for FlatTerm<L>","synthetic":false,"types":["plat_egg::explain::FlatTerm"]},{"text":"impl Clone for SymbolLang","synthetic":false,"types":["plat_egg::language::SymbolLang"]},{"text":"impl<L: Clone> Clone for MultiPattern<L>","synthetic":false,"types":["plat_egg::multipattern::MultiPattern"]},{"text":"impl<L: Clone> Clone for Pattern<L>","synthetic":false,"types":["plat_egg::pattern::Pattern"]},{"text":"impl<L: Clone> Clone for ENodeOrVar<L>","synthetic":false,"types":["plat_egg::pattern::ENodeOrVar"]},{"text":"impl<D: Clone> Clone for RawEClass<D>","synthetic":false,"types":["plat_egg::raw::eclass::RawEClass"]},{"text":"impl<L: Clone + Language, P: Clone + PathCompressT> Clone for EGraphResidual<L, P>","synthetic":false,"types":["plat_egg::raw::egraph::EGraphResidual"]},{"text":"impl<L: Clone + Language, D: Clone, U: Clone + UndoLogT<L, D>> Clone for RawEGraph<L, D, U> where
    U::AllowPathCompress: Clone
","synthetic":false,"types":["plat_egg::raw::egraph::RawEGraph"]},{"text":"impl Clone for PushInfo","synthetic":false,"types":["plat_egg::raw::semi_persistent1::PushInfo"]},{"text":"impl Clone for UndoLog","synthetic":false,"types":["plat_egg::raw::semi_persistent1::UndoLog"]},{"text":"impl<L: Clone> Clone for RecExpr<L>","synthetic":false,"types":["plat_egg::raw::language::RecExpr"]},{"text":"impl Clone for PushInfo","synthetic":false,"types":["plat_egg::raw::semi_persistent2::PushInfo"]},{"text":"impl Clone for UndoLog","synthetic":false,"types":["plat_egg::raw::semi_persistent2::UndoLog"]},{"text":"impl<'a, L> Clone for UndoCtx<'a, L>","synthetic":false,"types":["plat_egg::raw::semi_persistent2::UndoCtx"]},{"text":"impl<P: Clone + PathCompressT> Clone for UnionFind<P>","synthetic":false,"types":["plat_egg::raw::unionfind::UnionFind"]},{"text":"impl<const B: bool> Clone for PathCompress<B>","synthetic":false,"types":["plat_egg::raw::reflect_const::PathCompress"]},{"text":"impl<L: Clone, N: Clone> Clone for Rewrite<L, N>","synthetic":false,"types":["plat_egg::rewrite::Rewrite"]},{"text":"impl<C: Clone, A: Clone> Clone for ConditionalApplier<C, A>","synthetic":false,"types":["plat_egg::rewrite::ConditionalApplier"]},{"text":"impl Clone for StopReason","synthetic":false,"types":["plat_egg::run::StopReason"]},{"text":"impl Clone for Report","synthetic":false,"types":["plat_egg::run::Report"]},{"text":"impl<IterData: Clone> Clone for Iteration<IterData>","synthetic":false,"types":["plat_egg::run::Iteration"]},{"text":"impl Clone for Var","synthetic":false,"types":["plat_egg::subst::Var"]},{"text":"impl Clone for Subst","synthetic":false,"types":["plat_egg::subst::Subst"]},{"text":"impl Clone for Id","synthetic":false,"types":["plat_egg::Id"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/cmp/trait.Eq.js b/implementors/core/cmp/trait.Eq.js index c3e3876b..0e8c6142 100644 --- a/implementors/core/cmp/trait.Eq.js +++ b/implementors/core/cmp/trait.Eq.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["plat_egg"] = [{"text":"impl Eq for Justification","synthetic":false,"types":["plat_egg::explain::Justification"]},{"text":"impl<L: Eq + Language> Eq for FlatTerm<L>","synthetic":false,"types":["plat_egg::explain::FlatTerm"]},{"text":"impl Eq for SymbolLang","synthetic":false,"types":["plat_egg::language::SymbolLang"]},{"text":"impl<L: Eq> Eq for MultiPattern<L>","synthetic":false,"types":["plat_egg::multipattern::MultiPattern"]},{"text":"impl<L: Eq> Eq for Pattern<L>","synthetic":false,"types":["plat_egg::pattern::Pattern"]},{"text":"impl<L: Eq> Eq for ENodeOrVar<L>","synthetic":false,"types":["plat_egg::pattern::ENodeOrVar"]},{"text":"impl<L: Eq> Eq for RecExpr<L>","synthetic":false,"types":["plat_egg::raw::language::RecExpr"]},{"text":"impl Eq for Var","synthetic":false,"types":["plat_egg::subst::Var"]},{"text":"impl Eq for Subst","synthetic":false,"types":["plat_egg::subst::Subst"]},{"text":"impl Eq for Id","synthetic":false,"types":["plat_egg::Id"]}]; +implementors["plat_egg"] = [{"text":"impl Eq for Justification","synthetic":false,"types":["plat_egg::explain::Justification"]},{"text":"impl<L: Eq + Language> Eq for FlatTerm<L>","synthetic":false,"types":["plat_egg::explain::FlatTerm"]},{"text":"impl Eq for SymbolLang","synthetic":false,"types":["plat_egg::language::SymbolLang"]},{"text":"impl<L: Eq> Eq for MultiPattern<L>","synthetic":false,"types":["plat_egg::multipattern::MultiPattern"]},{"text":"impl<L: Eq> Eq for Pattern<L>","synthetic":false,"types":["plat_egg::pattern::Pattern"]},{"text":"impl<L: Eq> Eq for ENodeOrVar<L>","synthetic":false,"types":["plat_egg::pattern::ENodeOrVar"]},{"text":"impl<L: Eq> Eq for RecExpr<L>","synthetic":false,"types":["plat_egg::raw::language::RecExpr"]},{"text":"impl<const B: bool> Eq for PathCompress<B>","synthetic":false,"types":["plat_egg::raw::reflect_const::PathCompress"]},{"text":"impl Eq for Var","synthetic":false,"types":["plat_egg::subst::Var"]},{"text":"impl Eq for Subst","synthetic":false,"types":["plat_egg::subst::Subst"]},{"text":"impl Eq for Id","synthetic":false,"types":["plat_egg::Id"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/cmp/trait.PartialEq.js b/implementors/core/cmp/trait.PartialEq.js index a2e5ac7b..0ef301e4 100644 --- a/implementors/core/cmp/trait.PartialEq.js +++ b/implementors/core/cmp/trait.PartialEq.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["plat_egg"] = [{"text":"impl PartialEq<Justification> for Justification","synthetic":false,"types":["plat_egg::explain::Justification"]},{"text":"impl<L: Language> PartialEq<FlatTerm<L>> for FlatTerm<L>","synthetic":false,"types":["plat_egg::explain::FlatTerm"]},{"text":"impl PartialEq<SymbolLang> for SymbolLang","synthetic":false,"types":["plat_egg::language::SymbolLang"]},{"text":"impl<L: PartialEq> PartialEq<MultiPattern<L>> for MultiPattern<L>","synthetic":false,"types":["plat_egg::multipattern::MultiPattern"]},{"text":"impl<L: PartialEq> PartialEq<Pattern<L>> for Pattern<L>","synthetic":false,"types":["plat_egg::pattern::Pattern"]},{"text":"impl<L: PartialEq> PartialEq<ENodeOrVar<L>> for ENodeOrVar<L>","synthetic":false,"types":["plat_egg::pattern::ENodeOrVar"]},{"text":"impl<L: PartialEq> PartialEq<RecExpr<L>> for RecExpr<L>","synthetic":false,"types":["plat_egg::raw::language::RecExpr"]},{"text":"impl PartialEq<Var> for Var","synthetic":false,"types":["plat_egg::subst::Var"]},{"text":"impl PartialEq<Subst> for Subst","synthetic":false,"types":["plat_egg::subst::Subst"]},{"text":"impl PartialEq<Id> for Id","synthetic":false,"types":["plat_egg::Id"]}]; +implementors["plat_egg"] = [{"text":"impl PartialEq<Justification> for Justification","synthetic":false,"types":["plat_egg::explain::Justification"]},{"text":"impl<L: Language> PartialEq<FlatTerm<L>> for FlatTerm<L>","synthetic":false,"types":["plat_egg::explain::FlatTerm"]},{"text":"impl PartialEq<SymbolLang> for SymbolLang","synthetic":false,"types":["plat_egg::language::SymbolLang"]},{"text":"impl<L: PartialEq> PartialEq<MultiPattern<L>> for MultiPattern<L>","synthetic":false,"types":["plat_egg::multipattern::MultiPattern"]},{"text":"impl<L: PartialEq> PartialEq<Pattern<L>> for Pattern<L>","synthetic":false,"types":["plat_egg::pattern::Pattern"]},{"text":"impl<L: PartialEq> PartialEq<ENodeOrVar<L>> for ENodeOrVar<L>","synthetic":false,"types":["plat_egg::pattern::ENodeOrVar"]},{"text":"impl<L: PartialEq> PartialEq<RecExpr<L>> for RecExpr<L>","synthetic":false,"types":["plat_egg::raw::language::RecExpr"]},{"text":"impl<const B: bool> PartialEq<PathCompress<B>> for PathCompress<B>","synthetic":false,"types":["plat_egg::raw::reflect_const::PathCompress"]},{"text":"impl PartialEq<Var> for Var","synthetic":false,"types":["plat_egg::subst::Var"]},{"text":"impl PartialEq<Subst> for Subst","synthetic":false,"types":["plat_egg::subst::Subst"]},{"text":"impl PartialEq<Id> for Id","synthetic":false,"types":["plat_egg::Id"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/default/trait.Default.js b/implementors/core/default/trait.Default.js index 878077d0..ad8f1929 100644 --- a/implementors/core/default/trait.Default.js +++ b/implementors/core/default/trait.Default.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["plat_egg"] = [{"text":"impl<L: Language, N: Analysis<L> + Default> Default for EGraph<L, N>","synthetic":false,"types":["plat_egg::egraph::EGraph"]},{"text":"impl<L: Language, D, U: Default> Default for RawEGraph<L, D, U>","synthetic":false,"types":["plat_egg::raw::egraph::RawEGraph"]},{"text":"impl Default for UndoLog","synthetic":false,"types":["plat_egg::raw::semi_persistent1::UndoLog"]},{"text":"impl<T: Default> Default for DefaultVec<T>","synthetic":false,"types":["plat_egg::raw::bitset::DefaultVec"]},{"text":"impl Default for BitSet","synthetic":false,"types":["plat_egg::raw::bitset::BitSet"]},{"text":"impl<L> Default for RecExpr<L>","synthetic":false,"types":["plat_egg::raw::language::RecExpr"]},{"text":"impl Default for UndoLog","synthetic":false,"types":["plat_egg::raw::semi_persistent2::UndoLog"]},{"text":"impl Default for UnionFind","synthetic":false,"types":["plat_egg::raw::unionfind::UnionFind"]},{"text":"impl<L, N> Default for Runner<L, N, ()> where
    L: Language,
    N: Analysis<L> + Default
","synthetic":false,"types":["plat_egg::run::Runner"]},{"text":"impl Default for BackoffScheduler","synthetic":false,"types":["plat_egg::run::BackoffScheduler"]},{"text":"impl Default for Subst","synthetic":false,"types":["plat_egg::subst::Subst"]},{"text":"impl Default for Id","synthetic":false,"types":["plat_egg::Id"]}]; +implementors["plat_egg"] = [{"text":"impl<L: Language, N: Analysis<L> + Default> Default for EGraph<L, N>","synthetic":false,"types":["plat_egg::egraph::EGraph"]},{"text":"impl<L: Language, D, U: Default + UndoLogT<L, D>> Default for RawEGraph<L, D, U>","synthetic":false,"types":["plat_egg::raw::egraph::RawEGraph"]},{"text":"impl Default for UndoLog","synthetic":false,"types":["plat_egg::raw::semi_persistent1::UndoLog"]},{"text":"impl<L> Default for RecExpr<L>","synthetic":false,"types":["plat_egg::raw::language::RecExpr"]},{"text":"impl Default for UndoLog","synthetic":false,"types":["plat_egg::raw::semi_persistent2::UndoLog"]},{"text":"impl<P: Default + PathCompressT> Default for UnionFind<P>","synthetic":false,"types":["plat_egg::raw::unionfind::UnionFind"]},{"text":"impl<const B: bool> Default for PathCompress<B>","synthetic":false,"types":["plat_egg::raw::reflect_const::PathCompress"]},{"text":"impl<L, N> Default for Runner<L, N, ()> where
    L: Language,
    N: Analysis<L> + Default
","synthetic":false,"types":["plat_egg::run::Runner"]},{"text":"impl Default for BackoffScheduler","synthetic":false,"types":["plat_egg::run::BackoffScheduler"]},{"text":"impl Default for Subst","synthetic":false,"types":["plat_egg::subst::Subst"]},{"text":"impl Default for Id","synthetic":false,"types":["plat_egg::Id"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/fmt/trait.Debug.js b/implementors/core/fmt/trait.Debug.js index f9bdc704..f1f4cf50 100644 --- a/implementors/core/fmt/trait.Debug.js +++ b/implementors/core/fmt/trait.Debug.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["plat_egg"] = [{"text":"impl<'a, L: Language> Debug for Dot<'a, L>","synthetic":false,"types":["plat_egg::dot::Dot"]},{"text":"impl<L: Language, D: Debug> Debug for EClassData<L, D>","synthetic":false,"types":["plat_egg::eclass::EClassData"]},{"text":"impl<L: Language, N: Analysis<L>> Debug for EGraph<L, N>","synthetic":false,"types":["plat_egg::egraph::EGraph"]},{"text":"impl Debug for Justification","synthetic":false,"types":["plat_egg::explain::Justification"]},{"text":"impl<L: Debug + Language> Debug for TreeTerm<L>","synthetic":false,"types":["plat_egg::explain::TreeTerm"]},{"text":"impl<L: Debug + Language> Debug for FlatTerm<L>","synthetic":false,"types":["plat_egg::explain::FlatTerm"]},{"text":"impl<'a, CF: Debug + CostFunction<L>, L: Debug + Language, N: Debug + Analysis<L>> Debug for Extractor<'a, CF, L, N> where
    CF::Cost: Debug
","synthetic":false,"types":["plat_egg::extract::Extractor"]},{"text":"impl Debug for AstSize","synthetic":false,"types":["plat_egg::extract::AstSize"]},{"text":"impl Debug for AstDepth","synthetic":false,"types":["plat_egg::extract::AstDepth"]},{"text":"impl Debug for FromOpError","synthetic":false,"types":["plat_egg::language::FromOpError"]},{"text":"impl<E: Debug> Debug for RecExprParseError<E>","synthetic":false,"types":["plat_egg::language::RecExprParseError"]},{"text":"impl Debug for SymbolLang","synthetic":false,"types":["plat_egg::language::SymbolLang"]},{"text":"impl<L: Debug> Debug for MultiPattern<L>","synthetic":false,"types":["plat_egg::multipattern::MultiPattern"]},{"text":"impl<E: Debug> Debug for MultiPatternParseError<E>","synthetic":false,"types":["plat_egg::multipattern::MultiPatternParseError"]},{"text":"impl<L: Debug> Debug for Pattern<L>","synthetic":false,"types":["plat_egg::pattern::Pattern"]},{"text":"impl<L: Debug> Debug for ENodeOrVar<L>","synthetic":false,"types":["plat_egg::pattern::ENodeOrVar"]},{"text":"impl<'a, L: Debug + Language> Debug for SearchMatches<'a, L>","synthetic":false,"types":["plat_egg::pattern::SearchMatches"]},{"text":"impl<D: Debug> Debug for RawEClass<D>","synthetic":false,"types":["plat_egg::raw::eclass::RawEClass"]},{"text":"impl<L: Language> Debug for EGraphResidual<L>","synthetic":false,"types":["plat_egg::raw::egraph::EGraphResidual"]},{"text":"impl<L: Language, D: Debug, U> Debug for RawEGraph<L, D, U>","synthetic":false,"types":["plat_egg::raw::egraph::RawEGraph"]},{"text":"impl Debug for PushInfo","synthetic":false,"types":["plat_egg::raw::semi_persistent1::PushInfo"]},{"text":"impl Debug for UndoLog","synthetic":false,"types":["plat_egg::raw::semi_persistent1::UndoLog"]},{"text":"impl<T: Debug> Debug for DefaultVec<T>","synthetic":false,"types":["plat_egg::raw::bitset::DefaultVec"]},{"text":"impl Debug for BitSet","synthetic":false,"types":["plat_egg::raw::bitset::BitSet"]},{"text":"impl<L: Debug> Debug for RecExpr<L>","synthetic":false,"types":["plat_egg::raw::language::RecExpr"]},{"text":"impl Debug for PushInfo","synthetic":false,"types":["plat_egg::raw::semi_persistent2::PushInfo"]},{"text":"impl Debug for UndoLog","synthetic":false,"types":["plat_egg::raw::semi_persistent2::UndoLog"]},{"text":"impl Debug for UnionFind","synthetic":false,"types":["plat_egg::raw::unionfind::UnionFind"]},{"text":"impl<L, N> Debug for Rewrite<L, N> where
    L: Language + Display + 'static,
    N: Analysis<L> + 'static, 
","synthetic":false,"types":["plat_egg::rewrite::Rewrite"]},{"text":"impl<C: Debug, A: Debug> Debug for ConditionalApplier<C, A>","synthetic":false,"types":["plat_egg::rewrite::ConditionalApplier"]},{"text":"impl<L: Debug> Debug for ConditionEqual<L>","synthetic":false,"types":["plat_egg::rewrite::ConditionEqual"]},{"text":"impl<L, N, IterData> Debug for Runner<L, N, IterData> where
    L: Language,
    N: Analysis<L>,
    IterData: Debug
","synthetic":false,"types":["plat_egg::run::Runner"]},{"text":"impl Debug for StopReason","synthetic":false,"types":["plat_egg::run::StopReason"]},{"text":"impl Debug for Report","synthetic":false,"types":["plat_egg::run::Report"]},{"text":"impl<IterData: Debug> Debug for Iteration<IterData>","synthetic":false,"types":["plat_egg::run::Iteration"]},{"text":"impl Debug for SimpleScheduler","synthetic":false,"types":["plat_egg::run::SimpleScheduler"]},{"text":"impl Debug for BackoffScheduler","synthetic":false,"types":["plat_egg::run::BackoffScheduler"]},{"text":"impl Debug for Var","synthetic":false,"types":["plat_egg::subst::Var"]},{"text":"impl Debug for Subst","synthetic":false,"types":["plat_egg::subst::Subst"]},{"text":"impl Debug for Id","synthetic":false,"types":["plat_egg::Id"]}]; +implementors["plat_egg"] = [{"text":"impl<'a, L: Language, P: PathCompressT> Debug for Dot<'a, L, P>","synthetic":false,"types":["plat_egg::dot::Dot"]},{"text":"impl<L: Language, D: Debug> Debug for EClassData<L, D>","synthetic":false,"types":["plat_egg::eclass::EClassData"]},{"text":"impl<L: Language, N: Analysis<L>> Debug for EGraph<L, N>","synthetic":false,"types":["plat_egg::egraph::EGraph"]},{"text":"impl Debug for Justification","synthetic":false,"types":["plat_egg::explain::Justification"]},{"text":"impl<L: Debug + Language> Debug for TreeTerm<L>","synthetic":false,"types":["plat_egg::explain::TreeTerm"]},{"text":"impl<L: Debug + Language> Debug for FlatTerm<L>","synthetic":false,"types":["plat_egg::explain::FlatTerm"]},{"text":"impl<'a, CF: Debug + CostFunction<L>, L: Debug + Language, N: Debug + Analysis<L>> Debug for Extractor<'a, CF, L, N> where
    CF::Cost: Debug
","synthetic":false,"types":["plat_egg::extract::Extractor"]},{"text":"impl Debug for AstSize","synthetic":false,"types":["plat_egg::extract::AstSize"]},{"text":"impl Debug for AstDepth","synthetic":false,"types":["plat_egg::extract::AstDepth"]},{"text":"impl Debug for FromOpError","synthetic":false,"types":["plat_egg::language::FromOpError"]},{"text":"impl<E: Debug> Debug for RecExprParseError<E>","synthetic":false,"types":["plat_egg::language::RecExprParseError"]},{"text":"impl Debug for SymbolLang","synthetic":false,"types":["plat_egg::language::SymbolLang"]},{"text":"impl<L: Debug> Debug for MultiPattern<L>","synthetic":false,"types":["plat_egg::multipattern::MultiPattern"]},{"text":"impl<E: Debug> Debug for MultiPatternParseError<E>","synthetic":false,"types":["plat_egg::multipattern::MultiPatternParseError"]},{"text":"impl<L: Debug> Debug for Pattern<L>","synthetic":false,"types":["plat_egg::pattern::Pattern"]},{"text":"impl<L: Debug> Debug for ENodeOrVar<L>","synthetic":false,"types":["plat_egg::pattern::ENodeOrVar"]},{"text":"impl<'a, L: Debug + Language> Debug for SearchMatches<'a, L>","synthetic":false,"types":["plat_egg::pattern::SearchMatches"]},{"text":"impl<D: Debug> Debug for RawEClass<D>","synthetic":false,"types":["plat_egg::raw::eclass::RawEClass"]},{"text":"impl<L: Language, P: PathCompressT> Debug for EGraphResidual<L, P>","synthetic":false,"types":["plat_egg::raw::egraph::EGraphResidual"]},{"text":"impl<L: Language, D: Debug, U: UndoLogT<L, D>> Debug for RawEGraph<L, D, U>","synthetic":false,"types":["plat_egg::raw::egraph::RawEGraph"]},{"text":"impl Debug for PushInfo","synthetic":false,"types":["plat_egg::raw::semi_persistent1::PushInfo"]},{"text":"impl Debug for UndoLog","synthetic":false,"types":["plat_egg::raw::semi_persistent1::UndoLog"]},{"text":"impl<L: Debug> Debug for RecExpr<L>","synthetic":false,"types":["plat_egg::raw::language::RecExpr"]},{"text":"impl Debug for PushInfo","synthetic":false,"types":["plat_egg::raw::semi_persistent2::PushInfo"]},{"text":"impl Debug for UndoLog","synthetic":false,"types":["plat_egg::raw::semi_persistent2::UndoLog"]},{"text":"impl<P: Debug + PathCompressT> Debug for UnionFind<P>","synthetic":false,"types":["plat_egg::raw::unionfind::UnionFind"]},{"text":"impl<const B: bool> Debug for PathCompress<B>","synthetic":false,"types":["plat_egg::raw::reflect_const::PathCompress"]},{"text":"impl<L, N> Debug for Rewrite<L, N> where
    L: Language + Display + 'static,
    N: Analysis<L> + 'static, 
","synthetic":false,"types":["plat_egg::rewrite::Rewrite"]},{"text":"impl<C: Debug, A: Debug> Debug for ConditionalApplier<C, A>","synthetic":false,"types":["plat_egg::rewrite::ConditionalApplier"]},{"text":"impl<L: Debug> Debug for ConditionEqual<L>","synthetic":false,"types":["plat_egg::rewrite::ConditionEqual"]},{"text":"impl<L, N, IterData> Debug for Runner<L, N, IterData> where
    L: Language,
    N: Analysis<L>,
    IterData: Debug
","synthetic":false,"types":["plat_egg::run::Runner"]},{"text":"impl Debug for StopReason","synthetic":false,"types":["plat_egg::run::StopReason"]},{"text":"impl Debug for Report","synthetic":false,"types":["plat_egg::run::Report"]},{"text":"impl<IterData: Debug> Debug for Iteration<IterData>","synthetic":false,"types":["plat_egg::run::Iteration"]},{"text":"impl Debug for SimpleScheduler","synthetic":false,"types":["plat_egg::run::SimpleScheduler"]},{"text":"impl Debug for BackoffScheduler","synthetic":false,"types":["plat_egg::run::BackoffScheduler"]},{"text":"impl Debug for Var","synthetic":false,"types":["plat_egg::subst::Var"]},{"text":"impl Debug for Subst","synthetic":false,"types":["plat_egg::subst::Subst"]},{"text":"impl Debug for Id","synthetic":false,"types":["plat_egg::Id"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/fmt/trait.Display.js b/implementors/core/fmt/trait.Display.js index d73708f2..5dc63a9e 100644 --- a/implementors/core/fmt/trait.Display.js +++ b/implementors/core/fmt/trait.Display.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["plat_egg"] = [{"text":"impl<'a, L> Display for Dot<'a, L> where
    L: Language + Display
","synthetic":false,"types":["plat_egg::dot::Dot"]},{"text":"impl<L: Language + Display + FromOp> Display for Explanation<L>","synthetic":false,"types":["plat_egg::explain::Explanation"]},{"text":"impl<L: Language + Display + FromOp> Display for FlatTerm<L>","synthetic":false,"types":["plat_egg::explain::FlatTerm"]},{"text":"impl<L: Language + Display + FromOp> Display for TreeTerm<L>","synthetic":false,"types":["plat_egg::explain::TreeTerm"]},{"text":"impl Display for FromOpError","synthetic":false,"types":["plat_egg::language::FromOpError"]},{"text":"impl<L: Language + Display> Display for RecExpr<L>","synthetic":false,"types":["plat_egg::raw::language::RecExpr"]},{"text":"impl<E> Display for RecExprParseError<E> where
    E: Display
","synthetic":false,"types":["plat_egg::language::RecExprParseError"]},{"text":"impl Display for SymbolLang","synthetic":false,"types":["plat_egg::language::SymbolLang"]},{"text":"impl<E> Display for MultiPatternParseError<E> where
    E: Display
","synthetic":false,"types":["plat_egg::multipattern::MultiPatternParseError"]},{"text":"impl<L: Language + Display> Display for ENodeOrVar<L>","synthetic":false,"types":["plat_egg::pattern::ENodeOrVar"]},{"text":"impl<L: Language + Display> Display for Pattern<L>","synthetic":false,"types":["plat_egg::pattern::Pattern"]},{"text":"impl Display for Report","synthetic":false,"types":["plat_egg::run::Report"]},{"text":"impl Display for Var","synthetic":false,"types":["plat_egg::subst::Var"]},{"text":"impl Display for Id","synthetic":false,"types":["plat_egg::Id"]}]; +implementors["plat_egg"] = [{"text":"impl<'a, L, P: PathCompressT> Display for Dot<'a, L, P> where
    L: Language + Display
","synthetic":false,"types":["plat_egg::dot::Dot"]},{"text":"impl<L: Language + Display + FromOp> Display for Explanation<L>","synthetic":false,"types":["plat_egg::explain::Explanation"]},{"text":"impl<L: Language + Display + FromOp> Display for FlatTerm<L>","synthetic":false,"types":["plat_egg::explain::FlatTerm"]},{"text":"impl<L: Language + Display + FromOp> Display for TreeTerm<L>","synthetic":false,"types":["plat_egg::explain::TreeTerm"]},{"text":"impl Display for FromOpError","synthetic":false,"types":["plat_egg::language::FromOpError"]},{"text":"impl<L: Language + Display> Display for RecExpr<L>","synthetic":false,"types":["plat_egg::raw::language::RecExpr"]},{"text":"impl<E> Display for RecExprParseError<E> where
    E: Display
","synthetic":false,"types":["plat_egg::language::RecExprParseError"]},{"text":"impl Display for SymbolLang","synthetic":false,"types":["plat_egg::language::SymbolLang"]},{"text":"impl<E> Display for MultiPatternParseError<E> where
    E: Display
","synthetic":false,"types":["plat_egg::multipattern::MultiPatternParseError"]},{"text":"impl<L: Language + Display> Display for ENodeOrVar<L>","synthetic":false,"types":["plat_egg::pattern::ENodeOrVar"]},{"text":"impl<L: Language + Display> Display for Pattern<L>","synthetic":false,"types":["plat_egg::pattern::Pattern"]},{"text":"impl Display for Report","synthetic":false,"types":["plat_egg::run::Report"]},{"text":"impl Display for Var","synthetic":false,"types":["plat_egg::subst::Var"]},{"text":"impl Display for Id","synthetic":false,"types":["plat_egg::Id"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Copy.js b/implementors/core/marker/trait.Copy.js index e0cd77e3..a4c04681 100644 --- a/implementors/core/marker/trait.Copy.js +++ b/implementors/core/marker/trait.Copy.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["plat_egg"] = [{"text":"impl<'a, L> Copy for UndoCtx<'a, L>","synthetic":false,"types":["plat_egg::raw::semi_persistent2::UndoCtx"]},{"text":"impl Copy for Var","synthetic":false,"types":["plat_egg::subst::Var"]},{"text":"impl Copy for Id","synthetic":false,"types":["plat_egg::Id"]}]; +implementors["plat_egg"] = [{"text":"impl<'a, L> Copy for UndoCtx<'a, L>","synthetic":false,"types":["plat_egg::raw::semi_persistent2::UndoCtx"]},{"text":"impl<const B: bool> Copy for PathCompress<B>","synthetic":false,"types":["plat_egg::raw::reflect_const::PathCompress"]},{"text":"impl Copy for Var","synthetic":false,"types":["plat_egg::subst::Var"]},{"text":"impl Copy for Id","synthetic":false,"types":["plat_egg::Id"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Freeze.js b/implementors/core/marker/trait.Freeze.js index cf062477..592143f6 100644 --- a/implementors/core/marker/trait.Freeze.js +++ b/implementors/core/marker/trait.Freeze.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["plat_egg"] = [{"text":"impl<'a, L> Freeze for Dot<'a, L>","synthetic":true,"types":["plat_egg::dot::Dot"]},{"text":"impl<L, D> Freeze for EClassData<L, D> where
    D: Freeze, 
","synthetic":true,"types":["plat_egg::eclass::EClassData"]},{"text":"impl<L, N> Freeze for EGraph<L, N> where
    N: Freeze, 
","synthetic":true,"types":["plat_egg::egraph::EGraph"]},{"text":"impl Freeze for Justification","synthetic":true,"types":["plat_egg::explain::Justification"]},{"text":"impl<L> Freeze for Explanation<L>","synthetic":true,"types":["plat_egg::explain::Explanation"]},{"text":"impl<L> Freeze for TreeTerm<L> where
    L: Freeze, 
","synthetic":true,"types":["plat_egg::explain::TreeTerm"]},{"text":"impl<L> Freeze for FlatTerm<L> where
    L: Freeze, 
","synthetic":true,"types":["plat_egg::explain::FlatTerm"]},{"text":"impl<'a, CF, L, N> Freeze for Extractor<'a, CF, L, N> where
    CF: Freeze, 
","synthetic":true,"types":["plat_egg::extract::Extractor"]},{"text":"impl Freeze for AstSize","synthetic":true,"types":["plat_egg::extract::AstSize"]},{"text":"impl Freeze for AstDepth","synthetic":true,"types":["plat_egg::extract::AstDepth"]},{"text":"impl Freeze for FromOpError","synthetic":true,"types":["plat_egg::language::FromOpError"]},{"text":"impl<E> Freeze for RecExprParseError<E> where
    E: Freeze, 
","synthetic":true,"types":["plat_egg::language::RecExprParseError"]},{"text":"impl Freeze for DidMerge","synthetic":true,"types":["plat_egg::language::DidMerge"]},{"text":"impl Freeze for SymbolLang","synthetic":true,"types":["plat_egg::language::SymbolLang"]},{"text":"impl<'a, L, N> Freeze for LpExtractor<'a, L, N>","synthetic":true,"types":["plat_egg::lp_extract::LpExtractor"]},{"text":"impl<L> Freeze for MultiPattern<L>","synthetic":true,"types":["plat_egg::multipattern::MultiPattern"]},{"text":"impl<E> Freeze for MultiPatternParseError<E> where
    E: Freeze, 
","synthetic":true,"types":["plat_egg::multipattern::MultiPatternParseError"]},{"text":"impl<L> Freeze for Pattern<L>","synthetic":true,"types":["plat_egg::pattern::Pattern"]},{"text":"impl<L> Freeze for ENodeOrVar<L> where
    L: Freeze, 
","synthetic":true,"types":["plat_egg::pattern::ENodeOrVar"]},{"text":"impl<'a, L> Freeze for SearchMatches<'a, L>","synthetic":true,"types":["plat_egg::pattern::SearchMatches"]},{"text":"impl<D> Freeze for RawEClass<D> where
    D: Freeze, 
","synthetic":true,"types":["plat_egg::raw::eclass::RawEClass"]},{"text":"impl<L> Freeze for EGraphResidual<L>","synthetic":true,"types":["plat_egg::raw::egraph::EGraphResidual"]},{"text":"impl<L, D, U> Freeze for RawEGraph<L, D, U> where
    U: Freeze, 
","synthetic":true,"types":["plat_egg::raw::egraph::RawEGraph"]},{"text":"impl<D> Freeze for UnionInfo<D> where
    D: Freeze, 
","synthetic":true,"types":["plat_egg::raw::egraph::UnionInfo"]},{"text":"impl Freeze for PushInfo","synthetic":true,"types":["plat_egg::raw::semi_persistent1::PushInfo"]},{"text":"impl Freeze for UndoLog","synthetic":true,"types":["plat_egg::raw::semi_persistent1::UndoLog"]},{"text":"impl<T> Freeze for DefaultVec<T>","synthetic":true,"types":["plat_egg::raw::bitset::DefaultVec"]},{"text":"impl Freeze for BitSet","synthetic":true,"types":["plat_egg::raw::bitset::BitSet"]},{"text":"impl<L> Freeze for RecExpr<L>","synthetic":true,"types":["plat_egg::raw::language::RecExpr"]},{"text":"impl Freeze for PushInfo","synthetic":true,"types":["plat_egg::raw::semi_persistent2::PushInfo"]},{"text":"impl Freeze for UndoLog","synthetic":true,"types":["plat_egg::raw::semi_persistent2::UndoLog"]},{"text":"impl<'a, L> Freeze for UndoCtx<'a, L>","synthetic":true,"types":["plat_egg::raw::semi_persistent2::UndoCtx"]},{"text":"impl Freeze for UnionFind","synthetic":true,"types":["plat_egg::raw::unionfind::UnionFind"]},{"text":"impl<L, N> Freeze for Rewrite<L, N>","synthetic":true,"types":["plat_egg::rewrite::Rewrite"]},{"text":"impl<C, A> Freeze for ConditionalApplier<C, A> where
    A: Freeze,
    C: Freeze, 
","synthetic":true,"types":["plat_egg::rewrite::ConditionalApplier"]},{"text":"impl<L> Freeze for ConditionEqual<L>","synthetic":true,"types":["plat_egg::rewrite::ConditionEqual"]},{"text":"impl<L, N, IterData> Freeze for Runner<L, N, IterData> where
    N: Freeze, 
","synthetic":true,"types":["plat_egg::run::Runner"]},{"text":"impl Freeze for StopReason","synthetic":true,"types":["plat_egg::run::StopReason"]},{"text":"impl Freeze for Report","synthetic":true,"types":["plat_egg::run::Report"]},{"text":"impl<IterData> Freeze for Iteration<IterData> where
    IterData: Freeze, 
","synthetic":true,"types":["plat_egg::run::Iteration"]},{"text":"impl Freeze for SimpleScheduler","synthetic":true,"types":["plat_egg::run::SimpleScheduler"]},{"text":"impl Freeze for BackoffScheduler","synthetic":true,"types":["plat_egg::run::BackoffScheduler"]},{"text":"impl Freeze for Var","synthetic":true,"types":["plat_egg::subst::Var"]},{"text":"impl Freeze for Subst","synthetic":true,"types":["plat_egg::subst::Subst"]},{"text":"impl Freeze for Id","synthetic":true,"types":["plat_egg::Id"]}]; +implementors["plat_egg"] = [{"text":"impl<'a, L, P> Freeze for Dot<'a, L, P>","synthetic":true,"types":["plat_egg::dot::Dot"]},{"text":"impl<L, D> Freeze for EClassData<L, D> where
    D: Freeze, 
","synthetic":true,"types":["plat_egg::eclass::EClassData"]},{"text":"impl<L, N> Freeze for EGraph<L, N> where
    N: Freeze, 
","synthetic":true,"types":["plat_egg::egraph::EGraph"]},{"text":"impl Freeze for Justification","synthetic":true,"types":["plat_egg::explain::Justification"]},{"text":"impl<L> Freeze for Explanation<L>","synthetic":true,"types":["plat_egg::explain::Explanation"]},{"text":"impl<L> Freeze for TreeTerm<L> where
    L: Freeze, 
","synthetic":true,"types":["plat_egg::explain::TreeTerm"]},{"text":"impl<L> Freeze for FlatTerm<L> where
    L: Freeze, 
","synthetic":true,"types":["plat_egg::explain::FlatTerm"]},{"text":"impl<'a, CF, L, N> Freeze for Extractor<'a, CF, L, N> where
    CF: Freeze, 
","synthetic":true,"types":["plat_egg::extract::Extractor"]},{"text":"impl Freeze for AstSize","synthetic":true,"types":["plat_egg::extract::AstSize"]},{"text":"impl Freeze for AstDepth","synthetic":true,"types":["plat_egg::extract::AstDepth"]},{"text":"impl Freeze for FromOpError","synthetic":true,"types":["plat_egg::language::FromOpError"]},{"text":"impl<E> Freeze for RecExprParseError<E> where
    E: Freeze, 
","synthetic":true,"types":["plat_egg::language::RecExprParseError"]},{"text":"impl Freeze for DidMerge","synthetic":true,"types":["plat_egg::language::DidMerge"]},{"text":"impl Freeze for SymbolLang","synthetic":true,"types":["plat_egg::language::SymbolLang"]},{"text":"impl<'a, L, N> Freeze for LpExtractor<'a, L, N>","synthetic":true,"types":["plat_egg::lp_extract::LpExtractor"]},{"text":"impl<L> Freeze for MultiPattern<L>","synthetic":true,"types":["plat_egg::multipattern::MultiPattern"]},{"text":"impl<E> Freeze for MultiPatternParseError<E> where
    E: Freeze, 
","synthetic":true,"types":["plat_egg::multipattern::MultiPatternParseError"]},{"text":"impl<L> Freeze for Pattern<L>","synthetic":true,"types":["plat_egg::pattern::Pattern"]},{"text":"impl<L> Freeze for ENodeOrVar<L> where
    L: Freeze, 
","synthetic":true,"types":["plat_egg::pattern::ENodeOrVar"]},{"text":"impl<'a, L> Freeze for SearchMatches<'a, L>","synthetic":true,"types":["plat_egg::pattern::SearchMatches"]},{"text":"impl<D> Freeze for RawEClass<D> where
    D: Freeze, 
","synthetic":true,"types":["plat_egg::raw::eclass::RawEClass"]},{"text":"impl<L, P> Freeze for EGraphResidual<L, P>","synthetic":true,"types":["plat_egg::raw::egraph::EGraphResidual"]},{"text":"impl<L, D, U> Freeze for RawEGraph<L, D, U> where
    U: Freeze, 
","synthetic":true,"types":["plat_egg::raw::egraph::RawEGraph"]},{"text":"impl<D> Freeze for UnionInfo<D> where
    D: Freeze, 
","synthetic":true,"types":["plat_egg::raw::egraph::UnionInfo"]},{"text":"impl Freeze for PushInfo","synthetic":true,"types":["plat_egg::raw::semi_persistent1::PushInfo"]},{"text":"impl Freeze for UndoLog","synthetic":true,"types":["plat_egg::raw::semi_persistent1::UndoLog"]},{"text":"impl<L> Freeze for RecExpr<L>","synthetic":true,"types":["plat_egg::raw::language::RecExpr"]},{"text":"impl Freeze for PushInfo","synthetic":true,"types":["plat_egg::raw::semi_persistent2::PushInfo"]},{"text":"impl Freeze for UndoLog","synthetic":true,"types":["plat_egg::raw::semi_persistent2::UndoLog"]},{"text":"impl<'a, L> Freeze for UndoCtx<'a, L>","synthetic":true,"types":["plat_egg::raw::semi_persistent2::UndoCtx"]},{"text":"impl<P> Freeze for UnionFind<P>","synthetic":true,"types":["plat_egg::raw::unionfind::UnionFind"]},{"text":"impl<const B: bool> Freeze for PathCompress<B>","synthetic":true,"types":["plat_egg::raw::reflect_const::PathCompress"]},{"text":"impl<L, N> Freeze for Rewrite<L, N>","synthetic":true,"types":["plat_egg::rewrite::Rewrite"]},{"text":"impl<C, A> Freeze for ConditionalApplier<C, A> where
    A: Freeze,
    C: Freeze, 
","synthetic":true,"types":["plat_egg::rewrite::ConditionalApplier"]},{"text":"impl<L> Freeze for ConditionEqual<L>","synthetic":true,"types":["plat_egg::rewrite::ConditionEqual"]},{"text":"impl<L, N, IterData> Freeze for Runner<L, N, IterData> where
    N: Freeze, 
","synthetic":true,"types":["plat_egg::run::Runner"]},{"text":"impl Freeze for StopReason","synthetic":true,"types":["plat_egg::run::StopReason"]},{"text":"impl Freeze for Report","synthetic":true,"types":["plat_egg::run::Report"]},{"text":"impl<IterData> Freeze for Iteration<IterData> where
    IterData: Freeze, 
","synthetic":true,"types":["plat_egg::run::Iteration"]},{"text":"impl Freeze for SimpleScheduler","synthetic":true,"types":["plat_egg::run::SimpleScheduler"]},{"text":"impl Freeze for BackoffScheduler","synthetic":true,"types":["plat_egg::run::BackoffScheduler"]},{"text":"impl Freeze for Var","synthetic":true,"types":["plat_egg::subst::Var"]},{"text":"impl Freeze for Subst","synthetic":true,"types":["plat_egg::subst::Subst"]},{"text":"impl Freeze for Id","synthetic":true,"types":["plat_egg::Id"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Send.js b/implementors/core/marker/trait.Send.js index 3923adb4..52ea063b 100644 --- a/implementors/core/marker/trait.Send.js +++ b/implementors/core/marker/trait.Send.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["plat_egg"] = [{"text":"impl<'a, L> Send for Dot<'a, L> where
    L: Sync
","synthetic":true,"types":["plat_egg::dot::Dot"]},{"text":"impl<L, D> Send for EClassData<L, D> where
    D: Send,
    L: Send
","synthetic":true,"types":["plat_egg::eclass::EClassData"]},{"text":"impl<L, N> Send for EGraph<L, N> where
    L: Send,
    N: Send,
    <N as Analysis<L>>::Data: Send,
    <L as Language>::Discriminant: Send
","synthetic":true,"types":["plat_egg::egraph::EGraph"]},{"text":"impl Send for Justification","synthetic":true,"types":["plat_egg::explain::Justification"]},{"text":"impl<L> !Send for Explanation<L>","synthetic":true,"types":["plat_egg::explain::Explanation"]},{"text":"impl<L> !Send for TreeTerm<L>","synthetic":true,"types":["plat_egg::explain::TreeTerm"]},{"text":"impl<L> Send for FlatTerm<L> where
    L: Send
","synthetic":true,"types":["plat_egg::explain::FlatTerm"]},{"text":"impl<'a, CF, L, N> Send for Extractor<'a, CF, L, N> where
    CF: Send,
    L: Send + Sync,
    N: Sync,
    <CF as CostFunction<L>>::Cost: Send,
    <N as Analysis<L>>::Data: Sync,
    <L as Language>::Discriminant: Sync
","synthetic":true,"types":["plat_egg::extract::Extractor"]},{"text":"impl Send for AstSize","synthetic":true,"types":["plat_egg::extract::AstSize"]},{"text":"impl Send for AstDepth","synthetic":true,"types":["plat_egg::extract::AstDepth"]},{"text":"impl Send for FromOpError","synthetic":true,"types":["plat_egg::language::FromOpError"]},{"text":"impl<E> Send for RecExprParseError<E> where
    E: Send
","synthetic":true,"types":["plat_egg::language::RecExprParseError"]},{"text":"impl Send for DidMerge","synthetic":true,"types":["plat_egg::language::DidMerge"]},{"text":"impl Send for SymbolLang","synthetic":true,"types":["plat_egg::language::SymbolLang"]},{"text":"impl<'a, L, N> Send for LpExtractor<'a, L, N> where
    L: Sync,
    N: Sync,
    <N as Analysis<L>>::Data: Sync,
    <L as Language>::Discriminant: Sync
","synthetic":true,"types":["plat_egg::lp_extract::LpExtractor"]},{"text":"impl<L> Send for MultiPattern<L> where
    L: Send
","synthetic":true,"types":["plat_egg::multipattern::MultiPattern"]},{"text":"impl<E> Send for MultiPatternParseError<E> where
    E: Send
","synthetic":true,"types":["plat_egg::multipattern::MultiPatternParseError"]},{"text":"impl<L> Send for Pattern<L> where
    L: Send
","synthetic":true,"types":["plat_egg::pattern::Pattern"]},{"text":"impl<L> Send for ENodeOrVar<L> where
    L: Send
","synthetic":true,"types":["plat_egg::pattern::ENodeOrVar"]},{"text":"impl<'a, L> Send for SearchMatches<'a, L> where
    L: Send + Sync
","synthetic":true,"types":["plat_egg::pattern::SearchMatches"]},{"text":"impl<D> Send for RawEClass<D> where
    D: Send
","synthetic":true,"types":["plat_egg::raw::eclass::RawEClass"]},{"text":"impl<L> Send for EGraphResidual<L> where
    L: Send
","synthetic":true,"types":["plat_egg::raw::egraph::EGraphResidual"]},{"text":"impl<L, D, U> Send for RawEGraph<L, D, U> where
    D: Send,
    L: Send,
    U: Send
","synthetic":true,"types":["plat_egg::raw::egraph::RawEGraph"]},{"text":"impl<D> Send for UnionInfo<D> where
    D: Send
","synthetic":true,"types":["plat_egg::raw::egraph::UnionInfo"]},{"text":"impl Send for PushInfo","synthetic":true,"types":["plat_egg::raw::semi_persistent1::PushInfo"]},{"text":"impl Send for UndoLog","synthetic":true,"types":["plat_egg::raw::semi_persistent1::UndoLog"]},{"text":"impl<T> Send for DefaultVec<T> where
    T: Send
","synthetic":true,"types":["plat_egg::raw::bitset::DefaultVec"]},{"text":"impl Send for BitSet","synthetic":true,"types":["plat_egg::raw::bitset::BitSet"]},{"text":"impl<L> Send for RecExpr<L> where
    L: Send
","synthetic":true,"types":["plat_egg::raw::language::RecExpr"]},{"text":"impl Send for PushInfo","synthetic":true,"types":["plat_egg::raw::semi_persistent2::PushInfo"]},{"text":"impl Send for UndoLog","synthetic":true,"types":["plat_egg::raw::semi_persistent2::UndoLog"]},{"text":"impl<'a, L> Send for UndoCtx<'a, L> where
    L: Sync
","synthetic":true,"types":["plat_egg::raw::semi_persistent2::UndoCtx"]},{"text":"impl Send for UnionFind","synthetic":true,"types":["plat_egg::raw::unionfind::UnionFind"]},{"text":"impl<L, N> Send for Rewrite<L, N>","synthetic":true,"types":["plat_egg::rewrite::Rewrite"]},{"text":"impl<C, A> Send for ConditionalApplier<C, A> where
    A: Send,
    C: Send
","synthetic":true,"types":["plat_egg::rewrite::ConditionalApplier"]},{"text":"impl<L> Send for ConditionEqual<L> where
    L: Send
","synthetic":true,"types":["plat_egg::rewrite::ConditionEqual"]},{"text":"impl<L, N, IterData = ()> !Send for Runner<L, N, IterData>","synthetic":true,"types":["plat_egg::run::Runner"]},{"text":"impl Send for StopReason","synthetic":true,"types":["plat_egg::run::StopReason"]},{"text":"impl Send for Report","synthetic":true,"types":["plat_egg::run::Report"]},{"text":"impl<IterData> Send for Iteration<IterData> where
    IterData: Send
","synthetic":true,"types":["plat_egg::run::Iteration"]},{"text":"impl Send for SimpleScheduler","synthetic":true,"types":["plat_egg::run::SimpleScheduler"]},{"text":"impl Send for BackoffScheduler","synthetic":true,"types":["plat_egg::run::BackoffScheduler"]},{"text":"impl Send for Var","synthetic":true,"types":["plat_egg::subst::Var"]},{"text":"impl Send for Subst","synthetic":true,"types":["plat_egg::subst::Subst"]},{"text":"impl Send for Id","synthetic":true,"types":["plat_egg::Id"]}]; +implementors["plat_egg"] = [{"text":"impl<'a, L, P> Send for Dot<'a, L, P> where
    L: Sync,
    P: Sync
","synthetic":true,"types":["plat_egg::dot::Dot"]},{"text":"impl<L, D> Send for EClassData<L, D> where
    D: Send,
    L: Send
","synthetic":true,"types":["plat_egg::eclass::EClassData"]},{"text":"impl<L, N> Send for EGraph<L, N> where
    L: Send,
    N: Send,
    <N as Analysis<L>>::Data: Send,
    <L as Language>::Discriminant: Send
","synthetic":true,"types":["plat_egg::egraph::EGraph"]},{"text":"impl Send for Justification","synthetic":true,"types":["plat_egg::explain::Justification"]},{"text":"impl<L> !Send for Explanation<L>","synthetic":true,"types":["plat_egg::explain::Explanation"]},{"text":"impl<L> !Send for TreeTerm<L>","synthetic":true,"types":["plat_egg::explain::TreeTerm"]},{"text":"impl<L> Send for FlatTerm<L> where
    L: Send
","synthetic":true,"types":["plat_egg::explain::FlatTerm"]},{"text":"impl<'a, CF, L, N> Send for Extractor<'a, CF, L, N> where
    CF: Send,
    L: Send + Sync,
    N: Sync,
    <CF as CostFunction<L>>::Cost: Send,
    <N as Analysis<L>>::Data: Sync,
    <L as Language>::Discriminant: Sync
","synthetic":true,"types":["plat_egg::extract::Extractor"]},{"text":"impl Send for AstSize","synthetic":true,"types":["plat_egg::extract::AstSize"]},{"text":"impl Send for AstDepth","synthetic":true,"types":["plat_egg::extract::AstDepth"]},{"text":"impl Send for FromOpError","synthetic":true,"types":["plat_egg::language::FromOpError"]},{"text":"impl<E> Send for RecExprParseError<E> where
    E: Send
","synthetic":true,"types":["plat_egg::language::RecExprParseError"]},{"text":"impl Send for DidMerge","synthetic":true,"types":["plat_egg::language::DidMerge"]},{"text":"impl Send for SymbolLang","synthetic":true,"types":["plat_egg::language::SymbolLang"]},{"text":"impl<'a, L, N> Send for LpExtractor<'a, L, N> where
    L: Sync,
    N: Sync,
    <N as Analysis<L>>::Data: Sync,
    <L as Language>::Discriminant: Sync
","synthetic":true,"types":["plat_egg::lp_extract::LpExtractor"]},{"text":"impl<L> Send for MultiPattern<L> where
    L: Send
","synthetic":true,"types":["plat_egg::multipattern::MultiPattern"]},{"text":"impl<E> Send for MultiPatternParseError<E> where
    E: Send
","synthetic":true,"types":["plat_egg::multipattern::MultiPatternParseError"]},{"text":"impl<L> Send for Pattern<L> where
    L: Send
","synthetic":true,"types":["plat_egg::pattern::Pattern"]},{"text":"impl<L> Send for ENodeOrVar<L> where
    L: Send
","synthetic":true,"types":["plat_egg::pattern::ENodeOrVar"]},{"text":"impl<'a, L> Send for SearchMatches<'a, L> where
    L: Send + Sync
","synthetic":true,"types":["plat_egg::pattern::SearchMatches"]},{"text":"impl<D> Send for RawEClass<D> where
    D: Send
","synthetic":true,"types":["plat_egg::raw::eclass::RawEClass"]},{"text":"impl<L, P> Send for EGraphResidual<L, P> where
    L: Send,
    P: Send
","synthetic":true,"types":["plat_egg::raw::egraph::EGraphResidual"]},{"text":"impl<L, D, U> Send for RawEGraph<L, D, U> where
    D: Send,
    L: Send,
    U: Send,
    <U as UndoLogPC>::AllowPathCompress: Send
","synthetic":true,"types":["plat_egg::raw::egraph::RawEGraph"]},{"text":"impl<D> Send for UnionInfo<D> where
    D: Send
","synthetic":true,"types":["plat_egg::raw::egraph::UnionInfo"]},{"text":"impl Send for PushInfo","synthetic":true,"types":["plat_egg::raw::semi_persistent1::PushInfo"]},{"text":"impl Send for UndoLog","synthetic":true,"types":["plat_egg::raw::semi_persistent1::UndoLog"]},{"text":"impl<L> Send for RecExpr<L> where
    L: Send
","synthetic":true,"types":["plat_egg::raw::language::RecExpr"]},{"text":"impl Send for PushInfo","synthetic":true,"types":["plat_egg::raw::semi_persistent2::PushInfo"]},{"text":"impl Send for UndoLog","synthetic":true,"types":["plat_egg::raw::semi_persistent2::UndoLog"]},{"text":"impl<'a, L> Send for UndoCtx<'a, L> where
    L: Sync
","synthetic":true,"types":["plat_egg::raw::semi_persistent2::UndoCtx"]},{"text":"impl<P> Send for UnionFind<P> where
    P: Send
","synthetic":true,"types":["plat_egg::raw::unionfind::UnionFind"]},{"text":"impl<const B: bool> Send for PathCompress<B>","synthetic":true,"types":["plat_egg::raw::reflect_const::PathCompress"]},{"text":"impl<L, N> Send for Rewrite<L, N>","synthetic":true,"types":["plat_egg::rewrite::Rewrite"]},{"text":"impl<C, A> Send for ConditionalApplier<C, A> where
    A: Send,
    C: Send
","synthetic":true,"types":["plat_egg::rewrite::ConditionalApplier"]},{"text":"impl<L> Send for ConditionEqual<L> where
    L: Send
","synthetic":true,"types":["plat_egg::rewrite::ConditionEqual"]},{"text":"impl<L, N, IterData = ()> !Send for Runner<L, N, IterData>","synthetic":true,"types":["plat_egg::run::Runner"]},{"text":"impl Send for StopReason","synthetic":true,"types":["plat_egg::run::StopReason"]},{"text":"impl Send for Report","synthetic":true,"types":["plat_egg::run::Report"]},{"text":"impl<IterData> Send for Iteration<IterData> where
    IterData: Send
","synthetic":true,"types":["plat_egg::run::Iteration"]},{"text":"impl Send for SimpleScheduler","synthetic":true,"types":["plat_egg::run::SimpleScheduler"]},{"text":"impl Send for BackoffScheduler","synthetic":true,"types":["plat_egg::run::BackoffScheduler"]},{"text":"impl Send for Var","synthetic":true,"types":["plat_egg::subst::Var"]},{"text":"impl Send for Subst","synthetic":true,"types":["plat_egg::subst::Subst"]},{"text":"impl Send for Id","synthetic":true,"types":["plat_egg::Id"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.StructuralEq.js b/implementors/core/marker/trait.StructuralEq.js index ee414283..306e7b7f 100644 --- a/implementors/core/marker/trait.StructuralEq.js +++ b/implementors/core/marker/trait.StructuralEq.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["plat_egg"] = [{"text":"impl StructuralEq for Justification","synthetic":false,"types":["plat_egg::explain::Justification"]},{"text":"impl<L: Language> StructuralEq for FlatTerm<L>","synthetic":false,"types":["plat_egg::explain::FlatTerm"]},{"text":"impl StructuralEq for SymbolLang","synthetic":false,"types":["plat_egg::language::SymbolLang"]},{"text":"impl<L> StructuralEq for MultiPattern<L>","synthetic":false,"types":["plat_egg::multipattern::MultiPattern"]},{"text":"impl<L> StructuralEq for Pattern<L>","synthetic":false,"types":["plat_egg::pattern::Pattern"]},{"text":"impl<L> StructuralEq for ENodeOrVar<L>","synthetic":false,"types":["plat_egg::pattern::ENodeOrVar"]},{"text":"impl<L> StructuralEq for RecExpr<L>","synthetic":false,"types":["plat_egg::raw::language::RecExpr"]},{"text":"impl StructuralEq for Var","synthetic":false,"types":["plat_egg::subst::Var"]},{"text":"impl StructuralEq for Subst","synthetic":false,"types":["plat_egg::subst::Subst"]},{"text":"impl StructuralEq for Id","synthetic":false,"types":["plat_egg::Id"]}]; +implementors["plat_egg"] = [{"text":"impl StructuralEq for Justification","synthetic":false,"types":["plat_egg::explain::Justification"]},{"text":"impl<L: Language> StructuralEq for FlatTerm<L>","synthetic":false,"types":["plat_egg::explain::FlatTerm"]},{"text":"impl StructuralEq for SymbolLang","synthetic":false,"types":["plat_egg::language::SymbolLang"]},{"text":"impl<L> StructuralEq for MultiPattern<L>","synthetic":false,"types":["plat_egg::multipattern::MultiPattern"]},{"text":"impl<L> StructuralEq for Pattern<L>","synthetic":false,"types":["plat_egg::pattern::Pattern"]},{"text":"impl<L> StructuralEq for ENodeOrVar<L>","synthetic":false,"types":["plat_egg::pattern::ENodeOrVar"]},{"text":"impl<L> StructuralEq for RecExpr<L>","synthetic":false,"types":["plat_egg::raw::language::RecExpr"]},{"text":"impl<const B: bool> StructuralEq for PathCompress<B>","synthetic":false,"types":["plat_egg::raw::reflect_const::PathCompress"]},{"text":"impl StructuralEq for Var","synthetic":false,"types":["plat_egg::subst::Var"]},{"text":"impl StructuralEq for Subst","synthetic":false,"types":["plat_egg::subst::Subst"]},{"text":"impl StructuralEq for Id","synthetic":false,"types":["plat_egg::Id"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.StructuralPartialEq.js b/implementors/core/marker/trait.StructuralPartialEq.js index e7c9fc4a..dcdfed3a 100644 --- a/implementors/core/marker/trait.StructuralPartialEq.js +++ b/implementors/core/marker/trait.StructuralPartialEq.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["plat_egg"] = [{"text":"impl StructuralPartialEq for Justification","synthetic":false,"types":["plat_egg::explain::Justification"]},{"text":"impl StructuralPartialEq for SymbolLang","synthetic":false,"types":["plat_egg::language::SymbolLang"]},{"text":"impl<L> StructuralPartialEq for MultiPattern<L>","synthetic":false,"types":["plat_egg::multipattern::MultiPattern"]},{"text":"impl<L> StructuralPartialEq for Pattern<L>","synthetic":false,"types":["plat_egg::pattern::Pattern"]},{"text":"impl<L> StructuralPartialEq for ENodeOrVar<L>","synthetic":false,"types":["plat_egg::pattern::ENodeOrVar"]},{"text":"impl<L> StructuralPartialEq for RecExpr<L>","synthetic":false,"types":["plat_egg::raw::language::RecExpr"]},{"text":"impl StructuralPartialEq for Var","synthetic":false,"types":["plat_egg::subst::Var"]},{"text":"impl StructuralPartialEq for Subst","synthetic":false,"types":["plat_egg::subst::Subst"]},{"text":"impl StructuralPartialEq for Id","synthetic":false,"types":["plat_egg::Id"]}]; +implementors["plat_egg"] = [{"text":"impl StructuralPartialEq for Justification","synthetic":false,"types":["plat_egg::explain::Justification"]},{"text":"impl StructuralPartialEq for SymbolLang","synthetic":false,"types":["plat_egg::language::SymbolLang"]},{"text":"impl<L> StructuralPartialEq for MultiPattern<L>","synthetic":false,"types":["plat_egg::multipattern::MultiPattern"]},{"text":"impl<L> StructuralPartialEq for Pattern<L>","synthetic":false,"types":["plat_egg::pattern::Pattern"]},{"text":"impl<L> StructuralPartialEq for ENodeOrVar<L>","synthetic":false,"types":["plat_egg::pattern::ENodeOrVar"]},{"text":"impl<L> StructuralPartialEq for RecExpr<L>","synthetic":false,"types":["plat_egg::raw::language::RecExpr"]},{"text":"impl<const B: bool> StructuralPartialEq for PathCompress<B>","synthetic":false,"types":["plat_egg::raw::reflect_const::PathCompress"]},{"text":"impl StructuralPartialEq for Var","synthetic":false,"types":["plat_egg::subst::Var"]},{"text":"impl StructuralPartialEq for Subst","synthetic":false,"types":["plat_egg::subst::Subst"]},{"text":"impl StructuralPartialEq for Id","synthetic":false,"types":["plat_egg::Id"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Sync.js b/implementors/core/marker/trait.Sync.js index d41e0570..0b12c025 100644 --- a/implementors/core/marker/trait.Sync.js +++ b/implementors/core/marker/trait.Sync.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["plat_egg"] = [{"text":"impl<'a, L> Sync for Dot<'a, L> where
    L: Sync
","synthetic":true,"types":["plat_egg::dot::Dot"]},{"text":"impl<L, D> Sync for EClassData<L, D> where
    D: Sync,
    L: Sync
","synthetic":true,"types":["plat_egg::eclass::EClassData"]},{"text":"impl<L, N> Sync for EGraph<L, N> where
    L: Sync,
    N: Sync,
    <N as Analysis<L>>::Data: Sync,
    <L as Language>::Discriminant: Sync
","synthetic":true,"types":["plat_egg::egraph::EGraph"]},{"text":"impl Sync for Justification","synthetic":true,"types":["plat_egg::explain::Justification"]},{"text":"impl<L> !Sync for Explanation<L>","synthetic":true,"types":["plat_egg::explain::Explanation"]},{"text":"impl<L> !Sync for TreeTerm<L>","synthetic":true,"types":["plat_egg::explain::TreeTerm"]},{"text":"impl<L> Sync for FlatTerm<L> where
    L: Sync
","synthetic":true,"types":["plat_egg::explain::FlatTerm"]},{"text":"impl<'a, CF, L, N> Sync for Extractor<'a, CF, L, N> where
    CF: Sync,
    L: Sync,
    N: Sync,
    <CF as CostFunction<L>>::Cost: Sync,
    <N as Analysis<L>>::Data: Sync,
    <L as Language>::Discriminant: Sync
","synthetic":true,"types":["plat_egg::extract::Extractor"]},{"text":"impl Sync for AstSize","synthetic":true,"types":["plat_egg::extract::AstSize"]},{"text":"impl Sync for AstDepth","synthetic":true,"types":["plat_egg::extract::AstDepth"]},{"text":"impl Sync for FromOpError","synthetic":true,"types":["plat_egg::language::FromOpError"]},{"text":"impl<E> Sync for RecExprParseError<E> where
    E: Sync
","synthetic":true,"types":["plat_egg::language::RecExprParseError"]},{"text":"impl Sync for DidMerge","synthetic":true,"types":["plat_egg::language::DidMerge"]},{"text":"impl Sync for SymbolLang","synthetic":true,"types":["plat_egg::language::SymbolLang"]},{"text":"impl<'a, L, N> Sync for LpExtractor<'a, L, N> where
    L: Sync,
    N: Sync,
    <N as Analysis<L>>::Data: Sync,
    <L as Language>::Discriminant: Sync
","synthetic":true,"types":["plat_egg::lp_extract::LpExtractor"]},{"text":"impl<L> Sync for MultiPattern<L> where
    L: Sync
","synthetic":true,"types":["plat_egg::multipattern::MultiPattern"]},{"text":"impl<E> Sync for MultiPatternParseError<E> where
    E: Sync
","synthetic":true,"types":["plat_egg::multipattern::MultiPatternParseError"]},{"text":"impl<L> Sync for Pattern<L> where
    L: Sync
","synthetic":true,"types":["plat_egg::pattern::Pattern"]},{"text":"impl<L> Sync for ENodeOrVar<L> where
    L: Sync
","synthetic":true,"types":["plat_egg::pattern::ENodeOrVar"]},{"text":"impl<'a, L> Sync for SearchMatches<'a, L> where
    L: Sync
","synthetic":true,"types":["plat_egg::pattern::SearchMatches"]},{"text":"impl<D> Sync for RawEClass<D> where
    D: Sync
","synthetic":true,"types":["plat_egg::raw::eclass::RawEClass"]},{"text":"impl<L> Sync for EGraphResidual<L> where
    L: Sync
","synthetic":true,"types":["plat_egg::raw::egraph::EGraphResidual"]},{"text":"impl<L, D, U> Sync for RawEGraph<L, D, U> where
    D: Sync,
    L: Sync,
    U: Sync
","synthetic":true,"types":["plat_egg::raw::egraph::RawEGraph"]},{"text":"impl<D> Sync for UnionInfo<D> where
    D: Sync
","synthetic":true,"types":["plat_egg::raw::egraph::UnionInfo"]},{"text":"impl Sync for PushInfo","synthetic":true,"types":["plat_egg::raw::semi_persistent1::PushInfo"]},{"text":"impl Sync for UndoLog","synthetic":true,"types":["plat_egg::raw::semi_persistent1::UndoLog"]},{"text":"impl<T> Sync for DefaultVec<T> where
    T: Sync
","synthetic":true,"types":["plat_egg::raw::bitset::DefaultVec"]},{"text":"impl Sync for BitSet","synthetic":true,"types":["plat_egg::raw::bitset::BitSet"]},{"text":"impl<L> Sync for RecExpr<L> where
    L: Sync
","synthetic":true,"types":["plat_egg::raw::language::RecExpr"]},{"text":"impl Sync for PushInfo","synthetic":true,"types":["plat_egg::raw::semi_persistent2::PushInfo"]},{"text":"impl Sync for UndoLog","synthetic":true,"types":["plat_egg::raw::semi_persistent2::UndoLog"]},{"text":"impl<'a, L> Sync for UndoCtx<'a, L> where
    L: Sync
","synthetic":true,"types":["plat_egg::raw::semi_persistent2::UndoCtx"]},{"text":"impl Sync for UnionFind","synthetic":true,"types":["plat_egg::raw::unionfind::UnionFind"]},{"text":"impl<L, N> Sync for Rewrite<L, N>","synthetic":true,"types":["plat_egg::rewrite::Rewrite"]},{"text":"impl<C, A> Sync for ConditionalApplier<C, A> where
    A: Sync,
    C: Sync
","synthetic":true,"types":["plat_egg::rewrite::ConditionalApplier"]},{"text":"impl<L> Sync for ConditionEqual<L> where
    L: Sync
","synthetic":true,"types":["plat_egg::rewrite::ConditionEqual"]},{"text":"impl<L, N, IterData = ()> !Sync for Runner<L, N, IterData>","synthetic":true,"types":["plat_egg::run::Runner"]},{"text":"impl Sync for StopReason","synthetic":true,"types":["plat_egg::run::StopReason"]},{"text":"impl Sync for Report","synthetic":true,"types":["plat_egg::run::Report"]},{"text":"impl<IterData> Sync for Iteration<IterData> where
    IterData: Sync
","synthetic":true,"types":["plat_egg::run::Iteration"]},{"text":"impl Sync for SimpleScheduler","synthetic":true,"types":["plat_egg::run::SimpleScheduler"]},{"text":"impl Sync for BackoffScheduler","synthetic":true,"types":["plat_egg::run::BackoffScheduler"]},{"text":"impl Sync for Var","synthetic":true,"types":["plat_egg::subst::Var"]},{"text":"impl Sync for Subst","synthetic":true,"types":["plat_egg::subst::Subst"]},{"text":"impl Sync for Id","synthetic":true,"types":["plat_egg::Id"]}]; +implementors["plat_egg"] = [{"text":"impl<'a, L, P> Sync for Dot<'a, L, P> where
    L: Sync,
    P: Sync
","synthetic":true,"types":["plat_egg::dot::Dot"]},{"text":"impl<L, D> Sync for EClassData<L, D> where
    D: Sync,
    L: Sync
","synthetic":true,"types":["plat_egg::eclass::EClassData"]},{"text":"impl<L, N> Sync for EGraph<L, N> where
    L: Sync,
    N: Sync,
    <N as Analysis<L>>::Data: Sync,
    <L as Language>::Discriminant: Sync
","synthetic":true,"types":["plat_egg::egraph::EGraph"]},{"text":"impl Sync for Justification","synthetic":true,"types":["plat_egg::explain::Justification"]},{"text":"impl<L> !Sync for Explanation<L>","synthetic":true,"types":["plat_egg::explain::Explanation"]},{"text":"impl<L> !Sync for TreeTerm<L>","synthetic":true,"types":["plat_egg::explain::TreeTerm"]},{"text":"impl<L> Sync for FlatTerm<L> where
    L: Sync
","synthetic":true,"types":["plat_egg::explain::FlatTerm"]},{"text":"impl<'a, CF, L, N> Sync for Extractor<'a, CF, L, N> where
    CF: Sync,
    L: Sync,
    N: Sync,
    <CF as CostFunction<L>>::Cost: Sync,
    <N as Analysis<L>>::Data: Sync,
    <L as Language>::Discriminant: Sync
","synthetic":true,"types":["plat_egg::extract::Extractor"]},{"text":"impl Sync for AstSize","synthetic":true,"types":["plat_egg::extract::AstSize"]},{"text":"impl Sync for AstDepth","synthetic":true,"types":["plat_egg::extract::AstDepth"]},{"text":"impl Sync for FromOpError","synthetic":true,"types":["plat_egg::language::FromOpError"]},{"text":"impl<E> Sync for RecExprParseError<E> where
    E: Sync
","synthetic":true,"types":["plat_egg::language::RecExprParseError"]},{"text":"impl Sync for DidMerge","synthetic":true,"types":["plat_egg::language::DidMerge"]},{"text":"impl Sync for SymbolLang","synthetic":true,"types":["plat_egg::language::SymbolLang"]},{"text":"impl<'a, L, N> Sync for LpExtractor<'a, L, N> where
    L: Sync,
    N: Sync,
    <N as Analysis<L>>::Data: Sync,
    <L as Language>::Discriminant: Sync
","synthetic":true,"types":["plat_egg::lp_extract::LpExtractor"]},{"text":"impl<L> Sync for MultiPattern<L> where
    L: Sync
","synthetic":true,"types":["plat_egg::multipattern::MultiPattern"]},{"text":"impl<E> Sync for MultiPatternParseError<E> where
    E: Sync
","synthetic":true,"types":["plat_egg::multipattern::MultiPatternParseError"]},{"text":"impl<L> Sync for Pattern<L> where
    L: Sync
","synthetic":true,"types":["plat_egg::pattern::Pattern"]},{"text":"impl<L> Sync for ENodeOrVar<L> where
    L: Sync
","synthetic":true,"types":["plat_egg::pattern::ENodeOrVar"]},{"text":"impl<'a, L> Sync for SearchMatches<'a, L> where
    L: Sync
","synthetic":true,"types":["plat_egg::pattern::SearchMatches"]},{"text":"impl<D> Sync for RawEClass<D> where
    D: Sync
","synthetic":true,"types":["plat_egg::raw::eclass::RawEClass"]},{"text":"impl<L, P> Sync for EGraphResidual<L, P> where
    L: Sync,
    P: Sync
","synthetic":true,"types":["plat_egg::raw::egraph::EGraphResidual"]},{"text":"impl<L, D, U> Sync for RawEGraph<L, D, U> where
    D: Sync,
    L: Sync,
    U: Sync,
    <U as UndoLogPC>::AllowPathCompress: Sync
","synthetic":true,"types":["plat_egg::raw::egraph::RawEGraph"]},{"text":"impl<D> Sync for UnionInfo<D> where
    D: Sync
","synthetic":true,"types":["plat_egg::raw::egraph::UnionInfo"]},{"text":"impl Sync for PushInfo","synthetic":true,"types":["plat_egg::raw::semi_persistent1::PushInfo"]},{"text":"impl Sync for UndoLog","synthetic":true,"types":["plat_egg::raw::semi_persistent1::UndoLog"]},{"text":"impl<L> Sync for RecExpr<L> where
    L: Sync
","synthetic":true,"types":["plat_egg::raw::language::RecExpr"]},{"text":"impl Sync for PushInfo","synthetic":true,"types":["plat_egg::raw::semi_persistent2::PushInfo"]},{"text":"impl Sync for UndoLog","synthetic":true,"types":["plat_egg::raw::semi_persistent2::UndoLog"]},{"text":"impl<'a, L> Sync for UndoCtx<'a, L> where
    L: Sync
","synthetic":true,"types":["plat_egg::raw::semi_persistent2::UndoCtx"]},{"text":"impl<P> Sync for UnionFind<P> where
    P: Sync
","synthetic":true,"types":["plat_egg::raw::unionfind::UnionFind"]},{"text":"impl<const B: bool> Sync for PathCompress<B>","synthetic":true,"types":["plat_egg::raw::reflect_const::PathCompress"]},{"text":"impl<L, N> Sync for Rewrite<L, N>","synthetic":true,"types":["plat_egg::rewrite::Rewrite"]},{"text":"impl<C, A> Sync for ConditionalApplier<C, A> where
    A: Sync,
    C: Sync
","synthetic":true,"types":["plat_egg::rewrite::ConditionalApplier"]},{"text":"impl<L> Sync for ConditionEqual<L> where
    L: Sync
","synthetic":true,"types":["plat_egg::rewrite::ConditionEqual"]},{"text":"impl<L, N, IterData = ()> !Sync for Runner<L, N, IterData>","synthetic":true,"types":["plat_egg::run::Runner"]},{"text":"impl Sync for StopReason","synthetic":true,"types":["plat_egg::run::StopReason"]},{"text":"impl Sync for Report","synthetic":true,"types":["plat_egg::run::Report"]},{"text":"impl<IterData> Sync for Iteration<IterData> where
    IterData: Sync
","synthetic":true,"types":["plat_egg::run::Iteration"]},{"text":"impl Sync for SimpleScheduler","synthetic":true,"types":["plat_egg::run::SimpleScheduler"]},{"text":"impl Sync for BackoffScheduler","synthetic":true,"types":["plat_egg::run::BackoffScheduler"]},{"text":"impl Sync for Var","synthetic":true,"types":["plat_egg::subst::Var"]},{"text":"impl Sync for Subst","synthetic":true,"types":["plat_egg::subst::Subst"]},{"text":"impl Sync for Id","synthetic":true,"types":["plat_egg::Id"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Unpin.js b/implementors/core/marker/trait.Unpin.js index 7026a9aa..0391d53c 100644 --- a/implementors/core/marker/trait.Unpin.js +++ b/implementors/core/marker/trait.Unpin.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["plat_egg"] = [{"text":"impl<'a, L> Unpin for Dot<'a, L>","synthetic":true,"types":["plat_egg::dot::Dot"]},{"text":"impl<L, D> Unpin for EClassData<L, D> where
    D: Unpin,
    L: Unpin
","synthetic":true,"types":["plat_egg::eclass::EClassData"]},{"text":"impl<L, N> Unpin for EGraph<L, N> where
    L: Unpin,
    N: Unpin,
    <N as Analysis<L>>::Data: Unpin,
    <L as Language>::Discriminant: Unpin
","synthetic":true,"types":["plat_egg::egraph::EGraph"]},{"text":"impl Unpin for Justification","synthetic":true,"types":["plat_egg::explain::Justification"]},{"text":"impl<L> Unpin for Explanation<L> where
    L: Unpin
","synthetic":true,"types":["plat_egg::explain::Explanation"]},{"text":"impl<L> Unpin for TreeTerm<L> where
    L: Unpin
","synthetic":true,"types":["plat_egg::explain::TreeTerm"]},{"text":"impl<L> Unpin for FlatTerm<L> where
    L: Unpin
","synthetic":true,"types":["plat_egg::explain::FlatTerm"]},{"text":"impl<'a, CF, L, N> Unpin for Extractor<'a, CF, L, N> where
    CF: Unpin,
    L: Unpin,
    <CF as CostFunction<L>>::Cost: Unpin
","synthetic":true,"types":["plat_egg::extract::Extractor"]},{"text":"impl Unpin for AstSize","synthetic":true,"types":["plat_egg::extract::AstSize"]},{"text":"impl Unpin for AstDepth","synthetic":true,"types":["plat_egg::extract::AstDepth"]},{"text":"impl Unpin for FromOpError","synthetic":true,"types":["plat_egg::language::FromOpError"]},{"text":"impl<E> Unpin for RecExprParseError<E> where
    E: Unpin
","synthetic":true,"types":["plat_egg::language::RecExprParseError"]},{"text":"impl Unpin for DidMerge","synthetic":true,"types":["plat_egg::language::DidMerge"]},{"text":"impl Unpin for SymbolLang","synthetic":true,"types":["plat_egg::language::SymbolLang"]},{"text":"impl<'a, L, N> Unpin for LpExtractor<'a, L, N>","synthetic":true,"types":["plat_egg::lp_extract::LpExtractor"]},{"text":"impl<L> Unpin for MultiPattern<L> where
    L: Unpin
","synthetic":true,"types":["plat_egg::multipattern::MultiPattern"]},{"text":"impl<E> Unpin for MultiPatternParseError<E> where
    E: Unpin
","synthetic":true,"types":["plat_egg::multipattern::MultiPatternParseError"]},{"text":"impl<L> Unpin for Pattern<L> where
    L: Unpin
","synthetic":true,"types":["plat_egg::pattern::Pattern"]},{"text":"impl<L> Unpin for ENodeOrVar<L> where
    L: Unpin
","synthetic":true,"types":["plat_egg::pattern::ENodeOrVar"]},{"text":"impl<'a, L> Unpin for SearchMatches<'a, L> where
    L: Unpin
","synthetic":true,"types":["plat_egg::pattern::SearchMatches"]},{"text":"impl<D> Unpin for RawEClass<D> where
    D: Unpin
","synthetic":true,"types":["plat_egg::raw::eclass::RawEClass"]},{"text":"impl<L> Unpin for EGraphResidual<L> where
    L: Unpin
","synthetic":true,"types":["plat_egg::raw::egraph::EGraphResidual"]},{"text":"impl<L, D, U> Unpin for RawEGraph<L, D, U> where
    D: Unpin,
    L: Unpin,
    U: Unpin
","synthetic":true,"types":["plat_egg::raw::egraph::RawEGraph"]},{"text":"impl<D> Unpin for UnionInfo<D> where
    D: Unpin
","synthetic":true,"types":["plat_egg::raw::egraph::UnionInfo"]},{"text":"impl Unpin for PushInfo","synthetic":true,"types":["plat_egg::raw::semi_persistent1::PushInfo"]},{"text":"impl Unpin for UndoLog","synthetic":true,"types":["plat_egg::raw::semi_persistent1::UndoLog"]},{"text":"impl<T> Unpin for DefaultVec<T>","synthetic":true,"types":["plat_egg::raw::bitset::DefaultVec"]},{"text":"impl Unpin for BitSet","synthetic":true,"types":["plat_egg::raw::bitset::BitSet"]},{"text":"impl<L> Unpin for RecExpr<L> where
    L: Unpin
","synthetic":true,"types":["plat_egg::raw::language::RecExpr"]},{"text":"impl Unpin for PushInfo","synthetic":true,"types":["plat_egg::raw::semi_persistent2::PushInfo"]},{"text":"impl Unpin for UndoLog","synthetic":true,"types":["plat_egg::raw::semi_persistent2::UndoLog"]},{"text":"impl<'a, L> Unpin for UndoCtx<'a, L>","synthetic":true,"types":["plat_egg::raw::semi_persistent2::UndoCtx"]},{"text":"impl Unpin for UnionFind","synthetic":true,"types":["plat_egg::raw::unionfind::UnionFind"]},{"text":"impl<L, N> Unpin for Rewrite<L, N>","synthetic":true,"types":["plat_egg::rewrite::Rewrite"]},{"text":"impl<C, A> Unpin for ConditionalApplier<C, A> where
    A: Unpin,
    C: Unpin
","synthetic":true,"types":["plat_egg::rewrite::ConditionalApplier"]},{"text":"impl<L> Unpin for ConditionEqual<L> where
    L: Unpin
","synthetic":true,"types":["plat_egg::rewrite::ConditionEqual"]},{"text":"impl<L, N, IterData> Unpin for Runner<L, N, IterData> where
    IterData: Unpin,
    L: Unpin,
    N: Unpin,
    <N as Analysis<L>>::Data: Unpin,
    <L as Language>::Discriminant: Unpin
","synthetic":true,"types":["plat_egg::run::Runner"]},{"text":"impl Unpin for StopReason","synthetic":true,"types":["plat_egg::run::StopReason"]},{"text":"impl Unpin for Report","synthetic":true,"types":["plat_egg::run::Report"]},{"text":"impl<IterData> Unpin for Iteration<IterData> where
    IterData: Unpin
","synthetic":true,"types":["plat_egg::run::Iteration"]},{"text":"impl Unpin for SimpleScheduler","synthetic":true,"types":["plat_egg::run::SimpleScheduler"]},{"text":"impl Unpin for BackoffScheduler","synthetic":true,"types":["plat_egg::run::BackoffScheduler"]},{"text":"impl Unpin for Var","synthetic":true,"types":["plat_egg::subst::Var"]},{"text":"impl Unpin for Subst","synthetic":true,"types":["plat_egg::subst::Subst"]},{"text":"impl Unpin for Id","synthetic":true,"types":["plat_egg::Id"]}]; +implementors["plat_egg"] = [{"text":"impl<'a, L, P> Unpin for Dot<'a, L, P>","synthetic":true,"types":["plat_egg::dot::Dot"]},{"text":"impl<L, D> Unpin for EClassData<L, D> where
    D: Unpin,
    L: Unpin
","synthetic":true,"types":["plat_egg::eclass::EClassData"]},{"text":"impl<L, N> Unpin for EGraph<L, N> where
    L: Unpin,
    N: Unpin,
    <N as Analysis<L>>::Data: Unpin,
    <L as Language>::Discriminant: Unpin
","synthetic":true,"types":["plat_egg::egraph::EGraph"]},{"text":"impl Unpin for Justification","synthetic":true,"types":["plat_egg::explain::Justification"]},{"text":"impl<L> Unpin for Explanation<L> where
    L: Unpin
","synthetic":true,"types":["plat_egg::explain::Explanation"]},{"text":"impl<L> Unpin for TreeTerm<L> where
    L: Unpin
","synthetic":true,"types":["plat_egg::explain::TreeTerm"]},{"text":"impl<L> Unpin for FlatTerm<L> where
    L: Unpin
","synthetic":true,"types":["plat_egg::explain::FlatTerm"]},{"text":"impl<'a, CF, L, N> Unpin for Extractor<'a, CF, L, N> where
    CF: Unpin,
    L: Unpin,
    <CF as CostFunction<L>>::Cost: Unpin
","synthetic":true,"types":["plat_egg::extract::Extractor"]},{"text":"impl Unpin for AstSize","synthetic":true,"types":["plat_egg::extract::AstSize"]},{"text":"impl Unpin for AstDepth","synthetic":true,"types":["plat_egg::extract::AstDepth"]},{"text":"impl Unpin for FromOpError","synthetic":true,"types":["plat_egg::language::FromOpError"]},{"text":"impl<E> Unpin for RecExprParseError<E> where
    E: Unpin
","synthetic":true,"types":["plat_egg::language::RecExprParseError"]},{"text":"impl Unpin for DidMerge","synthetic":true,"types":["plat_egg::language::DidMerge"]},{"text":"impl Unpin for SymbolLang","synthetic":true,"types":["plat_egg::language::SymbolLang"]},{"text":"impl<'a, L, N> Unpin for LpExtractor<'a, L, N>","synthetic":true,"types":["plat_egg::lp_extract::LpExtractor"]},{"text":"impl<L> Unpin for MultiPattern<L> where
    L: Unpin
","synthetic":true,"types":["plat_egg::multipattern::MultiPattern"]},{"text":"impl<E> Unpin for MultiPatternParseError<E> where
    E: Unpin
","synthetic":true,"types":["plat_egg::multipattern::MultiPatternParseError"]},{"text":"impl<L> Unpin for Pattern<L> where
    L: Unpin
","synthetic":true,"types":["plat_egg::pattern::Pattern"]},{"text":"impl<L> Unpin for ENodeOrVar<L> where
    L: Unpin
","synthetic":true,"types":["plat_egg::pattern::ENodeOrVar"]},{"text":"impl<'a, L> Unpin for SearchMatches<'a, L> where
    L: Unpin
","synthetic":true,"types":["plat_egg::pattern::SearchMatches"]},{"text":"impl<D> Unpin for RawEClass<D> where
    D: Unpin
","synthetic":true,"types":["plat_egg::raw::eclass::RawEClass"]},{"text":"impl<L, P> Unpin for EGraphResidual<L, P> where
    L: Unpin,
    P: Unpin
","synthetic":true,"types":["plat_egg::raw::egraph::EGraphResidual"]},{"text":"impl<L, D, U> Unpin for RawEGraph<L, D, U> where
    D: Unpin,
    L: Unpin,
    U: Unpin,
    <U as UndoLogPC>::AllowPathCompress: Unpin
","synthetic":true,"types":["plat_egg::raw::egraph::RawEGraph"]},{"text":"impl<D> Unpin for UnionInfo<D> where
    D: Unpin
","synthetic":true,"types":["plat_egg::raw::egraph::UnionInfo"]},{"text":"impl Unpin for PushInfo","synthetic":true,"types":["plat_egg::raw::semi_persistent1::PushInfo"]},{"text":"impl Unpin for UndoLog","synthetic":true,"types":["plat_egg::raw::semi_persistent1::UndoLog"]},{"text":"impl<L> Unpin for RecExpr<L> where
    L: Unpin
","synthetic":true,"types":["plat_egg::raw::language::RecExpr"]},{"text":"impl Unpin for PushInfo","synthetic":true,"types":["plat_egg::raw::semi_persistent2::PushInfo"]},{"text":"impl Unpin for UndoLog","synthetic":true,"types":["plat_egg::raw::semi_persistent2::UndoLog"]},{"text":"impl<'a, L> Unpin for UndoCtx<'a, L>","synthetic":true,"types":["plat_egg::raw::semi_persistent2::UndoCtx"]},{"text":"impl<P> Unpin for UnionFind<P> where
    P: Unpin
","synthetic":true,"types":["plat_egg::raw::unionfind::UnionFind"]},{"text":"impl<const B: bool> Unpin for PathCompress<B>","synthetic":true,"types":["plat_egg::raw::reflect_const::PathCompress"]},{"text":"impl<L, N> Unpin for Rewrite<L, N>","synthetic":true,"types":["plat_egg::rewrite::Rewrite"]},{"text":"impl<C, A> Unpin for ConditionalApplier<C, A> where
    A: Unpin,
    C: Unpin
","synthetic":true,"types":["plat_egg::rewrite::ConditionalApplier"]},{"text":"impl<L> Unpin for ConditionEqual<L> where
    L: Unpin
","synthetic":true,"types":["plat_egg::rewrite::ConditionEqual"]},{"text":"impl<L, N, IterData> Unpin for Runner<L, N, IterData> where
    IterData: Unpin,
    L: Unpin,
    N: Unpin,
    <N as Analysis<L>>::Data: Unpin,
    <L as Language>::Discriminant: Unpin
","synthetic":true,"types":["plat_egg::run::Runner"]},{"text":"impl Unpin for StopReason","synthetic":true,"types":["plat_egg::run::StopReason"]},{"text":"impl Unpin for Report","synthetic":true,"types":["plat_egg::run::Report"]},{"text":"impl<IterData> Unpin for Iteration<IterData> where
    IterData: Unpin
","synthetic":true,"types":["plat_egg::run::Iteration"]},{"text":"impl Unpin for SimpleScheduler","synthetic":true,"types":["plat_egg::run::SimpleScheduler"]},{"text":"impl Unpin for BackoffScheduler","synthetic":true,"types":["plat_egg::run::BackoffScheduler"]},{"text":"impl Unpin for Var","synthetic":true,"types":["plat_egg::subst::Var"]},{"text":"impl Unpin for Subst","synthetic":true,"types":["plat_egg::subst::Subst"]},{"text":"impl Unpin for Id","synthetic":true,"types":["plat_egg::Id"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/ops/deref/trait.Deref.js b/implementors/core/ops/deref/trait.Deref.js index e3f08f1d..6be0f342 100644 --- a/implementors/core/ops/deref/trait.Deref.js +++ b/implementors/core/ops/deref/trait.Deref.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["plat_egg"] = [{"text":"impl<L: Language, N: Analysis<L>> Deref for EGraph<L, N>","synthetic":false,"types":["plat_egg::egraph::EGraph"]},{"text":"impl<D> Deref for RawEClass<D>","synthetic":false,"types":["plat_egg::raw::eclass::RawEClass"]},{"text":"impl<L: Language, D, U> Deref for RawEGraph<L, D, U>","synthetic":false,"types":["plat_egg::raw::egraph::RawEGraph"]}]; +implementors["plat_egg"] = [{"text":"impl<L: Language, N: Analysis<L>> Deref for EGraph<L, N>","synthetic":false,"types":["plat_egg::egraph::EGraph"]},{"text":"impl<D> Deref for RawEClass<D>","synthetic":false,"types":["plat_egg::raw::eclass::RawEClass"]},{"text":"impl<L: Language, D, U: UndoLogT<L, D>> Deref for RawEGraph<L, D, U>","synthetic":false,"types":["plat_egg::raw::egraph::RawEGraph"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/ops/deref/trait.DerefMut.js b/implementors/core/ops/deref/trait.DerefMut.js index adc9ef1d..ec0ee475 100644 --- a/implementors/core/ops/deref/trait.DerefMut.js +++ b/implementors/core/ops/deref/trait.DerefMut.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["plat_egg"] = [{"text":"impl<D> DerefMut for RawEClass<D>","synthetic":false,"types":["plat_egg::raw::eclass::RawEClass"]},{"text":"impl<L: Language, D, U> DerefMut for RawEGraph<L, D, U>","synthetic":false,"types":["plat_egg::raw::egraph::RawEGraph"]}]; +implementors["plat_egg"] = [{"text":"impl<D> DerefMut for RawEClass<D>","synthetic":false,"types":["plat_egg::raw::eclass::RawEClass"]},{"text":"impl<L: Language, D, U: UndoLogT<L, D>> DerefMut for RawEGraph<L, D, U>","synthetic":false,"types":["plat_egg::raw::egraph::RawEGraph"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js b/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js index 5ae8ed7a..8dbdcf3b 100644 --- a/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["plat_egg"] = [{"text":"impl<'a, L> RefUnwindSafe for Dot<'a, L> where
    L: RefUnwindSafe
","synthetic":true,"types":["plat_egg::dot::Dot"]},{"text":"impl<L, D> RefUnwindSafe for EClassData<L, D> where
    D: RefUnwindSafe,
    L: RefUnwindSafe
","synthetic":true,"types":["plat_egg::eclass::EClassData"]},{"text":"impl<L, N> RefUnwindSafe for EGraph<L, N> where
    L: RefUnwindSafe,
    N: RefUnwindSafe,
    <N as Analysis<L>>::Data: RefUnwindSafe,
    <L as Language>::Discriminant: RefUnwindSafe
","synthetic":true,"types":["plat_egg::egraph::EGraph"]},{"text":"impl RefUnwindSafe for Justification","synthetic":true,"types":["plat_egg::explain::Justification"]},{"text":"impl<L> RefUnwindSafe for Explanation<L> where
    L: RefUnwindSafe
","synthetic":true,"types":["plat_egg::explain::Explanation"]},{"text":"impl<L> RefUnwindSafe for TreeTerm<L> where
    L: RefUnwindSafe
","synthetic":true,"types":["plat_egg::explain::TreeTerm"]},{"text":"impl<L> RefUnwindSafe for FlatTerm<L> where
    L: RefUnwindSafe
","synthetic":true,"types":["plat_egg::explain::FlatTerm"]},{"text":"impl<'a, CF, L, N> RefUnwindSafe for Extractor<'a, CF, L, N> where
    CF: RefUnwindSafe,
    L: RefUnwindSafe,
    N: RefUnwindSafe,
    <CF as CostFunction<L>>::Cost: RefUnwindSafe,
    <N as Analysis<L>>::Data: RefUnwindSafe,
    <L as Language>::Discriminant: RefUnwindSafe
","synthetic":true,"types":["plat_egg::extract::Extractor"]},{"text":"impl RefUnwindSafe for AstSize","synthetic":true,"types":["plat_egg::extract::AstSize"]},{"text":"impl RefUnwindSafe for AstDepth","synthetic":true,"types":["plat_egg::extract::AstDepth"]},{"text":"impl RefUnwindSafe for FromOpError","synthetic":true,"types":["plat_egg::language::FromOpError"]},{"text":"impl<E> !RefUnwindSafe for RecExprParseError<E>","synthetic":true,"types":["plat_egg::language::RecExprParseError"]},{"text":"impl RefUnwindSafe for DidMerge","synthetic":true,"types":["plat_egg::language::DidMerge"]},{"text":"impl RefUnwindSafe for SymbolLang","synthetic":true,"types":["plat_egg::language::SymbolLang"]},{"text":"impl<'a, L, N> RefUnwindSafe for LpExtractor<'a, L, N> where
    L: RefUnwindSafe,
    N: RefUnwindSafe,
    <N as Analysis<L>>::Data: RefUnwindSafe,
    <L as Language>::Discriminant: RefUnwindSafe
","synthetic":true,"types":["plat_egg::lp_extract::LpExtractor"]},{"text":"impl<L> RefUnwindSafe for MultiPattern<L> where
    L: RefUnwindSafe
","synthetic":true,"types":["plat_egg::multipattern::MultiPattern"]},{"text":"impl<E> RefUnwindSafe for MultiPatternParseError<E> where
    E: RefUnwindSafe
","synthetic":true,"types":["plat_egg::multipattern::MultiPatternParseError"]},{"text":"impl<L> RefUnwindSafe for Pattern<L> where
    L: RefUnwindSafe
","synthetic":true,"types":["plat_egg::pattern::Pattern"]},{"text":"impl<L> RefUnwindSafe for ENodeOrVar<L> where
    L: RefUnwindSafe
","synthetic":true,"types":["plat_egg::pattern::ENodeOrVar"]},{"text":"impl<'a, L> RefUnwindSafe for SearchMatches<'a, L> where
    L: RefUnwindSafe
","synthetic":true,"types":["plat_egg::pattern::SearchMatches"]},{"text":"impl<D> RefUnwindSafe for RawEClass<D> where
    D: RefUnwindSafe
","synthetic":true,"types":["plat_egg::raw::eclass::RawEClass"]},{"text":"impl<L> RefUnwindSafe for EGraphResidual<L> where
    L: RefUnwindSafe
","synthetic":true,"types":["plat_egg::raw::egraph::EGraphResidual"]},{"text":"impl<L, D, U> RefUnwindSafe for RawEGraph<L, D, U> where
    D: RefUnwindSafe,
    L: RefUnwindSafe,
    U: RefUnwindSafe
","synthetic":true,"types":["plat_egg::raw::egraph::RawEGraph"]},{"text":"impl<D> RefUnwindSafe for UnionInfo<D> where
    D: RefUnwindSafe
","synthetic":true,"types":["plat_egg::raw::egraph::UnionInfo"]},{"text":"impl RefUnwindSafe for PushInfo","synthetic":true,"types":["plat_egg::raw::semi_persistent1::PushInfo"]},{"text":"impl RefUnwindSafe for UndoLog","synthetic":true,"types":["plat_egg::raw::semi_persistent1::UndoLog"]},{"text":"impl<T> RefUnwindSafe for DefaultVec<T> where
    T: RefUnwindSafe
","synthetic":true,"types":["plat_egg::raw::bitset::DefaultVec"]},{"text":"impl RefUnwindSafe for BitSet","synthetic":true,"types":["plat_egg::raw::bitset::BitSet"]},{"text":"impl<L> RefUnwindSafe for RecExpr<L> where
    L: RefUnwindSafe
","synthetic":true,"types":["plat_egg::raw::language::RecExpr"]},{"text":"impl RefUnwindSafe for PushInfo","synthetic":true,"types":["plat_egg::raw::semi_persistent2::PushInfo"]},{"text":"impl RefUnwindSafe for UndoLog","synthetic":true,"types":["plat_egg::raw::semi_persistent2::UndoLog"]},{"text":"impl<'a, L> RefUnwindSafe for UndoCtx<'a, L> where
    L: RefUnwindSafe
","synthetic":true,"types":["plat_egg::raw::semi_persistent2::UndoCtx"]},{"text":"impl RefUnwindSafe for UnionFind","synthetic":true,"types":["plat_egg::raw::unionfind::UnionFind"]},{"text":"impl<L, N> !RefUnwindSafe for Rewrite<L, N>","synthetic":true,"types":["plat_egg::rewrite::Rewrite"]},{"text":"impl<C, A> RefUnwindSafe for ConditionalApplier<C, A> where
    A: RefUnwindSafe,
    C: RefUnwindSafe
","synthetic":true,"types":["plat_egg::rewrite::ConditionalApplier"]},{"text":"impl<L> RefUnwindSafe for ConditionEqual<L> where
    L: RefUnwindSafe
","synthetic":true,"types":["plat_egg::rewrite::ConditionEqual"]},{"text":"impl<L, N, IterData = ()> !RefUnwindSafe for Runner<L, N, IterData>","synthetic":true,"types":["plat_egg::run::Runner"]},{"text":"impl RefUnwindSafe for StopReason","synthetic":true,"types":["plat_egg::run::StopReason"]},{"text":"impl RefUnwindSafe for Report","synthetic":true,"types":["plat_egg::run::Report"]},{"text":"impl<IterData> RefUnwindSafe for Iteration<IterData> where
    IterData: RefUnwindSafe
","synthetic":true,"types":["plat_egg::run::Iteration"]},{"text":"impl RefUnwindSafe for SimpleScheduler","synthetic":true,"types":["plat_egg::run::SimpleScheduler"]},{"text":"impl RefUnwindSafe for BackoffScheduler","synthetic":true,"types":["plat_egg::run::BackoffScheduler"]},{"text":"impl RefUnwindSafe for Var","synthetic":true,"types":["plat_egg::subst::Var"]},{"text":"impl RefUnwindSafe for Subst","synthetic":true,"types":["plat_egg::subst::Subst"]},{"text":"impl RefUnwindSafe for Id","synthetic":true,"types":["plat_egg::Id"]}]; +implementors["plat_egg"] = [{"text":"impl<'a, L, P> RefUnwindSafe for Dot<'a, L, P> where
    L: RefUnwindSafe,
    P: RefUnwindSafe
","synthetic":true,"types":["plat_egg::dot::Dot"]},{"text":"impl<L, D> RefUnwindSafe for EClassData<L, D> where
    D: RefUnwindSafe,
    L: RefUnwindSafe
","synthetic":true,"types":["plat_egg::eclass::EClassData"]},{"text":"impl<L, N> RefUnwindSafe for EGraph<L, N> where
    L: RefUnwindSafe,
    N: RefUnwindSafe,
    <N as Analysis<L>>::Data: RefUnwindSafe,
    <L as Language>::Discriminant: RefUnwindSafe
","synthetic":true,"types":["plat_egg::egraph::EGraph"]},{"text":"impl RefUnwindSafe for Justification","synthetic":true,"types":["plat_egg::explain::Justification"]},{"text":"impl<L> RefUnwindSafe for Explanation<L> where
    L: RefUnwindSafe
","synthetic":true,"types":["plat_egg::explain::Explanation"]},{"text":"impl<L> RefUnwindSafe for TreeTerm<L> where
    L: RefUnwindSafe
","synthetic":true,"types":["plat_egg::explain::TreeTerm"]},{"text":"impl<L> RefUnwindSafe for FlatTerm<L> where
    L: RefUnwindSafe
","synthetic":true,"types":["plat_egg::explain::FlatTerm"]},{"text":"impl<'a, CF, L, N> RefUnwindSafe for Extractor<'a, CF, L, N> where
    CF: RefUnwindSafe,
    L: RefUnwindSafe,
    N: RefUnwindSafe,
    <CF as CostFunction<L>>::Cost: RefUnwindSafe,
    <N as Analysis<L>>::Data: RefUnwindSafe,
    <L as Language>::Discriminant: RefUnwindSafe
","synthetic":true,"types":["plat_egg::extract::Extractor"]},{"text":"impl RefUnwindSafe for AstSize","synthetic":true,"types":["plat_egg::extract::AstSize"]},{"text":"impl RefUnwindSafe for AstDepth","synthetic":true,"types":["plat_egg::extract::AstDepth"]},{"text":"impl RefUnwindSafe for FromOpError","synthetic":true,"types":["plat_egg::language::FromOpError"]},{"text":"impl<E> !RefUnwindSafe for RecExprParseError<E>","synthetic":true,"types":["plat_egg::language::RecExprParseError"]},{"text":"impl RefUnwindSafe for DidMerge","synthetic":true,"types":["plat_egg::language::DidMerge"]},{"text":"impl RefUnwindSafe for SymbolLang","synthetic":true,"types":["plat_egg::language::SymbolLang"]},{"text":"impl<'a, L, N> RefUnwindSafe for LpExtractor<'a, L, N> where
    L: RefUnwindSafe,
    N: RefUnwindSafe,
    <N as Analysis<L>>::Data: RefUnwindSafe,
    <L as Language>::Discriminant: RefUnwindSafe
","synthetic":true,"types":["plat_egg::lp_extract::LpExtractor"]},{"text":"impl<L> RefUnwindSafe for MultiPattern<L> where
    L: RefUnwindSafe
","synthetic":true,"types":["plat_egg::multipattern::MultiPattern"]},{"text":"impl<E> RefUnwindSafe for MultiPatternParseError<E> where
    E: RefUnwindSafe
","synthetic":true,"types":["plat_egg::multipattern::MultiPatternParseError"]},{"text":"impl<L> RefUnwindSafe for Pattern<L> where
    L: RefUnwindSafe
","synthetic":true,"types":["plat_egg::pattern::Pattern"]},{"text":"impl<L> RefUnwindSafe for ENodeOrVar<L> where
    L: RefUnwindSafe
","synthetic":true,"types":["plat_egg::pattern::ENodeOrVar"]},{"text":"impl<'a, L> RefUnwindSafe for SearchMatches<'a, L> where
    L: RefUnwindSafe
","synthetic":true,"types":["plat_egg::pattern::SearchMatches"]},{"text":"impl<D> RefUnwindSafe for RawEClass<D> where
    D: RefUnwindSafe
","synthetic":true,"types":["plat_egg::raw::eclass::RawEClass"]},{"text":"impl<L, P> RefUnwindSafe for EGraphResidual<L, P> where
    L: RefUnwindSafe,
    P: RefUnwindSafe
","synthetic":true,"types":["plat_egg::raw::egraph::EGraphResidual"]},{"text":"impl<L, D, U> RefUnwindSafe for RawEGraph<L, D, U> where
    D: RefUnwindSafe,
    L: RefUnwindSafe,
    U: RefUnwindSafe,
    <U as UndoLogPC>::AllowPathCompress: RefUnwindSafe
","synthetic":true,"types":["plat_egg::raw::egraph::RawEGraph"]},{"text":"impl<D> RefUnwindSafe for UnionInfo<D> where
    D: RefUnwindSafe
","synthetic":true,"types":["plat_egg::raw::egraph::UnionInfo"]},{"text":"impl RefUnwindSafe for PushInfo","synthetic":true,"types":["plat_egg::raw::semi_persistent1::PushInfo"]},{"text":"impl RefUnwindSafe for UndoLog","synthetic":true,"types":["plat_egg::raw::semi_persistent1::UndoLog"]},{"text":"impl<L> RefUnwindSafe for RecExpr<L> where
    L: RefUnwindSafe
","synthetic":true,"types":["plat_egg::raw::language::RecExpr"]},{"text":"impl RefUnwindSafe for PushInfo","synthetic":true,"types":["plat_egg::raw::semi_persistent2::PushInfo"]},{"text":"impl RefUnwindSafe for UndoLog","synthetic":true,"types":["plat_egg::raw::semi_persistent2::UndoLog"]},{"text":"impl<'a, L> RefUnwindSafe for UndoCtx<'a, L> where
    L: RefUnwindSafe
","synthetic":true,"types":["plat_egg::raw::semi_persistent2::UndoCtx"]},{"text":"impl<P> RefUnwindSafe for UnionFind<P> where
    P: RefUnwindSafe
","synthetic":true,"types":["plat_egg::raw::unionfind::UnionFind"]},{"text":"impl<const B: bool> RefUnwindSafe for PathCompress<B>","synthetic":true,"types":["plat_egg::raw::reflect_const::PathCompress"]},{"text":"impl<L, N> !RefUnwindSafe for Rewrite<L, N>","synthetic":true,"types":["plat_egg::rewrite::Rewrite"]},{"text":"impl<C, A> RefUnwindSafe for ConditionalApplier<C, A> where
    A: RefUnwindSafe,
    C: RefUnwindSafe
","synthetic":true,"types":["plat_egg::rewrite::ConditionalApplier"]},{"text":"impl<L> RefUnwindSafe for ConditionEqual<L> where
    L: RefUnwindSafe
","synthetic":true,"types":["plat_egg::rewrite::ConditionEqual"]},{"text":"impl<L, N, IterData = ()> !RefUnwindSafe for Runner<L, N, IterData>","synthetic":true,"types":["plat_egg::run::Runner"]},{"text":"impl RefUnwindSafe for StopReason","synthetic":true,"types":["plat_egg::run::StopReason"]},{"text":"impl RefUnwindSafe for Report","synthetic":true,"types":["plat_egg::run::Report"]},{"text":"impl<IterData> RefUnwindSafe for Iteration<IterData> where
    IterData: RefUnwindSafe
","synthetic":true,"types":["plat_egg::run::Iteration"]},{"text":"impl RefUnwindSafe for SimpleScheduler","synthetic":true,"types":["plat_egg::run::SimpleScheduler"]},{"text":"impl RefUnwindSafe for BackoffScheduler","synthetic":true,"types":["plat_egg::run::BackoffScheduler"]},{"text":"impl RefUnwindSafe for Var","synthetic":true,"types":["plat_egg::subst::Var"]},{"text":"impl RefUnwindSafe for Subst","synthetic":true,"types":["plat_egg::subst::Subst"]},{"text":"impl RefUnwindSafe for Id","synthetic":true,"types":["plat_egg::Id"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/panic/unwind_safe/trait.UnwindSafe.js b/implementors/core/panic/unwind_safe/trait.UnwindSafe.js index 0e0555e3..007e23d4 100644 --- a/implementors/core/panic/unwind_safe/trait.UnwindSafe.js +++ b/implementors/core/panic/unwind_safe/trait.UnwindSafe.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["plat_egg"] = [{"text":"impl<'a, L> UnwindSafe for Dot<'a, L> where
    L: RefUnwindSafe
","synthetic":true,"types":["plat_egg::dot::Dot"]},{"text":"impl<L, D> UnwindSafe for EClassData<L, D> where
    D: UnwindSafe,
    L: UnwindSafe
","synthetic":true,"types":["plat_egg::eclass::EClassData"]},{"text":"impl<L, N> UnwindSafe for EGraph<L, N> where
    L: UnwindSafe,
    N: UnwindSafe,
    <N as Analysis<L>>::Data: UnwindSafe,
    <L as Language>::Discriminant: UnwindSafe
","synthetic":true,"types":["plat_egg::egraph::EGraph"]},{"text":"impl UnwindSafe for Justification","synthetic":true,"types":["plat_egg::explain::Justification"]},{"text":"impl<L> UnwindSafe for Explanation<L> where
    L: UnwindSafe + RefUnwindSafe
","synthetic":true,"types":["plat_egg::explain::Explanation"]},{"text":"impl<L> UnwindSafe for TreeTerm<L> where
    L: UnwindSafe + RefUnwindSafe
","synthetic":true,"types":["plat_egg::explain::TreeTerm"]},{"text":"impl<L> UnwindSafe for FlatTerm<L> where
    L: UnwindSafe
","synthetic":true,"types":["plat_egg::explain::FlatTerm"]},{"text":"impl<'a, CF, L, N> UnwindSafe for Extractor<'a, CF, L, N> where
    CF: UnwindSafe,
    L: UnwindSafe + RefUnwindSafe,
    N: RefUnwindSafe,
    <CF as CostFunction<L>>::Cost: UnwindSafe,
    <N as Analysis<L>>::Data: RefUnwindSafe,
    <L as Language>::Discriminant: RefUnwindSafe
","synthetic":true,"types":["plat_egg::extract::Extractor"]},{"text":"impl UnwindSafe for AstSize","synthetic":true,"types":["plat_egg::extract::AstSize"]},{"text":"impl UnwindSafe for AstDepth","synthetic":true,"types":["plat_egg::extract::AstDepth"]},{"text":"impl UnwindSafe for FromOpError","synthetic":true,"types":["plat_egg::language::FromOpError"]},{"text":"impl<E> !UnwindSafe for RecExprParseError<E>","synthetic":true,"types":["plat_egg::language::RecExprParseError"]},{"text":"impl UnwindSafe for DidMerge","synthetic":true,"types":["plat_egg::language::DidMerge"]},{"text":"impl UnwindSafe for SymbolLang","synthetic":true,"types":["plat_egg::language::SymbolLang"]},{"text":"impl<'a, L, N> UnwindSafe for LpExtractor<'a, L, N> where
    L: RefUnwindSafe,
    N: RefUnwindSafe,
    <N as Analysis<L>>::Data: RefUnwindSafe,
    <L as Language>::Discriminant: RefUnwindSafe
","synthetic":true,"types":["plat_egg::lp_extract::LpExtractor"]},{"text":"impl<L> UnwindSafe for MultiPattern<L> where
    L: UnwindSafe
","synthetic":true,"types":["plat_egg::multipattern::MultiPattern"]},{"text":"impl<E> UnwindSafe for MultiPatternParseError<E> where
    E: UnwindSafe
","synthetic":true,"types":["plat_egg::multipattern::MultiPatternParseError"]},{"text":"impl<L> UnwindSafe for Pattern<L> where
    L: UnwindSafe
","synthetic":true,"types":["plat_egg::pattern::Pattern"]},{"text":"impl<L> UnwindSafe for ENodeOrVar<L> where
    L: UnwindSafe
","synthetic":true,"types":["plat_egg::pattern::ENodeOrVar"]},{"text":"impl<'a, L> UnwindSafe for SearchMatches<'a, L> where
    L: UnwindSafe + RefUnwindSafe
","synthetic":true,"types":["plat_egg::pattern::SearchMatches"]},{"text":"impl<D> UnwindSafe for RawEClass<D> where
    D: UnwindSafe
","synthetic":true,"types":["plat_egg::raw::eclass::RawEClass"]},{"text":"impl<L> UnwindSafe for EGraphResidual<L> where
    L: UnwindSafe
","synthetic":true,"types":["plat_egg::raw::egraph::EGraphResidual"]},{"text":"impl<L, D, U> UnwindSafe for RawEGraph<L, D, U> where
    D: UnwindSafe,
    L: UnwindSafe,
    U: UnwindSafe
","synthetic":true,"types":["plat_egg::raw::egraph::RawEGraph"]},{"text":"impl<D> UnwindSafe for UnionInfo<D> where
    D: UnwindSafe
","synthetic":true,"types":["plat_egg::raw::egraph::UnionInfo"]},{"text":"impl UnwindSafe for PushInfo","synthetic":true,"types":["plat_egg::raw::semi_persistent1::PushInfo"]},{"text":"impl UnwindSafe for UndoLog","synthetic":true,"types":["plat_egg::raw::semi_persistent1::UndoLog"]},{"text":"impl<T> UnwindSafe for DefaultVec<T> where
    T: UnwindSafe
","synthetic":true,"types":["plat_egg::raw::bitset::DefaultVec"]},{"text":"impl UnwindSafe for BitSet","synthetic":true,"types":["plat_egg::raw::bitset::BitSet"]},{"text":"impl<L> UnwindSafe for RecExpr<L> where
    L: UnwindSafe
","synthetic":true,"types":["plat_egg::raw::language::RecExpr"]},{"text":"impl UnwindSafe for PushInfo","synthetic":true,"types":["plat_egg::raw::semi_persistent2::PushInfo"]},{"text":"impl UnwindSafe for UndoLog","synthetic":true,"types":["plat_egg::raw::semi_persistent2::UndoLog"]},{"text":"impl<'a, L> UnwindSafe for UndoCtx<'a, L> where
    L: RefUnwindSafe
","synthetic":true,"types":["plat_egg::raw::semi_persistent2::UndoCtx"]},{"text":"impl UnwindSafe for UnionFind","synthetic":true,"types":["plat_egg::raw::unionfind::UnionFind"]},{"text":"impl<L, N> !UnwindSafe for Rewrite<L, N>","synthetic":true,"types":["plat_egg::rewrite::Rewrite"]},{"text":"impl<C, A> UnwindSafe for ConditionalApplier<C, A> where
    A: UnwindSafe,
    C: UnwindSafe
","synthetic":true,"types":["plat_egg::rewrite::ConditionalApplier"]},{"text":"impl<L> UnwindSafe for ConditionEqual<L> where
    L: UnwindSafe
","synthetic":true,"types":["plat_egg::rewrite::ConditionEqual"]},{"text":"impl<L, N, IterData = ()> !UnwindSafe for Runner<L, N, IterData>","synthetic":true,"types":["plat_egg::run::Runner"]},{"text":"impl UnwindSafe for StopReason","synthetic":true,"types":["plat_egg::run::StopReason"]},{"text":"impl UnwindSafe for Report","synthetic":true,"types":["plat_egg::run::Report"]},{"text":"impl<IterData> UnwindSafe for Iteration<IterData> where
    IterData: UnwindSafe
","synthetic":true,"types":["plat_egg::run::Iteration"]},{"text":"impl UnwindSafe for SimpleScheduler","synthetic":true,"types":["plat_egg::run::SimpleScheduler"]},{"text":"impl UnwindSafe for BackoffScheduler","synthetic":true,"types":["plat_egg::run::BackoffScheduler"]},{"text":"impl UnwindSafe for Var","synthetic":true,"types":["plat_egg::subst::Var"]},{"text":"impl UnwindSafe for Subst","synthetic":true,"types":["plat_egg::subst::Subst"]},{"text":"impl UnwindSafe for Id","synthetic":true,"types":["plat_egg::Id"]}]; +implementors["plat_egg"] = [{"text":"impl<'a, L, P> UnwindSafe for Dot<'a, L, P> where
    L: RefUnwindSafe,
    P: RefUnwindSafe
","synthetic":true,"types":["plat_egg::dot::Dot"]},{"text":"impl<L, D> UnwindSafe for EClassData<L, D> where
    D: UnwindSafe,
    L: UnwindSafe
","synthetic":true,"types":["plat_egg::eclass::EClassData"]},{"text":"impl<L, N> UnwindSafe for EGraph<L, N> where
    L: UnwindSafe,
    N: UnwindSafe,
    <N as Analysis<L>>::Data: UnwindSafe,
    <L as Language>::Discriminant: UnwindSafe
","synthetic":true,"types":["plat_egg::egraph::EGraph"]},{"text":"impl UnwindSafe for Justification","synthetic":true,"types":["plat_egg::explain::Justification"]},{"text":"impl<L> UnwindSafe for Explanation<L> where
    L: UnwindSafe + RefUnwindSafe
","synthetic":true,"types":["plat_egg::explain::Explanation"]},{"text":"impl<L> UnwindSafe for TreeTerm<L> where
    L: UnwindSafe + RefUnwindSafe
","synthetic":true,"types":["plat_egg::explain::TreeTerm"]},{"text":"impl<L> UnwindSafe for FlatTerm<L> where
    L: UnwindSafe
","synthetic":true,"types":["plat_egg::explain::FlatTerm"]},{"text":"impl<'a, CF, L, N> UnwindSafe for Extractor<'a, CF, L, N> where
    CF: UnwindSafe,
    L: UnwindSafe + RefUnwindSafe,
    N: RefUnwindSafe,
    <CF as CostFunction<L>>::Cost: UnwindSafe,
    <N as Analysis<L>>::Data: RefUnwindSafe,
    <L as Language>::Discriminant: RefUnwindSafe
","synthetic":true,"types":["plat_egg::extract::Extractor"]},{"text":"impl UnwindSafe for AstSize","synthetic":true,"types":["plat_egg::extract::AstSize"]},{"text":"impl UnwindSafe for AstDepth","synthetic":true,"types":["plat_egg::extract::AstDepth"]},{"text":"impl UnwindSafe for FromOpError","synthetic":true,"types":["plat_egg::language::FromOpError"]},{"text":"impl<E> !UnwindSafe for RecExprParseError<E>","synthetic":true,"types":["plat_egg::language::RecExprParseError"]},{"text":"impl UnwindSafe for DidMerge","synthetic":true,"types":["plat_egg::language::DidMerge"]},{"text":"impl UnwindSafe for SymbolLang","synthetic":true,"types":["plat_egg::language::SymbolLang"]},{"text":"impl<'a, L, N> UnwindSafe for LpExtractor<'a, L, N> where
    L: RefUnwindSafe,
    N: RefUnwindSafe,
    <N as Analysis<L>>::Data: RefUnwindSafe,
    <L as Language>::Discriminant: RefUnwindSafe
","synthetic":true,"types":["plat_egg::lp_extract::LpExtractor"]},{"text":"impl<L> UnwindSafe for MultiPattern<L> where
    L: UnwindSafe
","synthetic":true,"types":["plat_egg::multipattern::MultiPattern"]},{"text":"impl<E> UnwindSafe for MultiPatternParseError<E> where
    E: UnwindSafe
","synthetic":true,"types":["plat_egg::multipattern::MultiPatternParseError"]},{"text":"impl<L> UnwindSafe for Pattern<L> where
    L: UnwindSafe
","synthetic":true,"types":["plat_egg::pattern::Pattern"]},{"text":"impl<L> UnwindSafe for ENodeOrVar<L> where
    L: UnwindSafe
","synthetic":true,"types":["plat_egg::pattern::ENodeOrVar"]},{"text":"impl<'a, L> UnwindSafe for SearchMatches<'a, L> where
    L: UnwindSafe + RefUnwindSafe
","synthetic":true,"types":["plat_egg::pattern::SearchMatches"]},{"text":"impl<D> UnwindSafe for RawEClass<D> where
    D: UnwindSafe
","synthetic":true,"types":["plat_egg::raw::eclass::RawEClass"]},{"text":"impl<L, P> UnwindSafe for EGraphResidual<L, P> where
    L: UnwindSafe,
    P: UnwindSafe
","synthetic":true,"types":["plat_egg::raw::egraph::EGraphResidual"]},{"text":"impl<L, D, U> UnwindSafe for RawEGraph<L, D, U> where
    D: UnwindSafe,
    L: UnwindSafe,
    U: UnwindSafe,
    <U as UndoLogPC>::AllowPathCompress: UnwindSafe
","synthetic":true,"types":["plat_egg::raw::egraph::RawEGraph"]},{"text":"impl<D> UnwindSafe for UnionInfo<D> where
    D: UnwindSafe
","synthetic":true,"types":["plat_egg::raw::egraph::UnionInfo"]},{"text":"impl UnwindSafe for PushInfo","synthetic":true,"types":["plat_egg::raw::semi_persistent1::PushInfo"]},{"text":"impl UnwindSafe for UndoLog","synthetic":true,"types":["plat_egg::raw::semi_persistent1::UndoLog"]},{"text":"impl<L> UnwindSafe for RecExpr<L> where
    L: UnwindSafe
","synthetic":true,"types":["plat_egg::raw::language::RecExpr"]},{"text":"impl UnwindSafe for PushInfo","synthetic":true,"types":["plat_egg::raw::semi_persistent2::PushInfo"]},{"text":"impl UnwindSafe for UndoLog","synthetic":true,"types":["plat_egg::raw::semi_persistent2::UndoLog"]},{"text":"impl<'a, L> UnwindSafe for UndoCtx<'a, L> where
    L: RefUnwindSafe
","synthetic":true,"types":["plat_egg::raw::semi_persistent2::UndoCtx"]},{"text":"impl<P> UnwindSafe for UnionFind<P> where
    P: UnwindSafe
","synthetic":true,"types":["plat_egg::raw::unionfind::UnionFind"]},{"text":"impl<const B: bool> UnwindSafe for PathCompress<B>","synthetic":true,"types":["plat_egg::raw::reflect_const::PathCompress"]},{"text":"impl<L, N> !UnwindSafe for Rewrite<L, N>","synthetic":true,"types":["plat_egg::rewrite::Rewrite"]},{"text":"impl<C, A> UnwindSafe for ConditionalApplier<C, A> where
    A: UnwindSafe,
    C: UnwindSafe
","synthetic":true,"types":["plat_egg::rewrite::ConditionalApplier"]},{"text":"impl<L> UnwindSafe for ConditionEqual<L> where
    L: UnwindSafe
","synthetic":true,"types":["plat_egg::rewrite::ConditionEqual"]},{"text":"impl<L, N, IterData = ()> !UnwindSafe for Runner<L, N, IterData>","synthetic":true,"types":["plat_egg::run::Runner"]},{"text":"impl UnwindSafe for StopReason","synthetic":true,"types":["plat_egg::run::StopReason"]},{"text":"impl UnwindSafe for Report","synthetic":true,"types":["plat_egg::run::Report"]},{"text":"impl<IterData> UnwindSafe for Iteration<IterData> where
    IterData: UnwindSafe
","synthetic":true,"types":["plat_egg::run::Iteration"]},{"text":"impl UnwindSafe for SimpleScheduler","synthetic":true,"types":["plat_egg::run::SimpleScheduler"]},{"text":"impl UnwindSafe for BackoffScheduler","synthetic":true,"types":["plat_egg::run::BackoffScheduler"]},{"text":"impl UnwindSafe for Var","synthetic":true,"types":["plat_egg::subst::Var"]},{"text":"impl UnwindSafe for Subst","synthetic":true,"types":["plat_egg::subst::Subst"]},{"text":"impl UnwindSafe for Id","synthetic":true,"types":["plat_egg::Id"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/plat_egg/raw/reflect_const/trait.PathCompressT.js b/implementors/plat_egg/raw/reflect_const/trait.PathCompressT.js new file mode 100644 index 00000000..52ee7275 --- /dev/null +++ b/implementors/plat_egg/raw/reflect_const/trait.PathCompressT.js @@ -0,0 +1,3 @@ +(function() {var implementors = {}; +implementors["plat_egg"] = []; +if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/plat_egg/raw/semi_persistent/trait.UndoLogPC.js b/implementors/plat_egg/raw/semi_persistent/trait.UndoLogPC.js new file mode 100644 index 00000000..52ee7275 --- /dev/null +++ b/implementors/plat_egg/raw/semi_persistent/trait.UndoLogPC.js @@ -0,0 +1,3 @@ +(function() {var implementors = {}; +implementors["plat_egg"] = []; +if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/serde/de/trait.Deserialize.js b/implementors/serde/de/trait.Deserialize.js index ec4f0478..03f5ddb5 100644 --- a/implementors/serde/de/trait.Deserialize.js +++ b/implementors/serde/de/trait.Deserialize.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["plat_egg"] = [{"text":"impl<'de, L, D> Deserialize<'de> for EClassData<L, D> where
    L: Deserialize<'de>,
    D: Deserialize<'de>, 
","synthetic":false,"types":["plat_egg::eclass::EClassData"]},{"text":"impl<'de, L: Language, N: Analysis<L>> Deserialize<'de> for EGraph<L, N> where
    N::Data: for<'a> Deserialize<'a>,
    L: Deserialize<'de>,
    N: Deserialize<'de>, 
","synthetic":false,"types":["plat_egg::egraph::EGraph"]},{"text":"impl<'de> Deserialize<'de> for Justification","synthetic":false,"types":["plat_egg::explain::Justification"]},{"text":"impl<'de> Deserialize<'de> for SymbolLang","synthetic":false,"types":["plat_egg::language::SymbolLang"]},{"text":"impl<'de, D> Deserialize<'de> for RawEClass<D> where
    D: Deserialize<'de>, 
","synthetic":false,"types":["plat_egg::raw::eclass::RawEClass"]},{"text":"impl<'de, L: Language> Deserialize<'de> for EGraphResidual<L> where
    L: Deserialize<'de>, 
","synthetic":false,"types":["plat_egg::raw::egraph::EGraphResidual"]},{"text":"impl<'de, L: Language, D, U> Deserialize<'de> for RawEGraph<L, D, U> where
    L: Deserialize<'de>,
    D: Deserialize<'de>,
    U: Deserialize<'de>, 
","synthetic":false,"types":["plat_egg::raw::egraph::RawEGraph"]},{"text":"impl<'de> Deserialize<'de> for PushInfo","synthetic":false,"types":["plat_egg::raw::semi_persistent1::PushInfo"]},{"text":"impl<'de> Deserialize<'de> for UndoLog","synthetic":false,"types":["plat_egg::raw::semi_persistent1::UndoLog"]},{"text":"impl<'de, T> Deserialize<'de> for DefaultVec<T> where
    T: Deserialize<'de>, 
","synthetic":false,"types":["plat_egg::raw::bitset::DefaultVec"]},{"text":"impl<'de> Deserialize<'de> for BitSet","synthetic":false,"types":["plat_egg::raw::bitset::BitSet"]},{"text":"impl<'de> Deserialize<'de> for PushInfo","synthetic":false,"types":["plat_egg::raw::semi_persistent2::PushInfo"]},{"text":"impl<'de> Deserialize<'de> for UndoLog","synthetic":false,"types":["plat_egg::raw::semi_persistent2::UndoLog"]},{"text":"impl<'de> Deserialize<'de> for UnionFind","synthetic":false,"types":["plat_egg::raw::unionfind::UnionFind"]},{"text":"impl<'de> Deserialize<'de> for Id","synthetic":false,"types":["plat_egg::Id"]}]; +implementors["plat_egg"] = [{"text":"impl<'de, L, D> Deserialize<'de> for EClassData<L, D> where
    L: Deserialize<'de>,
    D: Deserialize<'de>, 
","synthetic":false,"types":["plat_egg::eclass::EClassData"]},{"text":"impl<'de, L: Language, N: Analysis<L>> Deserialize<'de> for EGraph<L, N> where
    N::Data: for<'a> Deserialize<'a>,
    L: Deserialize<'de>,
    N: Deserialize<'de>, 
","synthetic":false,"types":["plat_egg::egraph::EGraph"]},{"text":"impl<'de> Deserialize<'de> for Justification","synthetic":false,"types":["plat_egg::explain::Justification"]},{"text":"impl<'de> Deserialize<'de> for SymbolLang","synthetic":false,"types":["plat_egg::language::SymbolLang"]},{"text":"impl<'de, D> Deserialize<'de> for RawEClass<D> where
    D: Deserialize<'de>, 
","synthetic":false,"types":["plat_egg::raw::eclass::RawEClass"]},{"text":"impl<'de, L: Language, P: PathCompressT> Deserialize<'de> for EGraphResidual<L, P> where
    L: Deserialize<'de>, 
","synthetic":false,"types":["plat_egg::raw::egraph::EGraphResidual"]},{"text":"impl<'de, L: Language, D, U: UndoLogT<L, D>> Deserialize<'de> for RawEGraph<L, D, U> where
    L: Deserialize<'de>,
    D: Deserialize<'de>,
    U: Deserialize<'de>, 
","synthetic":false,"types":["plat_egg::raw::egraph::RawEGraph"]},{"text":"impl<'de> Deserialize<'de> for PushInfo","synthetic":false,"types":["plat_egg::raw::semi_persistent1::PushInfo"]},{"text":"impl<'de> Deserialize<'de> for UndoLog","synthetic":false,"types":["plat_egg::raw::semi_persistent1::UndoLog"]},{"text":"impl<'de> Deserialize<'de> for PushInfo","synthetic":false,"types":["plat_egg::raw::semi_persistent2::PushInfo"]},{"text":"impl<'de> Deserialize<'de> for UndoLog","synthetic":false,"types":["plat_egg::raw::semi_persistent2::UndoLog"]},{"text":"impl<'de, P: PathCompressT> Deserialize<'de> for UnionFind<P>","synthetic":false,"types":["plat_egg::raw::unionfind::UnionFind"]},{"text":"impl<'de, const B: bool> Deserialize<'de> for PathCompress<B>","synthetic":false,"types":["plat_egg::raw::reflect_const::PathCompress"]},{"text":"impl<'de> Deserialize<'de> for Id","synthetic":false,"types":["plat_egg::Id"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/serde/ser/trait.Serialize.js b/implementors/serde/ser/trait.Serialize.js index 7d484275..dfb3636a 100644 --- a/implementors/serde/ser/trait.Serialize.js +++ b/implementors/serde/ser/trait.Serialize.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["plat_egg"] = [{"text":"impl<L, D> Serialize for EClassData<L, D> where
    L: Serialize,
    D: Serialize
","synthetic":false,"types":["plat_egg::eclass::EClassData"]},{"text":"impl<L: Language, N: Analysis<L>> Serialize for EGraph<L, N> where
    N::Data: Serialize,
    L: Serialize,
    N: Serialize
","synthetic":false,"types":["plat_egg::egraph::EGraph"]},{"text":"impl Serialize for Justification","synthetic":false,"types":["plat_egg::explain::Justification"]},{"text":"impl<L: Language + Display> Serialize for RecExpr<L>","synthetic":false,"types":["plat_egg::raw::language::RecExpr"]},{"text":"impl Serialize for SymbolLang","synthetic":false,"types":["plat_egg::language::SymbolLang"]},{"text":"impl<D> Serialize for RawEClass<D> where
    D: Serialize
","synthetic":false,"types":["plat_egg::raw::eclass::RawEClass"]},{"text":"impl<L: Language> Serialize for EGraphResidual<L> where
    L: Serialize
","synthetic":false,"types":["plat_egg::raw::egraph::EGraphResidual"]},{"text":"impl<L: Language, D, U> Serialize for RawEGraph<L, D, U> where
    L: Serialize,
    D: Serialize,
    U: Serialize
","synthetic":false,"types":["plat_egg::raw::egraph::RawEGraph"]},{"text":"impl Serialize for PushInfo","synthetic":false,"types":["plat_egg::raw::semi_persistent1::PushInfo"]},{"text":"impl Serialize for UndoLog","synthetic":false,"types":["plat_egg::raw::semi_persistent1::UndoLog"]},{"text":"impl<T> Serialize for DefaultVec<T> where
    T: Serialize
","synthetic":false,"types":["plat_egg::raw::bitset::DefaultVec"]},{"text":"impl Serialize for BitSet","synthetic":false,"types":["plat_egg::raw::bitset::BitSet"]},{"text":"impl Serialize for PushInfo","synthetic":false,"types":["plat_egg::raw::semi_persistent2::PushInfo"]},{"text":"impl Serialize for UndoLog","synthetic":false,"types":["plat_egg::raw::semi_persistent2::UndoLog"]},{"text":"impl Serialize for UnionFind","synthetic":false,"types":["plat_egg::raw::unionfind::UnionFind"]},{"text":"impl Serialize for StopReason","synthetic":false,"types":["plat_egg::run::StopReason"]},{"text":"impl Serialize for Report","synthetic":false,"types":["plat_egg::run::Report"]},{"text":"impl<IterData> Serialize for Iteration<IterData> where
    IterData: Serialize
","synthetic":false,"types":["plat_egg::run::Iteration"]},{"text":"impl Serialize for Id","synthetic":false,"types":["plat_egg::Id"]}]; +implementors["plat_egg"] = [{"text":"impl<L, D> Serialize for EClassData<L, D> where
    L: Serialize,
    D: Serialize
","synthetic":false,"types":["plat_egg::eclass::EClassData"]},{"text":"impl<L: Language, N: Analysis<L>> Serialize for EGraph<L, N> where
    N::Data: Serialize,
    L: Serialize,
    N: Serialize
","synthetic":false,"types":["plat_egg::egraph::EGraph"]},{"text":"impl Serialize for Justification","synthetic":false,"types":["plat_egg::explain::Justification"]},{"text":"impl<L: Language + Display> Serialize for RecExpr<L>","synthetic":false,"types":["plat_egg::raw::language::RecExpr"]},{"text":"impl Serialize for SymbolLang","synthetic":false,"types":["plat_egg::language::SymbolLang"]},{"text":"impl<D> Serialize for RawEClass<D> where
    D: Serialize
","synthetic":false,"types":["plat_egg::raw::eclass::RawEClass"]},{"text":"impl<L: Language, P: PathCompressT> Serialize for EGraphResidual<L, P> where
    L: Serialize
","synthetic":false,"types":["plat_egg::raw::egraph::EGraphResidual"]},{"text":"impl<L: Language, D, U: UndoLogT<L, D>> Serialize for RawEGraph<L, D, U> where
    L: Serialize,
    D: Serialize,
    U: Serialize
","synthetic":false,"types":["plat_egg::raw::egraph::RawEGraph"]},{"text":"impl Serialize for PushInfo","synthetic":false,"types":["plat_egg::raw::semi_persistent1::PushInfo"]},{"text":"impl Serialize for UndoLog","synthetic":false,"types":["plat_egg::raw::semi_persistent1::UndoLog"]},{"text":"impl Serialize for PushInfo","synthetic":false,"types":["plat_egg::raw::semi_persistent2::PushInfo"]},{"text":"impl Serialize for UndoLog","synthetic":false,"types":["plat_egg::raw::semi_persistent2::UndoLog"]},{"text":"impl<P: PathCompressT> Serialize for UnionFind<P>","synthetic":false,"types":["plat_egg::raw::unionfind::UnionFind"]},{"text":"impl<const B: bool> Serialize for PathCompress<B>","synthetic":false,"types":["plat_egg::raw::reflect_const::PathCompress"]},{"text":"impl Serialize for StopReason","synthetic":false,"types":["plat_egg::run::StopReason"]},{"text":"impl Serialize for Report","synthetic":false,"types":["plat_egg::run::Report"]},{"text":"impl<IterData> Serialize for Iteration<IterData> where
    IterData: Serialize
","synthetic":false,"types":["plat_egg::run::Iteration"]},{"text":"impl Serialize for Id","synthetic":false,"types":["plat_egg::Id"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/plat_egg/all.html b/plat_egg/all.html index 9b058979..f2145572 100644 --- a/plat_egg/all.html +++ b/plat_egg/all.html @@ -4,5 +4,5 @@

List of all items

Structs

Enums

Traits

Macros

Functions

Typedefs

+

List of all items

Structs

Enums

Traits

Macros

Functions

Typedefs

\ No newline at end of file diff --git a/plat_egg/enum.Justification.html b/plat_egg/enum.Justification.html index cc614380..b0b3fa35 100644 --- a/plat_egg/enum.Justification.html +++ b/plat_egg/enum.Justification.html @@ -15,13 +15,13 @@

Enum plat_egg::

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

+

Deserialize this value from the given Serde deserializer. Read more

Feeds this value into the given Hasher. Read more

Feeds a slice of this type into the given Hasher. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

+

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

@@ -38,5 +38,5 @@

Enum plat_egg::

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

-
+
\ No newline at end of file diff --git a/plat_egg/enum.StopReason.html b/plat_egg/enum.StopReason.html index 932c06d7..68c9a74e 100644 --- a/plat_egg/enum.StopReason.html +++ b/plat_egg/enum.StopReason.html @@ -21,7 +21,7 @@

Enum plat_egg::

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

-

Serialize this value into the given Serde serializer. Read more

+

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

diff --git a/plat_egg/index.html b/plat_egg/index.html index a3cc6f35..4655a534 100644 --- a/plat_egg/index.html +++ b/plat_egg/index.html @@ -5,7 +5,7 @@

Crate plat_egg

-

Crate plat_egg

source · []
Expand description

egg (e-graphs good) is a e-graph library optimized for equality saturation.

+

Crate plat_egg

source · []
Expand description

egg (e-graphs good) is a e-graph library optimized for equality saturation.

This is the API documentation.

The tutorial is a good starting point if you’re new to e-graphs, equality saturation, or Rust.

@@ -138,7 +138,7 @@

Simple Example

A trait for parsing e-nodes. This is implemented automatically by define_language!.

Custom data to inject into the Iterations recorded by a Runner

-

Trait that defines a Language whose terms will be in the [EGraph].

+

Trait that defines a Language whose terms will be in the EGraph.

A marker that defines acceptable children types for define_language!.

A cost function to be used by an LpExtractor.

A way to customize how a Runner runs Rewrites.

diff --git a/plat_egg/raw/bitset/index.html b/plat_egg/raw/bitset/index.html deleted file mode 100644 index d6756925..00000000 --- a/plat_egg/raw/bitset/index.html +++ /dev/null @@ -1,13 +0,0 @@ -plat_egg::raw::bitset - Rust -
Expand description

A simple bitset

-

Structs

-

Set of indexes

-

A mapping from indexes to values where all indexes initially map to Default::default

-
- \ No newline at end of file diff --git a/plat_egg/raw/bitset/sidebar-items.js b/plat_egg/raw/bitset/sidebar-items.js deleted file mode 100644 index d4f29874..00000000 --- a/plat_egg/raw/bitset/sidebar-items.js +++ /dev/null @@ -1 +0,0 @@ -window.SIDEBAR_ITEMS = {"struct":[["BitSet","Set of indexes"],["DefaultVec","A mapping from indexes to values where all indexes initially map to [`Default::default`]"]]}; \ No newline at end of file diff --git a/plat_egg/raw/bitset/struct.BitSet.html b/plat_egg/raw/bitset/struct.BitSet.html deleted file mode 100644 index 3189e904..00000000 --- a/plat_egg/raw/bitset/struct.BitSet.html +++ /dev/null @@ -1,52 +0,0 @@ -BitSet in plat_egg::raw::bitset - Rust -
pub struct BitSet(_);
Expand description

Set of indexes

-

Implementations

Adds an element to the set -If the set did not have this value present, true is returned. -If the set did have this value present, false is returned.

- -
use plat_egg::raw::bitset::BitSet;
-let mut s = BitSet::default();
-assert!(s.insert(0));
-assert!(!s.insert(0));
-

Removes an element form the set -Returns whether the value was present in the set.

- -
use plat_egg::raw::bitset::BitSet;
-let mut s = BitSet::default();
-assert!(!s.remove(0));
-s.insert(0);
-assert!(s.remove(0));
-assert!(!s.remove(0))
-

Checks if the set contains an element

-

Same as contains but already reserves space for x

-

Removes all elements from the set

-

Iterate over all elements in the set -Run time is proportional to the largest element that has ever been in the set

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

-

Calls U::from(self).

-

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-
- \ No newline at end of file diff --git a/plat_egg/raw/bitset/struct.DefaultVec.html b/plat_egg/raw/bitset/struct.DefaultVec.html deleted file mode 100644 index 4608f8f7..00000000 --- a/plat_egg/raw/bitset/struct.DefaultVec.html +++ /dev/null @@ -1,33 +0,0 @@ -DefaultVec in plat_egg::raw::bitset - Rust -
pub struct DefaultVec<T>(_);
Expand description

A mapping from indexes to values where all indexes initially map to Default::default

-

Implementations

Returns mutable access to the element at i

-

Returns shared access to the element at i

-

Resets all elements to there default value

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

-

Calls U::from(self).

-

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-
- \ No newline at end of file diff --git a/plat_egg/raw/index.html b/plat_egg/raw/index.html index a42afb2a..9e08b9ad 100644 --- a/plat_egg/raw/index.html +++ b/plat_egg/raw/index.html @@ -5,9 +5,9 @@

Module raw

-

Module plat_egg::raw

source · []
Expand description

Lower level egraph API

+

Module plat_egg::raw

source · []
Expand description

Lower level egraph API

Modules

-

A simple bitset

+

Types and traits for specify whether path compression is supported

One variant of semi_persistence

Another variant of semi_persistence

Structs

@@ -19,7 +19,9 @@

Module plat_egg

Information about a call to RawEGraph::raw_union

Traits

Trait implemented for T and Option<T> used to provide bounds for push/pop impls

-

Trait that defines a Language whose terms will be in the [EGraph].

+

Trait that defines a Language whose terms will be in the EGraph.

+

A sealed trait for types that can be used for push/pop APIs +It is trivially implemented for ()

A sealed trait for types that can be used for push/pop APIs It is trivially implemented for ()

diff --git a/plat_egg/raw/reflect_const/index.html b/plat_egg/raw/reflect_const/index.html new file mode 100644 index 00000000..ec65cf5b --- /dev/null +++ b/plat_egg/raw/reflect_const/index.html @@ -0,0 +1,12 @@ +plat_egg::raw::reflect_const - Rust +
Expand description

Types and traits for specify whether path compression is supported

+

Structs

+

Traits

+
+ \ No newline at end of file diff --git a/plat_egg/raw/reflect_const/sidebar-items.js b/plat_egg/raw/reflect_const/sidebar-items.js new file mode 100644 index 00000000..18668ddf --- /dev/null +++ b/plat_egg/raw/reflect_const/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"struct":[["PathCompress",""]],"trait":[["PathCompressT",""]]}; \ No newline at end of file diff --git a/plat_egg/raw/reflect_const/struct.PathCompress.html b/plat_egg/raw/reflect_const/struct.PathCompress.html new file mode 100644 index 00000000..02fdb18c --- /dev/null +++ b/plat_egg/raw/reflect_const/struct.PathCompress.html @@ -0,0 +1,34 @@ +PathCompress in plat_egg::raw::reflect_const - Rust +
pub struct PathCompress<const B: bool>;

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Checks if this value is equivalent to the given key. Read more

+

Compare self to key and return true if they are equal.

+

Returns the argument unchanged.

+

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ \ No newline at end of file diff --git a/plat_egg/raw/reflect_const/trait.PathCompressT.html b/plat_egg/raw/reflect_const/trait.PathCompressT.html new file mode 100644 index 00000000..37bbb54c --- /dev/null +++ b/plat_egg/raw/reflect_const/trait.PathCompressT.html @@ -0,0 +1,11 @@ +PathCompressT in plat_egg::raw::reflect_const - Rust +
pub trait PathCompressT: Copy + Clone + Eq + PartialEq + Default + Debug {
+    const PATH_COMPRESS: bool;
+}

Required Associated Constants

Implementors

+ \ No newline at end of file diff --git a/plat_egg/raw/semi_persistent/trait.UndoLogPC.html b/plat_egg/raw/semi_persistent/trait.UndoLogPC.html new file mode 100644 index 00000000..d9c230f2 --- /dev/null +++ b/plat_egg/raw/semi_persistent/trait.UndoLogPC.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../../plat_egg/raw/trait.UndoLogPC.html...

+ + + \ No newline at end of file diff --git a/plat_egg/raw/semi_persistent1/index.html b/plat_egg/raw/semi_persistent1/index.html index 6efc03dd..65fb7843 100644 --- a/plat_egg/raw/semi_persistent1/index.html +++ b/plat_egg/raw/semi_persistent1/index.html @@ -5,7 +5,7 @@

Module semi_persistent1

Expand description

One variant of semi_persistence

+

Module plat_egg::raw::semi_persistent1

source · []
Expand description

One variant of semi_persistence

Structs

Stored information required to restore the egraph to a previous state

Value for UndoLogT that enables push1 and raw_pop1

diff --git a/plat_egg/raw/semi_persistent1/struct.PushInfo.html b/plat_egg/raw/semi_persistent1/struct.PushInfo.html index 57c1e239..0687b5c4 100644 --- a/plat_egg/raw/semi_persistent1/struct.PushInfo.html +++ b/plat_egg/raw/semi_persistent1/struct.PushInfo.html @@ -5,16 +5,16 @@

PushInfo

pub struct PushInfo { /* private fields */ }
Expand description

Stored information required to restore the egraph to a previous state

+

Struct plat_egg::raw::semi_persistent1::PushInfo

source · []
pub struct PushInfo { /* private fields */ }
Expand description

Stored information required to restore the egraph to a previous state

see push1 and pop1

-

Implementations

Implementations

Returns the result of EGraphResidual::number_of_uncanonical_nodes from the state where self was created

-

Returns the number of unions from the state where self was created

-

Trait Implementations

Returns a copy of the value. Read more

+

Returns the number of unions from the state where self was created

+

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

@@ -29,5 +29,5 @@

Struct plat_egg

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

-
+
\ No newline at end of file diff --git a/plat_egg/raw/semi_persistent1/struct.UndoLog.html b/plat_egg/raw/semi_persistent1/struct.UndoLog.html index 52732af8..b1d528b9 100644 --- a/plat_egg/raw/semi_persistent1/struct.UndoLog.html +++ b/plat_egg/raw/semi_persistent1/struct.UndoLog.html @@ -2,17 +2,18 @@

pub struct UndoLog { /* private fields */ }
Expand description

Value for UndoLogT that enables push1 and raw_pop1

-

Trait Implementations

Returns a copy of the value. Read more

+

Struct plat_egg::raw::semi_persistent1::UndoLog

source · []
pub struct UndoLog { /* private fields */ }
Expand description

Value for UndoLogT that enables push1 and raw_pop1

+

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

When this type of undo log allows for path compression

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

@@ -26,5 +27,5 @@

Struct plat_egg

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

-
+
\ No newline at end of file diff --git a/plat_egg/raw/semi_persistent2/index.html b/plat_egg/raw/semi_persistent2/index.html index 49938789..876090b1 100644 --- a/plat_egg/raw/semi_persistent2/index.html +++ b/plat_egg/raw/semi_persistent2/index.html @@ -5,7 +5,7 @@

Module semi_persistent2

Expand description

Another variant of semi_persistence

+

Module plat_egg::raw::semi_persistent2

source · []
Expand description

Another variant of semi_persistence

Structs

Stored information required to restore the egraph to a previous state

The egraph is in a partially broken state during a call to RawEGraph::raw_pop2 so the passed in closures diff --git a/plat_egg/raw/semi_persistent2/struct.PushInfo.html b/plat_egg/raw/semi_persistent2/struct.PushInfo.html index e8185343..d1775f1a 100644 --- a/plat_egg/raw/semi_persistent2/struct.PushInfo.html +++ b/plat_egg/raw/semi_persistent2/struct.PushInfo.html @@ -5,16 +5,16 @@

PushInfo

pub struct PushInfo { /* private fields */ }
Expand description

Stored information required to restore the egraph to a previous state

+

Struct plat_egg::raw::semi_persistent2::PushInfo

source · []
pub struct PushInfo { /* private fields */ }
Expand description

Stored information required to restore the egraph to a previous state

see push2 and pop2

-

Implementations

Implementations

Returns the result of EGraphResidual::number_of_uncanonical_nodes from the state where self was created

-

Returns the number of unions from the state where self was created

-

Trait Implementations

Returns a copy of the value. Read more

+

Returns the number of unions from the state where self was created

+

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

@@ -29,5 +29,5 @@

Struct plat_egg

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

-
+
\ No newline at end of file diff --git a/plat_egg/raw/semi_persistent2/struct.UndoCtx.html b/plat_egg/raw/semi_persistent2/struct.UndoCtx.html index c2e7669f..83569765 100644 --- a/plat_egg/raw/semi_persistent2/struct.UndoCtx.html +++ b/plat_egg/raw/semi_persistent2/struct.UndoCtx.html @@ -5,16 +5,16 @@

UndoCtx

pub struct UndoCtx<'a, L> { /* private fields */ }
Expand description

The egraph is in a partially broken state during a call to RawEGraph::raw_pop2 so the passed in closures +

Struct plat_egg::raw::semi_persistent2::UndoCtx

source · []
pub struct UndoCtx<'a, L> { /* private fields */ }
Expand description

The egraph is in a partially broken state during a call to RawEGraph::raw_pop2 so the passed in closures are given this struct which represents the aspects of the egraph that are currently usable

-

Implementations

Calls f on all nodes that are equivalent to id

+

Implementations

Calls f on all nodes that are equivalent to id

Requires id to be canonical

-

Returns an iterator of the uncanonical ids of nodes that contain the uncanonical id id

-

Trait Implementations

Returns a copy of the value. Read more

+

Returns an iterator of the uncanonical ids of nodes that contain the uncanonical id id

+

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

diff --git a/plat_egg/raw/semi_persistent2/struct.UndoLog.html b/plat_egg/raw/semi_persistent2/struct.UndoLog.html index 7590d543..039596b6 100644 --- a/plat_egg/raw/semi_persistent2/struct.UndoLog.html +++ b/plat_egg/raw/semi_persistent2/struct.UndoLog.html @@ -2,17 +2,18 @@

pub struct UndoLog { /* private fields */ }
Expand description

Value for UndoLogT that enables push2 and raw_pop2

-

Trait Implementations

Returns a copy of the value. Read more

+

Struct plat_egg::raw::semi_persistent2::UndoLog

source · []
pub struct UndoLog { /* private fields */ }
Expand description

Value for UndoLogT that enables push2 and raw_pop2

+

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

When this type of undo log allows for path compression

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

@@ -26,5 +27,5 @@

Struct plat_egg

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

-
+
\ No newline at end of file diff --git a/plat_egg/raw/sidebar-items.js b/plat_egg/raw/sidebar-items.js index e1470668..e63f4636 100644 --- a/plat_egg/raw/sidebar-items.js +++ b/plat_egg/raw/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"mod":[["bitset","A simple bitset"],["semi_persistent1","One variant of semi_persistence"],["semi_persistent2","Another variant of semi_persistence"]],"struct":[["EGraphResidual","A [`RawEGraph`] without its classes that can be obtained by dereferencing a [`RawEGraph`]."],["RawEClass","An equivalence class of enodes."],["RawEGraph","A data structure to keep track of equalities between expressions."],["RecExpr","A recursive expression from a user-defined [`Language`]."],["UnionFind","Data structure that stores disjoint sets of `Id`s each with a representative"],["UnionInfo","Information about a call to [`RawEGraph::raw_union`]"]],"trait":[["AsUnwrap","Trait implemented for `T` and `Option` used to provide bounds for push/pop impls"],["Language","Trait that defines a Language whose terms will be in the [`EGraph`]."],["UndoLogT","A sealed trait for types that can be used for `push`/`pop` APIs It is trivially implemented for `()`"]]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"mod":[["reflect_const","Types and traits for specify whether path compression is supported"],["semi_persistent1","One variant of semi_persistence"],["semi_persistent2","Another variant of semi_persistence"]],"struct":[["EGraphResidual","A [`RawEGraph`] without its classes that can be obtained by dereferencing a [`RawEGraph`]."],["RawEClass","An equivalence class of enodes."],["RawEGraph","A data structure to keep track of equalities between expressions."],["RecExpr","A recursive expression from a user-defined [`Language`]."],["UnionFind","Data structure that stores disjoint sets of `Id`s each with a representative"],["UnionInfo","Information about a call to [`RawEGraph::raw_union`]"]],"trait":[["AsUnwrap","Trait implemented for `T` and `Option` used to provide bounds for push/pop impls"],["Language","Trait that defines a Language whose terms will be in the `EGraph`."],["UndoLogPC","A sealed trait for types that can be used for `push`/`pop` APIs It is trivially implemented for `()`"],["UndoLogT","A sealed trait for types that can be used for `push`/`pop` APIs It is trivially implemented for `()`"]]}; \ No newline at end of file diff --git a/plat_egg/raw/struct.EGraphResidual.html b/plat_egg/raw/struct.EGraphResidual.html index e1e54752..82136c9b 100644 --- a/plat_egg/raw/struct.EGraphResidual.html +++ b/plat_egg/raw/struct.EGraphResidual.html @@ -2,17 +2,17 @@

pub struct EGraphResidual<L: Language> { /* private fields */ }
Expand description

A RawEGraph without its classes that can be obtained by dereferencing a RawEGraph.

+

Struct plat_egg::raw::EGraphResidual

source · []
pub struct EGraphResidual<L: Language, P: PathCompressT = PathCompress<true>> { /* private fields */ }
Expand description

A RawEGraph without its classes that can be obtained by dereferencing a RawEGraph.

It exists as a separate type so that it can still be used while mutably borrowing a RawEClass

See RawEGraph::classes_mut, RawEGraph::get_class_mut

-

Implementations

Pick a representative term for a given Id.

+

Implementations

Pick a representative term for a given Id.

Calling this function on an uncanonical Id returns a representative based on how it was obtained

-

Like id_to_expr but only goes one layer deep

-

Canonicalizes an eclass id.

+

Like id_to_expr but only goes one layer deep

+

Canonicalizes an eclass id.

This corresponds to the find operation on the egraph’s underlying unionfind data structure.

Example
@@ -25,15 +25,15 @@
Example
egraph.union(x, y); egraph.rebuild(); assert_eq!(egraph.find(x), egraph.find(y));
-

Same as find but requires mutable access since it does path compression

-

Returns true if the egraph is empty

+

Same as find but requires mutable access since it does path compression

+

Returns true if the egraph is empty

Example
use plat_egg::{raw::*, SymbolLang as S};
 let mut egraph = RawEGraph::<S, ()>::default();
 assert!(egraph.is_empty());
 egraph.add_uncanonical(S::leaf("foo"));
 assert!(!egraph.is_empty());
-

Returns the number of uncanonical enodes in the EGraph.

+

Returns the number of uncanonical enodes in the EGraph.

Example
use plat_egg::{raw::*, SymbolLang as S};
 let mut egraph = RawEGraph::<S, ()>::default();
@@ -47,10 +47,10 @@ 
Example
assert_eq!(egraph.number_of_uncanonical_nodes(), 4); assert_eq!(egraph.number_of_classes(), 2);
-

Returns an iterator over the uncanonical ids in the egraph and the node +

Returns an iterator over the uncanonical ids in the egraph and the node that would be obtained by calling id_to_node on each of them

-

Returns an iterator over all the uncanonical ids

-

Returns the number of enodes in the EGraph.

+

Returns an iterator over all the uncanonical ids

+

Returns the number of enodes in the EGraph.

Actually returns the size of the hashcons index.

Example
use plat_egg::{raw::*, SymbolLang as S};
@@ -63,7 +63,7 @@ 
Example
assert_eq!(egraph.total_size(), 2); assert_eq!(egraph.number_of_classes(), 1);
-

Lookup the eclass of the given enode.

+

Lookup the eclass of the given enode.

You can pass in either an owned enode or a &mut enode, in which case the enode’s children will be canonicalized.

Example
@@ -83,7 +83,7 @@
Example
egraph.rebuild(); assert_eq!(egraph.lookup(&mut node_f_ab), Some(id)); assert_eq!(node_f_ab, SymbolLang::new("f", vec![a, a]));
-

Lookup the uncanonical id of the given uncanonical enode.

+

Lookup the uncanonical id of the given uncanonical enode.

Returns Some(id) such that self.id_to_node(id) == enode if possible

Example
let mut egraph: RawEGraph<SymbolLang, ()> = Default::default();
@@ -100,22 +100,23 @@ 
Example
egraph.rebuild(); assert_eq!(egraph.lookup_uncanonical(&node_f_ab), Some(id)); assert_eq!(egraph.lookup_uncanonical(&SymbolLang::new("f", vec![a, a])), None);
-

Lookup the eclass of the given RecExpr.

+

Lookup the eclass of the given RecExpr.

Equivalent to the last value in EGraphResidual::lookup_expr_ids.

-

Lookup the eclasses of all the nodes in the given RecExpr.

-

Generate a mapping from canonical ids to the list of nodes they represent

-

Returns a more debug-able representation of the egraph focusing on its uncanonical ids and nodes.

+

Lookup the eclasses of all the nodes in the given RecExpr.

+

Generate a mapping from canonical ids to the list of nodes they represent

+

Returns a more debug-able representation of the egraph focusing on its uncanonical ids and nodes.

RawEGraphs implement Debug, but it’s not pretty. It prints a lot of stuff you probably don’t care about. This method returns a wrapper that implements Debug in a slightly nicer way, just dumping enodes in each eclass.

-

Creates a Dot to visualize this egraph. See Dot.

-

Trait Implementations

Returns a copy of the value. Read more

+

Creates a Dot to visualize this egraph. See Dot.

+

Return the direct parent from the union find without path compression

+

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

@@ -129,5 +130,5 @@
Example

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

-
+
\ No newline at end of file diff --git a/plat_egg/raw/struct.RawEClass.html b/plat_egg/raw/struct.RawEClass.html index ab663844..0310cd8b 100644 --- a/plat_egg/raw/struct.RawEClass.html +++ b/plat_egg/raw/struct.RawEClass.html @@ -23,8 +23,8 @@

Struct plat_egg

The resulting type after dereferencing.

Dereferences the value.

Mutably dereferences the value.

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

@@ -39,5 +39,5 @@

Struct plat_egg

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

-
+
\ No newline at end of file diff --git a/plat_egg/raw/struct.RawEGraph.html b/plat_egg/raw/struct.RawEGraph.html index a2e9347f..7fde5cf2 100644 --- a/plat_egg/raw/struct.RawEGraph.html +++ b/plat_egg/raw/struct.RawEGraph.html @@ -2,10 +2,10 @@

pub struct RawEGraph<L: Language, D, U = ()> { /* private fields */ }
Expand description

A data structure to keep track of equalities between expressions.

+

Struct plat_egg::raw::RawEGraph

source · []
pub struct RawEGraph<L: Language, D, U: UndoLogT<L, D> = ()> { /* private fields */ }
Expand description

A data structure to keep track of equalities between expressions.

Check out the background tutorial for more information on e-graphs in general.

E-graphs in egg::raw

@@ -25,18 +25,18 @@

E-graphs in egg: raw_add, raw_union, and raw_rebuild to properly handle this data *

-

Implementations

Returns an iterator over the eclasses in the egraph.

-

Returns a mutating iterator over the eclasses in the egraph. +

Implementations

Returns an iterator over the eclasses in the egraph.

+

Returns a mutating iterator over the eclasses in the egraph. Also returns the EGraphResidual so it can still be used while self is borrowed

-

Returns the number of eclasses in the egraph.

-

Returns the eclass corresponding to id

-

Like get_class but panics if id is not canonical

-

Returns the eclass corresponding to id +

Returns the number of eclasses in the egraph.

+

Returns the eclass corresponding to id

+

Like get_class but panics if id is not canonical

+

Returns the eclass corresponding to id Also returns the EGraphResidual so it can still be used while self is borrowed

-

Like get_class_mut but panics if id is not canonical

-

Returns whether self is congruently closed

+

Like get_class_mut but panics if id is not canonical

+

Returns whether self is congruently closed

This will always be true after calling raw_rebuild

-

Adds enode to a RawEGraph contained within a wrapper type T

+

Adds enode to a RawEGraph contained within a wrapper type T

Parameters
get_self

Called to extract the RawEGraph from the wrapper type, and should not perform any mutation.

This will likely be a simple field access or just the identity function if there is no wrapper type.

@@ -58,16 +58,16 @@
mk_data

Calling id_to_node on the new id will return a reference to enode

Calling get_class on the new id will cause a panic since the RawEClass is still being built

-

Similar to raw_add but takes an extra pre_union -closure that allows comparing the two equal canonical nodes used to determine +

Similar to raw_add but takes an extra pre_union +closure that allows comparing the two equal canonical nodes used to determine a congruent union. This can be useful in niche situations involving explanations when node canonization sorts children to make some discriminants symmetric

Note pre_union is called before handle_equiv even though it is only relevant when handle_equiv returns None

-

Unions two eclasses given their ids.

+

Unions two eclasses given their ids.

The given ids need not be canonical.

If a union occurs, merge is called with the data, id, and parents of the two eclasses being merged

-

Rebuild to RawEGraph to restore congruence closure

+

Rebuild to RawEGraph to restore congruence closure

Parameters
get_self

Called to extract the RawEGraph from the wrapper type, and should not perform any mutation.

This will likely be a simple field access or just the identity function if there is no wrapper type.

@@ -77,24 +77,24 @@
perform_unionhandle_pending

Called with the uncanonical id of each enode whose canonical children have changed, along with a canonical version of it

-

Similar to [raw_rebuild] but allows for the union operation to fail and abort the rebuild

-

Similar to try_raw_rebuild but takes an extra pre_union -closure that allows comparing the two equal canonical nodes used to determine +

Similar to raw_rebuild but allows for the union operation to fail and abort the rebuild

+

Similar to try_raw_rebuild but takes an extra pre_union +closure that allows comparing the two equal canonical nodes used to determine a congruent union. This can be useful in niche situations involving explanations when node canonization sorts children to make some discriminants symmetric

-

Returns a more debug-able representation of the egraph focusing on its classes.

+

Returns a more debug-able representation of the egraph focusing on its classes.

RawEGraphs implement Debug, but it’s not pretty. It prints a lot of stuff you probably don’t care about. This method returns a wrapper that implements Debug in a slightly nicer way, just dumping enodes in each eclass.

-

Remove all nodes from this egraph

-

Simplified version of raw_add for egraphs without eclass data

-

Simplified version of raw_union for egraphs without eclass data

-

Simplified version of raw_rebuild for egraphs without eclass data

-

Change the UndoLogT being used

+

Remove all nodes from this egraph

+

Simplified version of raw_add for egraphs without eclass data

+

Simplified version of raw_union for egraphs without eclass data

+

Simplified version of raw_rebuild for egraphs without eclass data

+

Change the UndoLogT being used

If the new UndoLogT is enabled then the egraph must be empty

-

Check if the UndoLogT being used is enabled

-

Create a PushInfo representing the current state of the egraph +

Check if the UndoLogT being used is enabled

+

Create a PushInfo representing the current state of the egraph which can later be passed into raw_pop1

Requires self.is_clean()

Example
@@ -115,16 +115,15 @@
Example
egraph.pop1(restore_point); assert_eq!(format!("{:#?}", egraph.dump_uncanonical()), format!("{:#?}", old.dump_uncanonical())); assert_eq!(format!("{:#?}", egraph), format!("{:#?}", old));
-

Mostly restores the egraph to the state it was it when it called push1 +

Mostly restores the egraph to the state it was it when it called push1 to create info

Invalidates all PushInfos that were created after info

The raw_data fields of the RawEClasss are not properly restored Instead, split is called to undo each union with a mutable reference to the merged data, and the two ids that were merged to create the data for the eclass of the second id (the eclass of the first id will be what’s left of the merged data after the call)

-

Return the direct parent from the union find without path compression

-

Simplified version of raw_pop1 for egraphs without eclass data

-

Create a PushInfo representing the current state of the egraph +

Simplified version of raw_pop1 for egraphs without eclass data

+

Create a PushInfo representing the current state of the egraph which can later be passed into raw_pop2

Requires self.is_clean()

Example
@@ -156,7 +155,7 @@
Example
assert_eq!(egraph.number_of_classes(), 3); assert_eq!(egraph.number_of_uncanonical_nodes(), 3); assert_eq!(egraph.total_size(), 3);
-

Mostly restores the egraph to the state it was it when it called push2 +

Mostly restores the egraph to the state it was it when it called push2 to create info

Invalidates all PushInfos that were created after info

The raw_data fields of the RawEClasss are not properly restored @@ -165,13 +164,13 @@

Example

After each call to either mk_data or clear, handle_eqv is called on each id that is in the eclass (that was handled by mk_data or clear

The state parameter represents arbitrary state that be accessed in any of the closures

-

Returns the UndoCtx corresponding to the current egraph

-

Simplified version of raw_pop2 for egraphs without eclass data

-

Methods from Deref<Target = EGraphResidual<L>>

Pick a representative term for a given Id.

+

Returns the UndoCtx corresponding to the current egraph

+

Simplified version of raw_pop2 for egraphs without eclass data

+

Methods from Deref<Target = EGraphResidual<L, U::AllowPathCompress>>

Pick a representative term for a given Id.

Calling this function on an uncanonical Id returns a representative based on how it was obtained

-

Like id_to_expr but only goes one layer deep

-

Canonicalizes an eclass id.

+

Like id_to_expr but only goes one layer deep

+

Canonicalizes an eclass id.

This corresponds to the find operation on the egraph’s underlying unionfind data structure.

Example
@@ -184,15 +183,15 @@
Example
egraph.union(x, y); egraph.rebuild(); assert_eq!(egraph.find(x), egraph.find(y));
-

Same as find but requires mutable access since it does path compression

-

Returns true if the egraph is empty

+

Same as find but requires mutable access since it does path compression

+

Returns true if the egraph is empty

Example
use plat_egg::{raw::*, SymbolLang as S};
 let mut egraph = RawEGraph::<S, ()>::default();
 assert!(egraph.is_empty());
 egraph.add_uncanonical(S::leaf("foo"));
 assert!(!egraph.is_empty());
-

Returns the number of uncanonical enodes in the EGraph.

+

Returns the number of uncanonical enodes in the EGraph.

Example
use plat_egg::{raw::*, SymbolLang as S};
 let mut egraph = RawEGraph::<S, ()>::default();
@@ -206,10 +205,10 @@ 
Example
assert_eq!(egraph.number_of_uncanonical_nodes(), 4); assert_eq!(egraph.number_of_classes(), 2);
-

Returns an iterator over the uncanonical ids in the egraph and the node +

Returns an iterator over the uncanonical ids in the egraph and the node that would be obtained by calling id_to_node on each of them

-

Returns an iterator over all the uncanonical ids

-

Returns the number of enodes in the EGraph.

+

Returns an iterator over all the uncanonical ids

+

Returns the number of enodes in the EGraph.

Actually returns the size of the hashcons index.

Example
use plat_egg::{raw::*, SymbolLang as S};
@@ -222,7 +221,7 @@ 
Example
assert_eq!(egraph.total_size(), 2); assert_eq!(egraph.number_of_classes(), 1);
-

Lookup the eclass of the given enode.

+

Lookup the eclass of the given enode.

You can pass in either an owned enode or a &mut enode, in which case the enode’s children will be canonicalized.

Example
@@ -242,7 +241,7 @@
Example
egraph.rebuild(); assert_eq!(egraph.lookup(&mut node_f_ab), Some(id)); assert_eq!(node_f_ab, SymbolLang::new("f", vec![a, a]));
-

Lookup the uncanonical id of the given uncanonical enode.

+

Lookup the uncanonical id of the given uncanonical enode.

Returns Some(id) such that self.id_to_node(id) == enode if possible

Example
let mut egraph: RawEGraph<SymbolLang, ()> = Default::default();
@@ -259,26 +258,27 @@ 
Example
egraph.rebuild(); assert_eq!(egraph.lookup_uncanonical(&node_f_ab), Some(id)); assert_eq!(egraph.lookup_uncanonical(&SymbolLang::new("f", vec![a, a])), None);
-

Lookup the eclass of the given RecExpr.

+

Lookup the eclass of the given RecExpr.

Equivalent to the last value in EGraphResidual::lookup_expr_ids.

-

Lookup the eclasses of all the nodes in the given RecExpr.

-

Generate a mapping from canonical ids to the list of nodes they represent

-

Returns a more debug-able representation of the egraph focusing on its uncanonical ids and nodes.

+

Lookup the eclasses of all the nodes in the given RecExpr.

+

Generate a mapping from canonical ids to the list of nodes they represent

+

Returns a more debug-able representation of the egraph focusing on its uncanonical ids and nodes.

RawEGraphs implement Debug, but it’s not pretty. It prints a lot of stuff you probably don’t care about. This method returns a wrapper that implements Debug in a slightly nicer way, just dumping enodes in each eclass.

-

Creates a Dot to visualize this egraph. See Dot.

-

Trait Implementations

Returns a copy of the value. Read more

+

Creates a Dot to visualize this egraph. See Dot.

+

Return the direct parent from the union find without path compression

+

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

The resulting type after dereferencing.

-

Dereferences the value.

-

Mutably dereferences the value.

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

The resulting type after dereferencing.

+

Dereferences the value.

+

Mutably dereferences the value.

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

@@ -292,5 +292,5 @@
Example

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

-
+
\ No newline at end of file diff --git a/plat_egg/raw/struct.RecExpr.html b/plat_egg/raw/struct.RecExpr.html index 38a860f2..65791129 100644 --- a/plat_egg/raw/struct.RecExpr.html +++ b/plat_egg/raw/struct.RecExpr.html @@ -56,7 +56,7 @@
Example

This method tests greater than (for self and other) and is used by the > operator. Read more

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

-

Serialize this value into the given Serde serializer. Read more

+

Serialize this value into the given Serde serializer. Read more

The type returned in the event of a conversion error.

Performs the conversion.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

diff --git a/plat_egg/raw/struct.UnionFind.html b/plat_egg/raw/struct.UnionFind.html index b1477839..1cea72f0 100644 --- a/plat_egg/raw/struct.UnionFind.html +++ b/plat_egg/raw/struct.UnionFind.html @@ -2,23 +2,24 @@

pub struct UnionFind { /* private fields */ }
Expand description

Data structure that stores disjoint sets of Ids each with a representative

-

Implementations

Creates a singleton set and returns its representative

-

Returns the number of ids in all the sets

-

Returns the representative of the set current belongs to

-

Equivalent to find but preforms path-compression to optimize further calls

-

Given two representative ids, unions the two eclasses making root1 the representative.

-

Resets the union find

-

Trait Implementations

Returns a copy of the value. Read more

+

Struct plat_egg::raw::UnionFind

source · []
pub struct UnionFind<P: PathCompressT = PathCompress<true>> { /* private fields */ }
Expand description

Data structure that stores disjoint sets of Ids each with a representative

+

Implementations

Creates a singleton set and returns its representative

+

Creates a fresh non-canonical id with the parent parent

+

Returns the number of ids in all the sets

+

Returns the representative of the set current belongs to

+

Equivalent to find but preforms path-compression to optimize further calls

+

Given two representative ids, unions the two eclasses making root1 the representative.

+

Resets the union find

+

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

@@ -32,5 +33,5 @@

Struct plat_egg

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

-
+
\ No newline at end of file diff --git a/plat_egg/raw/struct.UnionInfo.html b/plat_egg/raw/struct.UnionInfo.html index 9dbd9175..46adee2f 100644 --- a/plat_egg/raw/struct.UnionInfo.html +++ b/plat_egg/raw/struct.UnionInfo.html @@ -5,7 +5,7 @@

UnionInfo

pub struct UnionInfo<D> {
+    

Struct plat_egg::raw::UnionInfo

source · []
pub struct UnionInfo<D> {
     pub new_id: Id,
     pub parents_cut: usize,
     pub old_id: Id,
diff --git a/plat_egg/raw/trait.AsUnwrap.html b/plat_egg/raw/trait.AsUnwrap.html
index bb29188b..914a8fdf 100644
--- a/plat_egg/raw/trait.AsUnwrap.html
+++ b/plat_egg/raw/trait.AsUnwrap.html
@@ -5,6 +5,6 @@
         

AsUnwrap

pub trait AsUnwrap<T> { }
Expand description

Trait implemented for T and Option<T> used to provide bounds for push/pop impls

-

Implementations on Foreign Types

Implementors

+

Trait plat_egg::raw::AsUnwrap

source · []
pub trait AsUnwrap<T> { }
Expand description

Trait implemented for T and Option<T> used to provide bounds for push/pop impls

+

Implementations on Foreign Types

Implementors

\ No newline at end of file diff --git a/plat_egg/raw/trait.Language.html b/plat_egg/raw/trait.Language.html index 6fe22137..88a07613 100644 --- a/plat_egg/raw/trait.Language.html +++ b/plat_egg/raw/trait.Language.html @@ -1,4 +1,4 @@ -Language in plat_egg::raw - Rust
-

Struct plat_egg::Dot

source · []
pub struct Dot<'a, L: Language> {
+    

Struct plat_egg::Dot

source · []
pub struct Dot<'a, L: Language, P: PathCompressT> {
     pub config: Vec<String>,
     pub use_anchors: bool,
     /* private fields */
@@ -39,17 +39,17 @@ 

Example

Fields

config: Vec<String>

A list of strings to be output top part of the dot file.

use_anchors: bool

Whether or not to anchor the edges in the output. True by default.

-

Implementations

Writes the Dot to a .dot file with the given filename. +

Implementations

Writes the Dot to a .dot file with the given filename. Does not require a dot binary.

-

Renders the Dot to a .png file with the given filename. +

Renders the Dot to a .png file with the given filename. Requires a dot binary to be on your $PATH.

-

Renders the Dot to a .svg file with the given filename. +

Renders the Dot to a .svg file with the given filename. Requires a dot binary to be on your $PATH.

-

Renders the Dot to a .pdf file with the given filename. +

Renders the Dot to a .pdf file with the given filename. Requires a dot binary to be on your $PATH.

-

Invokes dot with the given arguments, piping this formatted +

Invokes dot with the given arguments, piping this formatted Dot into stdin.

-

Invokes some program with the given arguments, piping this +

Invokes some program with the given arguments, piping this formatted Dot into stdin.

Can be used to run a different binary than dot:

@@ -57,12 +57,12 @@

Example

"/path/to/my/dot", &["arg1", "-o", "outfile"] ).unwrap();
-

Adds a line to the dot output. +

Adds a line to the dot output. Indentation and a newline will be added automatically.

-

Set whether or not to anchor the edges in the output.

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Set whether or not to anchor the edges in the output.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

diff --git a/plat_egg/struct.EClassData.html b/plat_egg/struct.EClassData.html index d02ca8d7..33ad7c00 100644 --- a/plat_egg/struct.EClassData.html +++ b/plat_egg/struct.EClassData.html @@ -16,8 +16,8 @@

Struct plat_egg::

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

@@ -32,5 +32,5 @@

Struct plat_egg::

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

-
+
\ No newline at end of file diff --git a/plat_egg/struct.EGraph.html b/plat_egg/struct.EGraph.html index 05b9afff..f1fe66cb 100644 --- a/plat_egg/struct.EGraph.html +++ b/plat_egg/struct.EGraph.html @@ -2,10 +2,10 @@

pub struct EGraph<L: Language, N: Analysis<L>> {
+    

Struct plat_egg::EGraph

source · []
pub struct EGraph<L: Language, N: Analysis<L>> {
     pub analysis: N,
     pub clean: bool,
     /* private fields */
@@ -41,10 +41,10 @@ 

E-graphs in egg EGraph::rebuild will set it to true. Reading operations require this to be true. Only manually set it if you know what you’re doing.

-

Implementations

Creates a new, empty EGraph with the given Analysis

-

Returns an iterator over the eclasses in the egraph.

-

Returns an mutating iterator over the eclasses in the egraph.

-

Returns the number of enodes in the EGraph.

+

Implementations

Creates a new, empty EGraph with the given Analysis

+

Returns an iterator over the eclasses in the egraph.

+

Returns an mutating iterator over the eclasses in the egraph.

+

Returns the number of enodes in the EGraph.

Actually returns the size of the hashcons index.

Example
use plat_egg::{*, SymbolLang as S};
@@ -57,55 +57,55 @@ 
Example
assert_eq!(egraph.total_size(), 2); assert_eq!(egraph.number_of_classes(), 1);
-

Iterates over the classes, returning the total number of nodes.

-

Returns the number of eclasses in the egraph.

-

Enable explanations for this EGraph. +

Iterates over the classes, returning the total number of nodes.

+

Returns the number of eclasses in the egraph.

+

Enable explanations for this EGraph. This allows the egraph to explain why two expressions are equivalent with the explain_equivalence function.

-

By default, plat_egg runs a greedy algorithm to reduce the size of resulting explanations (without complexity overhead). +

By default, plat_egg runs a greedy algorithm to reduce the size of resulting explanations (without complexity overhead). Use this function to turn this algorithm off.

-

By default, plat_egg runs a greedy algorithm to reduce the size of resulting explanations (without complexity overhead). +

By default, plat_egg runs a greedy algorithm to reduce the size of resulting explanations (without complexity overhead). Use this function to turn this algorithm on again if you have turned it off.

-

Enable push and pop for this EGraph. +

Enable push and pop for this EGraph. This allows the egraph to revert to an earlier state

-

Disable push and pop for this EGraph.

-

Make a copy of the egraph with the same nodes, but no unions between them.

-

Performs the union between two egraphs.

-

A intersection algorithm between two egraphs. +

Disable push and pop for this EGraph.

+

Make a copy of the egraph with the same nodes, but no unions between them.

+

Performs the union between two egraphs.

+

A intersection algorithm between two egraphs. The intersection is correct for all terms that are equal in both egraphs. Be wary, though, because terms which are not represented in both egraphs are not captured in the intersection. The runtime of this algorithm is O(|E1| * |E2|), where |E1| and |E2| are the number of enodes in each egraph.

-

Like id_to_expr, but creates a pattern instead of a term. +

Like id_to_expr, but creates a pattern instead of a term. When an eclass listed in the given substitutions is found, it creates a variable. It also adds this variable and the corresponding Id value to the resulting Subst Otherwise it behaves like id_to_expr.

-

Get all the unions ever found in the egraph in terms of enode ids.

-

Disable explanations for this EGraph.

-

Check if explanations are enabled.

-

Get the number of congruences between nodes in the egraph. +

Get all the unions ever found in the egraph in terms of enode ids.

+

Disable explanations for this EGraph.

+

Check if explanations are enabled.

+

Get the number of congruences between nodes in the egraph. Only available when explanations are enabled.

-

Get the number of nodes in the egraph used for explanations.

-

When explanations are enabled, this function +

Get the number of nodes in the egraph used for explanations.

+

When explanations are enabled, this function produces an Explanation describing why two expressions are equivalent.

The Explanation can be used in it’s default tree form or in a less compact flattened form. Each of these also has a s-expression string representation, given by get_flat_string and get_string.

-

Equivalent to calling explain_equivalence(id_to_expr(left), +

Equivalent to calling explain_equivalence(id_to_expr(left), id_to_expr(right)) but more efficient

This function picks representatives using id_to_expr so choosing Ids returned by functions like add_uncanonical is important to control explanations

-

When explanations are enabled, this function +

When explanations are enabled, this function produces an Explanation describing how the given expression came to be in the egraph.

The Explanation begins with some expression that was added directly into the egraph and ends with the given expr. Note that this function can be called again to explain any intermediate terms used in the output Explanation.

-

Return an Explanation for why a pattern appears in the egraph.

-

Get an explanation for why an expression matches a pattern.

-

Adds a RecExpr to the EGraph, returning the id of the RecExpr’s eclass.

+

Return an Explanation for why a pattern appears in the egraph.

+

Get an explanation for why an expression matches a pattern.

+

Adds a RecExpr to the EGraph, returning the id of the RecExpr’s eclass.

Example
use plat_egg::{*, SymbolLang as S};
 let mut egraph = EGraph::<S, ()>::default();
@@ -114,18 +114,18 @@ 
Example
let plus = egraph.add(S::new("+", vec![x, y])); let plus_recexpr = "(+ x y)".parse().unwrap(); assert_eq!(plus, egraph.add_expr(&plus_recexpr));
-

Similar to add_expr but the Id returned may not be canonical

+

Similar to add_expr but the Id returned may not be canonical

Calling id_to_expr on this Id return a copy of expr when explanations are enabled

-

Adds a Pattern and a substitution to the EGraph, returning +

Adds a Pattern and a substitution to the EGraph, returning the eclass of the instantiated pattern.

-

Adds an enode to the EGraph.

+

Adds an enode to the EGraph.

When adding an enode, to the egraph, add it performs hashconsing (sometimes called interning in other contexts).

Hashconsing ensures that only one copy of that enode is in the egraph. If a copy is in the egraph, then add simply returns the id of the eclass in which the enode was found.

Like union, this modifies the e-graph.

-

Similar to add but the Id returned may not be canonical

+

Similar to add but the Id returned may not be canonical

When explanations are enabled calling id_to_expr on this Id will correspond to the parameter enode

Example
@@ -154,20 +154,20 @@
Example
assert_eq!(egraph.id_to_expr(fa), "(f a)".parse().unwrap()); assert_eq!(egraph.id_to_expr(fb), "(f a)".parse().unwrap());
-

Checks whether two RecExprs are equivalent. +

Checks whether two RecExprs are equivalent. Returns a list of id where both expression are represented. In most cases, there will none or exactly one id.

-

Given two patterns and a substitution, add the patterns +

Given two patterns and a substitution, add the patterns and union them.

When explanations are enabled with_explanations_enabled, use this function instead of union.

Returns the id of the new eclass, along with a bool indicating whether a union occured.

-

Unions two e-classes, using a given reason to justify it.

+

Unions two e-classes, using a given reason to justify it.

This function picks representatives using id_to_expr so choosing Ids returned by functions like add_uncanonical is important to control explanations

-

Unions two eclasses given their ids.

+

Unions two eclasses given their ids.

The given ids need not be canonical. The returned bool indicates whether a union is necessary, so it’s false if they were already equivalent.

@@ -179,18 +179,18 @@
Example
functions like EGraph::add_uncanonical See explain_equivalence for a more detailed explanation of the feature.

-

Update the analysis data of an e-class.

+

Update the analysis data of an e-class.

This also propagates the changes through the e-graph, so Analysis::make and Analysis::merge will get called for other parts of the e-graph on rebuild.

-

Returns a more debug-able representation of the egraph.

+

Returns a more debug-able representation of the egraph.

EGraphs implement Debug, but it ain’t pretty. It prints a lot of stuff you probably don’t care about. This method returns a wrapper that implements Debug in a slightly nicer way, just dumping enodes in each eclass.

-

Panic if the given eclass doesn’t contain the given patterns

+

Panic if the given eclass doesn’t contain the given patterns

Useful for testing.

-

Restores the egraph invariants of congruence and enode uniqueness.

+

Restores the egraph invariants of congruence and enode uniqueness.

As mentioned in the tutorial, egg takes a lazy approach to maintaining the egraph invariants. @@ -220,11 +220,11 @@

Example
// Classes: [x y] [ax ay] [a] assert_eq!(egraph.number_of_classes(), 3); assert_eq!(egraph.find(ax), egraph.find(ay));
-

Remove all nodes from this egraph

-

Push the current egraph off the stack +

Remove all nodes from this egraph

+

Push the current egraph off the stack Requires that the egraph is clean

See EGraph::pop

-

Pop the current egraph off the stack, replacing +

Pop the current egraph off the stack, replacing it with the previously pushed egraph

use plat_egg::{EGraph, SymbolLang};
@@ -237,12 +237,12 @@ 
Example
assert_eq!(egraph.find(a), egraph.find(b)); egraph.pop(); assert_ne!(egraph.find(a), egraph.find(b));
-

Equivalent to calling pop n times but possibly more efficient

-

Methods from Deref<Target = EGraphResidual<L>>

Pick a representative term for a given Id.

+

Equivalent to calling pop n times but possibly more efficient

+

Methods from Deref<Target = EGraphResidual<L, <UndoLog as UndoLogPC>::AllowPathCompress>>

Pick a representative term for a given Id.

Calling this function on an uncanonical Id returns a representative based on how it was obtained

-

Like id_to_expr but only goes one layer deep

-

Canonicalizes an eclass id.

+

Like id_to_expr but only goes one layer deep

+

Canonicalizes an eclass id.

This corresponds to the find operation on the egraph’s underlying unionfind data structure.

Example
@@ -255,14 +255,14 @@
Example
egraph.union(x, y); egraph.rebuild(); assert_eq!(egraph.find(x), egraph.find(y));
-

Returns true if the egraph is empty

+

Returns true if the egraph is empty

Example
use plat_egg::{raw::*, SymbolLang as S};
 let mut egraph = RawEGraph::<S, ()>::default();
 assert!(egraph.is_empty());
 egraph.add_uncanonical(S::leaf("foo"));
 assert!(!egraph.is_empty());
-

Returns the number of uncanonical enodes in the EGraph.

+

Returns the number of uncanonical enodes in the EGraph.

Example
use plat_egg::{raw::*, SymbolLang as S};
 let mut egraph = RawEGraph::<S, ()>::default();
@@ -276,10 +276,10 @@ 
Example
assert_eq!(egraph.number_of_uncanonical_nodes(), 4); assert_eq!(egraph.number_of_classes(), 2);
-

Returns an iterator over the uncanonical ids in the egraph and the node +

Returns an iterator over the uncanonical ids in the egraph and the node that would be obtained by calling id_to_node on each of them

-

Returns an iterator over all the uncanonical ids

-

Returns the number of enodes in the EGraph.

+

Returns an iterator over all the uncanonical ids

+

Returns the number of enodes in the EGraph.

Actually returns the size of the hashcons index.

Example
use plat_egg::{raw::*, SymbolLang as S};
@@ -292,7 +292,7 @@ 
Example
assert_eq!(egraph.total_size(), 2); assert_eq!(egraph.number_of_classes(), 1);
-

Lookup the eclass of the given enode.

+

Lookup the eclass of the given enode.

You can pass in either an owned enode or a &mut enode, in which case the enode’s children will be canonicalized.

Example
@@ -312,7 +312,7 @@
Example
egraph.rebuild(); assert_eq!(egraph.lookup(&mut node_f_ab), Some(id)); assert_eq!(node_f_ab, SymbolLang::new("f", vec![a, a]));
-

Lookup the uncanonical id of the given uncanonical enode.

+

Lookup the uncanonical id of the given uncanonical enode.

Returns Some(id) such that self.id_to_node(id) == enode if possible

Example
let mut egraph: RawEGraph<SymbolLang, ()> = Default::default();
@@ -329,30 +329,31 @@ 
Example
egraph.rebuild(); assert_eq!(egraph.lookup_uncanonical(&node_f_ab), Some(id)); assert_eq!(egraph.lookup_uncanonical(&SymbolLang::new("f", vec![a, a])), None);
-

Lookup the eclass of the given RecExpr.

+

Lookup the eclass of the given RecExpr.

Equivalent to the last value in EGraphResidual::lookup_expr_ids.

-

Lookup the eclasses of all the nodes in the given RecExpr.

-

Generate a mapping from canonical ids to the list of nodes they represent

-

Returns a more debug-able representation of the egraph focusing on its uncanonical ids and nodes.

+

Lookup the eclasses of all the nodes in the given RecExpr.

+

Generate a mapping from canonical ids to the list of nodes they represent

+

Returns a more debug-able representation of the egraph focusing on its uncanonical ids and nodes.

RawEGraphs implement Debug, but it’s not pretty. It prints a lot of stuff you probably don’t care about. This method returns a wrapper that implements Debug in a slightly nicer way, just dumping enodes in each eclass.

-

Creates a Dot to visualize this egraph. See Dot.

-

Trait Implementations

Returns a copy of the value. Read more

+

Creates a Dot to visualize this egraph. See Dot.

+

Return the direct parent from the union find without path compression

+

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

The resulting type after dereferencing.

-

Dereferences the value.

-

Deserialize this value from the given Serde deserializer. Read more

-

Given an Id using the egraph[id] syntax, retrieve the e-class.

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

The resulting type after dereferencing.

+

Dereferences the value.

+

Deserialize this value from the given Serde deserializer. Read more

+

Given an Id using the egraph[id] syntax, retrieve the e-class.

The returned type after indexing.

-

Performs the indexing (container[index]) operation. Read more

-

Given an Id using the &mut egraph[id] syntax, retrieve a mutable +

Performs the indexing (container[index]) operation. Read more

+

Given an Id using the &mut egraph[id] syntax, retrieve a mutable reference to the e-class.

-

Performs the mutable indexing (container[index]) operation. Read more

-

Serialize this value into the given Serde serializer. Read more

+

Performs the mutable indexing (container[index]) operation. Read more

+

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

@@ -367,5 +368,5 @@
Example

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

-
+
\ No newline at end of file diff --git a/plat_egg/struct.Id.html b/plat_egg/struct.Id.html index 650822a9..c6ef090e 100644 --- a/plat_egg/struct.Id.html +++ b/plat_egg/struct.Id.html @@ -2,29 +2,30 @@

-

Struct plat_egg::Id

source · []
pub struct Id(_);
Expand description

A key to identify EClasses within an +

Struct plat_egg::Id

source · []
pub struct Id(_);
Expand description

A key to identify EClasses within an EGraph.

-

Trait Implementations

Returns a copy of the value. Read more

+

Implementations

Dummy id value

+

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Formats the value using the given formatter. Read more

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

Feeds this value into the given Hasher. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Formats the value using the given formatter. Read more

+

Converts to this type from the input type.

+

Converts to this type from the input type.

+

Feeds this value into the given Hasher. Read more

Feeds a slice of this type into the given Hasher. Read more

-

Given an Id using the egraph[id] syntax, retrieve the e-class.

+

Given an Id using the egraph[id] syntax, retrieve the e-class.

The returned type after indexing.

-

Performs the indexing (container[index]) operation. Read more

+

Performs the indexing (container[index]) operation. Read more

The returned type after indexing.

Performs the indexing (container[index]) operation. Read more

-

Given an Id using the &mut egraph[id] syntax, retrieve a mutable +

Given an Id using the &mut egraph[id] syntax, retrieve a mutable reference to the e-class.

-

Performs the mutable indexing (container[index]) operation. Read more

+

Performs the mutable indexing (container[index]) operation. Read more

Performs the mutable indexing (container[index]) operation. Read more

Returns the number of children.

Checks if n is an acceptable number of children for this type.

@@ -33,22 +34,22 @@

Struct plat_egg::

Returns a slice of the children Ids.

Returns a mutable slice of the children Ids.

Checks if there are no children.

-

This method returns an Ordering between self and other. Read more

+

This method returns an Ordering between self and other. Read more

Compares and returns the maximum of two values. Read more

Compares and returns the minimum of two values. Read more

Restrict a value to a certain interval. Read more

-

This method tests for self and other values to be equal, and is used +

This method tests for self and other values to be equal, and is used by ==. Read more

-

This method tests for !=.

-

This method returns an ordering between self and other values if one exists. Read more

+

This method tests for !=.

+

This method returns an ordering between self and other values if one exists. Read more

This method tests less than (for self and other) and is used by the < operator. Read more

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

This method tests greater than (for self and other) and is used by the > operator. Read more

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Checks if this value is equivalent to the given key. Read more

@@ -65,5 +66,5 @@

Struct plat_egg::

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

-
+
\ No newline at end of file diff --git a/plat_egg/struct.Iteration.html b/plat_egg/struct.Iteration.html index 05708fe1..1fce0728 100644 --- a/plat_egg/struct.Iteration.html +++ b/plat_egg/struct.Iteration.html @@ -39,7 +39,7 @@

Struct plat_egg::

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

-

Serialize this value into the given Serde serializer. Read more

+

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

diff --git a/plat_egg/struct.RecExpr.html b/plat_egg/struct.RecExpr.html index 006d840b..82f3ce6f 100644 --- a/plat_egg/struct.RecExpr.html +++ b/plat_egg/struct.RecExpr.html @@ -56,7 +56,7 @@
Example

This method tests greater than (for self and other) and is used by the > operator. Read more

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

-

Serialize this value into the given Serde serializer. Read more

+

Serialize this value into the given Serde serializer. Read more

The type returned in the event of a conversion error.

Performs the conversion.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

diff --git a/plat_egg/struct.Report.html b/plat_egg/struct.Report.html index 144e4181..09180a38 100644 --- a/plat_egg/struct.Report.html +++ b/plat_egg/struct.Report.html @@ -25,7 +25,7 @@

Struct plat_egg::

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Formats the value using the given formatter. Read more

-

Serialize this value into the given Serde serializer. Read more

+

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

diff --git a/plat_egg/struct.Symbol.html b/plat_egg/struct.Symbol.html index 4786d9bd..8e23b876 100644 --- a/plat_egg/struct.Symbol.html +++ b/plat_egg/struct.Symbol.html @@ -63,13 +63,13 @@

Example

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

+

Deserialize this value from the given Serde deserializer. Read more

Formats the value using the given formatter. Read more

-

Converts to this type from the input type.

+

Converts to this type from the input type.

Converts to this type from the input type.

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

Converts to this type from the input type.

+

Converts to this type from the input type.

+

Converts to this type from the input type.

+

Converts to this type from the input type.

The associated error which can be returned from parsing.

Parses a string s to return a value of this type. Read more

Feeds this value into the given Hasher. Read more

@@ -88,7 +88,7 @@

Example

This method tests greater than (for self and other) and is used by the > operator. Read more

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

-

Serialize this value into the given Serde serializer. Read more

+

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

@@ -106,5 +106,5 @@

Example

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

-
+
\ No newline at end of file diff --git a/plat_egg/struct.SymbolLang.html b/plat_egg/struct.SymbolLang.html index f6fd8100..16eb5907 100644 --- a/plat_egg/struct.SymbolLang.html +++ b/plat_egg/struct.SymbolLang.html @@ -16,7 +16,7 @@

Struct plat_egg::

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

+

Deserialize this value from the given Serde deserializer. Read more

Formats the value using the given formatter. Read more

The error type returned by from_op if its arguments do not represent a valid e-node. Read more

@@ -59,7 +59,7 @@

Struct plat_egg::

This method tests greater than (for self and other) and is used by the > operator. Read more

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

-

Serialize this value into the given Serde serializer. Read more

+

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

@@ -77,5 +77,5 @@

Struct plat_egg::

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

-
+
\ No newline at end of file diff --git a/plat_egg/trait.Language.html b/plat_egg/trait.Language.html index 5813f404..4082c2f2 100644 --- a/plat_egg/trait.Language.html +++ b/plat_egg/trait.Language.html @@ -1,4 +1,4 @@ -Language in plat_egg - Rust