pub(crate) trait GenericArgsLowerer<'db> {
// Required methods
fn report_elided_lifetimes_in_path(
&mut self,
def: GenericDefId,
expected_count: u32,
hard_error: bool,
);
fn report_elision_failure(&mut self, def: GenericDefId, expected_count: u32);
fn report_missing_lifetime(
&mut self,
def: GenericDefId,
expected_count: u32,
);
fn report_len_mismatch(
&mut self,
def: GenericDefId,
provided_count: u32,
expected_count: u32,
kind: IncorrectGenericsLenKind,
);
fn report_arg_mismatch(
&mut self,
param_id: GenericParamId,
arg_idx: u32,
has_self_arg: bool,
);
fn provided_kind(
&mut self,
param_id: GenericParamId,
param: GenericParamDataRef<'_>,
arg: &HirGenericArg,
) -> GenericArg<'db>;
fn provided_type_like_const(
&mut self,
type_ref: TypeRefId,
const_ty: Ty<'db>,
arg: TypeLikeConst<'_>,
) -> Const<'db>;
fn inferred_kind(
&mut self,
def: GenericDefId,
param_id: GenericParamId,
param: GenericParamDataRef<'_>,
infer_args: bool,
preceding_args: &[GenericArg<'db>],
had_count_error: bool,
) -> GenericArg<'db>;
fn parent_arg(
&mut self,
param_idx: u32,
param_id: GenericParamId,
) -> GenericArg<'db>;
}Required Methods§
fn report_elided_lifetimes_in_path( &mut self, def: GenericDefId, expected_count: u32, hard_error: bool, )
fn report_elision_failure(&mut self, def: GenericDefId, expected_count: u32)
fn report_missing_lifetime(&mut self, def: GenericDefId, expected_count: u32)
fn report_len_mismatch( &mut self, def: GenericDefId, provided_count: u32, expected_count: u32, kind: IncorrectGenericsLenKind, )
fn report_arg_mismatch( &mut self, param_id: GenericParamId, arg_idx: u32, has_self_arg: bool, )
fn provided_kind( &mut self, param_id: GenericParamId, param: GenericParamDataRef<'_>, arg: &HirGenericArg, ) -> GenericArg<'db>
fn provided_type_like_const( &mut self, type_ref: TypeRefId, const_ty: Ty<'db>, arg: TypeLikeConst<'_>, ) -> Const<'db>
fn inferred_kind( &mut self, def: GenericDefId, param_id: GenericParamId, param: GenericParamDataRef<'_>, infer_args: bool, preceding_args: &[GenericArg<'db>], had_count_error: bool, ) -> GenericArg<'db>
fn parent_arg( &mut self, param_idx: u32, param_id: GenericParamId, ) -> GenericArg<'db>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".