Trait rustc_mir::util::elaborate_drops::DropElaborator
[−]
[src]
pub trait DropElaborator<'a, 'tcx: 'a>: Debug { type Path: Copy + Debug; fn patch(&mut self) -> &mut MirPatch<'tcx>; fn mir(&self) -> &'a Mir<'tcx>; fn tcx(&self) -> TyCtxt<'a, 'tcx, 'tcx>; fn param_env(&self) -> ParamEnv<'tcx>; fn drop_style(&self, path: Self::Path, mode: DropFlagMode) -> DropStyle; fn get_drop_flag(&mut self, path: Self::Path) -> Option<Operand<'tcx>>; fn clear_drop_flag(
&mut self,
location: Location,
path: Self::Path,
mode: DropFlagMode
); fn field_subpath(
&self,
path: Self::Path,
field: Field
) -> Option<Self::Path>; fn deref_subpath(&self, path: Self::Path) -> Option<Self::Path>; fn downcast_subpath(
&self,
path: Self::Path,
variant: usize
) -> Option<Self::Path>; fn array_subpath(
&self,
path: Self::Path,
index: u32,
size: u32
) -> Option<Self::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?
Associated Types
type Path: Copy + Debug
🔬 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?
Required Methods
fn patch(&mut self) -> &mut MirPatch<'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 mir(&self) -> &'a Mir<'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 tcx(&self) -> 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?
fn param_env(&self) -> ParamEnv<'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 drop_style(&self, path: Self::Path, mode: DropFlagMode) -> DropStyle
🔬 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 get_drop_flag(&mut self, path: Self::Path) -> Option<Operand<'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 clear_drop_flag(
&mut self,
location: Location,
path: Self::Path,
mode: DropFlagMode
)
&mut self,
location: Location,
path: Self::Path,
mode: DropFlagMode
)
🔬 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_subpath(&self, path: Self::Path, field: Field) -> Option<Self::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 deref_subpath(&self, path: Self::Path) -> Option<Self::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 downcast_subpath(
&self,
path: Self::Path,
variant: usize
) -> Option<Self::Path>
&self,
path: Self::Path,
variant: usize
) -> Option<Self::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 array_subpath(
&self,
path: Self::Path,
index: u32,
size: u32
) -> Option<Self::Path>
&self,
path: Self::Path,
index: u32,
size: u32
) -> Option<Self::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?