[−][src]Struct c2rust_refactor::transform::statics::CollectToStruct
static_collect_to_struct Command
Usage: static_collect_to_struct STRUCT VAR
Marks: target
Collect marked statics into a single static struct.
Specifically:
- Find all statics marked
target. For each one, record its name, type, and initializer expression, then delete it. - Generate a new struct definition named
STRUCT. For each marked static, include a field ofSTRUCTwith the same name and type as the static. - Generate a new
static mutnamedVARwhose type isSTRUCT. Initialize it using the initializer expressions for the marked statics. - For each marked static
foo, replace uses offoowithVAR.foo.
Example:
static mut FOO: i32 = 100; static mut BAR: bool = true; unsafe fn f() -> i32 { FOO }
After running static_collect_to_struct Globals G, with both statics marked:
struct Globals { FOO: i32, BAR: bool, } static mut G: Globals = Globals { FOO: 100, BAR: true, }; unsafe fn f() -> i32 { G.FOO }
Fields
struct_name: Stringinstance_name: StringTrait Implementations
impl Transform for CollectToStruct[src]
fn transform(&self, krate: &mut Crate, st: &CommandState, cx: &RefactorCtxt)[src]
fn min_phase(&self) -> Phase[src]
Return the minimum phase at which this transform can operate. See the Phase docs for details. The default is Phase2. Read more
Auto Trait Implementations
impl Send for CollectToStruct
impl Sync for CollectToStruct
Blanket Implementations
impl<T> Lone for T[src]
impl<T> From for T[src]
impl<T, U> Into for T where
U: From<T>, [src]
U: From<T>,
impl<T, U> TryFrom for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T> Borrow for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T, U> TryInto for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<E> SpecializationError for E[src]
default fn not_found<S, T>(
trait_name: &'static str,
method_name: &'static str
) -> E where
T: ?Sized, [src]
trait_name: &'static str,
method_name: &'static str
) -> E where
T: ?Sized,
impl<T> Erased for T[src]
impl<T> Send for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> Sync for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> Same for T
type Output = T
Should always be Self
impl<T> MaybeResult for T[src]
impl<'a, T> Captures for T where
T: ?Sized, [src]
T: ?Sized,