use super::*; /// Execution context. pub trait Context<'a>: FallibleCtx<'a, T = Self::_Tm> { /// Type to provide for [Monad]ic representation of computation, mostly that of resolution ([`Resolution`]). type _Tm: Monad<'a>; /// See [`Diagnostic`]. type D: Diagnostic<'a, Self::T>; /// Type to represent resolution errors mainly arising in [`Resolver::resolve`]. type LookupError: 'a + Send + Error; /// Get [type@Hash] of a slice, mostly for use in [`Point`]. fn hash(s: &[u8]) -> Hash; }