Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit ab2453e

Browse files
committed
fix(adr-017): Add missing cfg(feature = "ruvector") gates to MAT re-exports
Three pub use statements in detection/mod.rs and localization/mod.rs were re-exporting ruvector-gated symbols unconditionally, and triangulation.rs had ruvector_solver imports without feature gates. These caused unresolved- import errors in --no-default-features builds. - detection/mod.rs: gate CompressedBreathingBuffer + CompressedHeartbeatSpectrogram - localization/mod.rs: gate solve_tdoa_triangulation - triangulation.rs: gate use ruvector_solver::*, fn + test module with #[cfg] All 7 ADR-017 integrations now compile with both default and no-default-features. https://claude.ai/code/session_01BSBAQJ34SLkiJy4A8SoiL4
1 parent 18170d7 commit ab2453e

3 files changed

Lines changed: 13 additions & 4 deletions

File tree

rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/detection/mod.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,12 @@ mod heartbeat;
1212
mod movement;
1313
mod pipeline;
1414

15-
pub use breathing::{BreathingDetector, BreathingDetectorConfig, CompressedBreathingBuffer};
15+
pub use breathing::{BreathingDetector, BreathingDetectorConfig};
16+
#[cfg(feature = "ruvector")]
17+
pub use breathing::CompressedBreathingBuffer;
1618
pub use ensemble::{EnsembleClassifier, EnsembleConfig, EnsembleResult, SignalConfidences};
17-
pub use heartbeat::{HeartbeatDetector, HeartbeatDetectorConfig, CompressedHeartbeatSpectrogram};
19+
pub use heartbeat::{HeartbeatDetector, HeartbeatDetectorConfig};
20+
#[cfg(feature = "ruvector")]
21+
pub use heartbeat::CompressedHeartbeatSpectrogram;
1822
pub use movement::{MovementClassifier, MovementClassifierConfig};
1923
pub use pipeline::{DetectionPipeline, DetectionConfig, VitalSignsDetector, CsiDataBuffer};

rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/localization/mod.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ mod triangulation;
99
mod depth;
1010
mod fusion;
1111

12-
pub use triangulation::{Triangulator, TriangulationConfig, solve_tdoa_triangulation};
12+
pub use triangulation::{Triangulator, TriangulationConfig};
13+
#[cfg(feature = "ruvector")]
14+
pub use triangulation::solve_tdoa_triangulation;
1315
pub use depth::{DepthEstimator, DepthEstimatorConfig};
1416
pub use fusion::{PositionFuser, LocalizationService};

rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/localization/triangulation.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -380,7 +380,9 @@ mod tests {
380380
// Integration 5: Multi-AP TDoA triangulation via NeumannSolver
381381
// ---------------------------------------------------------------------------
382382

383+
#[cfg(feature = "ruvector")]
383384
use ruvector_solver::neumann::NeumannSolver;
385+
#[cfg(feature = "ruvector")]
384386
use ruvector_solver::types::CsrMatrix;
385387

386388
/// Solve multi-AP TDoA survivor localization using NeumannSolver.
@@ -396,6 +398,7 @@ use ruvector_solver::types::CsrMatrix;
396398
///
397399
/// # Returns
398400
/// Some((x, y)) estimated survivor position in metres, or None if underdetermined
401+
#[cfg(feature = "ruvector")]
399402
pub fn solve_tdoa_triangulation(
400403
tdoa_measurements: &[(usize, usize, f32)],
401404
ap_positions: &[(f32, f32)],
@@ -466,7 +469,7 @@ pub fn solve_tdoa_triangulation(
466469
Some((x_sol + x_ref, y_sol + y_ref))
467470
}
468471

469-
#[cfg(test)]
472+
#[cfg(all(test, feature = "ruvector"))]
470473
mod triangulation_tests {
471474
use super::*;
472475

0 commit comments

Comments
 (0)