Remove #![feature(alloc)]
diff --git a/.travis.yml b/.travis.yml
index c375880..2daa6fb 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -37,6 +37,8 @@
 # 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:
@@ -44,8 +46,6 @@
 # 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:
@@ -137,7 +137,7 @@
       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
@@ -167,7 +167,7 @@
         - 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
@@ -276,11 +276,13 @@
 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
diff --git a/rand_core/src/lib.rs b/rand_core/src/lib.rs
index 4016002..d8e0189 100644
--- a/rand_core/src/lib.rs
+++ b/rand_core/src/lib.rs
@@ -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;
diff --git a/src/lib.rs b/src/lib.rs
index 5d8fa23..b4167c3 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -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)]
@@ -438,7 +437,7 @@
                 }
             }
         }
-        
+
         impl AsByteSliceMut for [Wrapping<$t>] {
             fn as_byte_slice_mut(&mut self) -> &mut [u8] {
                 if self.len() == 0 {
@@ -602,7 +601,7 @@
         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[..]);