pub trait QueryContext:
Clone
+ Debug
+ Sized
+ 'static {
type Node<'a>: AstNode + Clone;
type NodePattern: AstNodePattern<Self>;
type LeafNodePattern: AstLeafNodePattern<Self>;
type ExecContext<'a>: ExecContext<'a, Self>;
type Binding<'a>: Binding<'a, Self>;
type CodeSnippet: CodeSnippet<Self>;
type ResolvedPattern<'a>: ResolvedPattern<'a, Self>;
type Language<'a>: Language<Node<'a> = Self::Node<'a>>;
type File<'a>: File<'a, Self>;
type Tree<'a>: Ast<Node<'a> = Self::Node<'a>> + Clone;
}
Expand description
Contains various kinds of context about the query being executed.
Required Associated Types§
type Node<'a>: AstNode + Clone
type NodePattern: AstNodePattern<Self>
type LeafNodePattern: AstLeafNodePattern<Self>
type ExecContext<'a>: ExecContext<'a, Self>
type Binding<'a>: Binding<'a, Self>
type CodeSnippet: CodeSnippet<Self>
type ResolvedPattern<'a>: ResolvedPattern<'a, Self>
type Language<'a>: Language<Node<'a> = Self::Node<'a>>
type File<'a>: File<'a, Self>
type Tree<'a>: Ast<Node<'a> = Self::Node<'a>> + Clone
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.