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