Skip to main content

GenericArgsLowerer

Trait GenericArgsLowerer 

Source
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§

Source

fn report_elided_lifetimes_in_path( &mut self, def: GenericDefId, expected_count: u32, hard_error: bool, )

Source

fn report_elision_failure(&mut self, def: GenericDefId, expected_count: u32)

Source

fn report_missing_lifetime(&mut self, def: GenericDefId, expected_count: u32)

Source

fn report_len_mismatch( &mut self, def: GenericDefId, provided_count: u32, expected_count: u32, kind: IncorrectGenericsLenKind, )

Source

fn report_arg_mismatch( &mut self, param_id: GenericParamId, arg_idx: u32, has_self_arg: bool, )

Source

fn provided_kind( &mut self, param_id: GenericParamId, param: GenericParamDataRef<'_>, arg: &HirGenericArg, ) -> GenericArg<'db>

Source

fn provided_type_like_const( &mut self, type_ref: TypeRefId, const_ty: Ty<'db>, arg: TypeLikeConst<'_>, ) -> Const<'db>

Source

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>

Source

fn parent_arg( &mut self, param_idx: u32, param_id: GenericParamId, ) -> GenericArg<'db>

Implementors§