mirror of
https://github.com/pezkuwichain/serde.git
synced 2026-10-20 18:56:19 +00:00
Add tests of #[serde(default)] attribute for units and unions
This commit is contained in:
1 parent
28a092261b
commit
21c7fd1bd5
8 files changed
+72
No files matched your search
@@ -0,0 +1,9 @@
|
||||
use serde_derive::Deserialize;
|
||||
|
||||
#[derive(Deserialize)]
|
||||
#[serde(default)]
|
||||
union Union {
|
||||
f: u8,
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
@@ -0,0 +1,14 @@
|
||||
error: #[serde(default)] can only be used on structs
|
||||
--> tests/ui/default-attribute/union.rs:4:9
|
||||
|
|
||||
4 | #[serde(default)]
|
||||
| ^^^^^^^
|
||||
|
||||
error: Serde does not support derive for unions
|
||||
--> tests/ui/default-attribute/union.rs:4:1
|
||||
|
|
||||
4 | / #[serde(default)]
|
||||
5 | | union Union {
|
||||
6 | | f: u8,
|
||||
7 | | }
|
||||
| |_^
|
||||
@@ -0,0 +1,9 @@
|
||||
use serde_derive::Deserialize;
|
||||
|
||||
#[derive(Deserialize)]
|
||||
#[serde(default = "default_u")]
|
||||
union Union {
|
||||
f: u8,
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
@@ -0,0 +1,14 @@
|
||||
error: #[serde(default = "...")] can only be used on structs
|
||||
--> tests/ui/default-attribute/union_path.rs:4:9
|
||||
|
|
||||
4 | #[serde(default = "default_u")]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: Serde does not support derive for unions
|
||||
--> tests/ui/default-attribute/union_path.rs:4:1
|
||||
|
|
||||
4 | / #[serde(default = "default_u")]
|
||||
5 | | union Union {
|
||||
6 | | f: u8,
|
||||
7 | | }
|
||||
| |_^
|
||||
@@ -0,0 +1,7 @@
|
||||
use serde_derive::Deserialize;
|
||||
|
||||
#[derive(Deserialize)]
|
||||
#[serde(default)]
|
||||
struct Unit;
|
||||
|
||||
fn main() {}
|
||||
@@ -0,0 +1,7 @@
|
||||
error: #[serde(default)] can only be used on structs that have fields
|
||||
--> tests/ui/default-attribute/unit.rs:3:10
|
||||
|
|
||||
3 | #[derive(Deserialize)]
|
||||
| ^^^^^^^^^^^
|
||||
|
|
||||
= note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
@@ -0,0 +1,7 @@
|
||||
use serde_derive::Deserialize;
|
||||
|
||||
#[derive(Deserialize)]
|
||||
#[serde(default = "default_u")]
|
||||
struct Unit;
|
||||
|
||||
fn main() {}
|
||||
@@ -0,0 +1,5 @@
|
||||
error: #[serde(default = "...")] can only be used on structs that have fields
|
||||
--> tests/ui/default-attribute/unit_path.rs:4:9
|
||||
|
|
||||
4 | #[serde(default = "default_u")]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
Reference in new issue
Block a user