From c433b703ead56ec4dd05b5f3ad39301d27e19953 Mon Sep 17 00:00:00 2001 From: Alex Burka Date: Wed, 2 Mar 2016 00:58:04 -0500 Subject: refactor derive-no-std test, add empty struct/enum --- src/test/auxiliary/derive-no-std.rs | 40 +++++++++++++++++++++++++++++ src/test/run-pass-fulldeps/derive-no-std.rs | 39 ---------------------------- src/test/run-pass/derive-no-std.rs | 22 ++++++++++++++++ 3 files changed, 62 insertions(+), 39 deletions(-) create mode 100644 src/test/auxiliary/derive-no-std.rs delete mode 100644 src/test/run-pass-fulldeps/derive-no-std.rs create mode 100644 src/test/run-pass/derive-no-std.rs (limited to 'src') diff --git a/src/test/auxiliary/derive-no-std.rs b/src/test/auxiliary/derive-no-std.rs new file mode 100644 index 00000000000..f083e10bfdb --- /dev/null +++ b/src/test/auxiliary/derive-no-std.rs @@ -0,0 +1,40 @@ +// Copyright 2015 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// no-prefer-dynamic + +#![crate_type = "rlib"] +#![no_std] + +// Issue #16803 + +#[derive(Clone, Hash, PartialEq, Eq, PartialOrd, Ord, + Debug, Default, Copy)] +pub struct Foo { + pub x: u32, +} + +#[derive(Clone, Hash, PartialEq, Eq, PartialOrd, Ord, + Debug, Copy)] +pub enum Bar { + Qux, + Quux(u32), +} + +#[derive(Clone, Hash, PartialEq, Eq, PartialOrd, Ord, + Debug, Copy)] +pub enum Void {} +#[derive(Clone, Hash, PartialEq, Eq, PartialOrd, Ord, + Debug, Copy)] +pub struct Empty; +#[derive(Clone, Hash, PartialEq, Eq, PartialOrd, Ord, + Debug, Copy)] +pub struct AlsoEmpty {} + diff --git a/src/test/run-pass-fulldeps/derive-no-std.rs b/src/test/run-pass-fulldeps/derive-no-std.rs deleted file mode 100644 index 78e9da001f7..00000000000 --- a/src/test/run-pass-fulldeps/derive-no-std.rs +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright 2015 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -#![feature(rand, collections, rustc_private)] -#![no_std] - -extern crate rand; -extern crate serialize as rustc_serialize; -extern crate collections; - -// Issue #16803 - -#[derive(Clone, Hash, PartialEq, Eq, PartialOrd, Ord, - Debug, Default, Copy)] -struct Foo { - x: u32, -} - -#[derive(Clone, Hash, PartialEq, Eq, PartialOrd, Ord, - Debug, Copy)] -enum Bar { - Qux, - Quux(u32), -} - -enum Baz { A=0, B=5, } - -fn main() { - Foo { x: 0 }; - Bar::Quux(3); - Baz::A; -} diff --git a/src/test/run-pass/derive-no-std.rs b/src/test/run-pass/derive-no-std.rs new file mode 100644 index 00000000000..0cbe4f4ebd0 --- /dev/null +++ b/src/test/run-pass/derive-no-std.rs @@ -0,0 +1,22 @@ +// Copyright 2015 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// aux-build:derive-no-std.rs + +extern crate derive_no_std; +use derive_no_std::*; + +fn main() { + let f = Foo { x: 0 }; + assert_eq!(f.clone(), Foo::default()); + + assert!(Bar::Qux < Bar::Quux(42)); +} + -- cgit 1.4.1-3-g733a5