]> git.lizzy.rs Git - rust.git/commitdiff
refactor derive-no-std test, add empty struct/enum
authorAlex Burka <aburka@seas.upenn.edu>
Wed, 2 Mar 2016 05:58:04 +0000 (00:58 -0500)
committerAlex Burka <aburka@seas.upenn.edu>
Mon, 14 Mar 2016 20:46:54 +0000 (16:46 -0400)
src/test/auxiliary/derive-no-std.rs [new file with mode: 0644]
src/test/run-pass-fulldeps/derive-no-std.rs [deleted file]
src/test/run-pass/derive-no-std.rs [new file with mode: 0644]

diff --git a/src/test/auxiliary/derive-no-std.rs b/src/test/auxiliary/derive-no-std.rs
new file mode 100644 (file)
index 0000000..f083e10
--- /dev/null
@@ -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 <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.
+
+// 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 (file)
index 78e9da0..0000000
+++ /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 <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(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 (file)
index 0000000..0cbe4f4
--- /dev/null
@@ -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 <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.
+
+// 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));
+}
+