pub trait StaticMethods: BackendTypes {
    fn static_addr_of(
        &self,
        cv: Self::Value,
        align: Align,
        kind: Option<&str>
    ) -> Self::Value; fn codegen_static(&self, def_id: DefId, is_mutable: bool); fn add_used_global(&self, global: Self::Value); fn add_compiler_used_global(&self, global: Self::Value); }

Required Methods

Mark the given global value as “used”, to prevent the compiler and linker from potentially removing a static variable that may otherwise appear unused.

Same as add_used_global(), but only prevent the compiler from potentially removing an otherwise unused symbol. The linker is still permitted to drop it.

This corresponds to the documented semantics of the #[used] attribute, although on some targets (non-ELF), we may use add_used_global for #[used] statics instead.

Implementors