Skip to content

Commit

Permalink
Fix compilation when the "generic_sizes" feature is enabled.
Browse files Browse the repository at this point in the history
  • Loading branch information
sebcrozet committed Apr 17, 2016
1 parent e615672 commit 479cc7a
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 15 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@ language: rust
script:
- rustc --version
- cargo --version
- cargo build --verbose
- cargo build --verbose --features "arbitrary generic_sizes"
- cargo test --verbose --features arbitrary
11 changes: 7 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
tmp=_git_distcheck

all:
cargo build --release --features arbitrary
cargo build --release --features "arbitrary generic_sizes"

test:
cargo test
cargo test --features "arbitrary generic_sizes"


bench:
cargo bench
cargo bench --features "arbitrary generic_sizes"


doc:
cargo doc --no-deps
cargo doc --no-deps --features "arbitrary generic_sizes"


clean:
cargo clean
Expand Down
1 change: 1 addition & 0 deletions src/structs/vectorn.rs
Original file line number Diff line number Diff line change
Expand Up @@ -120,4 +120,5 @@ impl<N: Arbitrary + Zero + Copy, D: 'static + ArrayLength<N>> Arbitrary for Vect
}
}


vecn_dvec_common_impl!(VectorN, D);
20 changes: 10 additions & 10 deletions src/structs/vectorn_macros.rs
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ macro_rules! vecn_dvec_common_impl(
}
}

impl<N> MulAssign<$vecn<N $(, $param)*>> for $vecn<N $(, $param)*>
impl<N $(, $param: ArrayLength<N>)*> MulAssign<$vecn<N $(, $param)*>> for $vecn<N $(, $param)*>
where N: Copy + MulAssign<N> + Zero $(, $param : ArrayLength<N>)* {
#[inline]
fn mul_assign(&mut self, right: $vecn<N $(, $param)*>) {
Expand All @@ -175,7 +175,7 @@ macro_rules! vecn_dvec_common_impl(
}
}

impl<N> MulAssign<N> for $vecn<N $(, $param)*>
impl<N $(, $param: ArrayLength<N>)*> MulAssign<N> for $vecn<N $(, $param)*>
where N: Copy + MulAssign<N> + Zero $(, $param : ArrayLength<N>)* {
#[inline]
fn mul_assign(&mut self, right: N) {
Expand All @@ -185,7 +185,7 @@ macro_rules! vecn_dvec_common_impl(
}
}

impl<$($param : ArrayLength<N>),*> Mul<$vecn<f32 $(, $param)*>> for f32 {
impl<$($param : ArrayLength<f32>),*> Mul<$vecn<f32 $(, $param)*>> for f32 {
type Output = $vecn<f32 $(, $param)*>;

#[inline]
Expand All @@ -200,7 +200,7 @@ macro_rules! vecn_dvec_common_impl(
}
}

impl<$($param : ArrayLength<N>),*> Mul<$vecn<f64 $(, $param)*>> for f64 {
impl<$($param : ArrayLength<f64>),*> Mul<$vecn<f64 $(, $param)*>> for f64 {
type Output = $vecn<f64 $(, $param)*>;

#[inline]
Expand Down Expand Up @@ -253,7 +253,7 @@ macro_rules! vecn_dvec_common_impl(
}
}

impl<N> DivAssign<$vecn<N $(, $param)*>> for $vecn<N $(, $param)*>
impl<N $(, $param: ArrayLength<N>)*> DivAssign<$vecn<N $(, $param)*>> for $vecn<N $(, $param)*>
where N: Copy + DivAssign<N> + Zero $(, $param : ArrayLength<N>)* {
#[inline]
fn div_assign(&mut self, right: $vecn<N $(, $param)*>) {
Expand All @@ -265,7 +265,7 @@ macro_rules! vecn_dvec_common_impl(
}
}

impl<N> DivAssign<N> for $vecn<N $(, $param)*>
impl<N $(, $param: ArrayLength<N>)*> DivAssign<N> for $vecn<N $(, $param)*>
where N: Copy + DivAssign<N> + Zero $(, $param : ArrayLength<N>)* {
#[inline]
fn div_assign(&mut self, right: N) {
Expand Down Expand Up @@ -313,7 +313,7 @@ macro_rules! vecn_dvec_common_impl(
}
}

impl<N> AddAssign<$vecn<N $(, $param)*>> for $vecn<N $(, $param)*>
impl<N $(, $param: ArrayLength<N>)*> AddAssign<$vecn<N $(, $param)*>> for $vecn<N $(, $param)*>
where N: Copy + AddAssign<N> + Zero $(, $param : ArrayLength<N>)* {
#[inline]
fn add_assign(&mut self, right: $vecn<N $(, $param)*>) {
Expand All @@ -325,7 +325,7 @@ macro_rules! vecn_dvec_common_impl(
}
}

impl<N> AddAssign<N> for $vecn<N $(, $param)*>
impl<N $(, $param: ArrayLength<N>)*> AddAssign<N> for $vecn<N $(, $param)*>
where N: Copy + AddAssign<N> + Zero $(, $param : ArrayLength<N>)* {
#[inline]
fn add_assign(&mut self, right: N) {
Expand Down Expand Up @@ -403,7 +403,7 @@ macro_rules! vecn_dvec_common_impl(
}
}

impl<N> SubAssign<$vecn<N $(, $param)*>> for $vecn<N $(, $param)*>
impl<N $(, $param: ArrayLength<N>)*> SubAssign<$vecn<N $(, $param)*>> for $vecn<N $(, $param)*>
where N: Copy + SubAssign<N> + Zero $(, $param : ArrayLength<N>)* {
#[inline]
fn sub_assign(&mut self, right: $vecn<N $(, $param)*>) {
Expand All @@ -415,7 +415,7 @@ macro_rules! vecn_dvec_common_impl(
}
}

impl<N> SubAssign<N> for $vecn<N $(, $param)*>
impl<N $(, $param: ArrayLength<N>)*> SubAssign<N> for $vecn<N $(, $param)*>
where N: Copy + SubAssign<N> + Zero $(, $param : ArrayLength<N>)* {
#[inline]
fn sub_assign(&mut self, right: N) {
Expand Down

0 comments on commit 479cc7a

Please sign in to comment.