Module rustc_typeck::astconv[][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?

Conversion from AST representation of types to the ty.rs representation. The main routine here is ast_ty_to_ty(): each use is parameterized by an instance of AstConv.

Re-exports

use rustc_data_structures::accumulate_vec::AccumulateVec;
use hir;
use hir::def::Def;
use hir::def_id::DefId;
use middle::resolve_lifetime as rl;
use namespace::Namespace;
use rustc::ty::subst::Subst;
use rustc::ty::subst::Substs;
use rustc::traits;
use rustc::ty;
use rustc::ty::Ty;
use rustc::ty::TyCtxt;
use rustc::ty::ToPredicate;
use rustc::ty::TypeFoldable;
use rustc::ty::GenericParamDefKind;
use rustc::ty::wf::object_region_bounds;
use rustc_target::spec::abi;
use std::slice;
use require_c_abi_if_variadic;
use util::common::ErrorReported;
use util::nodemap::FxHashSet;
use util::nodemap::FxHashSet;
use util::nodemap::FxHashMap;
use util::nodemap::FxHashMap;
use errors::FatalError;
use std::iter;
use syntax::ast;
use syntax::feature_gate::GateIssue;
use syntax::feature_gate::emit_feature_err;
use syntax_pos::Span;

Structs

Bounds [
Experimental
]
ConvertedBinding [
Experimental
]
ParamRange [
Experimental
]

Constants

TRAIT_OBJECT_DUMMY_SELF [
Experimental
]

Dummy type used for the Self of a TraitRef created for converting a trait object, and which gets removed in ExistentialTraitRef. This type must not appear anywhere in other converted types.

Traits

AstConv [
Experimental
]

Functions

check_type_argument_count [
Experimental
]
report_lifetime_number_error [
Experimental
]
split_auto_traits [
Experimental
]

Divides a list of general trait bounds into two groups: auto traits (e.g. Sync and Send) and the remaining general trait bounds.