#[non_exhaustive]pub enum Feature {
Show 22 variants
SignSeparate,
RenamesR4R6,
Comp1,
Comp2,
AuditSystem,
SoxCompliance,
HipaaCompliance,
GdprCompliance,
PciDssCompliance,
SecurityMonitoring,
AdvancedOptimization,
LruCache,
ParallelDecode,
ZeroCopy,
VerboseLogging,
DiagnosticOutput,
Profiling,
MemoryTracking,
MutationTesting,
FuzzingIntegration,
CoverageInstrumentation,
PropertyBasedTesting,
}Expand description
All available feature flags.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
SignSeparate
Enable SIGN SEPARATE clause support (experimental)
RenamesR4R6
Enable RENAMES R4-R6 advanced scenarios
Comp1
Enable COMP-1 (single precision floating point) support
Comp2
Enable COMP-2 (double precision floating point) support
AuditSystem
Enable audit system for compliance tracking
SoxCompliance
Enable SOX compliance validation
HipaaCompliance
Enable HIPAA compliance validation
GdprCompliance
Enable GDPR compliance validation
PciDssCompliance
Enable PCI DSS compliance validation
SecurityMonitoring
Enable security monitoring integration
AdvancedOptimization
Enable advanced optimization mode (SIMD, vectorization)
LruCache
Enable LRU cache for parsed copybooks
ParallelDecode
Enable parallel decoding for large files
ZeroCopy
Enable zero-copy parsing where possible
VerboseLogging
Enable verbose logging with detailed diagnostics
DiagnosticOutput
Enable diagnostic output for troubleshooting
Profiling
Enable CPU profiling hooks
MemoryTracking
Enable memory usage tracking
MutationTesting
Enable mutation testing hooks
FuzzingIntegration
Enable fuzzing integration points
CoverageInstrumentation
Enable test coverage instrumentation
PropertyBasedTesting
Enable property-based testing integration
Implementations§
Source§impl Feature
impl Feature
Sourcepub const fn category(self) -> FeatureCategory
pub const fn category(self) -> FeatureCategory
Get the toggle-group category this feature belongs to.
category() is a grouping mechanism used by enable_category /
enabled_in_category to toggle related flags together; it is not a
stability class. In particular, FeatureCategory::Experimental names a
toggle group, not a claim that every member is unstable — the stability
class of a feature is reported by Feature::lifecycle. For example,
Comp1/Comp2 are in the Experimental toggle group but have
lifecycle() == FeatureLifecycle::Stable (they are fully supported and
enabled by default; see docs/reference/COBOL_SUPPORT_MATRIX.md).
Sourcepub const fn lifecycle(self) -> FeatureLifecycle
pub const fn lifecycle(self) -> FeatureLifecycle
Get the stability lifecycle class of this feature.
This is the authoritative stability signal (distinct from the
toggle-group Feature::category). SignSeparate, Comp1, and
Comp2 are promoted COBOL-language features that are fully supported
and enabled by default, so they report FeatureLifecycle::Stable;
every other flag (advanced RENAMES R4-R6, enterprise/compliance,
performance, debug, and testing hooks) is opt-in and reports
FeatureLifecycle::Experimental.
Sourcepub const fn default_enabled(self) -> bool
pub const fn default_enabled(self) -> bool
Get the default enabled state for this feature.
Sourcepub fn env_var_name(self) -> String
pub fn env_var_name(self) -> String
Get the environment variable name for this feature.
Sourcepub const fn description(self) -> &'static str
pub const fn description(self) -> &'static str
Get a human-readable description of this feature.
Trait Implementations§
impl Copy for Feature
Source§impl<'de> Deserialize<'de> for Feature
impl<'de> Deserialize<'de> for Feature
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Feature, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Feature, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
impl Eq for Feature
Source§impl Serialize for Feature
impl Serialize for Feature
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for Feature
Auto Trait Implementations§
impl Freeze for Feature
impl RefUnwindSafe for Feature
impl Send for Feature
impl Sync for Feature
impl Unpin for Feature
impl UnsafeUnpin for Feature
impl UnwindSafe for Feature
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.