Re-exportsยง
use core::ops::ControlFlow;๐use std::borrow::Cow;๐use std::collections::hash_set;๐use std::path::PathBuf;๐use rustc_ast::ast::LitKind;๐use rustc_ast::LitIntType;๐use rustc_ast::TraitObjectSyntax;๐use rustc_attr_ir::diagnostic::CustomDiagnostic;๐use rustc_attr_ir::find_attr;๐use rustc_attr_ir::lang_items::LangItem;๐use rustc_data_structures::fx::FxHashMap;๐use rustc_data_structures::fx::FxHashSet;๐use rustc_data_structures::unord::UnordSet;๐use rustc_errors::Applicability;๐use rustc_errors::Diag;๐use rustc_errors::ErrorGuaranteed;๐use rustc_errors::MultiSpan;๐use rustc_errors::StringPart;๐use rustc_errors::Sublevel;๐use rustc_errors::msg;๐use rustc_errors::pluralize;๐use rustc_errors::struct_span_code_err;๐use rustc_hir::def_id::DefId;๐use rustc_hir::def_id::LOCAL_CRATE;๐use rustc_hir::def_id::LocalDefId;๐use rustc_hir::intravisit::Visitor;๐use rustc_hir as hir;๐use rustc_hir::Node;๐use rustc_hir::expr_needs_parens;๐use rustc_infer::infer::InferOk;๐use rustc_infer::infer::TypeTrace;๐use rustc_infer::traits::solve::Goal;๐use rustc_infer::traits::ImplSource;๐use rustc_infer::traits::TraitErrors;๐use rustc_infer::traits::WellFormedLoc;๐use rustc_middle::traits::SignatureMismatchData;๐use rustc_middle::traits::select::OverflowError;๐use rustc_middle::ty::abstract_const::NotConstEvaluatable;๐use rustc_middle::ty::error::ExpectedFound;๐use rustc_middle::ty::error::TypeError;๐use rustc_middle::ty::print::PrintPolyTraitClauseExt;๐use rustc_middle::ty::print::PrintPolyTraitRefExt as _;๐use rustc_middle::ty::print::PrintTraitClauseExt as _;๐use rustc_middle::ty::print::PrintTraitRefExt as _;๐use rustc_middle::ty::print::with_forced_trimmed_paths;๐use rustc_middle::ty::print::with_forced_trimmed_paths;๐use rustc_middle::ty::transmute::Answer;๐use rustc_middle::ty::transmute::Reason;๐use rustc_middle::ty;๐use rustc_middle::ty::ConstKind;๐use rustc_middle::ty::GenericArgKind;๐use rustc_middle::ty::GenericParamDefKind;๐use rustc_middle::ty::TraitRef;๐use rustc_middle::ty::Ty;๐use rustc_middle::ty::TyCtxt;๐use rustc_middle::ty::TypeFoldable;๐use rustc_middle::ty::TypeFolder;๐use rustc_middle::ty::TypeSuperFoldable;๐use rustc_middle::ty::TypeVisitableExt;๐use rustc_middle::ty::Unnormalized;๐use rustc_middle::ty::Upcast;๐use rustc_span::def_id::CrateNum;๐use rustc_span::BytePos;๐use rustc_span::DUMMY_SP;๐use rustc_span::STDLIB_STABLE_CRATES;๐use rustc_span::Span;๐use rustc_span::Symbol;๐use rustc_span::bug;๐use rustc_span::span_bug;๐use rustc_span::sym;๐use tracing::debug;๐use tracing::instrument;๐use tracing::instrument;๐use super::suggestions::get_explanation_based_on_obligation;๐use super::ArgKind;๐use super::CandidateSimilarity;๐use super::GetSafeTransmuteErrorAndReason;๐use super::ImplCandidate;๐use crate::diagnostics::AssocTypeWithSameName;๐use crate::diagnostics::ClosureFnMutLabel;๐use crate::diagnostics::ClosureFnOnceLabel;๐use crate::diagnostics::ClosureKindMismatch;๐use crate::diagnostics::CoroClosureNotFn;๐use crate::error_reporting::TypeErrCtxt;๐use crate::error_reporting::infer::TyCategory;๐use crate::error_reporting::traits::report_dyn_incompatibility;๐use crate::infer;๐use crate::infer::InferCtxt;๐use crate::infer::InferCtxtExt as _;๐use crate::traits::query::evaluate_obligation::InferCtxtExt as _;๐use crate::traits::MismatchedProjectionTypes;๐use crate::traits::NormalizeExt;๐use crate::traits::Obligation;๐use crate::traits::ObligationCause;๐use crate::traits::ObligationCauseCode;๐use crate::traits::ObligationCtxt;๐use crate::traits::PredicateObligation;๐use crate::traits::SelectionContext;๐use crate::traits::SelectionError;๐use crate::traits::elaborate;๐use crate::traits::specialization_graph;๐use rustc_errors::codes::*;๐