diff options
Diffstat (limited to 'tests/ui/deriving/deriving-show.rs')
-rw-r--r-- | tests/ui/deriving/deriving-show.rs | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/ui/deriving/deriving-show.rs b/tests/ui/deriving/deriving-show.rs new file mode 100644 index 000000000..eb3a8948f --- /dev/null +++ b/tests/ui/deriving/deriving-show.rs @@ -0,0 +1,35 @@ +// run-pass +#![allow(dead_code)] +#[derive(Debug)] +struct Unit; + +#[derive(Debug)] +struct Tuple(isize, usize); + +#[derive(Debug)] +struct Struct { x: isize, y: usize } + +#[derive(Debug)] +enum Enum { + Nullary, + Variant(isize, usize), + StructVariant { x: isize, y : usize } +} + +#[derive(Debug)] +struct Pointers(*const dyn Send, *mut dyn Sync); + +macro_rules! t { + ($x:expr, $expected:expr) => { + assert_eq!(format!("{:?}", $x), $expected.to_string()) + } +} + +pub fn main() { + t!(Unit, "Unit"); + t!(Tuple(1, 2), "Tuple(1, 2)"); + t!(Struct { x: 1, y: 2 }, "Struct { x: 1, y: 2 }"); + t!(Enum::Nullary, "Nullary"); + t!(Enum::Variant(1, 2), "Variant(1, 2)"); + t!(Enum::StructVariant { x: 1, y: 2 }, "StructVariant { x: 1, y: 2 }"); +} |