mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2024-09-13 02:24:55 +00:00
d5f5648b37
We use cargo vendor to generate a .cargo/config file and the vendor directory. Vendoring allows us to lock our dependencies and to modify them easily from the top level Cargo.toml. We vendor all dependencies, including the crates.io ones, which allows for network isolated builds. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
66 lines
2.8 KiB
Markdown
66 lines
2.8 KiB
Markdown
# rand_core
|
|
|
|
[![Build Status](https://travis-ci.org/rust-random/rand.svg)](https://travis-ci.org/rust-random/rand)
|
|
[![Build Status](https://ci.appveyor.com/api/projects/status/github/rust-random/rand?svg=true)](https://ci.appveyor.com/project/rust-random/rand)
|
|
[![Latest version](https://img.shields.io/crates/v/rand_core.svg)](https://crates.io/crates/rand_core)
|
|
[![Book](https://img.shields.io/badge/book-master-yellow.svg)](https://rust-random.github.io/book/)
|
|
[![API](https://img.shields.io/badge/api-master-yellow.svg)](https://rust-random.github.io/rand/rand_core)
|
|
[![API](https://docs.rs/rand_core/badge.svg)](https://docs.rs/rand_core)
|
|
[![Minimum rustc version](https://img.shields.io/badge/rustc-1.22+-lightgray.svg)](https://github.com/rust-random/rand#rust-version-requirements)
|
|
|
|
Core traits and error types of the [rand] library, plus tools for implementing
|
|
RNGs.
|
|
|
|
This crate is intended for use when implementing the core trait, `RngCore`; it
|
|
defines the core traits to be implemented as well as several small functions to
|
|
aid in their implementation and types required for error handling.
|
|
|
|
The main [rand] crate re-exports most items defined in this crate, along with
|
|
tools to convert the integer samples generated by `RngCore` to many different
|
|
applications (including sampling from restricted ranges, conversion to floating
|
|
point, list permutations and secure initialisation of RNGs). Most users should
|
|
prefer to use the main [rand] crate.
|
|
|
|
Links:
|
|
|
|
- [API documentation (master)](https://rust-random.github.io/rand/rand_core)
|
|
- [API documentation (docs.rs)](https://docs.rs/rand_core)
|
|
- [Changelog](CHANGELOG.md)
|
|
|
|
[rand]: https://crates.io/crates/rand
|
|
|
|
|
|
## Functionality
|
|
|
|
The `rand_core` crate provides:
|
|
|
|
- base random number generator traits
|
|
- error-reporting types
|
|
- functionality to aid implementation of RNGs
|
|
|
|
The traits and error types are also available via `rand`.
|
|
|
|
## Crate Features
|
|
|
|
`rand_core` supports `no_std` and `alloc`-only configurations, as well as full
|
|
`std` functionality. The differences between `no_std` and full `std` are small,
|
|
comprising `RngCore` support for `Box<R>` types where `R: RngCore`, as well as
|
|
extensions to the `Error` type's functionality.
|
|
|
|
Due to [rust-lang/cargo#1596](https://github.com/rust-lang/cargo/issues/1596),
|
|
`rand_core` is built without `std` support by default. Since features are
|
|
unioned across the whole dependency tree, any crate using `rand` with its
|
|
default features will also enable `std` support in `rand_core`.
|
|
|
|
The `serde1` feature can be used to derive `Serialize` and `Deserialize` for RNG
|
|
implementations that use the `BlockRng` or `BlockRng64` wrappers.
|
|
|
|
|
|
# License
|
|
|
|
`rand_core` is distributed under the terms of both the MIT license and the
|
|
Apache License (Version 2.0).
|
|
|
|
See [LICENSE-APACHE](LICENSE-APACHE) and [LICENSE-MIT](LICENSE-MIT), and
|
|
[COPYRIGHT](COPYRIGHT) for details.
|