Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 8 additions & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,15 +37,15 @@ sudo: false
# Tests run on rand:
# - test no_std support, but only the unit tests:
# `cargo test --tests --no-default-features`
# - test no_std support, including the alloc feature:
# cargo test --tests --no-default-features --features=alloc
# - run unit tests and doctests with all features which are available on stable:
# `cargo test --features=serde1,log`
# - test examples:
# `cargo test --examples`
# Additional tests on nightly:
# - run unit tests and doctests with all features which are available on nightly:
# `cargo test --all-features`
# - test no_std support, including the nightly alloc feature:
# cargo test --tests --no-default-features --features=alloc
# - run benchmarks as tests:
# `cargo test --benches --features=nightly`
# Tests on subcrates:
Expand All @@ -54,6 +54,8 @@ sudo: false
#
# TODO: SIMD support on stable releases
# NOTE: SIMD support is unreliable on nightly; we track the latest release
# NOTE: Test for alloc feature in no_std is not included here because it depends
# on the alloc crate stabilized in Rust 1.36.
matrix:
include:
- rust: 1.32.0
Expand Down Expand Up @@ -137,7 +139,7 @@ matrix:
before_script:
- pip install 'travis-cargo<0.2' --user && export PATH=$HOME/.local/bin:$PATH
script:
# Differs from standard script: alloc feature, all features, doc build
# Differs from standard script: all features, doc build
- cargo test --tests --no-default-features --features=alloc
- cargo test --all-features
- cargo test --benches --features=nightly
Expand Down Expand Up @@ -167,7 +169,7 @@ matrix:
- cargo --list | egrep "^\s*deadlinks$" -q || cargo install cargo-deadlinks
- cargo deadlinks -V
script:
# Differs from standard script: alloc feature, all features, doc build
# Differs from standard script: all features, doc build
- cargo test --tests --no-default-features --features=alloc
- cargo test --all-features
- cargo test --benches --features=nightly
Expand Down Expand Up @@ -276,11 +278,13 @@ before_install:
script:
- cargo test --tests --no-default-features
- cargo test --tests --no-default-features --features getrandom
- cargo test --tests --no-default-features --features=alloc
# TODO: add simd_support feature:
- cargo test --features=serde1,log
- cargo test --examples
- cargo test --manifest-path rand_core/Cargo.toml
- cargo test --manifest-path rand_core/Cargo.toml --no-default-features
- cargo test --manifest-path rand_core/Cargo.toml --no-default-features --features=alloc
- cargo test --manifest-path rand_distr/Cargo.toml
- cargo test --manifest-path rand_isaac/Cargo.toml --features=serde1
- cargo test --manifest-path rand_pcg/Cargo.toml --features=serde1
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ You may also find the [Upgrade Guide](https://rust-random.github.io/book/update.
## [Unreleased]
- Fix `no_std` behaviour, appropriately enable c2-chacha's `std` feature (#844)
- Add a `no_std` target to CI to continously evaluate `no_std` status (#844)
- `alloc` feature in `no_std` is available since Rust 1.36 (#856)

## [0.7.0] - 2019-06-28

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ Rand release if required, but the change must be noted in the changelog.
Rand is built with these features enabled by default:

- `std` enables functionality dependent on the `std` lib
- `alloc` (implied by `std`) enables functionality requiring an allocator
- `alloc` (implied by `std`) enables functionality requiring an allocator (when using this feature in `no_std`, Rand requires Rustc version 1.36 or greater)
- `getrandom` (implied by `std`) is an optional dependency providing the code
behind `rngs::OsRng`

Expand Down
3 changes: 3 additions & 0 deletions rand_core/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]
- `alloc` feature in `no_std` is available since Rust 1.36 (#856)

## [0.5.1] - 2019-09-02
### Added
- `OsRng` added to `rand_core` (#863)
Expand Down
1 change: 0 additions & 1 deletion rand_core/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@
#![allow(clippy::unreadable_literal)]

#![cfg_attr(not(feature="std"), no_std)]
#![cfg_attr(all(feature="alloc", not(feature="std")), feature(alloc))]


use core::default::Default;
Expand Down
5 changes: 2 additions & 3 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,6 @@
#![doc(test(attr(allow(unused_variables), deny(warnings))))]

#![cfg_attr(not(feature="std"), no_std)]
#![cfg_attr(all(feature="alloc", not(feature="std")), feature(alloc))]
#![cfg_attr(all(feature="simd_support", feature="nightly"), feature(stdsimd))]

#![allow(clippy::excessive_precision, clippy::unreadable_literal, clippy::float_cmp)]
Expand Down Expand Up @@ -438,7 +437,7 @@ macro_rules! impl_as_byte_slice {
}
}
}

impl AsByteSliceMut for [Wrapping<$t>] {
fn as_byte_slice_mut(&mut self) -> &mut [u8] {
if self.len() == 0 {
Expand Down Expand Up @@ -602,7 +601,7 @@ mod test {
rng.fill(&mut array[..]);
assert_eq!(array, [x as u32, (x >> 32) as u32]);
assert_eq!(rng.next_u32(), x as u32);

// Check equivalence using wrapped arrays
let mut warray = [Wrapping(0u32); 2];
rng.fill(&mut warray[..]);
Expand Down