From d4d19b9122ca5768d15200aac3b27373732fdd29 Mon Sep 17 00:00:00 2001 From: Andrei Jardan Date: Thu, 25 Nov 2021 13:45:53 +0200 Subject: [PATCH] Implement IntoMint trait for Vectors, Points, Matrices, and Quaternions - Updated mint to 0.5.8, so that the IntoMint trait is available - Implemented IntoMint for Vectors, Points, Matrices, and Quaternions --- Cargo.toml | 2 +- src/macros.rs | 4 ++++ src/matrix.rs | 5 ++++- src/quaternion.rs | 5 +++++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index e5c355c..82745c6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,7 +22,7 @@ swizzle = [] [dependencies] approx = "0.5" -mint = { version = "0.5", optional = true } +mint = { version = "0.5.8", optional = true } num-traits = "0.2" # small_rng used only for benchmarks rand = { version = "0.8", features = ["small_rng"], optional = true } diff --git a/src/macros.rs b/src/macros.rs index 35f248a..cd0cd1b 100644 --- a/src/macros.rs +++ b/src/macros.rs @@ -373,6 +373,10 @@ macro_rules! impl_mint_conversions { $ArrayN { $( $field: v.$field, )+ } } } + + impl mint::IntoMint for $ArrayN { + type MintType = mint::$Mint; + } } } diff --git a/src/matrix.rs b/src/matrix.rs index 90e2a2b..ed96761 100644 --- a/src/matrix.rs +++ b/src/matrix.rs @@ -1558,7 +1558,10 @@ macro_rules! mint_conversions { $MatrixN { $($field: m.$field.into()),+ } } } - + + impl mint::IntoMint for $MatrixN { + type MintType = mint::$MintN; + } } } diff --git a/src/quaternion.rs b/src/quaternion.rs index 036bf23..bf1c2cd 100644 --- a/src/quaternion.rs +++ b/src/quaternion.rs @@ -685,6 +685,11 @@ impl From> for mint::Quaternion { } } +#[cfg(feature = "mint")] +impl mint::IntoMint for Quaternion { + type MintType = mint::Quaternion; +} + #[cfg(test)] mod tests { use quaternion::*;