// If users didn't specify what sort of closure they want,
// examine the expected type. For now, if we see explicit
// evidence than an unboxed closure is desired, we'll use
- // that, otherwise we'll error, requesting an annotation.
+ // that. Otherwise, we leave it unspecified, to be filled
+ // in by upvar inference.
match expected_sig_and_kind {
None => { // don't have information about the kind, request explicit annotation
check_closure(fcx, expr, None, decl, body, None);
// we may not have decided yet whether `c` is a `Fn`, `FnMut`, or
// `FnOnce` closure. In that case, we defer full resolution of the
// call until upvar inference can kick in and make the
- // decision. We keep these deferred resolutions sorted by the
+ // decision. We keep these deferred resolutions grouped by the
// def-id of the closure, so that once we decide, we can easily go
// back and process them.
deferred_call_resolutions: RefCell<DefIdMap<Vec<DeferredCallResolutionHandler<'tcx>>>>,