Make rand_core optional and expose rand and rand_core crates
This commit is contained in:
parent
f348415f11
commit
8e6ba6de9b
|
@ -14,6 +14,7 @@ edition = "2018"
|
||||||
[features]
|
[features]
|
||||||
default = [ "std" ]
|
default = [ "std" ]
|
||||||
std = [ "unicode-normalization", "serde/std" ]
|
std = [ "unicode-normalization", "serde/std" ]
|
||||||
|
rand = [ "crate_rand", "rand_core" ]
|
||||||
|
|
||||||
# Note: English is the standard for bip39 so always included
|
# Note: English is the standard for bip39 so always included
|
||||||
chinese-simplified = []
|
chinese-simplified = []
|
||||||
|
@ -37,8 +38,8 @@ all-languages = [
|
||||||
]
|
]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
rand_core = ">=0.4.0, <0.7.0"
|
rand_core = { version = ">=0.4.0, <0.7.0", optional = true }
|
||||||
rand = { version = ">=0.6.0, <0.9.0", optional = true }
|
crate_rand = { package = "rand", version = ">=0.6.0, <0.9.0", optional = true }
|
||||||
serde = { version = "1.0", default-features = false, features = [ "alloc" ], optional = true }
|
serde = { version = "1.0", default-features = false, features = [ "alloc" ], optional = true }
|
||||||
|
|
||||||
# Enabling this feature raises the MSRV to 1.51
|
# Enabling this feature raises the MSRV to 1.51
|
||||||
|
@ -49,6 +50,7 @@ bitcoin_hashes = { version = "0.11.0", default-features = false }
|
||||||
unicode-normalization = { version = "=0.1.9", optional = true }
|
unicode-normalization = { version = "=0.1.9", optional = true }
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
rand = { version = "0.8.5", optional = false }
|
rand_core = { version = "0.6.4", optional = false }
|
||||||
|
crate_rand = { package = "rand", version = "0.8.5", optional = false }
|
||||||
bitcoin_hashes = "0.11.0" # enable default features for test
|
bitcoin_hashes = "0.11.0" # enable default features for test
|
||||||
|
|
||||||
|
|
|
@ -31,13 +31,14 @@ pub extern crate core;
|
||||||
extern crate alloc;
|
extern crate alloc;
|
||||||
|
|
||||||
extern crate bitcoin_hashes;
|
extern crate bitcoin_hashes;
|
||||||
extern crate rand_core;
|
|
||||||
|
|
||||||
#[cfg(feature = "std")]
|
#[cfg(feature = "std")]
|
||||||
extern crate unicode_normalization;
|
extern crate unicode_normalization;
|
||||||
|
|
||||||
|
#[cfg(feature = "rand_core")]
|
||||||
|
pub extern crate rand_core;
|
||||||
#[cfg(feature = "rand")]
|
#[cfg(feature = "rand")]
|
||||||
extern crate rand;
|
pub extern crate crate_rand as rand;
|
||||||
#[cfg(feature = "serde")]
|
#[cfg(feature = "serde")]
|
||||||
pub extern crate serde;
|
pub extern crate serde;
|
||||||
|
|
||||||
|
@ -248,14 +249,14 @@ impl Mnemonic {
|
||||||
/// Example:
|
/// Example:
|
||||||
///
|
///
|
||||||
/// ```
|
/// ```
|
||||||
/// extern crate rand;
|
|
||||||
/// extern crate bip39;
|
/// extern crate bip39;
|
||||||
///
|
///
|
||||||
/// use bip39::{Mnemonic, Language};
|
/// use bip39::{Mnemonic, Language};
|
||||||
///
|
///
|
||||||
/// let mut rng = rand::thread_rng();
|
/// let mut rng = bip39::rand::thread_rng();
|
||||||
/// let m = Mnemonic::generate_in_with(&mut rng, Language::English, 24).unwrap();
|
/// let m = Mnemonic::generate_in_with(&mut rng, Language::English, 24).unwrap();
|
||||||
/// ```
|
/// ```
|
||||||
|
#[cfg(feature = "rand_core")]
|
||||||
pub fn generate_in_with<R>(
|
pub fn generate_in_with<R>(
|
||||||
rng: &mut R,
|
rng: &mut R,
|
||||||
language: Language,
|
language: Language,
|
||||||
|
|
Loading…
Reference in New Issue