Implement derive macros expansion tests using macrotest

This commit is contained in:
Evgenii P
2019-11-01 02:32:06 +08:00
parent 2ceabad360
commit dc6dbba47c
13 changed files with 112 additions and 0 deletions
@@ -0,0 +1,13 @@
use serde::Deserialize;
#[derive(Debug, PartialEq, Serialize, Deserialize)]
enum DeEnum<B, C, D> {
Unit,
Seq(i8, B, C, D),
Map { a: i8, b: B, c: C, d: D },
// Make sure we can support more than one variant.
_Unit2,
_Seq2(i8, B, C, D),
_Map2 { a: i8, b: B, c: C, d: D },
}
@@ -0,0 +1,9 @@
use serde::{Serialize, Deserialize};
#[derive(Serialize, Deserialize)]
pub enum GenericEnum<T, U> {
Unit,
NewType(T),
Seq(T, U),
Map { x: T, y: U },
}
@@ -0,0 +1,9 @@
use serde::{Serialize, Deserialize};
#[derive(Serialize, Deserialize)]
enum Lifetimes<'a> {
LifetimeSeq(&'a i32),
NoLifetimeSeq(i32),
LifetimeMap { a: &'a i32 },
NoLifetimeMap { a: i32 },
}
@@ -0,0 +1,16 @@
use serde::Serialize;
#[derive(Serialize)]
enum SerEnum<'a, B: 'a, C: 'a, D>
where
D: 'a,
{
Unit,
Seq(i8, B, &'a C, &'a mut D),
Map { a: i8, b: B, c: &'a C, d: &'a mut D },
// Make sure we can support more than one variant.
_Unit2,
_Seq2(i8, B, &'a C, &'a mut D),
_Map2 { a: i8, b: B, c: &'a C, d: &'a mut D },
}
@@ -0,0 +1,4 @@
use serde::{Serialize, Deserialize};
#[derive(Serialize, Deserialize)]
enum Void {}