Disable tests that use nightly features or depend on a very specific rustc version.

diff --git a/tests/compiletest.rs b/tests/compiletest.rs
index 1198128..e411e00 100644
--- a/tests/compiletest.rs
+++ b/tests/compiletest.rs
@@ -24,7 +24,7 @@ fn run_mode(src: &'static str, mode: &'static str) {
     ct::run_tests(&config);
 }
 
-#[test]
+//#[test]
 fn compile_test() {
     run_mode("compile-fail", "compile-fail");
 }
diff --git a/tests/enum.rs b/tests/enum.rs
deleted file mode 100644
index b2fa37b..0000000
--- a/tests/enum.rs
+++ /dev/null
@@ -1,508 +0,0 @@
-// Copyright 2018 The proptest developers
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![feature(never_type)]
-
-use proptest::prelude::Arbitrary;
-use proptest_derive::Arbitrary;
-
-#[derive(Debug, Arbitrary)]
-enum T1 {
-    V1,
-}
-
-#[derive(Debug, Arbitrary)]
-enum T2 {
-    V1(),
-    V2 {},
-}
-
-#[derive(Debug, Arbitrary)]
-enum T3 {
-    V1(),
-    V2 {},
-    V3,
-}
-
-#[derive(Debug, Arbitrary)]
-enum T4 {
-    V1,
-    V2(),
-    V3,
-    V4 {},
-}
-
-#[derive(Debug, Arbitrary)]
-enum T5 {
-    V1,
-    V2,
-    V3,
-    V4 {},
-    V5(),
-}
-
-#[derive(Debug, Arbitrary)]
-enum T6 {
-    V1(),
-    V2,
-    V3 {},
-    V4,
-    V5,
-    V6,
-}
-
-#[derive(Debug, Arbitrary)]
-enum T7 {
-    V1,
-    V2,
-    V3,
-    V4 {},
-    V5,
-    V6,
-    V7(),
-}
-
-#[derive(Debug, Arbitrary)]
-enum T8 {
-    V1,
-    V2,
-    V3(),
-    V4,
-    V5,
-    V6 {},
-    V7,
-    V8,
-}
-
-#[derive(Debug, Arbitrary)]
-enum T9 {
-    V1,
-    V2,
-    V3,
-    V4,
-    V5 {},
-    V6(),
-    V7,
-    V8,
-    V9,
-}
-
-#[derive(Debug, Arbitrary)]
-enum T10 {
-    V1,
-    V2,
-    V3,
-    V4,
-    V5 {},
-    V6(),
-    V7,
-    V8,
-    V9,
-    V10,
-}
-
-#[derive(Debug, Arbitrary)]
-enum T11 {
-    V1,
-    V2,
-    V3,
-    V4,
-    V5 {},
-    V6(),
-    V7,
-    V8,
-    V9,
-    V10,
-    V11,
-}
-
-#[derive(Debug, Arbitrary)]
-enum T12 {
-    V1,
-    V2,
-    V3,
-    V4,
-    V5 {},
-    V6(),
-    V7,
-    V8,
-    V9,
-    V10,
-    V11,
-    V12,
-}
-
-#[derive(Debug, Arbitrary)]
-enum T13 {
-    V1,
-    V2,
-    V3,
-    V4,
-    V5 {},
-    V6(),
-    V7,
-    V8,
-    V9,
-    V10,
-    V11,
-    V12,
-    V13,
-}
-
-#[derive(Debug, Arbitrary)]
-enum T14 {
-    V1,
-    V2,
-    V3,
-    V4,
-    V5 {},
-    V6(),
-    V7,
-    V8,
-    V9,
-    V10,
-    V11,
-    V12,
-    V13,
-    V14,
-}
-
-#[derive(Debug, Arbitrary)]
-enum T15 {
-    V1,
-    V2,
-    V3,
-    V4,
-    V5 {},
-    V6(),
-    V7,
-    V8,
-    V9,
-    V10,
-    V11,
-    V12,
-    V13,
-    V14,
-    V15,
-}
-
-#[derive(Debug, Arbitrary)]
-enum T16 {
-    V1,
-    V2,
-    V3,
-    V4,
-    V5 {},
-    V6(),
-    V7,
-    V8,
-    V9,
-    V10,
-    V11,
-    V12,
-    V13,
-    V14,
-    V15,
-    V16,
-}
-
-#[derive(Debug, Arbitrary)]
-enum T17 {
-    V1,
-    V2,
-    V3,
-    V4,
-    V5 {},
-    V6(),
-    V7,
-    V8,
-    V9,
-    V10,
-    V11,
-    V12,
-    V13,
-    V14,
-    V15,
-    V16,
-    V17,
-}
-
-#[derive(Debug, Arbitrary)]
-enum T18 {
-    V1,
-    V2,
-    V3,
-    V4,
-    V5 {},
-    V6(),
-    V7,
-    V8,
-    V9,
-    V10,
-    V11,
-    V12,
-    V13,
-    V14,
-    V15,
-    V16,
-    V17,
-    V18,
-}
-
-#[derive(Debug, Arbitrary)]
-enum T19 {
-    V1,
-    V2,
-    V3,
-    V4,
-    V5 {},
-    V6(),
-    V7,
-    V8,
-    V9,
-    V10,
-    V11,
-    V12,
-    V13,
-    V14,
-    V15,
-    V16,
-    V17,
-    V18,
-    V19,
-}
-
-#[derive(Debug, Arbitrary)]
-enum T20 {
-    V1,
-    V2,
-    V3,
-    V4,
-    V5 {},
-    V6(),
-    V7,
-    V8,
-    V9,
-    V10,
-    V11,
-    V12,
-    V13,
-    V14,
-    V15,
-    V16,
-    V17,
-    V18,
-    V19,
-    V20,
-}
-
-#[derive(Debug, Arbitrary)]
-enum T21 {
-    V1,
-    V2,
-    V3,
-    V4,
-    V5 {},
-    V6(),
-    V7,
-    V8,
-    V9,
-    V10,
-    V11,
-    V12,
-    V13,
-    V14,
-    V15,
-    V16,
-    V17,
-    V18,
-    V19,
-    V20,
-    V21,
-}
-
-#[derive(Debug, Arbitrary)]
-enum T22 {
-    V1,
-    V2,
-    V3,
-    V4,
-    V5 {},
-    V6(),
-    V7,
-    V8,
-    V9,
-    V10,
-    V11,
-    V12,
-    V13,
-    V14,
-    V15,
-    V16,
-    V17,
-    V18,
-    V19,
-    V20,
-    V21,
-    V22,
-}
-
-#[derive(Debug, Arbitrary)]
-enum T23 {
-    V1,
-    V2,
-    V3,
-    V4,
-    V5 {},
-    V6(),
-    V7,
-    V8,
-    V9,
-    V10,
-    V11,
-    V12,
-    V13,
-    V14,
-    V15,
-    V16,
-    V17,
-    V18,
-    V19,
-    V20,
-    V21,
-    V22,
-    V23,
-}
-
-#[derive(Debug, Arbitrary)]
-enum T24 {
-    V1,
-    V2,
-    V3,
-    V4,
-    V5 {},
-    V6(),
-    V7,
-    V8,
-    V9,
-    V10,
-    V11,
-    V12,
-    V13,
-    V14,
-    V15,
-    V16,
-    V17,
-    V18,
-    V19,
-    V20,
-    V21,
-    V22,
-    V23,
-    V24,
-}
-
-#[derive(Debug, Arbitrary)]
-enum T25 {
-    V1,
-    V2,
-    V3,
-    V4,
-    V5 {},
-    V6(),
-    V7,
-    V8,
-    V9,
-    V10,
-    V11,
-    V12,
-    V13,
-    V14,
-    V15,
-    V16,
-    V17,
-    V18,
-    V19,
-    V20,
-    V21,
-    V22,
-    V23,
-    V24,
-    V25,
-}
-
-#[derive(Clone, Debug, Arbitrary)]
-enum Alan {
-    A(usize),
-    B(String),
-    C(()),
-    D(u32),
-    E(f64),
-    F(char),
-}
-
-#[derive(Clone, Debug, Arbitrary)]
-enum SameType {
-    A(usize),
-    B(usize),
-}
-
-#[derive(Arbitrary, Debug)]
-enum OneTwo {
-    One(u8),
-    Two(u8, u8),
-}
-
-#[derive(Arbitrary, Debug)]
-enum ZeroOneTwo {
-    Zero,
-    One(u8),
-    Two(u8, u8),
-}
-
-#[derive(Arbitrary, Debug)]
-enum Nested {
-    First(SameType),
-    Second(ZeroOneTwo, OneTwo),
-}
-
-#[test]
-fn asserting_arbitrary() {
-    fn assert_arbitrary<T: Arbitrary>() {}
-
-    assert_arbitrary::<T1>();
-    assert_arbitrary::<T2>();
-    assert_arbitrary::<T3>();
-    assert_arbitrary::<T4>();
-    assert_arbitrary::<T5>();
-    assert_arbitrary::<T6>();
-    assert_arbitrary::<T7>();
-    assert_arbitrary::<T8>();
-    assert_arbitrary::<T9>();
-    assert_arbitrary::<T10>();
-    assert_arbitrary::<T11>();
-    assert_arbitrary::<T12>();
-    assert_arbitrary::<T13>();
-    assert_arbitrary::<T14>();
-    assert_arbitrary::<T15>();
-    assert_arbitrary::<T16>();
-    assert_arbitrary::<T17>();
-    assert_arbitrary::<T18>();
-    assert_arbitrary::<T19>();
-    assert_arbitrary::<T20>();
-    assert_arbitrary::<T21>();
-    assert_arbitrary::<T22>();
-    assert_arbitrary::<T23>();
-    assert_arbitrary::<T24>();
-    assert_arbitrary::<T25>();
-    assert_arbitrary::<Alan>();
-    assert_arbitrary::<SameType>();
-    assert_arbitrary::<OneTwo>();
-    assert_arbitrary::<ZeroOneTwo>();
-    assert_arbitrary::<Nested>();
-}
diff --git a/tests/skip.rs b/tests/skip.rs
deleted file mode 100644
index 95cafd5..0000000
--- a/tests/skip.rs
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright 2018 The proptest developers
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![feature(never_type)]
-#![allow(dead_code, unreachable_code)]
-
-use proptest::prelude::{prop_assert, prop_assert_eq, proptest, Arbitrary};
-use proptest_derive::Arbitrary;
-
-#[derive(Debug, Arbitrary, PartialEq)]
-enum Ty1 {
-    V1,
-    V2(!),
-    #[proptest(skip)]
-    V3,
-}
-
-#[derive(Debug, Arbitrary, PartialEq)]
-enum Ty2 {
-    V1,
-    V2,
-    #[proptest(skip)]
-    V3,
-    #[proptest(skip)]
-    V4,
-}
-
-proptest! {
-    #[test]
-    fn ty1_always_v1(v: Ty1) {
-        prop_assert_eq!(v, Ty1::V1);
-    }
-
-    #[test]
-    fn ty_always_1_or_2(v: Ty2) {
-        prop_assert!(v == Ty2::V1 || v == Ty2::V2);
-    }
-}
-
-#[test]
-fn asserting_arbitrary() {
-    fn assert_arbitrary<T: Arbitrary>() {}
-
-    assert_arbitrary::<Ty1>();
-    assert_arbitrary::<Ty2>();
-}
diff --git a/tests/uninhabited-pass.rs b/tests/uninhabited-pass.rs
deleted file mode 100644
index ec072aa..0000000
--- a/tests/uninhabited-pass.rs
+++ /dev/null
@@ -1,95 +0,0 @@
-// Copyright 2018 The proptest developers
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![feature(never_type)]
-
-use proptest::prelude::{prop_assert_eq, proptest, Arbitrary};
-use proptest_derive::Arbitrary;
-
-// Various arithmetic and basic things.
-#[allow(unreachable_code)]
-#[derive(Debug, Arbitrary, PartialEq)]
-enum Ty1 {
-    // Ensure that all of the types below are deemed uninhabited:
-    _V2(!),
-    _V3([!; 1]),
-    _V4([!; 2 - 1]),
-    _V5([!; 2 * 1]),
-    _V6([!; 2 / 2]),
-    _V7([!; 0b0 ^ 0b1]),
-    _V8([!; 0b1 & 0b1]),
-    _V9([!; 0b1 | 0b0]),
-    _V10([!; 0b10 << 1]),
-    _V11([!; 0b10 >> 1]),
-    _V12([!; !0 - 18446744073709551614]),
-    _V13([!; 1 + 2 * (3 / 3)]),
-    V1,
-}
-
-proptest! {
-    #[test]
-    fn ty1_always_v1(v1: Ty1) {
-        prop_assert_eq!(v1, Ty1::V1);
-    }
-}
-
-// Can't inspect type macros called as  mac!(uninhabited_type).
-macro_rules! tymac {
-    ($ignore: ty) => {
-        u8
-    };
-}
-
-#[derive(Debug, Arbitrary)]
-struct TyMac0 {
-    _field: tymac!(!),
-}
-
-#[derive(Debug, Arbitrary)]
-struct TyMac1 {
-    _baz: tymac!([!; 3 + 4]),
-}
-
-enum _TyMac2 {
-    #[deny(dead_code)]
-    V0(tymac!((u8, !, usize))),
-}
-
-// Can't inspect projections through associated types:
-trait Fun {
-    type Prj;
-}
-impl Fun for ! {
-    type Prj = u8;
-}
-impl Fun for (!, usize, !) {
-    type Prj = u8;
-}
-
-#[derive(Debug, Arbitrary)]
-enum UsePrj0 {
-    #[deny(dead_code)]
-    V0(<! as Fun>::Prj),
-}
-
-#[derive(Debug, Arbitrary)]
-enum UsePrj1 {
-    #[deny(dead_code)]
-    V0(<(!, usize, !) as Fun>::Prj),
-}
-
-#[test]
-fn asserting_arbitrary() {
-    fn assert_arbitrary<T: Arbitrary>() {}
-
-    assert_arbitrary::<Ty1>();
-    assert_arbitrary::<TyMac0>();
-    assert_arbitrary::<TyMac1>();
-    assert_arbitrary::<UsePrj0>();
-    assert_arbitrary::<UsePrj1>();
-}
