More compile-fail tests for remote derive
This commit is contained in:
parent
9d8987bde8
commit
5ec317a899
17
test_suite/tests/compile-fail/remote/bad_getter.rs
Normal file
17
test_suite/tests/compile-fail/remote/bad_getter.rs
Normal file
@ -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() {}
|
16
test_suite/tests/compile-fail/remote/bad_remote.rs
Normal file
16
test_suite/tests/compile-fail/remote/bad_remote.rs
Normal file
@ -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() {}
|
19
test_suite/tests/compile-fail/remote/enum_getter.rs
Normal file
19
test_suite/tests/compile-fail/remote/enum_getter.rs
Normal file
@ -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() {}
|
16
test_suite/tests/compile-fail/remote/nonremote_getter.rs
Normal file
16
test_suite/tests/compile-fail/remote/nonremote_getter.rs
Normal file
@ -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() {}
|
Loading…
x
Reference in New Issue
Block a user