thread vtable-closure obligations to result
the vtable.nested obligations were being dropped on the floor.
This commit is contained in:
parent
24d4f10ab2
commit
5368432538
@ -551,6 +551,12 @@ fn error<'a,'gcx>(tcx: TyCtxt<'a,'gcx,'tcx>) -> Self {
|
||||
fn with_addl_obligations(mut self,
|
||||
mut obligations: Vec<PredicateObligation<'tcx>>)
|
||||
-> Self {
|
||||
debug!("with_addl_obligations: self.obligations.len={} obligations.len={}",
|
||||
self.obligations.len(), obligations.len());
|
||||
|
||||
debug!("with_addl_obligations: self.obligations={:?} obligations={:?}",
|
||||
self.obligations, obligations);
|
||||
|
||||
self.obligations.append(&mut obligations);
|
||||
self
|
||||
}
|
||||
@ -1123,11 +1129,18 @@ fn confirm_closure_candidate<'cx, 'gcx, 'tcx>(
|
||||
obligation.cause.clone(),
|
||||
obligation.recursion_depth+1,
|
||||
&closure_type);
|
||||
|
||||
debug!("confirm_closure_candidate: obligation={:?},closure_type={:?},obligations={:?}",
|
||||
obligation,
|
||||
closure_type,
|
||||
obligations);
|
||||
|
||||
confirm_callable_candidate(selcx,
|
||||
obligation,
|
||||
&closure_type.sig,
|
||||
util::TupleArgumentsFlag::No)
|
||||
.with_addl_obligations(obligations)
|
||||
.with_addl_obligations(vtable.nested)
|
||||
}
|
||||
|
||||
fn confirm_callable_candidate<'cx, 'gcx, 'tcx>(
|
||||
|
Loading…
Reference in New Issue
Block a user