Expand description
An infrastructure to mechanically analyse proof trees.
It is unavoidable that this representation is somewhat lossy as it should hide quite a few semantically relevant things, e.g. canonicalization and the order of nested goals.
@lcnr: However, a lot of the weirdness here is not strictly necessary and could be improved in the future. This is mostly good enough for coherence right now and was annoying to implement, so I am leaving it as is until we start using it for something else.
Re-exportsยง
use std::assert_matches;๐use rustc_infer::infer::InferCtxt;๐use rustc_macros::extension;๐use rustc_middle::traits::solve::Certainty;๐use rustc_middle::traits::solve::Goal;๐use rustc_middle::traits::solve::GoalSource;๐use rustc_middle::traits::solve::NoSolution;๐use rustc_middle::traits::solve::QueryResult;๐use rustc_middle::ty;๐use rustc_middle::ty::RequiredDepth;๐use rustc_middle::ty::TyCtxt;๐use rustc_middle::ty::VisitorResult;๐use rustc_middle::ty::try_visit;๐use rustc_next_trait_solver::canonical::instantiate_canonical_state;๐use rustc_next_trait_solver::solve::MaybeCause;๐use rustc_next_trait_solver::solve::MaybeInfo;๐use rustc_next_trait_solver::solve::SolverDelegateEvalExt as _;๐use rustc_next_trait_solver::solve::inspect;๐use rustc_span::Span;๐use rustc_span::bug;๐use tracing::instrument;๐use tracing::instrument;๐use crate::solve::delegate::SolverDelegate;๐
Structsยง
Traitsยง
- Infer
Ctxt Proof Tree Ext - Proof
Tree Visitor - The public API to interact with proof trees.