Re-exportsยง
use rustc_ast::ast::ParamKindOrd;๐use rustc_errors::Applicability;๐use rustc_errors::Diag;๐use rustc_errors::DiagCtxtHandle;๐use rustc_errors::Diagnostic;๐use rustc_errors::ErrorGuaranteed;๐use rustc_errors::Level;๐use rustc_errors::MultiSpan;๐use rustc_errors::struct_span_code_err;๐use rustc_hir::def::DefKind;๐use rustc_hir::def::Res;๐use rustc_hir::def_id::DefId;๐use rustc_hir as hir;๐use rustc_hir::GenericArg;๐use rustc_lint_defs::builtin::LATE_BOUND_LIFETIME_ARGUMENTS;๐use rustc_middle::ty;๐use rustc_middle::ty::GenericArgs;๐use rustc_middle::ty::GenericParamDef;๐use rustc_middle::ty::GenericParamDefKind;๐use rustc_middle::ty::IsSuggestable;๐use rustc_middle::ty::Ty;๐use rustc_span::kw;๐use rustc_trait_selection::traits;๐use smallvec::SmallVec;๐use tracing::debug;๐use tracing::instrument;๐use tracing::instrument;๐use super::HirTyLowerer;๐use super::IsMethodCall;๐use crate::diagnostics::wrong_number_of_generic_args::GenericArgsInfo;๐use crate::diagnostics::wrong_number_of_generic_args::WrongNumberOfGenericArgs;๐use crate::hir_ty_lowering::errors::prohibit_assoc_item_constraint;๐use crate::hir_ty_lowering::ExplicitLateBound;๐use crate::hir_ty_lowering::GenericArgCountMismatch;๐use crate::hir_ty_lowering::GenericArgCountResult;๐use crate::hir_ty_lowering::GenericArgPosition;๐use crate::hir_ty_lowering::GenericArgsLowerer;๐use rustc_errors::codes::*;๐
Functionsยง
- check_
generic_ ๐arg_ count - Checks that the correct number of generic arguments have been provided. This is used both for datatypes and function calls.
- check_
generic_ arg_ count_ for_ value_ path - Checks that the correct number of generic arguments have been provided. Used specifically for function calls.
- generic_
arg_ ๐mismatch_ err - Report an error that a generic argument did not match the generic parameter that was expected.
- lower_
generic_ args - Lower generic arguments from the HIR to the
rustc_middle::tyrepresentation. - prohibit_
explicit_ ๐late_ bound_ lifetimes - Prohibits explicit lifetime arguments if late-bound lifetime parameters are present. This is used both for datatypes and function calls.