Skip to main content

adjust_sig_in_inherent_impl_cases

Function adjust_sig_in_inherent_impl_cases 

Source
fn adjust_sig_in_inherent_impl_cases<'tcx>(
    tcx: TyCtxt<'tcx>,
    sig_id: DefId,
    def_id: LocalDefId,
    parent_args: &[GenericArg<'tcx>],
    sig: &mut [Ty<'tcx>],
)
Expand description

We need to replace Self type of the signature function parent with either type of parent of delegation (which is either Self param in case of trait) and other ADT in case of inherent impl. We do the same thing when delegating to trait, in this case replacement happens during signature instantiation (as we can replace Self generic param with other type from args when instantiating).