[−][src]Struct rustc::hir::lowering::LoweringContext
🔬 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?
Fields
crate_root: Option<&'static str>
🔬 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?
sess: &'a Session
🔬 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?
cstore: &'a CrateStore
🔬 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?
resolver: &'a mut Resolver
🔬 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?
items: BTreeMap<NodeId, Item>
🔬 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?
The items being lowered are collected here.
trait_items: BTreeMap<TraitItemId, TraitItem>
🔬 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?
impl_items: BTreeMap<ImplItemId, ImplItem>
🔬 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?
bodies: BTreeMap<BodyId, Body>
🔬 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?
exported_macros: Vec<MacroDef>
🔬 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?
trait_impls: BTreeMap<DefId, Vec<NodeId>>
🔬 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?
trait_auto_impl: BTreeMap<DefId, NodeId>
🔬 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?
is_generator: bool
🔬 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?
catch_scopes: Vec<NodeId>
🔬 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?
loop_scopes: Vec<NodeId>
🔬 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?
is_in_loop_condition: bool
🔬 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?
is_in_trait_impl: bool
🔬 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?
anonymous_lifetime_mode: AnonymousLifetimeMode
🔬 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?
What to do when we encounter either an "anonymous lifetime
reference". The term "anonymous" is meant to encompass both
'_
lifetimes as well as fully elided cases where nothing is
written at all (e.g., &T
or std::cell::Ref<T>
).
lifetimes_to_define: Vec<(Span, ParamName)>
🔬 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?
is_collecting_in_band_lifetimes: bool
🔬 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?
in_scope_lifetimes: Vec<Ident>
🔬 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?
type_def_lifetime_params: DefIdMap<usize>
🔬 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?
current_hir_id_owner: Vec<(DefIndex, u32)>
🔬 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?
item_local_id_counters: NodeMap<u32>
🔬 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?
node_id_to_hir_id: IndexVec<NodeId, HirId>
🔬 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?
Methods
impl<'a> LoweringContext<'a>
[src]
impl<'a> LoweringContext<'a>
fn lower_crate(self, c: &Crate) -> Crate
[src]
fn lower_crate(self, c: &Crate) -> Crate
🔬 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?
fn allocate_hir_id_counter<T: Debug>(
&mut self,
owner: NodeId,
debug: &T
) -> LoweredNodeId
[src]
fn allocate_hir_id_counter<T: Debug>(
&mut self,
owner: NodeId,
debug: &T
) -> LoweredNodeId
🔬 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?
fn lower_node_id_generic<F>(
&mut self,
ast_node_id: NodeId,
alloc_hir_id: F
) -> LoweredNodeId where
F: FnOnce(&mut Self) -> HirId,
[src]
fn lower_node_id_generic<F>(
&mut self,
ast_node_id: NodeId,
alloc_hir_id: F
) -> LoweredNodeId where
F: FnOnce(&mut Self) -> HirId,
🔬 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?
fn with_hir_id_owner<F, T>(&mut self, owner: NodeId, f: F) -> T where
F: FnOnce(&mut Self) -> T,
[src]
fn with_hir_id_owner<F, T>(&mut self, owner: NodeId, f: F) -> T where
F: FnOnce(&mut Self) -> T,
🔬 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?
fn lower_node_id(&mut self, ast_node_id: NodeId) -> LoweredNodeId
[src]
fn lower_node_id(&mut self, ast_node_id: NodeId) -> LoweredNodeId
🔬 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?
This method allocates a new HirId for the given NodeId and stores it in the LoweringContext's NodeId => HirId map. Take care not to call this method if the resulting HirId is then not actually used in the HIR, as that would trigger an assertion in the HirIdValidator later on, which makes sure that all NodeIds got mapped properly. Calling the method twice with the same NodeId is fine though.
fn lower_node_id_with_owner(
&mut self,
ast_node_id: NodeId,
owner: NodeId
) -> LoweredNodeId
[src]
fn lower_node_id_with_owner(
&mut self,
ast_node_id: NodeId,
owner: NodeId
) -> LoweredNodeId
🔬 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?
fn record_body(&mut self, value: Expr, decl: Option<&FnDecl>) -> BodyId
[src]
fn record_body(&mut self, value: Expr, decl: Option<&FnDecl>) -> BodyId
🔬 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?
fn next_id(&mut self) -> LoweredNodeId
[src]
fn next_id(&mut self) -> LoweredNodeId
🔬 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?
fn expect_full_def(&mut self, id: NodeId) -> Def
[src]
fn expect_full_def(&mut self, id: NodeId) -> Def
🔬 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?
fn expect_full_def_from_use(
&mut self,
id: NodeId
) -> impl Iterator<Item = Def>
[src]
fn expect_full_def_from_use(
&mut self,
id: NodeId
) -> impl Iterator<Item = Def>
🔬 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?
fn diagnostic(&self) -> &Handler
[src]
fn diagnostic(&self) -> &Handler
🔬 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?
fn str_to_ident(&self, s: &'static str) -> Ident
[src]
fn str_to_ident(&self, s: &'static str) -> Ident
🔬 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?
fn allow_internal_unstable(
&self,
reason: CompilerDesugaringKind,
span: Span
) -> Span
[src]
fn allow_internal_unstable(
&self,
reason: CompilerDesugaringKind,
span: Span
) -> Span
🔬 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?
fn with_anonymous_lifetime_mode<R>(
&mut self,
anonymous_lifetime_mode: AnonymousLifetimeMode,
op: impl FnOnce(&mut Self) -> R
) -> R
[src]
fn with_anonymous_lifetime_mode<R>(
&mut self,
anonymous_lifetime_mode: AnonymousLifetimeMode,
op: impl FnOnce(&mut Self) -> R
) -> R
🔬 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?
fn collect_in_band_defs<T, F>(
&mut self,
parent_id: DefId,
anonymous_lifetime_mode: AnonymousLifetimeMode,
f: F
) -> (Vec<GenericParam>, T) where
F: FnOnce(&mut LoweringContext) -> (Vec<GenericParam>, T),
[src]
fn collect_in_band_defs<T, F>(
&mut self,
parent_id: DefId,
anonymous_lifetime_mode: AnonymousLifetimeMode,
f: F
) -> (Vec<GenericParam>, T) where
F: FnOnce(&mut LoweringContext) -> (Vec<GenericParam>, T),
🔬 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?
Creates a new hir::GenericParam for every new lifetime and
type parameter encountered while evaluating f
. Definitions
are created with the parent provided. If no parent_id
is
provided, no definitions will be returned.
Presuming that in-band lifetimes are enabled, then
self.anonymous_lifetime_mode
will be updated to match the
argument while f
is running (and restored afterwards).
fn maybe_collect_in_band_lifetime(&mut self, ident: Ident)
[src]
fn maybe_collect_in_band_lifetime(&mut self, ident: Ident)
🔬 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?
When there is a reference to some lifetime 'a
, and in-band
lifetimes are enabled, then we want to push that lifetime into
the vector of names to define later. In that case, it will get
added to the appropriate generics.
fn collect_fresh_in_band_lifetime(&mut self, span: Span) -> ParamName
[src]
fn collect_fresh_in_band_lifetime(&mut self, span: Span) -> ParamName
🔬 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?
When we have either an elided or '_
lifetime in an impl
header, we convert it to
fn with_in_scope_lifetime_defs<T, F>(
&mut self,
params: &[GenericParam],
f: F
) -> T where
F: FnOnce(&mut LoweringContext) -> T,
[src]
fn with_in_scope_lifetime_defs<T, F>(
&mut self,
params: &[GenericParam],
f: F
) -> T where
F: FnOnce(&mut LoweringContext) -> T,
🔬 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?
fn with_parent_impl_lifetime_defs<T, F>(
&mut self,
params: &HirVec<GenericParam>,
f: F
) -> T where
F: FnOnce(&mut LoweringContext) -> T,
[src]
fn with_parent_impl_lifetime_defs<T, F>(
&mut self,
params: &HirVec<GenericParam>,
f: F
) -> T where
F: FnOnce(&mut LoweringContext) -> T,
🔬 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?
fn add_in_band_defs<F, T>(
&mut self,
generics: &Generics,
parent_id: DefId,
anonymous_lifetime_mode: AnonymousLifetimeMode,
f: F
) -> (Generics, T) where
F: FnOnce(&mut LoweringContext, &mut Vec<GenericParam>) -> T,
[src]
fn add_in_band_defs<F, T>(
&mut self,
generics: &Generics,
parent_id: DefId,
anonymous_lifetime_mode: AnonymousLifetimeMode,
f: F
) -> (Generics, T) where
F: FnOnce(&mut LoweringContext, &mut Vec<GenericParam>) -> T,
🔬 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?
Appends in-band lifetime defs and argument-position impl Trait
defs to the existing set of generics.
Presuming that in-band lifetimes are enabled, then
self.anonymous_lifetime_mode
will be updated to match the
argument while f
is running (and restored afterwards).
fn with_catch_scope<T, F>(&mut self, catch_id: NodeId, f: F) -> T where
F: FnOnce(&mut LoweringContext) -> T,
[src]
fn with_catch_scope<T, F>(&mut self, catch_id: NodeId, f: F) -> T where
F: FnOnce(&mut LoweringContext) -> T,
🔬 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?
fn make_async_expr(
&mut self,
capture_clause: CaptureBy,
closure_node_id: NodeId,
ret_ty: Option<&Ty>,
body: impl FnOnce(&mut LoweringContext) -> Expr
) -> ExprKind
[src]
fn make_async_expr(
&mut self,
capture_clause: CaptureBy,
closure_node_id: NodeId,
ret_ty: Option<&Ty>,
body: impl FnOnce(&mut LoweringContext) -> Expr
) -> ExprKind
🔬 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?
fn lower_body<F>(&mut self, decl: Option<&FnDecl>, f: F) -> BodyId where
F: FnOnce(&mut LoweringContext) -> Expr,
[src]
fn lower_body<F>(&mut self, decl: Option<&FnDecl>, f: F) -> BodyId where
F: FnOnce(&mut LoweringContext) -> Expr,
🔬 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?
fn with_loop_scope<T, F>(&mut self, loop_id: NodeId, f: F) -> T where
F: FnOnce(&mut LoweringContext) -> T,
[src]
fn with_loop_scope<T, F>(&mut self, loop_id: NodeId, f: F) -> T where
F: FnOnce(&mut LoweringContext) -> T,
🔬 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?
fn with_loop_condition_scope<T, F>(&mut self, f: F) -> T where
F: FnOnce(&mut LoweringContext) -> T,
[src]
fn with_loop_condition_scope<T, F>(&mut self, f: F) -> T where
F: FnOnce(&mut LoweringContext) -> T,
🔬 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?
fn with_new_scopes<T, F>(&mut self, f: F) -> T where
F: FnOnce(&mut LoweringContext) -> T,
[src]
fn with_new_scopes<T, F>(&mut self, f: F) -> T where
F: FnOnce(&mut LoweringContext) -> T,
🔬 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?
fn def_key(&mut self, id: DefId) -> DefKey
[src]
fn def_key(&mut self, id: DefId) -> DefKey
🔬 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?
fn lower_label(&mut self, label: Option<Label>) -> Option<Label>
[src]
fn lower_label(&mut self, label: Option<Label>) -> Option<Label>
🔬 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?
fn lower_loop_destination(
&mut self,
destination: Option<(NodeId, Label)>
) -> Destination
[src]
fn lower_loop_destination(
&mut self,
destination: Option<(NodeId, Label)>
) -> Destination
🔬 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?
fn lower_attrs(&mut self, attrs: &[Attribute]) -> HirVec<Attribute>
[src]
fn lower_attrs(&mut self, attrs: &[Attribute]) -> HirVec<Attribute>
🔬 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?
fn lower_attr(&mut self, attr: &Attribute) -> Attribute
[src]
fn lower_attr(&mut self, attr: &Attribute) -> Attribute
🔬 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?
fn lower_token_stream(&mut self, tokens: TokenStream) -> TokenStream
[src]
fn lower_token_stream(&mut self, tokens: TokenStream) -> TokenStream
🔬 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?
fn lower_token_tree(&mut self, tree: TokenTree) -> TokenStream
[src]
fn lower_token_tree(&mut self, tree: TokenTree) -> TokenStream
🔬 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?
fn lower_token(&mut self, token: Token, span: Span) -> TokenStream
[src]
fn lower_token(&mut self, token: Token, span: Span) -> TokenStream
🔬 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?
fn lower_arm(&mut self, arm: &Arm) -> Arm
[src]
fn lower_arm(&mut self, arm: &Arm) -> Arm
🔬 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?
fn lower_ty_binding(
&mut self,
b: &TypeBinding,
itctx: ImplTraitContext
) -> TypeBinding
[src]
fn lower_ty_binding(
&mut self,
b: &TypeBinding,
itctx: ImplTraitContext
) -> TypeBinding
🔬 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?
fn lower_generic_arg(
&mut self,
arg: &GenericArg,
itctx: ImplTraitContext
) -> GenericArg
[src]
fn lower_generic_arg(
&mut self,
arg: &GenericArg,
itctx: ImplTraitContext
) -> GenericArg
🔬 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?
fn lower_ty(&mut self, t: &Ty, itctx: ImplTraitContext) -> P<Ty>
[src]
fn lower_ty(&mut self, t: &Ty, itctx: ImplTraitContext) -> P<Ty>
🔬 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?
fn lower_ty_direct(&mut self, t: &Ty, itctx: ImplTraitContext) -> Ty
[src]
fn lower_ty_direct(&mut self, t: &Ty, itctx: ImplTraitContext) -> Ty
🔬 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?
fn lower_existential_impl_trait(
&mut self,
span: Span,
fn_def_id: DefId,
exist_ty_node_id: NodeId,
lower_bounds: impl FnOnce(&mut LoweringContext) -> GenericBounds
) -> TyKind
[src]
fn lower_existential_impl_trait(
&mut self,
span: Span,
fn_def_id: DefId,
exist_ty_node_id: NodeId,
lower_bounds: impl FnOnce(&mut LoweringContext) -> GenericBounds
) -> TyKind
🔬 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?
fn lifetimes_from_impl_trait_bounds(
&mut self,
exist_ty_id: NodeId,
parent_index: DefIndex,
bounds: &GenericBounds
) -> (HirVec<GenericArg>, HirVec<GenericParam>)
[src]
fn lifetimes_from_impl_trait_bounds(
&mut self,
exist_ty_id: NodeId,
parent_index: DefIndex,
bounds: &GenericBounds
) -> (HirVec<GenericArg>, HirVec<GenericParam>)
🔬 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?
fn lower_foreign_mod(&mut self, fm: &ForeignMod) -> ForeignMod
[src]
fn lower_foreign_mod(&mut self, fm: &ForeignMod) -> ForeignMod
🔬 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?
fn lower_global_asm(&mut self, ga: &GlobalAsm) -> P<GlobalAsm>
[src]
fn lower_global_asm(&mut self, ga: &GlobalAsm) -> P<GlobalAsm>
🔬 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?
fn lower_variant(&mut self, v: &Variant) -> Variant
[src]
fn lower_variant(&mut self, v: &Variant) -> Variant
🔬 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?
fn lower_qpath(
&mut self,
id: NodeId,
qself: &Option<QSelf>,
p: &Path,
param_mode: ParamMode,
itctx: ImplTraitContext
) -> QPath
[src]
fn lower_qpath(
&mut self,
id: NodeId,
qself: &Option<QSelf>,
p: &Path,
param_mode: ParamMode,
itctx: ImplTraitContext
) -> QPath
🔬 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?
fn lower_path_extra(
&mut self,
def: Def,
p: &Path,
ident: Option<Ident>,
param_mode: ParamMode
) -> Path
[src]
fn lower_path_extra(
&mut self,
def: Def,
p: &Path,
ident: Option<Ident>,
param_mode: ParamMode
) -> Path
🔬 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?
fn lower_path(&mut self, id: NodeId, p: &Path, param_mode: ParamMode) -> Path
[src]
fn lower_path(&mut self, id: NodeId, p: &Path, param_mode: ParamMode) -> Path
🔬 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?
fn lower_path_segment(
&mut self,
path_span: Span,
segment: &PathSegment,
param_mode: ParamMode,
expected_lifetimes: usize,
parenthesized_generic_args: ParenthesizedGenericArgs,
itctx: ImplTraitContext
) -> PathSegment
[src]
fn lower_path_segment(
&mut self,
path_span: Span,
segment: &PathSegment,
param_mode: ParamMode,
expected_lifetimes: usize,
parenthesized_generic_args: ParenthesizedGenericArgs,
itctx: ImplTraitContext
) -> PathSegment
🔬 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?
fn lower_angle_bracketed_parameter_data(
&mut self,
data: &AngleBracketedArgs,
param_mode: ParamMode,
itctx: ImplTraitContext
) -> (GenericArgs, bool)
[src]
fn lower_angle_bracketed_parameter_data(
&mut self,
data: &AngleBracketedArgs,
param_mode: ParamMode,
itctx: ImplTraitContext
) -> (GenericArgs, bool)
🔬 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?
fn lower_parenthesized_parameter_data(
&mut self,
data: &ParenthesisedArgs
) -> (GenericArgs, bool)
[src]
fn lower_parenthesized_parameter_data(
&mut self,
data: &ParenthesisedArgs
) -> (GenericArgs, bool)
🔬 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?
fn lower_local(&mut self, l: &Local) -> P<Local>
[src]
fn lower_local(&mut self, l: &Local) -> P<Local>
🔬 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?
fn lower_mutability(&mut self, m: Mutability) -> Mutability
[src]
fn lower_mutability(&mut self, m: Mutability) -> Mutability
🔬 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?
fn lower_arg(&mut self, arg: &Arg) -> Arg
[src]
fn lower_arg(&mut self, arg: &Arg) -> Arg
🔬 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?
fn lower_fn_args_to_names(&mut self, decl: &FnDecl) -> HirVec<Ident>
[src]
fn lower_fn_args_to_names(&mut self, decl: &FnDecl) -> HirVec<Ident>
🔬 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?
fn lower_fn_decl(
&mut self,
decl: &FnDecl,
in_band_ty_params: Option<(DefId, &mut Vec<GenericParam>)>,
impl_trait_return_allow: bool,
make_ret_async: Option<NodeId>
) -> P<FnDecl>
[src]
fn lower_fn_decl(
&mut self,
decl: &FnDecl,
in_band_ty_params: Option<(DefId, &mut Vec<GenericParam>)>,
impl_trait_return_allow: bool,
make_ret_async: Option<NodeId>
) -> P<FnDecl>
🔬 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?
fn lower_async_fn_ret_ty(
&mut self,
inputs: &[Ty],
output: &FunctionRetTy,
fn_def_id: DefId,
return_impl_trait_id: NodeId
) -> FunctionRetTy
[src]
fn lower_async_fn_ret_ty(
&mut self,
inputs: &[Ty],
output: &FunctionRetTy,
fn_def_id: DefId,
return_impl_trait_id: NodeId
) -> FunctionRetTy
🔬 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?
fn lower_param_bound(
&mut self,
tpb: &GenericBound,
itctx: ImplTraitContext
) -> GenericBound
[src]
fn lower_param_bound(
&mut self,
tpb: &GenericBound,
itctx: ImplTraitContext
) -> GenericBound
🔬 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?
fn lower_lifetime(&mut self, l: &Lifetime) -> Lifetime
[src]
fn lower_lifetime(&mut self, l: &Lifetime) -> Lifetime
🔬 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?
fn new_named_lifetime(
&mut self,
id: NodeId,
span: Span,
name: LifetimeName
) -> Lifetime
[src]
fn new_named_lifetime(
&mut self,
id: NodeId,
span: Span,
name: LifetimeName
) -> Lifetime
🔬 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?
fn lower_generic_params(
&mut self,
params: &[GenericParam],
add_bounds: &NodeMap<Vec<GenericBound>>,
itctx: ImplTraitContext
) -> HirVec<GenericParam>
[src]
fn lower_generic_params(
&mut self,
params: &[GenericParam],
add_bounds: &NodeMap<Vec<GenericBound>>,
itctx: ImplTraitContext
) -> HirVec<GenericParam>
🔬 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?
fn lower_generic_param(
&mut self,
param: &GenericParam,
add_bounds: &NodeMap<Vec<GenericBound>>,
itctx: ImplTraitContext
) -> GenericParam
[src]
fn lower_generic_param(
&mut self,
param: &GenericParam,
add_bounds: &NodeMap<Vec<GenericBound>>,
itctx: ImplTraitContext
) -> GenericParam
🔬 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?
fn lower_generics(
&mut self,
generics: &Generics,
itctx: ImplTraitContext
) -> Generics
[src]
fn lower_generics(
&mut self,
generics: &Generics,
itctx: ImplTraitContext
) -> Generics
🔬 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?
fn lower_where_clause(&mut self, wc: &WhereClause) -> WhereClause
[src]
fn lower_where_clause(&mut self, wc: &WhereClause) -> WhereClause
🔬 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?
fn lower_where_predicate(&mut self, pred: &WherePredicate) -> WherePredicate
[src]
fn lower_where_predicate(&mut self, pred: &WherePredicate) -> WherePredicate
🔬 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?
fn lower_variant_data(&mut self, vdata: &VariantData) -> VariantData
[src]
fn lower_variant_data(&mut self, vdata: &VariantData) -> VariantData
🔬 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?
fn lower_trait_ref(&mut self, p: &TraitRef, itctx: ImplTraitContext) -> TraitRef
[src]
fn lower_trait_ref(&mut self, p: &TraitRef, itctx: ImplTraitContext) -> TraitRef
🔬 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?
fn lower_poly_trait_ref(
&mut self,
p: &PolyTraitRef,
itctx: ImplTraitContext
) -> PolyTraitRef
[src]
fn lower_poly_trait_ref(
&mut self,
p: &PolyTraitRef,
itctx: ImplTraitContext
) -> PolyTraitRef
🔬 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?
fn lower_struct_field(
&mut self,
(index, f): (usize, &StructField)
) -> StructField
[src]
fn lower_struct_field(
&mut self,
(index, f): (usize, &StructField)
) -> StructField
🔬 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?
fn lower_field(&mut self, f: &Field) -> Field
[src]
fn lower_field(&mut self, f: &Field) -> Field
🔬 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?
fn lower_mt(&mut self, mt: &MutTy, itctx: ImplTraitContext) -> MutTy
[src]
fn lower_mt(&mut self, mt: &MutTy, itctx: ImplTraitContext) -> MutTy
🔬 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?
fn lower_param_bounds(
&mut self,
bounds: &[GenericBound],
itctx: ImplTraitContext
) -> GenericBounds
[src]
fn lower_param_bounds(
&mut self,
bounds: &[GenericBound],
itctx: ImplTraitContext
) -> GenericBounds
🔬 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?
fn lower_block(&mut self, b: &Block, targeted_by_break: bool) -> P<Block>
[src]
fn lower_block(&mut self, b: &Block, targeted_by_break: bool) -> P<Block>
🔬 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?
fn lower_async_body(
&mut self,
decl: &FnDecl,
asyncness: IsAsync,
body: &Block
) -> BodyId
[src]
fn lower_async_body(
&mut self,
decl: &FnDecl,
asyncness: IsAsync,
body: &Block
) -> BodyId
🔬 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?
fn lower_item_kind(
&mut self,
id: NodeId,
name: &mut Name,
attrs: &HirVec<Attribute>,
vis: &mut Visibility,
i: &ItemKind
) -> ItemKind
[src]
fn lower_item_kind(
&mut self,
id: NodeId,
name: &mut Name,
attrs: &HirVec<Attribute>,
vis: &mut Visibility,
i: &ItemKind
) -> ItemKind
🔬 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?
fn lower_use_tree(
&mut self,
tree: &UseTree,
prefix: &Path,
id: NodeId,
vis: &mut Visibility,
name: &mut Name,
attrs: &HirVec<Attribute>
) -> ItemKind
[src]
fn lower_use_tree(
&mut self,
tree: &UseTree,
prefix: &Path,
id: NodeId,
vis: &mut Visibility,
name: &mut Name,
attrs: &HirVec<Attribute>
) -> ItemKind
🔬 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?
fn lower_trait_item(&mut self, i: &TraitItem) -> TraitItem
[src]
fn lower_trait_item(&mut self, i: &TraitItem) -> TraitItem
🔬 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?
fn lower_trait_item_ref(&mut self, i: &TraitItem) -> TraitItemRef
[src]
fn lower_trait_item_ref(&mut self, i: &TraitItem) -> TraitItemRef
🔬 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?
fn lower_impl_item(&mut self, i: &ImplItem) -> ImplItem
[src]
fn lower_impl_item(&mut self, i: &ImplItem) -> ImplItem
🔬 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?
fn lower_impl_item_ref(&mut self, i: &ImplItem) -> ImplItemRef
[src]
fn lower_impl_item_ref(&mut self, i: &ImplItem) -> ImplItemRef
🔬 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?
fn lower_mod(&mut self, m: &Mod) -> Mod
[src]
fn lower_mod(&mut self, m: &Mod) -> Mod
🔬 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?
fn lower_impl_trait_ids(
&mut self,
decl: &FnDecl,
header: &FnHeader,
ids: &mut OneVector<ItemId>
)
[src]
fn lower_impl_trait_ids(
&mut self,
decl: &FnDecl,
header: &FnHeader,
ids: &mut OneVector<ItemId>
)
🔬 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?
Lowers impl Trait
items and appends them to the list
fn lower_item_id(&mut self, i: &Item) -> OneVector<ItemId>
[src]
fn lower_item_id(&mut self, i: &Item) -> OneVector<ItemId>
🔬 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?
fn lower_item_id_use_tree(
&mut self,
tree: &UseTree,
base_id: NodeId,
vec: &mut OneVector<ItemId>
)
[src]
fn lower_item_id_use_tree(
&mut self,
tree: &UseTree,
base_id: NodeId,
vec: &mut OneVector<ItemId>
)
🔬 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?
pub fn lower_item(&mut self, i: &Item) -> Option<Item>
[src]
pub fn lower_item(&mut self, i: &Item) -> Option<Item>
🔬 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?
fn lower_foreign_item(&mut self, i: &ForeignItem) -> ForeignItem
[src]
fn lower_foreign_item(&mut self, i: &ForeignItem) -> ForeignItem
🔬 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?
fn lower_method_sig(
&mut self,
generics: &Generics,
sig: &MethodSig,
fn_def_id: DefId,
impl_trait_return_allow: bool,
is_async: Option<NodeId>
) -> (Generics, MethodSig)
[src]
fn lower_method_sig(
&mut self,
generics: &Generics,
sig: &MethodSig,
fn_def_id: DefId,
impl_trait_return_allow: bool,
is_async: Option<NodeId>
) -> (Generics, MethodSig)
🔬 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?
fn lower_is_auto(&mut self, a: IsAuto) -> IsAuto
[src]
fn lower_is_auto(&mut self, a: IsAuto) -> IsAuto
🔬 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?
fn lower_fn_header(&mut self, h: FnHeader) -> FnHeader
[src]
fn lower_fn_header(&mut self, h: FnHeader) -> FnHeader
🔬 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?
fn lower_unsafety(&mut self, u: Unsafety) -> Unsafety
[src]
fn lower_unsafety(&mut self, u: Unsafety) -> Unsafety
🔬 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?
fn lower_constness(&mut self, c: Spanned<Constness>) -> Constness
[src]
fn lower_constness(&mut self, c: Spanned<Constness>) -> Constness
🔬 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?
fn lower_asyncness(&mut self, a: IsAsync) -> IsAsync
[src]
fn lower_asyncness(&mut self, a: IsAsync) -> IsAsync
🔬 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?
fn lower_unop(&mut self, u: UnOp) -> UnOp
[src]
fn lower_unop(&mut self, u: UnOp) -> UnOp
🔬 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?
fn lower_binop(&mut self, b: BinOp) -> BinOp
[src]
fn lower_binop(&mut self, b: BinOp) -> BinOp
🔬 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?
fn lower_pat(&mut self, p: &Pat) -> P<Pat>
[src]
fn lower_pat(&mut self, p: &Pat) -> P<Pat>
🔬 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?
fn lower_range_end(&mut self, e: &RangeEnd) -> RangeEnd
[src]
fn lower_range_end(&mut self, e: &RangeEnd) -> RangeEnd
🔬 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?
fn lower_anon_const(&mut self, c: &AnonConst) -> AnonConst
[src]
fn lower_anon_const(&mut self, c: &AnonConst) -> AnonConst
🔬 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?
fn lower_expr(&mut self, e: &Expr) -> Expr
[src]
fn lower_expr(&mut self, e: &Expr) -> Expr
🔬 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?
fn lower_stmt(&mut self, s: &Stmt) -> OneVector<Stmt>
[src]
fn lower_stmt(&mut self, s: &Stmt) -> OneVector<Stmt>
🔬 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?
fn lower_capture_clause(&mut self, c: CaptureBy) -> CaptureClause
[src]
fn lower_capture_clause(&mut self, c: CaptureBy) -> CaptureClause
🔬 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?
fn lower_visibility(
&mut self,
v: &Visibility,
explicit_owner: Option<NodeId>
) -> Visibility
[src]
fn lower_visibility(
&mut self,
v: &Visibility,
explicit_owner: Option<NodeId>
) -> Visibility
🔬 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?
If an explicit_owner
is given, this method allocates the HirId
in
the address space of that item instead of the item currently being
lowered. This can happen during lower_impl_item_ref()
where we need to
lower a Visibility
value although we haven't lowered the owning
ImplItem
in question yet.
fn lower_defaultness(&self, d: Defaultness, has_value: bool) -> Defaultness
[src]
fn lower_defaultness(&self, d: Defaultness, has_value: bool) -> Defaultness
🔬 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?
fn lower_block_check_mode(&mut self, b: &BlockCheckMode) -> BlockCheckMode
[src]
fn lower_block_check_mode(&mut self, b: &BlockCheckMode) -> BlockCheckMode
🔬 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?
fn lower_binding_mode(&mut self, b: &BindingMode) -> BindingAnnotation
[src]
fn lower_binding_mode(&mut self, b: &BindingMode) -> BindingAnnotation
🔬 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?
fn lower_unsafe_source(&mut self, u: UnsafeSource) -> UnsafeSource
[src]
fn lower_unsafe_source(&mut self, u: UnsafeSource) -> UnsafeSource
🔬 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?
fn lower_impl_polarity(&mut self, i: ImplPolarity) -> ImplPolarity
[src]
fn lower_impl_polarity(&mut self, i: ImplPolarity) -> ImplPolarity
🔬 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?
fn lower_trait_bound_modifier(
&mut self,
f: TraitBoundModifier
) -> TraitBoundModifier
[src]
fn lower_trait_bound_modifier(
&mut self,
f: TraitBoundModifier
) -> TraitBoundModifier
🔬 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?
fn arm(&mut self, pats: HirVec<P<Pat>>, expr: P<Expr>) -> Arm
[src]
fn arm(&mut self, pats: HirVec<P<Pat>>, expr: P<Expr>) -> Arm
🔬 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?
fn field(&mut self, ident: Ident, expr: P<Expr>, span: Span) -> Field
[src]
fn field(&mut self, ident: Ident, expr: P<Expr>, span: Span) -> Field
🔬 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?
fn expr_break(&mut self, span: Span, attrs: ThinVec<Attribute>) -> P<Expr>
[src]
fn expr_break(&mut self, span: Span, attrs: ThinVec<Attribute>) -> P<Expr>
🔬 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?
fn expr_call(&mut self, span: Span, e: P<Expr>, args: HirVec<Expr>) -> Expr
[src]
fn expr_call(&mut self, span: Span, e: P<Expr>, args: HirVec<Expr>) -> Expr
🔬 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?
fn expr_ident(&mut self, span: Span, ident: Ident, binding: NodeId) -> Expr
[src]
fn expr_ident(&mut self, span: Span, ident: Ident, binding: NodeId) -> Expr
🔬 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?
fn expr_ident_with_attrs(
&mut self,
span: Span,
ident: Ident,
binding: NodeId,
attrs: ThinVec<Attribute>
) -> Expr
[src]
fn expr_ident_with_attrs(
&mut self,
span: Span,
ident: Ident,
binding: NodeId,
attrs: ThinVec<Attribute>
) -> Expr
🔬 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?
fn expr_mut_addr_of(&mut self, span: Span, e: P<Expr>) -> Expr
[src]
fn expr_mut_addr_of(&mut self, span: Span, e: P<Expr>) -> Expr
🔬 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?
fn expr_std_path(
&mut self,
span: Span,
components: &[&str],
params: Option<P<GenericArgs>>,
attrs: ThinVec<Attribute>
) -> Expr
[src]
fn expr_std_path(
&mut self,
span: Span,
components: &[&str],
params: Option<P<GenericArgs>>,
attrs: ThinVec<Attribute>
) -> Expr
🔬 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?
fn expr_match(
&mut self,
span: Span,
arg: P<Expr>,
arms: HirVec<Arm>,
source: MatchSource
) -> Expr
[src]
fn expr_match(
&mut self,
span: Span,
arg: P<Expr>,
arms: HirVec<Arm>,
source: MatchSource
) -> Expr
🔬 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?
fn expr_block(&mut self, b: P<Block>, attrs: ThinVec<Attribute>) -> Expr
[src]
fn expr_block(&mut self, b: P<Block>, attrs: ThinVec<Attribute>) -> Expr
🔬 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?
fn expr_tuple(&mut self, sp: Span, exprs: HirVec<Expr>) -> P<Expr>
[src]
fn expr_tuple(&mut self, sp: Span, exprs: HirVec<Expr>) -> P<Expr>
🔬 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?
fn expr(
&mut self,
span: Span,
node: ExprKind,
attrs: ThinVec<Attribute>
) -> Expr
[src]
fn expr(
&mut self,
span: Span,
node: ExprKind,
attrs: ThinVec<Attribute>
) -> Expr
🔬 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?
fn stmt_let_pat(
&mut self,
sp: Span,
ex: Option<P<Expr>>,
pat: P<Pat>,
source: LocalSource
) -> Stmt
[src]
fn stmt_let_pat(
&mut self,
sp: Span,
ex: Option<P<Expr>>,
pat: P<Pat>,
source: LocalSource
) -> Stmt
🔬 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?
fn stmt_let(
&mut self,
sp: Span,
mutbl: bool,
ident: Ident,
ex: P<Expr>
) -> (Stmt, NodeId)
[src]
fn stmt_let(
&mut self,
sp: Span,
mutbl: bool,
ident: Ident,
ex: P<Expr>
) -> (Stmt, NodeId)
🔬 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?
fn block_expr(&mut self, expr: P<Expr>) -> Block
[src]
fn block_expr(&mut self, expr: P<Expr>) -> Block
🔬 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?
fn block_all(
&mut self,
span: Span,
stmts: HirVec<Stmt>,
expr: Option<P<Expr>>
) -> Block
[src]
fn block_all(
&mut self,
span: Span,
stmts: HirVec<Stmt>,
expr: Option<P<Expr>>
) -> Block
🔬 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?
fn pat_ok(&mut self, span: Span, pat: P<Pat>) -> P<Pat>
[src]
fn pat_ok(&mut self, span: Span, pat: P<Pat>) -> P<Pat>
🔬 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?
fn pat_err(&mut self, span: Span, pat: P<Pat>) -> P<Pat>
[src]
fn pat_err(&mut self, span: Span, pat: P<Pat>) -> P<Pat>
🔬 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?
fn pat_some(&mut self, span: Span, pat: P<Pat>) -> P<Pat>
[src]
fn pat_some(&mut self, span: Span, pat: P<Pat>) -> P<Pat>
🔬 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?
fn pat_none(&mut self, span: Span) -> P<Pat>
[src]
fn pat_none(&mut self, span: Span) -> P<Pat>
🔬 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?
fn pat_std_enum(
&mut self,
span: Span,
components: &[&str],
subpats: HirVec<P<Pat>>
) -> P<Pat>
[src]
fn pat_std_enum(
&mut self,
span: Span,
components: &[&str],
subpats: HirVec<P<Pat>>
) -> P<Pat>
🔬 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?
fn pat_ident(&mut self, span: Span, ident: Ident) -> P<Pat>
[src]
fn pat_ident(&mut self, span: Span, ident: Ident) -> P<Pat>
🔬 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?
fn pat_ident_binding_mode(
&mut self,
span: Span,
ident: Ident,
bm: BindingAnnotation
) -> P<Pat>
[src]
fn pat_ident_binding_mode(
&mut self,
span: Span,
ident: Ident,
bm: BindingAnnotation
) -> P<Pat>
🔬 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?
fn pat_wild(&mut self, span: Span) -> P<Pat>
[src]
fn pat_wild(&mut self, span: Span) -> P<Pat>
🔬 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?
fn pat(&mut self, span: Span, pat: PatKind) -> P<Pat>
[src]
fn pat(&mut self, span: Span, pat: PatKind) -> P<Pat>
🔬 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?
fn std_path(
&mut self,
span: Span,
components: &[&str],
params: Option<P<GenericArgs>>,
is_value: bool
) -> Path
[src]
fn std_path(
&mut self,
span: Span,
components: &[&str],
params: Option<P<GenericArgs>>,
is_value: bool
) -> Path
🔬 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?
Given suffix ["b","c","d"], returns path ::std::b::c::d
when
fld.cx.use_std
, and ::core::b::c::d
otherwise.
The path is also resolved according to is_value
.
fn ty_path(&mut self, id: LoweredNodeId, span: Span, qpath: QPath) -> Ty
[src]
fn ty_path(&mut self, id: LoweredNodeId, span: Span, qpath: QPath) -> Ty
🔬 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?
fn elided_ref_lifetime(&mut self, span: Span) -> Lifetime
[src]
fn elided_ref_lifetime(&mut self, span: Span) -> Lifetime
🔬 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?
Invoked to create the lifetime argument for a type &T
with no explicit lifetime.
fn elided_path_lifetimes(&mut self, span: Span, count: usize) -> P<[Lifetime]>
[src]
fn elided_path_lifetimes(&mut self, span: Span, count: usize) -> P<[Lifetime]>
🔬 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?
Invoked to create the lifetime argument(s) for a path like
std::cell::Ref<T>
; note that implicit lifetimes in these
sorts of cases are deprecated. This may therefore report a warning or an
error, depending on the mode.
fn elided_dyn_bound(&mut self, span: Span) -> Lifetime
[src]
fn elided_dyn_bound(&mut self, span: Span) -> Lifetime
🔬 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?
Invoked to create the lifetime argument(s) for an elided trait object
bound, like the bound in Box<dyn Debug>
. This method is not invoked
when the bound is written, even if it is written with '_
like in
Box<dyn Debug + '_>
. In those cases, lower_lifetime
is invoked.
fn new_implicit_lifetime(&mut self, span: Span) -> Lifetime
[src]
fn new_implicit_lifetime(&mut self, span: Span) -> Lifetime
🔬 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?
fn maybe_lint_bare_trait(&self, span: Span, id: NodeId, is_global: bool)
[src]
fn maybe_lint_bare_trait(&self, span: Span, id: NodeId, is_global: bool)
🔬 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?
fn wrap_in_try_constructor(
&mut self,
method: &'static str,
e: Expr,
unstable_span: Span
) -> P<Expr>
[src]
fn wrap_in_try_constructor(
&mut self,
method: &'static str,
e: Expr,
unstable_span: Span
) -> P<Expr>
🔬 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?
fn check_self_struct_ctor_feature(&self, qp: &QPath)
[src]
fn check_self_struct_ctor_feature(&self, qp: &QPath)
🔬 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?
Auto Trait Implementations
impl<'a> !Send for LoweringContext<'a>
impl<'a> !Send for LoweringContext<'a>
impl<'a> !Sync for LoweringContext<'a>
impl<'a> !Sync for LoweringContext<'a>
Blanket Implementations
impl<T> MaybeResult for T
[src]
impl<T> MaybeResult for T
fn from_ok(T) -> T
[src]
fn from_ok(T) -> T
🔬 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?
fn map_same<F>(Self, F) -> T where
F: FnOnce(T) -> T,
[src]
fn map_same<F>(Self, F) -> T where
F: FnOnce(T) -> T,
🔬 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?
impl<'a, T> Captures for T where
T: ?Sized,
[src]
impl<'a, T> Captures for T where
T: ?Sized,
impl<T> From for T
[src]
impl<T> From for T
impl<T, U> Into for T where
U: From<T>,
[src]
impl<T, U> Into for T where
U: From<T>,
impl<T, U> TryFrom for T where
T: From<U>,
[src]
impl<T, U> TryFrom for T where
T: From<U>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
try_from
)Performs the conversion.
impl<T> Borrow for T where
T: ?Sized,
[src]
impl<T> Borrow for T where
T: ?Sized,
ⓘImportant traits for &'a mut Rfn borrow(&self) -> &T
[src]
fn borrow(&self) -> &T
Immutably borrows from an owned value. Read more
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
try_from
)Performs the conversion.
impl<T> BorrowMut for T where
T: ?Sized,
[src]
impl<T> BorrowMut for T where
T: ?Sized,
ⓘImportant traits for &'a mut Rfn borrow_mut(&mut self) -> &mut T
[src]
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Any for T where
T: 'static + ?Sized,
[src]
impl<T> Any for T where
T: 'static + ?Sized,
fn get_type_id(&self) -> TypeId
[src]
fn get_type_id(&self) -> TypeId
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static
Gets the TypeId
of self
. Read more
impl<E> SpecializationError for E
[src]
impl<E> SpecializationError for E
fn not_found<S, T>(trait_name: &'static str, method_name: &'static str) -> E where
T: ?Sized,
[src]
fn not_found<S, T>(trait_name: &'static str, method_name: &'static str) -> E where
T: ?Sized,
🔬 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?
Create an error for a missing method specialization. Defaults to panicking with type, trait & method names. S
is the encoder/decoder state type, T
is the type being encoded/decoded, and the arguments are the names of the trait and method that should've been overridden. Read more
impl<T> Erased for T
[src]
impl<T> Erased for T
impl<T> Send for T where
T: ?Sized,
[src]
impl<T> Send for T where
T: ?Sized,
impl<T> Sync for T where
T: ?Sized,
[src]
impl<T> Sync for T where
T: ?Sized,
impl<T> Erased for T
impl<T> Erased for T