Skip to main content

Module impl_trait_overcaptures

Module impl_trait_overcaptures 

Source

Re-exportsΒ§

use std::cell::LazyCell; πŸ”’
use std::debug_assert_matches; πŸ”’
use rustc_data_structures::fx::FxHashMap; πŸ”’
use rustc_data_structures::fx::FxIndexMap; πŸ”’
use rustc_data_structures::fx::FxIndexSet; πŸ”’
use rustc_data_structures::unord::UnordSet; πŸ”’
use rustc_errors::Diagnostic; πŸ”’
use rustc_errors::Subdiagnostic; πŸ”’
use rustc_errors::msg; πŸ”’
use rustc_hir as hir; πŸ”’
use rustc_hir::def::DefKind; πŸ”’
use rustc_hir::def_id::DefId; πŸ”’
use rustc_hir::def_id::LocalDefId; πŸ”’
use rustc_infer::infer::TyCtxtInferExt; πŸ”’
use rustc_infer::infer::outlives::env::OutlivesEnvironment; πŸ”’
use rustc_lint_defs::declare_lint; πŸ”’
use rustc_lint_defs::declare_lint_pass; πŸ”’
use rustc_lint_defs::fcw; πŸ”’
use rustc_macros::Diagnostic; πŸ”’
use rustc_middle::middle::resolve_bound_vars::ResolvedArg; πŸ”’
use rustc_middle::ty::relate::Relate; πŸ”’
use rustc_middle::ty::relate::RelateResult; πŸ”’
use rustc_middle::ty::relate::TypeRelation; πŸ”’
use rustc_middle::ty::relate::relate_args_with_variances; πŸ”’
use rustc_middle::ty::relate::structurally_relate_consts; πŸ”’
use rustc_middle::ty::relate::structurally_relate_tys; πŸ”’
use rustc_middle::ty; πŸ”’
use rustc_middle::ty::Ty; πŸ”’
use rustc_middle::ty::TyCtxt; πŸ”’
use rustc_middle::ty::TypeSuperVisitable; πŸ”’
use rustc_middle::ty::TypeVisitable; πŸ”’
use rustc_middle::ty::TypeVisitableExt; πŸ”’
use rustc_middle::ty::TypeVisitor; πŸ”’
use rustc_middle::ty::Unnormalized; πŸ”’
use rustc_span::Span; πŸ”’
use rustc_span::Symbol; πŸ”’
use rustc_span::bug; πŸ”’
use rustc_span::span_bug; πŸ”’
use rustc_trait_selection::diagnostics::AddPreciseCapturingForOvercapture; πŸ”’
use rustc_trait_selection::diagnostics::impl_trait_overcapture_suggestion; πŸ”’
use rustc_trait_selection::regions::OutlivesEnvironmentBuildExt; πŸ”’
use rustc_trait_selection::traits::ObligationCtxt; πŸ”’
use crate::LateContext; πŸ”’
use crate::LateLintPass; πŸ”’

StructsΒ§

FunctionalVariances πŸ”’
Computes the variances of regions that appear in the type, but considering late-bound regions too, which don’t have their variance computed usually.
ImplTraitOvercaptures
Lint for opaque types that will begin capturing in-scope but unmentioned lifetimes in edition 2024.
ImplTraitOvercapturesLint πŸ”’
ImplTraitRedundantCapturesLint πŸ”’
VisitOpaqueTypes πŸ”’

EnumsΒ§

ParamKind πŸ”’

StaticsΒ§

IMPL_TRAIT_OVERCAPTURES
The impl_trait_overcaptures lint warns against cases where lifetime capture behavior will differ in edition 2024.
IMPL_TRAIT_REDUNDANT_CAPTURES
The impl_trait_redundant_captures lint warns against cases where use of the precise capturing use<...> syntax is not needed.

FunctionsΒ§

check_fn πŸ”’
extract_def_id_from_arg πŸ”’
unify πŸ”’
What is the variance that satisfies the two variances?