Skip to content

Commit

Permalink
Merge pull request #856 from taiki-e/alloc
Browse files Browse the repository at this point in the history
Remove #![feature(alloc)]
  • Loading branch information
dhardy committed Aug 23, 2019
2 parents 18ce640 + 918765d commit a4cd495
Show file tree
Hide file tree
Showing 6 changed files with 15 additions and 9 deletions.
12 changes: 8 additions & 4 deletions .travis.yml
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
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
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
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
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
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

0 comments on commit a4cd495

Please sign in to comment.