/// Constant expressions must be sized.
ConstSized,
- /// static items must have `Sync` type
+ /// Static items must have `Sync` type
SharedStatic,
BuiltinDerivedObligation(DerivedObligationCause<'tcx>),
ImplDerivedObligation(DerivedObligationCause<'tcx>),
- /// error derived when matching traits/impls; see ObligationCause for more details
+ /// Error derived when matching traits/impls; see ObligationCause for more details
CompareImplMethodObligation {
item_name: ast::Name,
impl_item_def_id: DefId,
/// `start` has wrong type
StartFunctionType,
- /// intrinsic has wrong type
+ /// Intrinsic has wrong type
IntrinsicType,
- /// method receiver
+ /// Method receiver
MethodReceiver,
/// `return` with no expression
ReturnNoExpression,
/// `return` with an expression
- ReturnType(hir::HirId),
+ ReturnValue(hir::HirId),
+
+ /// Return type of this function
+ ReturnType,
/// Block implicit return
BlockTailExpression(hir::HirId),
#[derive(Clone, PartialEq, Eq, RustcEncodable, RustcDecodable, HashStable)]
pub struct VtableClosureData<'tcx, N> {
pub closure_def_id: DefId,
- pub substs: ty::ClosureSubsts<'tcx>,
+ pub substs: SubstsRef<'tcx>,
/// Nested obligations. This can be non-empty if the closure
/// signature contains associated types.
pub nested: Vec<N>