Struct rustc::mir::LocalDecl [] [src]

pub struct LocalDecl<'tcx> {
    pub mutability: Mutability,
    pub ty: Ty<'tcx>,
    pub name: Option<Name>,
    pub source_info: Option<SourceInfo>,
}
🔬 This is a nightly-only experimental API. (rustc_private)

A MIR local.

This can be a binding declared by the user, a temporary inserted by the compiler, a function argument, or the return pointer.

Fields

🔬 This is a nightly-only experimental API. (rustc_private)

let mut x vs let x.

Temporaries and the return pointer are always mutable.

🔬 This is a nightly-only experimental API. (rustc_private)

Type of this local.

🔬 This is a nightly-only experimental API. (rustc_private)

Name of the local, used in debuginfo and pretty-printing.

Note that function arguments can also have this set to Some(_) to generate better debuginfo.

🔬 This is a nightly-only experimental API. (rustc_private)

For user-declared variables, stores their source information.

For temporaries, this is None.

This is the primary way to differentiate between user-declared variables and compiler-generated temporaries.

Methods

impl<'tcx> LocalDecl<'tcx>
[src]

🔬 This is a nightly-only experimental API. (rustc_private)

Create a new LocalDecl for a temporary.

🔬 This is a nightly-only experimental API. (rustc_private)

Builds a LocalDecl for the return pointer.

This must be inserted into the local_decls list as the first local.

Trait Implementations

impl<'tcx> Clone for LocalDecl<'tcx>
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl<'tcx> Debug for LocalDecl<'tcx>
[src]

Formats the value using the given formatter.

impl<'tcx> Encodable for LocalDecl<'tcx>
[src]

🔬 This is a nightly-only experimental API. (rustc_private)

deprecated in favor of rustc-serialize on crates.io

impl<'tcx> Decodable for LocalDecl<'tcx>
[src]

🔬 This is a nightly-only experimental API. (rustc_private)

deprecated in favor of rustc-serialize on crates.io

impl<'tcx> TypeFoldable<'tcx> for LocalDecl<'tcx>
[src]

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

Indicates whether this value references only 'global' types/lifetimes that are the same regardless of what fn we are in. This is used for caching. Errs on the side of returning false. Read more