[−][src]Struct rustc::middle::resolve_lifetime::LifetimeContext
🔬 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
tcx: TyCtxt<'a, 'tcx, 'tcx>
🔬 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?
map: &'a mut NamedRegionMap
🔬 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?
scope: &'a Scope<'a>
🔬 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_ref_hack: 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?
Deep breath. Our representation for poly trait refs contains a single
binder and thus we only allow a single level of quantification. However,
the syntax of Rust permits quantification in two places, e.g., T: for <'a> Foo<'a>
and for <'a, 'b> &'b T: Foo<'a>
. In order to get the de Bruijn indices
correct when representing these constraints, we should only introduce one
scope. However, we want to support both locations for the quantifier and
during lifetime resolution we want precise information (so we can't
desugar in an earlier phase).
SO, if we encounter a quantifier at the outer scope, we set trait_ref_hack to true (and introduce a scope), and then if we encounter a quantifier at the inner scope, we error. If trait_ref_hack is false, then we introduce the scope at the inner quantifier.
I'm sorry.
is_in_fn_syntax: 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?
Used to disallow the use of in-band lifetimes in fn
or Fn
syntax.
labels_in_fn: 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?
List of labels in the function/method currently under analysis.
xcrate_object_lifetime_defaults: DefIdMap<Vec<ObjectLifetimeDefault>>
🔬 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?
Cache for cross-crate per-definition object lifetime defaults.
lifetime_uses: &'a mut DefIdMap<LifetimeUseSet<'tcx>>
🔬 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, 'tcx> LifetimeContext<'a, 'tcx>
[src]
impl<'a, 'tcx> LifetimeContext<'a, 'tcx>
fn hack<F>(&mut self, f: F) where
F: for<'b> FnOnce(&mut LifetimeContext<'b, 'tcx>),
[src]
fn hack<F>(&mut self, f: F) where
F: for<'b> FnOnce(&mut LifetimeContext<'b, 'tcx>),
🔬 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<F>(&mut self, wrap_scope: Scope, f: F) where
F: for<'b> FnOnce(&'a Scope<'a>, &mut LifetimeContext<'b, 'tcx>),
[src]
fn with<F>(&mut self, wrap_scope: Scope, f: F) where
F: for<'b> FnOnce(&'a Scope<'a>, &mut LifetimeContext<'b, 'tcx>),
🔬 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_uses_for_lifetimes_defined_by_scope(&mut self)
[src]
fn check_uses_for_lifetimes_defined_by_scope(&mut self)
🔬 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 visit_early_late<F>(
&mut self,
parent_id: Option<NodeId>,
decl: &'tcx FnDecl,
generics: &'tcx Generics,
walk: F
) where
F: for<'b, 'c> FnOnce(&'b mut LifetimeContext<'c, 'tcx>),
[src]
fn visit_early_late<F>(
&mut self,
parent_id: Option<NodeId>,
decl: &'tcx FnDecl,
generics: &'tcx Generics,
walk: F
) where
F: for<'b, 'c> FnOnce(&'b mut LifetimeContext<'c, 'tcx>),
🔬 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?
Visits self by adding a scope and handling recursive walk over the contents with walk
.
Handles visiting fns and methods. These are a bit complicated because we must distinguish early- vs late-bound lifetime parameters. We do this by checking which lifetimes appear within type bounds; those are early bound lifetimes, and the rest are late bound.
For example:
fn foo<'a,'b,'c,T:Trait<'b>>(...)
Here 'a
and 'c
are late bound but 'b
is early bound. Note that early- and late-bound
lifetimes may be interspersed together.
If early bound lifetimes are present, we separate them into their own list (and likewise
for late bound). They will be numbered sequentially, starting from the lowest index that is
already in scope (for a fn item, that will be 0, but for a method it might not be). Late
bound lifetimes are resolved by name and associated with a binder id (binder_id
), so the
ordering is not important there.
fn next_early_index_helper(&self, only_abstract_type_parent: bool) -> u32
[src]
fn next_early_index_helper(&self, only_abstract_type_parent: bool) -> 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?
fn next_early_index(&self) -> u32
[src]
fn next_early_index(&self) -> 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?
Returns the next index one would use for an early-bound-region if extending the current scope.
fn next_early_index_for_abstract_type(&self) -> u32
[src]
fn next_early_index_for_abstract_type(&self) -> 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?
Returns the next index one would use for an impl Trait
that
is being converted into an abstract type
. This will be the
next early index from the enclosing item, for the most
part. See the abstract_type_parent
field for more info.
fn resolve_lifetime_ref(&mut self, lifetime_ref: &'tcx Lifetime)
[src]
fn resolve_lifetime_ref(&mut self, lifetime_ref: &'tcx 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 visit_segment_args(
&mut self,
def: Def,
depth: usize,
generic_args: &'tcx GenericArgs
)
[src]
fn visit_segment_args(
&mut self,
def: Def,
depth: usize,
generic_args: &'tcx GenericArgs
)
🔬 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 visit_fn_like_elision(
&mut self,
inputs: &'tcx [Ty],
output: Option<&'tcx P<Ty>>
)
[src]
fn visit_fn_like_elision(
&mut self,
inputs: &'tcx [Ty],
output: Option<&'tcx 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 resolve_elided_lifetimes(&mut self, lifetime_refs: Vec<&'tcx Lifetime>)
[src]
fn resolve_elided_lifetimes(&mut self, lifetime_refs: Vec<&'tcx 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 report_elision_failure(
&mut self,
db: &mut DiagnosticBuilder,
params: &[ElisionFailureInfo]
)
[src]
fn report_elision_failure(
&mut self,
db: &mut DiagnosticBuilder,
params: &[ElisionFailureInfo]
)
🔬 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 resolve_object_lifetime_default(&mut self, lifetime_ref: &'tcx Lifetime)
[src]
fn resolve_object_lifetime_default(&mut self, lifetime_ref: &'tcx 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 check_lifetime_params(
&mut self,
old_scope: &'a Scope<'a>,
params: &'tcx [GenericParam]
)
[src]
fn check_lifetime_params(
&mut self,
old_scope: &'a Scope<'a>,
params: &'tcx [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 check_lifetime_param_for_shadowing(
&self,
old_scope: &'a Scope<'a>,
param: &'tcx GenericParam
)
[src]
fn check_lifetime_param_for_shadowing(
&self,
old_scope: &'a Scope<'a>,
param: &'tcx 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 track_lifetime_uses(&self) -> bool
[src]
fn track_lifetime_uses(&self) -> 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?
Returns true if, in the current scope, replacing '_
would be
equivalent to a single-use lifetime.
fn insert_lifetime(&mut self, lifetime_ref: &'tcx Lifetime, def: Region)
[src]
fn insert_lifetime(&mut self, lifetime_ref: &'tcx Lifetime, def: Region)
🔬 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 uninsert_lifetime_on_error(
&mut self,
lifetime_ref: &'tcx Lifetime,
bad_def: Region
)
[src]
fn uninsert_lifetime_on_error(
&mut self,
lifetime_ref: &'tcx Lifetime,
bad_def: Region
)
🔬 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?
Sometimes we resolve a lifetime, but later find that it is an
error (esp. around impl trait). In that case, we remove the
entry into map.defs
so as not to confuse later code.
Trait Implementations
impl<'a, 'tcx> Visitor<'tcx> for LifetimeContext<'a, 'tcx>
[src]
impl<'a, 'tcx> Visitor<'tcx> for LifetimeContext<'a, 'tcx>
fn nested_visit_map<'this>(&'this mut self) -> NestedVisitorMap<'this, 'tcx>
[src]
fn nested_visit_map<'this>(&'this mut self) -> NestedVisitorMap<'this, 'tcx>
🔬 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 default versions of the visit_nested_XXX
routines invoke this method to get a map to use. By selecting an enum variant, you control which kinds of nested HIR are visited; see NestedVisitorMap
for details. By "nested HIR", we are referring to bits of HIR that are not directly embedded within one another but rather indirectly, through a table in the crate. This is done to control dependencies during incremental compilation: the non-inline bits of HIR can be tracked and hashed separately. Read more
fn visit_nested_item(&mut self, _: ItemId)
[src]
fn visit_nested_item(&mut self, _: 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?
Invoked when a nested item is encountered. By default does nothing unless you override nested_visit_map
to return Some(_)
, in which case it will walk the item. You probably don't want to override this method -- instead, override nested_visit_map
or use the "shallow" or "deep" visit patterns described on itemlikevisit::ItemLikeVisitor
. The only reason to override this method is if you want a nested pattern but cannot supply a Map
; see nested_visit_map
for advice. Read more
fn visit_nested_body(&mut self, body: BodyId)
[src]
fn visit_nested_body(&mut self, body: 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?
Invoked to visit the body of a function, method or closure. Like visit_nested_item, does nothing by default unless you override nested_visit_map
to return Some(_)
, in which case it will walk the body. Read more
fn visit_item(&mut self, item: &'tcx Item)
[src]
fn visit_item(&mut self, item: &'tcx 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?
Visit the top-level item and (optionally) nested items / impl items. See visit_nested_item
for details. Read more
fn visit_foreign_item(&mut self, item: &'tcx ForeignItem)
[src]
fn visit_foreign_item(&mut self, item: &'tcx 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 visit_ty(&mut self, ty: &'tcx Ty)
[src]
fn visit_ty(&mut self, ty: &'tcx 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 visit_trait_item(&mut self, trait_item: &'tcx TraitItem)
[src]
fn visit_trait_item(&mut self, trait_item: &'tcx 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 visit_impl_item(&mut self, impl_item: &'tcx ImplItem)
[src]
fn visit_impl_item(&mut self, impl_item: &'tcx 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 visit_lifetime(&mut self, lifetime_ref: &'tcx Lifetime)
[src]
fn visit_lifetime(&mut self, lifetime_ref: &'tcx 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 visit_path(&mut self, path: &'tcx Path, _: HirId)
[src]
fn visit_path(&mut self, path: &'tcx Path, _: 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 visit_fn_decl(&mut self, fd: &'tcx FnDecl)
[src]
fn visit_fn_decl(&mut self, fd: &'tcx 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 visit_generics(&mut self, generics: &'tcx Generics)
[src]
fn visit_generics(&mut self, generics: &'tcx 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 visit_poly_trait_ref(
&mut self,
trait_ref: &'tcx PolyTraitRef,
_modifier: TraitBoundModifier
)
[src]
fn visit_poly_trait_ref(
&mut self,
trait_ref: &'tcx PolyTraitRef,
_modifier: 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 visit_nested_trait_item(&mut self, id: TraitItemId)
[src]
fn visit_nested_trait_item(&mut self, id: TraitItemId)
🔬 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?
Like visit_nested_item()
, but for trait items. See visit_nested_item()
for advice on when to override this method. Read more
fn visit_nested_impl_item(&mut self, id: ImplItemId)
[src]
fn visit_nested_impl_item(&mut self, id: ImplItemId)
🔬 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?
Like visit_nested_item()
, but for impl items. See visit_nested_item()
for advice on when to override this method. Read more
fn visit_body(&mut self, b: &'v Body)
[src]
fn visit_body(&mut self, b: &'v 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?
fn as_deep_visitor<'s>(&'s mut self) -> DeepVisitor<'s, Self>
[src]
fn as_deep_visitor<'s>(&'s mut self) -> DeepVisitor<'s, Self>
🔬 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 invoking visit_all_item_likes()
, you need to supply an item-like visitor. This method converts a "intra-visit" visitor into an item-like visitor that walks the entire tree. If you use this, you probably don't want to process the contents of nested item-like things, since the outer loop will visit them as well. Read more
fn visit_id(&mut self, _node_id: NodeId)
[src]
fn visit_id(&mut self, _node_id: 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 visit_def_mention(&mut self, _def: Def)
[src]
fn visit_def_mention(&mut self, _def: 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 visit_name(&mut self, _span: Span, _name: Name)
[src]
fn visit_name(&mut self, _span: Span, _name: Name)
🔬 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 visit_ident(&mut self, ident: Ident)
[src]
fn visit_ident(&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?
fn visit_mod(&mut self, m: &'v Mod, _s: Span, n: NodeId)
[src]
fn visit_mod(&mut self, m: &'v Mod, _s: Span, n: 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 visit_local(&mut self, l: &'v Local)
[src]
fn visit_local(&mut self, l: &'v 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 visit_block(&mut self, b: &'v Block)
[src]
fn visit_block(&mut self, b: &'v 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 visit_stmt(&mut self, s: &'v Stmt)
[src]
fn visit_stmt(&mut self, s: &'v 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 visit_arm(&mut self, a: &'v Arm)
[src]
fn visit_arm(&mut self, a: &'v 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 visit_pat(&mut self, p: &'v Pat)
[src]
fn visit_pat(&mut self, p: &'v 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 visit_decl(&mut self, d: &'v Decl)
[src]
fn visit_decl(&mut self, d: &'v Decl)
🔬 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 visit_anon_const(&mut self, c: &'v AnonConst)
[src]
fn visit_anon_const(&mut self, c: &'v 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 visit_expr(&mut self, ex: &'v Expr)
[src]
fn visit_expr(&mut self, ex: &'v 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 visit_generic_param(&mut self, p: &'v GenericParam)
[src]
fn visit_generic_param(&mut self, p: &'v 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 visit_where_predicate(&mut self, predicate: &'v WherePredicate)
[src]
fn visit_where_predicate(&mut self, predicate: &'v 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 visit_fn(
&mut self,
fk: FnKind<'v>,
fd: &'v FnDecl,
b: BodyId,
s: Span,
id: NodeId
)
[src]
fn visit_fn(
&mut self,
fk: FnKind<'v>,
fd: &'v FnDecl,
b: BodyId,
s: Span,
id: 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 visit_trait_item_ref(&mut self, ii: &'v TraitItemRef)
[src]
fn visit_trait_item_ref(&mut self, ii: &'v 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 visit_impl_item_ref(&mut self, ii: &'v ImplItemRef)
[src]
fn visit_impl_item_ref(&mut self, ii: &'v 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 visit_trait_ref(&mut self, t: &'v TraitRef)
[src]
fn visit_trait_ref(&mut self, t: &'v 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 visit_param_bound(&mut self, bounds: &'v GenericBound)
[src]
fn visit_param_bound(&mut self, bounds: &'v 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 visit_variant_data(
&mut self,
s: &'v VariantData,
_: Name,
_: &'v Generics,
_parent_id: NodeId,
_: Span
)
[src]
fn visit_variant_data(
&mut self,
s: &'v VariantData,
_: Name,
_: &'v Generics,
_parent_id: NodeId,
_: 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 visit_struct_field(&mut self, s: &'v StructField)
[src]
fn visit_struct_field(&mut self, s: &'v 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 visit_enum_def(
&mut self,
enum_definition: &'v EnumDef,
generics: &'v Generics,
item_id: NodeId,
_: Span
)
[src]
fn visit_enum_def(
&mut self,
enum_definition: &'v EnumDef,
generics: &'v Generics,
item_id: NodeId,
_: 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 visit_variant(&mut self, v: &'v Variant, g: &'v Generics, item_id: NodeId)
[src]
fn visit_variant(&mut self, v: &'v Variant, g: &'v Generics, item_id: 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 visit_label(&mut self, label: &'v Label)
[src]
fn visit_label(&mut self, label: &'v 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 visit_generic_arg(&mut self, generic_arg: &'v GenericArg)
[src]
fn visit_generic_arg(&mut self, generic_arg: &'v 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 visit_qpath(&mut self, qpath: &'v QPath, id: HirId, span: Span)
[src]
fn visit_qpath(&mut self, qpath: &'v QPath, id: HirId, 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 visit_path_segment(&mut self, path_span: Span, path_segment: &'v PathSegment)
[src]
fn visit_path_segment(&mut self, path_span: Span, path_segment: &'v 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 visit_generic_args(&mut self, path_span: Span, generic_args: &'v GenericArgs)
[src]
fn visit_generic_args(&mut self, path_span: Span, generic_args: &'v GenericArgs)
🔬 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 visit_assoc_type_binding(&mut self, type_binding: &'v TypeBinding)
[src]
fn visit_assoc_type_binding(&mut self, type_binding: &'v 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 visit_attribute(&mut self, _attr: &'v Attribute)
[src]
fn visit_attribute(&mut self, _attr: &'v 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 visit_macro_def(&mut self, macro_def: &'v MacroDef)
[src]
fn visit_macro_def(&mut self, macro_def: &'v 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?
fn visit_vis(&mut self, vis: &'v Visibility)
[src]
fn visit_vis(&mut self, vis: &'v 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?
fn visit_associated_item_kind(&mut self, kind: &'v AssociatedItemKind)
[src]
fn visit_associated_item_kind(&mut self, kind: &'v AssociatedItemKind)
🔬 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 visit_defaultness(&mut self, defaultness: &'v Defaultness)
[src]
fn visit_defaultness(&mut self, defaultness: &'v 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?
Auto Trait Implementations
impl<'a, 'tcx> !Send for LifetimeContext<'a, 'tcx>
impl<'a, 'tcx> !Send for LifetimeContext<'a, 'tcx>
impl<'a, 'tcx> !Sync for LifetimeContext<'a, 'tcx>
impl<'a, 'tcx> !Sync for LifetimeContext<'a, 'tcx>
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