Expand description
Code for type-checking closure expressions.
Re-exportsยง
use std::iter;๐use std::ops::ControlFlow;๐use rustc_abi::ExternAbi;๐use rustc_attr_ir::lang_items::LangItem;๐use rustc_errors::ErrorGuaranteed;๐use rustc_hir as hir;๐use rustc_hir_analysis::hir_ty_lowering::HirTyLowerer;๐use rustc_infer::infer::BoundRegionConversionTime;๐use rustc_infer::infer::DefineOpaqueTypes;๐use rustc_infer::infer::InferOk;๐use rustc_infer::infer::InferResult;๐use rustc_infer::traits::ObligationCauseCode;๐use rustc_infer::traits::PredicateObligations;๐use rustc_macros::TypeFoldable;๐use rustc_macros::TypeVisitable;๐use rustc_middle::ty;๐use rustc_middle::ty::ClosureKind;๐use rustc_middle::ty::FnSigKind;๐use rustc_middle::ty::GenericArgs;๐use rustc_middle::ty::Ty;๐use rustc_middle::ty::TyCtxt;๐use rustc_middle::ty::TypeSuperVisitable;๐use rustc_middle::ty::TypeVisitable;๐use rustc_middle::ty::TypeVisitableExt;๐use rustc_middle::ty::TypeVisitor;๐use rustc_middle::ty::Unnormalized;๐use rustc_span::def_id::LocalDefId;๐use rustc_span::DUMMY_SP;๐use rustc_span::Span;๐use rustc_span::span_bug;๐use rustc_trait_selection::error_reporting::traits::ArgKind;๐use rustc_trait_selection::traits;๐use tracing::debug;๐use tracing::instrument;๐use tracing::instrument;๐use tracing::trace;๐use super::CoroutineTypes;๐use super::Expectation;๐use super::FnCtxt;๐use super::check_fn;๐use crate::fn_ctxt::UseSubtyping;๐
Structsยง
- Closure
Signatures ๐ - Expected
Sig ๐ - What signature do we expect the closure to have from context?