pub(super) fn select_obligations_where_possible(
        &self,
        fallback_has_occurred: bool,
        mutate_fullfillment_errors: impl Fn(&mut Vec<traits::FulfillmentError<'tcx>>),
    ) {
        let result = self.fulfillment_cx.borrow_mut().select_where_possible(self);
        if let Err(mut errors) = result {
            mutate_fullfillment_errors(&mut errors);
            self.report_fulfillment_errors(&errors, self.inh.body_id, fallback_has_occurred);
        }
    }
/// Select as many obligations as we can at present.
Select as many obligations as we can at present.
Select as many obligations as we can at present .
pub(super) fn select_obligations_where_possible(
        &self,
        fallback_has_occurred: bool,
        mutate_fullfillment_errors: impl Fn(&mut Vec<traits::FulfillmentError<'tcx>>),
    ) {
        let result = self.fulfillment_cx.borrow_mut().select_where_possible(self);
        if let Err(mut errors) = result {
            mutate_fullfillment_errors(&mut errors);
            self.report_fulfillment_errors(&errors, self.inh.body_id, fallback_has_occurred);
        }
    }
pub ( super ) fn select_obligations_where_possible ( & self , fallback_has_occurred : bool , mutate_fullfillment_errors : impl Fn ( & mut Vec < traits :: FulfillmentError < ' tcx > > ) , ) { let result = self . fulfillment_cx . borrow_mut ( ) . select_where_possible ( self ) ; if let Err ( mut errors ) = result { mutate_fullfillment_errors ( & mut errors ) ; self . report_fulfillment_errors ( & errors , self . inh . body_id , fallback_has_occurred ) ; } }
Select as many obligations as we can at present.
Select as many obligations as we can at present .
&self
fallback_has_occurred
bool
mutate_fullfillment_errors
impl Fn(&mut Vec<traits::FulfillmentError<'tcx>>)
&self
fallback_has_occurred
bool
mutate_fullfillment_errors
impl Fn(&mut Vec<traits::FulfillmentError<'tcx>>)