diff --git a/src/distribution/dirichlet.rs b/src/distribution/dirichlet.rs index 2670929a..355476db 100644 --- a/src/distribution/dirichlet.rs +++ b/src/distribution/dirichlet.rs @@ -369,15 +369,12 @@ where #[rustfmt::skip] #[cfg(test)] mod tests { + use super::*; + use std::fmt::{Debug, Display}; use nalgebra::{dmatrix, dvector, vector, DimMin, OVector}; - use crate::{ - distribution::{Continuous, Dirichlet}, - statistics::{MeanN, VarianceN}, - }; - fn try_create(alpha: OVector) -> Dirichlet where D: DimMin, @@ -580,4 +577,10 @@ mod tests { let n = try_create(vector![0.1, 0.3, 0.5, 0.8]); n.ln_pdf(&vector![0.5, 0.25, 0.8, 0.9]); } + + #[test] + fn test_error_is_sync_send() { + fn assert_sync_send() {} + assert_sync_send::(); + } } diff --git a/src/distribution/internal.rs b/src/distribution/internal.rs index c3b9f22c..9e7651b0 100644 --- a/src/distribution/internal.rs +++ b/src/distribution/internal.rs @@ -241,6 +241,13 @@ pub mod test { ) } } + + /// Asserts that associated error type is Send and Sync + #[test] + fn test_error_is_sync_send() { + fn assert_sync_send() {} + assert_sync_send::<$dist_err>(); + } }; } diff --git a/src/distribution/multinomial.rs b/src/distribution/multinomial.rs index aca82a2a..7d1b408c 100644 --- a/src/distribution/multinomial.rs +++ b/src/distribution/multinomial.rs @@ -500,6 +500,12 @@ mod tests { ); } + #[test] + fn test_error_is_sync_send() { + fn assert_sync_send() {} + assert_sync_send::(); + } + // #[test] // #[should_panic] // fn test_pmf_x_wrong_length() { diff --git a/src/distribution/multivariate_normal.rs b/src/distribution/multivariate_normal.rs index 68b8d098..eb86edd3 100644 --- a/src/distribution/multivariate_normal.rs +++ b/src/distribution/multivariate_normal.rs @@ -389,6 +389,8 @@ mod tests { statistics::{Max, MeanN, Min, Mode, VarianceN}, }; + use super::MultivariateNormalError; + fn try_create(mean: OVector, covariance: OMatrix) -> MultivariateNormal where D: DimMin, @@ -703,4 +705,10 @@ mod tests { let mvn = MultivariateNormal::new(vec![0., 0.], vec![1., 0., 0., 1.,]).unwrap(); mvn.pdf(&vec![1.].into()); // x.size != mu.size } + + #[test] + fn test_error_is_sync_send() { + fn assert_sync_send() {} + assert_sync_send::(); + } } diff --git a/src/distribution/multivariate_students_t.rs b/src/distribution/multivariate_students_t.rs index 8bcb1d78..b75e0a88 100644 --- a/src/distribution/multivariate_students_t.rs +++ b/src/distribution/multivariate_students_t.rs @@ -397,6 +397,8 @@ mod tests { statistics::{Max, MeanN, Min, Mode, VarianceN}, }; + use super::MultivariateStudentError; + fn try_create(location: Vec, scale: Vec, freedom: f64) -> MultivariateStudent { let mvs = MultivariateStudent::new(location, scale, freedom); @@ -614,5 +616,9 @@ mod tests { assert_eq!(mvs.scale_chol_decomp(), &OMatrix::::identity(2, 2)); } - + #[test] + fn test_error_is_sync_send() { + fn assert_sync_send() {} + assert_sync_send::(); + } }