fn collect_coerce_shared_field_pairs<'tcx>(
tcx: TyCtxt<'tcx>,
source_def: AdtDef<'tcx>,
source_args: GenericArgsRef<'tcx>,
target_def: AdtDef<'tcx>,
target_args: GenericArgsRef<'tcx>,
) -> Result<CoerceSharedFields<'tcx>, CoerceSharedFieldPairError<'tcx>>