Commit Graph

326 Commits

Author SHA1 Message Date
David Tolnay
0ea9d73fdf
Validate use of serde(transparent) 2018-05-20 21:55:18 -07:00
David Tolnay
a64aaeeb3b
Parse serde(transparent) container attribute 2018-05-20 21:55:16 -07:00
David Tolnay
3d5141a2f1
Update to proc-macro2 0.4 2018-05-20 20:55:14 -07:00
David Tolnay
656ea96c65
Remove reminders about flatten in a sequence 2018-05-20 12:42:40 -07:00
David Tolnay
5302482596
Simplify deserialize_seq_in_place 2018-05-20 12:40:35 -07:00
David Tolnay
7ada27014d
Track field index in internal AST 2018-05-20 12:40:28 -07:00
David Tolnay
4fa2a50f62
Format with rustfmt 0.7.0 2018-05-19 17:33:30 -07:00
David Tolnay
0c5f20c148
Release 1.0.58 2018-05-19 17:30:39 -07:00
David Tolnay
16d1265e17
Fix generated code for deserializing untagged newtype variant 2018-05-19 17:20:14 -07:00
David Tolnay
3b4803115b
Release 1.0.57 2018-05-18 23:31:33 -07:00
David Tolnay
f58000cb41
Release 1.0.56 2018-05-18 12:37:06 -07:00
David Tolnay
6550231a51
Release 1.0.55 2018-05-12 09:47:43 -07:00
David Tolnay
d6b62b9417
Release 1.0.54 2018-05-11 23:02:37 -07:00
David Tolnay
f3f26796c7
Format with rustfmt 0.6.1 2018-05-10 09:11:19 -07:00
David Tolnay
d1460e1f0d
Release 1.0.53 2018-05-10 08:44:53 -07:00
David Tolnay
368961e961
Support deserializing flattened untagged enum 2018-05-10 08:33:47 -07:00
David Tolnay
f9c6f0ab62
Release 1.0.52 2018-05-09 13:01:41 -07:00
David Tolnay
b2b36e1764
Accept implicitly borrowed data inside of Option 2018-05-08 12:19:09 -07:00
David Tolnay
4ad140ea70
Improve error for struct deserialized from array that is too short 2018-05-08 12:03:35 -07:00
David Tolnay
67777eb585
Account for skip_serializing_if in tuple struct length 2018-05-08 11:49:37 -07:00
David Tolnay
b4e51fcc77
Respect skip_serializing in tuple structs and variants 2018-05-08 11:37:52 -07:00
David Tolnay
be7fe2a5eb
Introduce bound attribute on enum variants 2018-05-08 11:16:10 -07:00
David Tolnay
b4076f4577
Release 1.0.51 2018-05-08 10:07:45 -07:00
David Tolnay
c4181f46be
Respect variant skip attribute in inferred bounds 2018-05-07 21:30:00 -07:00
David Tolnay
8c0efc3d77
Add a variant skip attribute 2018-05-07 21:27:34 -07:00
David Tolnay
7e3efaf6c5
Improve error when a 'de lifetime parameter already exists 2018-05-07 21:15:44 -07:00
David Tolnay
12fe42ed45
Support empty adjacently tagged enum 2018-05-07 21:02:42 -07:00
David Tolnay
7cd4f49c76
Release 1.0.50 2018-05-07 13:51:32 -07:00
David Tolnay
0025ef9aba
Detect deserialize on a struct ending in dynamically sized slice 2018-05-07 11:52:59 -07:00
David Tolnay
536bdd77a0
Release 1.0.49 2018-05-07 11:51:15 -07:00
David Tolnay
dc921892be
Eliminate map_or(None, f) 2018-05-07 11:23:04 -07:00
David Tolnay
62557731c3
Enable pedantic clippy lints in serde_derive 2018-05-07 11:03:09 -07:00
David Tolnay
30824e9f61
Release 1.0.48 2018-05-07 10:22:26 -07:00
David Tolnay
6475e73b05
Less horrible logic for missing fields that unconditionally return error 2018-05-06 22:20:35 -07:00
David Tolnay
3cd9d071c2
Fix adjacently tagged empty tuple variant or struct variant 2018-05-06 21:50:40 -07:00
David Tolnay
9dc05c36f0
Release 1.0.47 2018-05-06 21:39:21 -07:00
David Tolnay
94b857057b
Support deserializing enums containing flatten 2018-05-06 20:41:02 -07:00
David Tolnay
979df3427b
Support serializing enums containing flatten 2018-05-06 20:14:35 -07:00
David Tolnay
978d64993e
Allow flatten attribute in enums 2018-05-06 20:14:28 -07:00
David Tolnay
5098609935
Release 1.0.46 2018-05-06 13:44:55 -07:00
David Tolnay
6374467f02
Merge pull request #1245 from serde-rs/flat
Support deserializing a flattened internally tagged enum
2018-05-06 13:43:44 -07:00
David Tolnay
3859f58d9b
Move derive internals into serde_derive crate
We can continue to publish serde_derive_internals independently but
serde_derive no longer has a dependency on it. This improves compile
time of serde_derive by 7%.
2018-05-05 23:46:30 -07:00
David Tolnay
aac1c65033
Simplify implementation of flattened internally tagged enum
The fact that the tag entry is consumed was only observable if there is
a later flattened map field, at which point the behavior is already
confusing anyway.

    #[derive(Deserialize)]
    struct Example {
        #[serde(flatten)]
        a: InternallyTagged,
        #[serde(flatten)]
        rest: BTreeMap<String, Value>,
    }

Before this simplification the map would receive all the fields of the
internally tagged enum but not its tag, after it receives all the fields
including the tag.
2018-05-05 22:30:46 -07:00
David Tolnay
d8120e19bc
Support deserializing a flattened internally tagged enum 2018-05-05 21:52:16 -07:00
David Tolnay
f263e3fcec
Format serde_derive generated where-clauses 2018-05-05 18:24:16 -07:00
David Tolnay
47676cdb49
Clean up references to Ident 2018-05-05 00:45:30 -07:00
David Tolnay
93bddb361e
Fix toplevel_ref_arg lint 2018-05-05 00:39:26 -07:00
David Tolnay
adb1c9540d
Remove a layer of wrapping in deserialize_with untagged newtype variant 2018-05-05 00:25:27 -07:00
David Tolnay
0e1d065402
Format with rustfmt 0.6.1 2018-05-05 00:18:21 -07:00
David Tolnay
8c3b52e308
Remove a layer of wrapping in deserialize_with newtype struct 2018-05-05 00:17:00 -07:00