Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove #![feature(alloc)] #856

Merged
merged 2 commits into from Aug 23, 2019
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.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
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