Module rustc_typeck::check [−][src]
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Re-exports
pub use self::Expectation::*; |
pub use self::compare_method::compare_impl_method; |
pub use self::compare_method::compare_const_impl; |
Modules
_match |
[ Experimental ]
|
autoderef |
[ Experimental ]
|
callee |
[ Experimental ]
|
cast |
[ Experimental ] Code for type-checking cast expressions. |
closure |
[ Experimental ] Code for type-checking closure expressions. |
coercion |
[ Experimental ] Type Coercion |
compare_method |
[ Experimental ]
|
demand |
[ Experimental ]
|
dropck |
[ Experimental ]
|
generator_interior |
[ Experimental ] This calculates the types which has storage which lives across a suspension point in a
generator from the perspective of typeck. The actual types used at runtime
is calculated in |
intrinsic |
[ Experimental ] Type-checking for the rust-intrinsic and platform-intrinsic intrinsics that the compiler exposes. |
method |
[ Experimental ] Method lookup: the secret sauce of Rust. See the rustc guide chapter. |
op |
[ Experimental ] Code related to processing overloaded binary and unary operators. |
regionck |
[ Experimental ] The region check is a final pass that runs over the AST after we have inferred the type constraints but before we have actually finalized the types. Its purpose is to embed a variety of region constraints. Inserting these constraints as a separate pass is good because (1) it localizes the code that has to do with region inference and (2) often we cannot know what constraints are needed until the basic types have been inferred. |
upvar |
[ Experimental ] Inferring borrow kinds for upvars |
wfcheck |
[ Experimental ]
|
writeback |
[ Experimental ]
|
Structs
BreakableCtxt |
[ Experimental ]
|
CheckItemTypesVisitor |
[ Experimental ]
|
EnclosingBreakables |
[ Experimental ]
|
FnCtxt |
[ Experimental ]
|
GatherLocalsVisitor |
[ Experimental ]
|
GeneratorTypes |
[ Experimental ] When |
Inherited |
[ Experimental ] closures defined within the function. For example: |
InheritedBuilder |
[ Experimental ] Helper type of a temporary returned by Inherited::build(...). Necessary because we can't write the following bound: F: for<'b, 'tcx> where 'gcx: 'tcx FnOnce(Inherited<'b, 'gcx, 'tcx>). |
MaybeInProgressTables |
[ Experimental ] A wrapper for InferCtxt's |
UnsafetyState |
[ Experimental ]
|
Enums
Diverges |
[ Experimental ] Tracks whether executing a node may exit normally (versus return/break/panic, which "diverge", leaving dead code in their wake). Tracked semi-automatically (through type variables marked as diverging), with some manual adjustments for control-flow primitives (approximating a CFG). |
Expectation |
[ Experimental ] When type-checking an expression, we propagate downward
whatever type hint we are able in the form of an |
Needs |
[ Experimental ]
|
PlaceOp |
[ Experimental ]
|
TupleArgumentsFlag |
[ Experimental ] Controls whether the arguments are tupled. This is used for the call operator. |
Functions
adt_destructor |
[ Experimental ]
|
check_abi |
[ Experimental ]
|
check_bounds_are_used |
[ Experimental ]
|
check_enum |
[ Experimental ]
|
check_fn |
[ Experimental ] Helper used for fns and closures. Does the grungy work of checking a function body and returns the function context used for that purpose, since in the case of a fn item there is still a bit more to do. |
check_impl_item_well_formed |
[ Experimental ]
|
check_impl_items_against_trait |
[ Experimental ]
|
check_item_bodies |
[ Experimental ]
|
check_item_type |
[ Experimental ]
|
check_item_types |
[ Experimental ]
|
check_item_well_formed |
[ Experimental ]
|
check_on_unimplemented |
[ Experimental ]
|
check_packed |
[ Experimental ]
|
check_packed_inner |
[ Experimental ]
|
check_representable |
[ Experimental ] Checks whether a type can be represented in memory. In particular, it identifies types that contain themselves without indirection through a pointer, which would mean their size is unbounded. |
check_simd |
[ Experimental ]
|
check_specialization_validity |
[ Experimental ]
|
check_struct |
[ Experimental ]
|
check_trait_item_well_formed |
[ Experimental ]
|
check_transparent |
[ Experimental ]
|
check_union |
[ Experimental ]
|
check_wf_new |
[ Experimental ]
|
fatally_break_rust |
[ Experimental ]
|
has_typeck_tables |
[ Experimental ]
|
maybe_check_static_with_link_section |
[ Experimental ]
|
primary_body_of |
[ Experimental ] If this def-id is a "primary tables entry", returns |
provide |
[ Experimental ]
|
report_forbidden_specialization |
[ Experimental ]
|
typeck_item_bodies |
[ Experimental ]
|
typeck_tables_of |
[ Experimental ]
|
used_trait_imports |
[ Experimental ]
|