@@ -35,7 +35,7 @@ use crate::algorithm::neighbour::linear_search::LinearKNNSearch;
3535use crate :: error:: Failed ;
3636use crate :: math:: distance:: Distance ;
3737use crate :: math:: num:: RealNumber ;
38- use serde:: { Deserialize , Serialize } ;
38+ # [ cfg ( feature = "serde" ) ] use serde:: { Deserialize , Serialize } ;
3939
4040pub ( crate ) mod bbd_tree;
4141/// tree data structure for fast nearest neighbor search
@@ -45,15 +45,17 @@ pub mod linear_search;
4545
4646/// Both, KNN classifier and regressor benefits from underlying search algorithms that helps to speed up queries.
4747/// `KNNAlgorithmName` maintains a list of supported search algorithms, see [KNN algorithms](../algorithm/neighbour/index.html)
48- #[ derive( Serialize , Deserialize , Debug , Clone ) ]
48+ #[ cfg_attr( feature = "serde" , derive( Serialize , Deserialize ) ) ]
49+ #[ derive( Debug , Clone ) ]
4950pub enum KNNAlgorithmName {
5051 /// Heap Search algorithm, see [`LinearSearch`](../algorithm/neighbour/linear_search/index.html)
5152 LinearSearch ,
5253 /// Cover Tree Search algorithm, see [`CoverTree`](../algorithm/neighbour/cover_tree/index.html)
5354 CoverTree ,
5455}
5556
56- #[ derive( Serialize , Deserialize , Debug ) ]
57+ #[ cfg_attr( feature = "serde" , derive( Serialize , Deserialize ) ) ]
58+ #[ derive( Debug ) ]
5759pub ( crate ) enum KNNAlgorithm < T : RealNumber , D : Distance < Vec < T > , T > > {
5860 LinearSearch ( LinearKNNSearch < Vec < T > , T , D > ) ,
5961 CoverTree ( CoverTree < Vec < T > , T , D > ) ,
0 commit comments