diff --git a/src/curve.rs b/src/curve.rs index 5d770d1..13c9686 100644 --- a/src/curve.rs +++ b/src/curve.rs @@ -91,6 +91,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 fe26b70..41d0898 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,19 +33,21 @@ //! 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; #[macro_use] extern crate arrayref; +#[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;