]> git.proxmox.com Git - rustc.git/blob - src/test/ui/run-pass/deriving/deriving-show.rs
New upstream version 1.30.0~beta.7+dfsg1
[rustc.git] / src / test / ui / run-pass / deriving / deriving-show.rs
1 // Copyright 2014 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
4 //
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
10
11 // run-pass
12 #[derive(Debug)]
13 struct Unit;
14
15 #[derive(Debug)]
16 struct Tuple(isize, usize);
17
18 #[derive(Debug)]
19 struct Struct { x: isize, y: usize }
20
21 #[derive(Debug)]
22 enum Enum {
23 Nullary,
24 Variant(isize, usize),
25 StructVariant { x: isize, y : usize }
26 }
27
28 #[derive(Debug)]
29 struct Pointers(*const Send, *mut Sync);
30
31 macro_rules! t {
32 ($x:expr, $expected:expr) => {
33 assert_eq!(format!("{:?}", $x), $expected.to_string())
34 }
35 }
36
37 pub fn main() {
38 t!(Unit, "Unit");
39 t!(Tuple(1, 2), "Tuple(1, 2)");
40 t!(Struct { x: 1, y: 2 }, "Struct { x: 1, y: 2 }");
41 t!(Enum::Nullary, "Nullary");
42 t!(Enum::Variant(1, 2), "Variant(1, 2)");
43 t!(Enum::StructVariant { x: 1, y: 2 }, "StructVariant { x: 1, y: 2 }");
44 }