/// leads to a `vec![&&Option<i32>, &Option<i32>]`. Empty vectors are not stored.
///
/// See:
- /// https://github.com/rust-lang/rfcs/blob/master/text/2005-match-ergonomics.md#definitions
+ /// <https://github.com/rust-lang/rfcs/blob/master/text/2005-match-ergonomics.md#definitions>
pat_adjustments: ItemLocalMap<Vec<Ty<'tcx>>>,
/// Borrows
/// entire variable.
pub closure_captures: ty::UpvarListMap,
+ /// Given the closure ID this map provides the list of
+ /// `Place`s and how/why are they captured by the closure.
+ pub closure_capture_information: ty::CaptureInformationMap<'tcx>,
+
/// Stores the type, expression, span and optional scope span of all types
/// that are live across the yield of this generator (if a generator).
pub generator_interior_types: Vec<GeneratorInteriorTypeCause<'tcx>>,
tainted_by_errors: None,
concrete_opaque_types: Default::default(),
closure_captures: Default::default(),
+ closure_capture_information: Default::default(),
generator_interior_types: Default::default(),
}
}
tainted_by_errors,
ref concrete_opaque_types,
ref closure_captures,
+ ref closure_capture_information,
ref generator_interior_types,
} = *self;
tainted_by_errors.hash_stable(hcx, hasher);
concrete_opaque_types.hash_stable(hcx, hasher);
closure_captures.hash_stable(hcx, hasher);
+ closure_capture_information.hash_stable(hcx, hasher);
generator_interior_types.hash_stable(hcx, hasher);
})
}
CommonConsts {
unit: mk_const(ty::Const {
- val: ty::ConstKind::Value(ConstValue::Scalar(Scalar::zst())),
+ val: ty::ConstKind::Value(ConstValue::Scalar(Scalar::ZST)),
ty: types.unit,
}),
}