pub enum ModuleFlagBehavior {
ModuleFlagBehaviorError,
ModuleFlagBehaviorWarning,
ModuleFlagBehaviorRequire,
ModuleFlagBehaviorOverride,
ModuleFlagBehaviorAppend,
ModuleFlagBehaviorAppendUnique,
}
Variants§
ModuleFlagBehaviorError
Emits an error if two values disagree, otherwise the resulting value is that of the operands.
ModuleFlagBehaviorWarning
Emits a warning if two values disagree. The result value will be the operand for the flag // from the first module being linked.
ModuleFlagBehaviorRequire
Adds a requirement that another module flag be present and have a specified value after // linking is performed. The value must be a metadata pair, where the first element of the pair is the ID of the module flag to be restricted, and the second element of the pair is the value the module flag should be restricted to. This behavior can be used to restrict the allowable results (via triggering of an error) of linking IDs with the Override behavior.
ModuleFlagBehaviorOverride
Uses the specified value, regardless of the behavior or value of the other module. If both modules specify Override, but the values differ, an error will be emitted.
ModuleFlagBehaviorAppend
Appends the two values, which are required to be metadata nodes.
ModuleFlagBehaviorAppendUnique
Appends the two values, which are required to be metadata nodes. However, duplicate entries in the second list are dropped during the append operation.
Trait Implementations§
source§impl Clone for ModuleFlagBehavior
impl Clone for ModuleFlagBehavior
source§fn clone(&self) -> ModuleFlagBehavior
fn clone(&self) -> ModuleFlagBehavior
1.6.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ModuleFlagBehavior
impl Debug for ModuleFlagBehavior
source§impl From<LLVMModuleFlagBehavior> for ModuleFlagBehavior
impl From<LLVMModuleFlagBehavior> for ModuleFlagBehavior
source§fn from(value: LLVMModuleFlagBehavior) -> Self
fn from(value: LLVMModuleFlagBehavior) -> Self
source§impl From<ModuleFlagBehavior> for LLVMModuleFlagBehavior
impl From<ModuleFlagBehavior> for LLVMModuleFlagBehavior
source§fn from(value: ModuleFlagBehavior) -> Self
fn from(value: ModuleFlagBehavior) -> Self
source§impl PartialEq for ModuleFlagBehavior
impl PartialEq for ModuleFlagBehavior
impl Copy for ModuleFlagBehavior
impl Eq for ModuleFlagBehavior
impl StructuralPartialEq for ModuleFlagBehavior
Auto Trait Implementations§
impl Freeze for ModuleFlagBehavior
impl RefUnwindSafe for ModuleFlagBehavior
impl Send for ModuleFlagBehavior
impl Sync for ModuleFlagBehavior
impl Unpin for ModuleFlagBehavior
impl UnwindSafe for ModuleFlagBehavior
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)