1
2
3
4
5
6
7
8
9
10
11
12
13
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;
}