diff --git a/src/edwards.rs b/src/edwards.rs index 19be13e..d3155a1 100644 --- a/src/edwards.rs +++ b/src/edwards.rs @@ -119,7 +119,10 @@ use scalar_mul::window::LookupTable; use traits::{Identity, IsIdentity}; use traits::ValidityCheck; + +#[cfg(any(feature = "alloc", feature = "std"))] use traits::MultiscalarMul; +#[cfg(any(feature = "alloc", feature = "std"))] use traits::VartimeMultiscalarMul; // ------------------------------------------------------------------------ diff --git a/src/ristretto.rs b/src/ristretto.rs index 56c610c..1a6f8dd 100644 --- a/src/ristretto.rs +++ b/src/ristretto.rs @@ -192,7 +192,9 @@ use scalar::Scalar; use curve_models::CompletedPoint; -use traits::{Identity, MultiscalarMul, VartimeMultiscalarMul}; +use traits::Identity; +#[cfg(any(feature = "alloc", feature = "std"))] +use traits::{MultiscalarMul, VartimeMultiscalarMul}; // ------------------------------------------------------------------------ // Compressed points diff --git a/src/scalar.rs b/src/scalar.rs index 6e7dad5..2d55d73 100644 --- a/src/scalar.rs +++ b/src/scalar.rs @@ -516,7 +516,6 @@ impl Scalar { /// let mut csprng: OsRng = OsRng::new().unwrap(); /// let a: Scalar = Scalar::random(&mut csprng); /// # } - #[cfg(feature = "std")] pub fn random(rng: &mut T) -> Self { let mut scalar_bytes = [0u8; 64]; rng.fill(&mut scalar_bytes); diff --git a/src/scalar_mul/straus.rs b/src/scalar_mul/straus.rs index cfa563f..8d6c109 100644 --- a/src/scalar_mul/straus.rs +++ b/src/scalar_mul/straus.rs @@ -12,11 +12,16 @@ #![allow(non_snake_case)] +#[cfg(any(feature = "alloc", feature = "std"))] use core::borrow::Borrow; +#[cfg(any(feature = "alloc", feature = "std"))] use edwards::EdwardsPoint; +#[cfg(any(feature = "alloc", feature = "std"))] use scalar::Scalar; +#[cfg(any(feature = "alloc", feature = "std"))] use traits::MultiscalarMul; +#[cfg(any(feature = "alloc", feature = "std"))] use traits::VartimeMultiscalarMul; /// Perform multiscalar multiplication by the interleaved window @@ -40,6 +45,7 @@ use traits::VartimeMultiscalarMul; /// /// [solution]: https://www.jstor.org/stable/2310929 /// [problem]: https://www.jstor.org/stable/2312273 +#[cfg(any(feature = "alloc", feature = "std"))] pub struct Straus {} #[cfg(any(feature = "alloc", feature = "std"))]