From aac09f11d6d81662e7679e104939990ba8261600 Mon Sep 17 00:00:00 2001 From: "Carson M." Date: Thu, 16 Apr 2026 21:15:29 -0500 Subject: [PATCH] fix: mark some enums as `#[non_exhaustive]` --- src/session/builder/impl_options.rs | 2 ++ src/training/mod.rs | 1 + src/value/impl_tensor/element.rs | 1 + 3 files changed, 4 insertions(+) diff --git a/src/session/builder/impl_options.rs b/src/session/builder/impl_options.rs index 02e0b75..2fbc318 100644 --- a/src/session/builder/impl_options.rs +++ b/src/session/builder/impl_options.rs @@ -494,6 +494,7 @@ impl SessionBuilder { /// when the offline model is saved. For example, if model has layout optimized for AVX2, the offline model would /// require CPUs that support AVX2. #[derive(Debug, Clone, Copy, Eq, PartialEq, Hash, Ord, PartialOrd)] +#[non_exhaustive] pub enum GraphOptimizationLevel { /// Disables all graph optimizations. Disable, @@ -604,6 +605,7 @@ impl AsPointer for PrepackedWeights { #[cfg(feature = "api-22")] #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))] #[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash)] +#[non_exhaustive] pub enum AutoDevicePolicy { /// Same as [`Self::PreferCPU`]; ensures broadest compatibility. #[default] diff --git a/src/training/mod.rs b/src/training/mod.rs index 8afa976..236c007 100644 --- a/src/training/mod.rs +++ b/src/training/mod.rs @@ -206,6 +206,7 @@ impl Drop for Checkpoint { } #[derive(Debug, Clone)] +#[non_exhaustive] pub enum LearningRateScheduler { Linear { warmup_step_count: i64, diff --git a/src/value/impl_tensor/element.rs b/src/value/impl_tensor/element.rs index cd37d8b..44ab162 100644 --- a/src/value/impl_tensor/element.rs +++ b/src/value/impl_tensor/element.rs @@ -3,6 +3,7 @@ use core::fmt; /// Enum mapping ONNX Runtime's supported tensor data types. #[derive(Debug, PartialEq, Eq, Clone, Copy)] +#[non_exhaustive] pub enum TensorElementType { /// 32-bit floating point number, equivalent to Rust's `f32`. Float32,