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,14 @@
use serde::{Serialize, Deserialize};
trait AssociatedType {
type X;
}
impl AssociatedType for i32 {
type X = i32;
}
#[derive(Serialize, Deserialize)]
struct DefaultTyParam<T: AssociatedType<X = i32> = i32> {
phantom: PhantomData<T>,
}
@@ -0,0 +1,9 @@
use serde::{Serialize, Deserialize};
#[derive(Serialize, Deserialize)]
pub struct GenericStruct<T> {
x: T,
}
#[derive(Serialize, Deserialize)]
pub struct GenericNewTypeStruct<T>(T);
@@ -0,0 +1,4 @@
use serde::{Serialize, Deserialize};
#[derive(Deserialize)]
pub struct GenericTupleStruct<T, U>(T, U);
@@ -0,0 +1,15 @@
use serde::{Serialize, Deserialize};
#[derive(Serialize)]
struct SerNamedMap<'a, 'b, A: 'a, B: 'b, C> {
a: &'a A,
b: &'b mut B,
c: C,
}
#[derive(Deserialize)]
struct DeNamedMap<A, B, C> {
a: A,
b: B,
c: C,
}
@@ -0,0 +1,7 @@
use serde::{Serialize, Deserialize};
#[derive(Serialize)]
struct SerNamedTuple<'a, 'b, A: 'a, B: 'b, C>(&'a A, &'b mut B, C);
#[derive(Deserialize)]
struct DeNamedTuple<A, B, C>(A, B, C);
@@ -0,0 +1,4 @@
use serde::{Serialize, Deserialize};
#[derive(Serialize, Deserialize)]
struct NamedUnit;