Skip to main content

Module closure

Module closure 

Source
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ยง

ClosureSignatures ๐Ÿ”’
ExpectedSig ๐Ÿ”’
What signature do we expect the closure to have from context?