#[non_exhaustive]pub enum CtGatePosture {
HardwareSpeculationBarrier,
HardwareSpeculationBarrierBuildAsserted,
HardwareSpeculationBarrierUnattested,
OrderingFence,
CompilerFenceOnly,
}Expand description
Constant-time result-gate barrier posture for this build and target.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
HardwareSpeculationBarrier
The target uses a native speculation barrier before public CT success/failure or equality-result branches.
HardwareSpeculationBarrierBuildAsserted
The target is treated as having an effective speculation barrier only because the build provided an explicit operator attestation cfg.
On AArch64, this is reported when the build sets
base64_ng_aarch64_csdb_attested. It remains distinct from
Self::HardwareSpeculationBarrier so logs preserve the evidence
chain instead of making a build assertion look like a native target
guarantee.
HardwareSpeculationBarrierUnattested
The target emits a hardware speculation-barrier sequence whose effectiveness depends on platform or core-level attestation.
On AArch64 this uses isb sy plus the CSDB hint encoding. Full
CSDB effectiveness depends on the deployed ARM architecture level;
older cores may treat the hint as a no-op.
OrderingFence
The target uses an ordering fence where the base ISA does not provide a canonical speculation barrier.
CompilerFenceOnly
The target uses compiler fences only.
Implementations§
Trait Implementations§
Source§impl Clone for CtGatePosture
impl Clone for CtGatePosture
Source§fn clone(&self) -> CtGatePosture
fn clone(&self) -> CtGatePosture
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for CtGatePosture
Source§impl Debug for CtGatePosture
impl Debug for CtGatePosture
Source§impl Display for CtGatePosture
impl Display for CtGatePosture
impl Eq for CtGatePosture
Source§impl PartialEq for CtGatePosture
impl PartialEq for CtGatePosture
Source§fn eq(&self, other: &CtGatePosture) -> bool
fn eq(&self, other: &CtGatePosture) -> bool
self and other values to be equal, and is used by ==.