refactor derive-no-std test, add empty struct/enum

This commit is contained in:
Alex Burka 2016-03-02 00:58:04 -05:00
parent d19f1b6299
commit c433b703ea
2 changed files with 37 additions and 14 deletions

View File

@ -8,32 +8,33 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
#![feature(rand, collections, rustc_private)]
#![no_std]
// no-prefer-dynamic
extern crate rand;
extern crate serialize as rustc_serialize;
extern crate collections;
#![crate_type = "rlib"]
#![no_std]
// Issue #16803
#[derive(Clone, Hash, PartialEq, Eq, PartialOrd, Ord,
Debug, Default, Copy)]
struct Foo {
x: u32,
pub struct Foo {
pub x: u32,
}
#[derive(Clone, Hash, PartialEq, Eq, PartialOrd, Ord,
Debug, Copy)]
enum Bar {
pub enum Bar {
Qux,
Quux(u32),
}
enum Baz { A=0, B=5, }
#[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 {}
fn main() {
Foo { x: 0 };
Bar::Quux(3);
Baz::A;
}

View File

@ -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));
}