From 36c6262dbc41acf29adecd76d12766e554e6b525 Mon Sep 17 00:00:00 2001 From: Manuel Raimann Date: Wed, 11 Feb 2026 23:06:28 +0100 Subject: [PATCH] refactor: remove visualization and fanova feature flags Always build visualization and fanova code unconditionally. --- Cargo.toml | 3 --- src/lib.rs | 6 ------ src/study.rs | 3 --- tests/fanova_tests.rs | 2 -- tests/visualization_tests.rs | 2 -- 5 files changed, 16 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 5f28c9f..a62c23c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -38,8 +38,6 @@ tracing = ["dep:tracing"] sobol = ["dep:sobol_burley"] cma-es = ["dep:nalgebra"] gp = ["dep:nalgebra"] -visualization = [] -fanova = [] [dev-dependencies] tokio = { version = "1", features = ["rt-multi-thread", "macros", "time"] } @@ -72,7 +70,6 @@ required-features = ["derive"] [[example]] name = "visualization_demo" path = "examples/visualization_demo.rs" -required-features = ["visualization"] [[test]] name = "journal_tests" diff --git a/src/lib.rs b/src/lib.rs index b740da7..b3c22f0 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -222,7 +222,6 @@ macro_rules! trace_debug { mod distribution; mod error; -#[cfg(feature = "fanova")] mod fanova; mod importance; mod kde; @@ -237,11 +236,9 @@ pub mod storage; mod study; mod trial; mod types; -#[cfg(feature = "visualization")] mod visualization; pub use error::{Error, Result, TrialPruned}; -#[cfg(feature = "fanova")] pub use fanova::{FanovaConfig, FanovaResult}; pub use multi_objective::{MultiObjectiveSampler, MultiObjectiveStudy, MultiObjectiveTrial}; #[cfg(feature = "derive")] @@ -278,7 +275,6 @@ pub use study::Study; pub use study::StudySnapshot; pub use trial::{AttrValue, Trial}; pub use types::{Direction, TrialState}; -#[cfg(feature = "visualization")] pub use visualization::generate_html_report; /// Convenient wildcard import for the most common types. @@ -291,7 +287,6 @@ pub mod prelude { pub use optimizer_derive::Categorical as DeriveCategory; pub use crate::error::{Error, Result, TrialPruned}; - #[cfg(feature = "fanova")] pub use crate::fanova::{FanovaConfig, FanovaResult}; pub use crate::multi_objective::{MultiObjectiveStudy, MultiObjectiveTrial}; pub use crate::param::ParamValue; @@ -326,6 +321,5 @@ pub mod prelude { pub use crate::study::StudySnapshot; pub use crate::trial::{AttrValue, Trial}; pub use crate::types::Direction; - #[cfg(feature = "visualization")] pub use crate::visualization::generate_html_report; } diff --git a/src/study.rs b/src/study.rs index d6784cc..63c8e68 100644 --- a/src/study.rs +++ b/src/study.rs @@ -2081,7 +2081,6 @@ where /// # Errors /// /// Returns [`crate::Error::NoCompletedTrials`] if fewer than 2 trials have completed. - #[cfg(feature = "fanova")] pub fn fanova(&self) -> crate::Result { self.fanova_with_config(&crate::fanova::FanovaConfig::default()) } @@ -2094,7 +2093,6 @@ where /// # Errors /// /// Returns [`crate::Error::NoCompletedTrials`] if fewer than 2 trials have completed. - #[cfg(feature = "fanova")] #[allow(clippy::cast_precision_loss)] pub fn fanova_with_config( &self, @@ -2357,7 +2355,6 @@ where } } -#[cfg(feature = "visualization")] impl Study { /// Generates an HTML report with interactive Plotly.js charts. /// diff --git a/tests/fanova_tests.rs b/tests/fanova_tests.rs index 55f5c1b..88eb3c8 100644 --- a/tests/fanova_tests.rs +++ b/tests/fanova_tests.rs @@ -1,7 +1,5 @@ //! Integration tests for fANOVA parameter importance. -#![cfg(feature = "fanova")] - use optimizer::prelude::*; #[test] diff --git a/tests/visualization_tests.rs b/tests/visualization_tests.rs index 4a477bb..19a3b3a 100644 --- a/tests/visualization_tests.rs +++ b/tests/visualization_tests.rs @@ -1,5 +1,3 @@ -#![cfg(feature = "visualization")] - use optimizer::parameter::{FloatParam, IntParam, Parameter}; use optimizer::sampler::random::RandomSampler; use optimizer::{Direction, Study, generate_html_report};