mirror of
https://github.com/pezkuwichain/serde.git
synced 2026-07-22 13:45:44 +00:00
More compile-fail tests for remote derive
This commit is contained in:
@@ -0,0 +1,17 @@
|
|||||||
|
#[macro_use]
|
||||||
|
extern crate serde_derive;
|
||||||
|
|
||||||
|
mod remote {
|
||||||
|
pub struct S {
|
||||||
|
a: u8,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Serialize)] //~ ERROR: proc-macro derive panicked
|
||||||
|
#[serde(remote = "remote::S")]
|
||||||
|
struct S {
|
||||||
|
#[serde(getter = "~~~")] //~^^^ HELP: failed to parse path: "~~~"
|
||||||
|
a: u8,
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
#[macro_use]
|
||||||
|
extern crate serde_derive;
|
||||||
|
|
||||||
|
mod remote {
|
||||||
|
pub struct S {
|
||||||
|
a: u8,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Serialize)] //~ ERROR: proc-macro derive panicked
|
||||||
|
#[serde(remote = "~~~")] //~^ HELP: failed to parse path: "~~~"
|
||||||
|
struct S {
|
||||||
|
a: u8,
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
#[macro_use]
|
||||||
|
extern crate serde_derive;
|
||||||
|
|
||||||
|
mod remote {
|
||||||
|
pub enum E {
|
||||||
|
A { a: u8 }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Serialize)] //~ ERROR: proc-macro derive panicked
|
||||||
|
#[serde(remote = "remote::E")]
|
||||||
|
pub enum E {
|
||||||
|
A {
|
||||||
|
#[serde(getter = "get_a")] //~^^^^ HELP: #[serde(getter = "...")] is not allowed in an enum
|
||||||
|
a: u8,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
#[macro_use]
|
||||||
|
extern crate serde_derive;
|
||||||
|
|
||||||
|
#[derive(Serialize)] //~ ERROR: proc-macro derive panicked
|
||||||
|
struct S {
|
||||||
|
#[serde(getter = "S::get")] //~^^ HELP: #[serde(getter = "...")] can only be used in structs that have #[serde(remote = "...")]
|
||||||
|
a: u8,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl S {
|
||||||
|
fn get(&self) -> u8 {
|
||||||
|
self.a
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {}
|
||||||
Reference in New Issue
Block a user