2
2
3
3
use core:: ops:: { Deref , Mul } ;
4
4
5
- use group:: { Curve , Group , GroupEncoding , prime:: PrimeCurveAffine } ;
5
+ use group:: { Group , GroupEncoding , prime:: PrimeCurveAffine } ;
6
6
use rand_core:: CryptoRng ;
7
7
use subtle:: { Choice , ConditionallySelectable , ConstantTimeEq , CtOption } ;
8
8
@@ -13,7 +13,7 @@ use alloc::vec::Vec;
13
13
use serdect:: serde:: { Deserialize , Serialize , de, ser} ;
14
14
use zeroize:: Zeroize ;
15
15
16
- use crate :: { BatchNormalize , CurveArithmetic , NonZeroScalar , Scalar } ;
16
+ use crate :: { BatchNormalize , CurveArithmetic , CurveGroup , NonZeroScalar , Scalar } ;
17
17
18
18
/// Non-identity point type.
19
19
///
@@ -83,7 +83,7 @@ impl<P: Copy> NonIdentity<P> {
83
83
84
84
impl < P > NonIdentity < P >
85
85
where
86
- P : ConditionallySelectable + ConstantTimeEq + Curve + Default ,
86
+ P : ConditionallySelectable + ConstantTimeEq + CurveGroup + Default ,
87
87
{
88
88
/// Generate a random `NonIdentity<ProjectivePoint>`.
89
89
pub fn random < R : CryptoRng + ?Sized > ( rng : & mut R ) -> Self {
@@ -132,7 +132,7 @@ impl<P> AsRef<P> for NonIdentity<P> {
132
132
133
133
impl < const N : usize , P > BatchNormalize < [ Self ; N ] > for NonIdentity < P >
134
134
where
135
- P : Curve + BatchNormalize < [ P ; N ] , Output = [ P :: AffineRepr ; N ] > ,
135
+ P : CurveGroup + BatchNormalize < [ P ; N ] , Output = [ P :: AffineRepr ; N ] > ,
136
136
{
137
137
type Output = [ NonIdentity < P :: AffineRepr > ; N ] ;
138
138
@@ -146,7 +146,7 @@ where
146
146
#[ cfg( feature = "alloc" ) ]
147
147
impl < P > BatchNormalize < [ Self ] > for NonIdentity < P >
148
148
where
149
- P : Curve + BatchNormalize < [ P ] , Output = Vec < P :: AffineRepr > > ,
149
+ P : CurveGroup + BatchNormalize < [ P ] , Output = Vec < P :: AffineRepr > > ,
150
150
{
151
151
type Output = Vec < NonIdentity < P :: AffineRepr > > ;
152
152
0 commit comments