diff --git a/src/curve.rs b/src/curve.rs index 25b2b70..a9cddf4 100644 --- a/src/curve.rs +++ b/src/curve.rs @@ -90,6 +90,9 @@ use subtle::CTAssignable; use subtle::CTEq; use subtle::CTNegatable; +#[cfg(not(feature = "std"))] +use collections::boxed::Box; + // ------------------------------------------------------------------------ // Compressed points // ------------------------------------------------------------------------ diff --git a/src/lib.rs b/src/lib.rs index 13fec92..947a531 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -9,7 +9,8 @@ // - Isis Agora Lovecruft // - Henry de Valence -#![no_std] +#![cfg_attr(not(feature = "std"), no_std)] +#![cfg_attr(not(feature = "std"), feature(collections))] #![allow(unused_features)] #![feature(test)] #![deny(missing_docs)] // refuse to compile if documentation is missing @@ -32,10 +33,6 @@ //! hatred of the Daleks. Rusty destroys the other Daleks and departs the //! ship, determined to track down and bring an end to the Dalek race. -#[cfg(test)] -#[macro_use] -extern crate std; - #[cfg(test)] extern crate test; #[cfg(test)] @@ -47,9 +44,15 @@ extern crate arrayref; extern crate generic_array; extern crate digest; +#[cfg(feature = "std")] +extern crate core; + #[cfg(feature = "std")] extern crate rand; +#[cfg(not(feature = "std"))] +extern crate collections; + // Modules for low-level operations directly on field elements and curve points. pub mod field;