From 133afff5a77bd8b5405f815b138798a586a25b55 Mon Sep 17 00:00:00 2001 From: Isis Lovecruft Date: Thu, 19 Jul 2018 23:50:00 +0000 Subject: [PATCH] Feature gate some uses on alloc/std which aren't used in nostd. * FIXES part of #166. --- src/edwards.rs | 3 +++ src/ristretto.rs | 4 +++- src/scalar_mul/straus.rs | 6 ++++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/edwards.rs b/src/edwards.rs index 7e15fce..9c9aa73 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 5581a19..d12de5d 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_mul/straus.rs b/src/scalar_mul/straus.rs index 21bf29e..398e011 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"))]