diff --git a/src/compression_engine.rs b/src/compression_engine.rs index c932e41..9adb9c6 100755 --- a/src/compression_engine.rs +++ b/src/compression_engine.rs @@ -176,33 +176,33 @@ impl Clone for Box { lazy_static! { static ref COMPRESSION_ENGINES: EnumMap> = { let mut em = enum_map! { - CompressionType::LZ4 => Box::new(crate::compression_engine::lz4::CompressionEngineLZ4::new()), + CompressionType::LZ4 => Box::new(crate::compression_engine::lz4::CompressionEngineLZ4::new()) as Box, CompressionType::GZip => Box::new(crate::compression_engine::program::CompressionEngineProgram::new( "gzip", vec!["-c"], vec!["-d", "-c"] - )), + )) as Box, CompressionType::BZip2 => Box::new(crate::compression_engine::program::CompressionEngineProgram::new( "bzip2", vec!["-c"], vec!["-d", "-c"] - )), + )) as Box, CompressionType::XZ => Box::new(crate::compression_engine::program::CompressionEngineProgram::new( "xz", vec!["-c"], vec!["-d", "-c"] - )), + )) as Box, CompressionType::ZStd => Box::new(crate::compression_engine::program::CompressionEngineProgram::new( "zstd", vec!["-c"], vec!["-d", "-c"] - )), - CompressionType::None => Box::new(crate::compression_engine::none::CompressionEngineNone::new()) + )) as Box, + CompressionType::None => Box::new(crate::compression_engine::none::CompressionEngineNone::new()) as Box }; #[cfg(feature = "gzip")] { - em[CompressionType::GZip] = Box::new(crate::compression_engine::gzip::CompressionEngineGZip::new()); + em[CompressionType::GZip] = Box::new(crate::compression_engine::gzip::CompressionEngineGZip::new()) as Box; } em @@ -214,7 +214,7 @@ pub fn default_compression_type() -> CompressionType { } pub fn get_compression_engine(ct: CompressionType) -> Result> { - let engine = &COMPRESSION_ENGINES[ct]; + let engine = &COMPRESSION_ENGINES[ct.clone()]; if engine.is_supported() { Ok(engine.clone()) } else { diff --git a/src/lib.rs b/src/lib.rs index d136536..4360f29 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -37,6 +37,7 @@ pub mod db; pub mod meta_plugin; pub mod modes; pub mod filter_plugin; +pub mod args; // Re-export Args struct for library usage pub use args::Args;