@@ -60,12 +60,14 @@ macro_rules! impl_binary_op(
60
60
/// If their shapes disagree, `rhs` is broadcast to the shape of `self`.
61
61
///
62
62
/// **Panics** if broadcasting isn’t possible.
63
- impl <A , S , S2 , D , E > $trt<ArrayBase <S2 , E >> for ArrayBase <S , D >
64
- where A : Clone + $trt<A , Output =A >,
65
- S : DataOwned <Elem =A > + DataMut ,
66
- S2 : Data <Elem =A >,
67
- D : Dimension ,
68
- E : Dimension ,
63
+ impl <A , B , S , S2 , D , E > $trt<ArrayBase <S2 , E >> for ArrayBase <S , D >
64
+ where
65
+ A : Clone + $trt<B , Output =A >,
66
+ B : Clone ,
67
+ S : DataOwned <Elem =A > + DataMut ,
68
+ S2 : Data <Elem =B >,
69
+ D : Dimension ,
70
+ E : Dimension ,
69
71
{
70
72
type Output = ArrayBase <S , D >;
71
73
fn $mth( self , rhs: ArrayBase <S2 , E >) -> ArrayBase <S , D >
@@ -82,12 +84,14 @@ impl<A, S, S2, D, E> $trt<ArrayBase<S2, E>> for ArrayBase<S, D>
82
84
/// If their shapes disagree, `rhs` is broadcast to the shape of `self`.
83
85
///
84
86
/// **Panics** if broadcasting isn’t possible.
85
- impl <' a, A , S , S2 , D , E > $trt<& ' a ArrayBase <S2 , E >> for ArrayBase <S , D >
86
- where A : Clone + $trt<A , Output =A >,
87
- S : DataOwned <Elem =A > + DataMut ,
88
- S2 : Data <Elem =A >,
89
- D : Dimension ,
90
- E : Dimension ,
87
+ impl <' a, A , B , S , S2 , D , E > $trt<& ' a ArrayBase <S2 , E >> for ArrayBase <S , D >
88
+ where
89
+ A : Clone + $trt<B , Output =A >,
90
+ B : Clone ,
91
+ S : DataOwned <Elem =A > + DataMut ,
92
+ S2 : Data <Elem =B >,
93
+ D : Dimension ,
94
+ E : Dimension ,
91
95
{
92
96
type Output = ArrayBase <S , D >;
93
97
fn $mth( mut self , rhs: & ArrayBase <S2 , E >) -> ArrayBase <S , D >
@@ -107,12 +111,14 @@ impl<'a, A, S, S2, D, E> $trt<&'a ArrayBase<S2, E>> for ArrayBase<S, D>
107
111
/// If their shapes disagree, `rhs` is broadcast to the shape of `self`.
108
112
///
109
113
/// **Panics** if broadcasting isn’t possible.
110
- impl <' a, A , S , S2 , D , E > $trt<& ' a ArrayBase <S2 , E >> for & ' a ArrayBase <S , D >
111
- where A : Clone + $trt<A , Output =A >,
112
- S : Data <Elem =A >,
113
- S2 : Data <Elem =A >,
114
- D : Dimension ,
115
- E : Dimension ,
114
+ impl <' a, A , B , S , S2 , D , E > $trt<& ' a ArrayBase <S2 , E >> for & ' a ArrayBase <S , D >
115
+ where
116
+ A : Clone + $trt<B , Output =A >,
117
+ B : Clone ,
118
+ S : Data <Elem =A >,
119
+ S2 : Data <Elem =B >,
120
+ D : Dimension ,
121
+ E : Dimension ,
116
122
{
117
123
type Output = Array <A , D >;
118
124
fn $mth( self , rhs: & ' a ArrayBase <S2 , E >) -> Array <A , D > {
0 commit comments