David Tolnay
dbaf2893e3
Release 1.0.64
2018-05-30 00:17:45 -07:00
David Tolnay
1b6fbf1023
Release 1.0.63
2018-05-28 20:12:08 -07:00
David Tolnay
c50c9d8862
Simplify readme as rendered on crates.io
2018-05-27 19:18:30 -07:00
David Tolnay
983bf8c090
Release 1.0.62
2018-05-26 18:59:03 -07:00
David Tolnay
7407d71417
Release 1.0.61
2018-05-26 10:38:18 -07:00
David Tolnay
1385aac208
Release 1.0.60
2018-05-25 16:05:01 -07:00
David Tolnay
06dcbbbaba
Format with rustfmt 0.7.0
2018-05-22 21:27:37 -07:00
David Tolnay
4de20bd48d
Release 1.0.59
2018-05-21 03:51:32 -07:00
David Tolnay
6bbc415fdf
Resolve conflicts between transparent and proc-macro2 upgrade
2018-05-20 21:57:23 -07:00
David Tolnay
ac1b25e91d
Improve error messages related to transparent
2018-05-20 21:55:48 -07:00
David Tolnay
0a4d536253
Implement transparent deserialize
2018-05-20 21:55:20 -07:00
David Tolnay
7dba1e303d
Implement transparent serialize
2018-05-20 21:55:19 -07:00
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
David Tolnay
3f0d3453d8
Release 1.0.45
2018-05-02 15:18:17 -07:00
David Tolnay
b78f434086
Pretend remote derives are not dead code
2018-05-02 14:23:59 -07:00
David Tolnay
893c0578dd
Release 1.0.44
2018-05-01 22:34:27 -07:00
David Tolnay
cb2b92f828
Handle flatten + deserialize_with
2018-05-01 22:25:06 -07:00
David Tolnay
47a4ffbd31
Fill in missing fully qualified paths in flatten
2018-05-01 22:24:25 -07:00
David Tolnay
d82d1707d6
Format with rustfmt 0.6.0
2018-04-30 01:42:46 -07:00
David Tolnay
89278996c5
Release 1.0.43
2018-04-23 11:23:58 -07:00
Igor Gnatenko
f3cb7c7a32
derive: bump min version of quote to 0.5.2
...
Fixes: https://github.com/serde-rs/serde/issues/1230
2018-04-22 09:22:47 +02:00
David Tolnay
af795e2e54
Release 1.0.42
2018-04-21 15:16:10 -07:00
David Tolnay
df93fab5fa
Reduce instantiations of Result::map in Deserialize of unit variants
...
This eliminates 110 instantiations of Result::map in Xi and reduces
binary size by 229 kilobytes.
2018-04-21 13:27:17 -07:00
David Tolnay
6d1807bb4a
Improve Serialize of adjacently tagged newtype variants
...
The existing implementation was unnecessarily complicated.
struct __AdjacentlyTagged<'__a> {
data: (&'__a String,),
phantom: _serde::export::PhantomData<AdjacentlyTagged>,
}
impl<'__a> _serde::Serialize for __AdjacentlyTagged<'__a> {
fn serialize<__S>(
&self,
__serializer: __S,
) -> _serde::export::Result<__S::Ok, __S::Error>
where
__S: _serde::Serializer,
{
let (__field0,) = self.data;
_serde::Serialize::serialize(__field0, __serializer)
}
}
_serde::ser::SerializeStruct::serialize_field(
&mut __struct,
"content",
&__AdjacentlyTagged {
data: (__field0,),
phantom: _serde::export::PhantomData::<AdjacentlyTagged>,
},
)?;
Instead the new implementation does simply:
_serde::ser::SerializeStruct::serialize_field(
&mut __struct,
"content",
__field0,
)?;
2018-04-21 11:41:39 -07:00
David Tolnay
b37cf858ce
Remove unneeded quote_spanned that uses call_site
2018-04-21 11:33:39 -07:00
David Tolnay
5f8fa33756
Quote's default has changed to call_site
2018-04-21 11:33:38 -07:00
David Tolnay
607966dcf7
Fix error message type inference in compile-fail/remote/wrong_de.rs
2018-04-21 11:21:13 -07:00
David Tolnay
6a8c39b2aa
More efficient try!() alternative
2018-04-21 10:53:13 -07:00
David Tolnay
382f3c2771
Release 1.0.41
2018-04-19 22:13:45 -07:00
David Tolnay
541f9180cf
Release 1.0.40
2018-04-19 10:31:33 -07:00
David Tolnay
184264ee92
Release 1.0.39
2018-04-17 11:35:45 -07:00
David Tolnay
8d113e67d6
Release 1.0.38
2018-04-14 20:30:18 -07:00
David Tolnay
6e206ce053
Name formatter args with a leading double underscore
2018-04-13 00:21:21 -07:00
David Tolnay
47fc9af472
Emit borrowed methods only if collect_other_fields
...
Without collect_other_fields, the visit_borrowed_str and
visit_borrowed_bytes implementations that were being generated were
identical to their default implementation of forwarding to visit_str and
visit_bytes.
2018-04-13 00:17:34 -07:00
David Tolnay
1651f86d56
Simplify Option that is always Some
2018-04-13 00:17:30 -07:00
David Tolnay
1157ac0118
Eliminate unnecessary braces in wrap_deserialize_variant_with
2018-04-12 23:48:38 -07:00
David Tolnay
202c10147e
Fix deserialize_with on a struct variant with one field
2018-04-12 23:44:53 -07:00
David Tolnay
9f38ca032e
Format with rustfmt 0.4.1
2018-04-12 23:04:47 -07:00
David Tolnay
00178ba795
Eliminate generic functions in bound.rs
2018-04-12 22:48:31 -07:00
David Tolnay
24700ebeb6
Move associated type search into with_bounds
2018-04-12 22:46:53 -07:00
David Tolnay
f06001c086
Name type_params consistently with Syn
2018-04-12 22:04:34 -07:00
David Tolnay
ec773fb7db
Make use of Generics::type_params iterator
2018-04-12 22:03:40 -07:00
David Tolnay
da8b457f66
Simplify with_where_predicates_from_fields
2018-04-12 21:47:08 -07:00
Osspial
629bf7b354
Fix clippy warnings
2018-04-12 18:40:06 -04:00
Osspial
4415d10c61
Fix associated types only working for first generic parameter
...
Also, removes extraneous `where for`
2018-04-12 16:44:34 -04:00
Osspial
2e824e9aba
Limit type bounds to associated types
2018-04-10 10:53:37 -04:00
Osspial
fd14332729
Ignore skipped fields
2018-04-09 23:57:20 -04:00
Osspial
c413775574
Add partially-working where bounds for associated types
2018-04-09 23:22:18 -04:00
David Tolnay
eed18ffab2
Release 1.0.37
2018-04-01 22:30:32 -07:00
David Tolnay
f8e1fa8ebc
Use Generics::make_where_clause helper
2018-04-01 22:25:50 -07:00
David Tolnay
ba002e1119
Update signature of Lifetime::new
2018-03-31 23:46:25 +02:00
David Tolnay
8b44eb8bfc
Add parens to TraitBound
2018-03-31 23:45:30 +02:00
David Tolnay
d82a0cc5ff
Remove use of Span::located_at
2018-03-31 23:44:50 +02:00
Alex Crichton
b1c1d964e1
Update to syn/quote/proc-macro2 new apis
2018-03-29 00:54:05 -07:00
David Tolnay
d2b65e0a5d
Prefer call site spans
2018-03-28 10:49:30 +02:00
David Tolnay
7c04c98e0e
Release 1.0.36
2018-03-27 11:35:45 +02:00
David Tolnay
23e2e92237
Release 1.0.35
2018-03-25 12:59:02 +02:00
David Tolnay
c1602a4d76
Deserialize map in place cannot have flatten attributes
2018-03-25 12:42:36 +02:00
David Tolnay
c23be3f855
Revert flatten change in deserialize in place
2018-03-25 12:39:20 +02:00
David Tolnay
e5ed440136
Always check flatten assertions
2018-03-25 12:32:06 +02:00
David Tolnay
2b18b57d84
Release 1.0.34
2018-03-22 15:06:21 -07:00
Armin Ronacher
e4ef087735
Added support for borrowing when flattening
2018-03-20 15:19:36 +01:00
Armin Ronacher
695c3eedcb
Do not imply flatten from skip_serialize
2018-03-20 14:45:14 +01:00
Armin Ronacher
50c636a923
Remove now dead as_map detection (can be cattrs.has_flatten)
2018-03-20 13:43:23 +01:00
Armin Ronacher
5b884b5bf9
Added some missing UFCs
2018-03-20 13:38:22 +01:00
Armin Ronacher
abeea89147
Fully qualify some calls in generated code and fix a bad comment
2018-03-20 13:35:16 +01:00
Armin Ronacher
f02dbf381b
Added non string key support for flattening
2018-03-19 00:57:58 +01:00
Armin Ronacher
ad40f976db
Switch to using Content keys internally for flattening to later support arbitrary keys
2018-03-18 21:07:08 +01:00
Armin Ronacher
58d52e784b
Remove #[serde(repr = "map")]
2018-03-18 18:30:46 +01:00
Armin Ronacher
d44f12907b
Do not emit an in-place deserialization path for struct as map
2018-03-18 18:27:35 +01:00
Armin Ronacher
61b167be9a
Attempted support for in_place deserialization for structs as map
2018-03-18 18:22:06 +01:00
Armin Ronacher
ebf80ac965
Implement deserialization support for flatten
2018-03-16 23:05:48 +01:00
Armin Ronacher
9e8cda4c37
Added basic not fully working FlatMapSerializer
2018-03-16 23:05:48 +01:00
Jan Michael Auer
5457394f5b
Fixed various issues with combinding flatten and deny_unknown_fields
2018-03-16 23:05:48 +01:00
Jan Michael Auer
6627540dd6
Added support basic deserialization in derive
2018-03-16 23:05:48 +01:00
Jan Michael Auer
5ae06bba49
Store flatten flag in container attributes
2018-03-16 23:05:47 +01:00
Jan Michael Auer
571bb8caed
Derive serialization for serde(flatten)
2018-03-16 23:05:47 +01:00
Armin Ronacher
07d07347b3
Make clippy happy
2018-03-16 23:05:22 +01:00
Armin Ronacher
1bd2c6129c
Explicitly pass value requirements for the capture path
2018-03-16 23:05:22 +01:00
Armin Ronacher
39413c8ce7
Implement deserializer for map mode and collection fields
2018-03-16 23:05:22 +01:00
Armin Ronacher
b4dbae250b
Added support for serialization of structs as maps
2018-03-16 23:05:22 +01:00
David Tolnay
7ad836e6a9
Release 1.0.33
2018-03-15 10:03:42 -07:00
David Tolnay
72ecb9064c
Fix parsing of qself in paths in attributes
2018-03-15 10:02:40 -07:00
David Tolnay
23c6eb3b40
Release 1.0.32
2018-03-13 11:31:26 -07:00
David Tolnay
b8c9a66d75
Release 1.0.31
2018-03-13 10:18:35 -07:00
David Tolnay
69dd3215f4
Release 1.0.30
2018-03-12 11:44:50 -07:00
David Tolnay
0d4d47c398
Release 1.0.29
2018-03-09 00:24:08 -08:00
David Tolnay
30361ac6d0
Clean up workaround that required too many parentheses
...
The issue has been fixed in the compiler and these extra call site parentheses
are no longer required.
2018-03-09 00:22:27 -08:00
David Tolnay
3f75239bfb
Release 1.0.28
2018-03-08 11:39:32 -08:00
David Tolnay
d6f07f2f47
Ignore redundant_field_names lint
2018-02-27 11:13:26 -08:00
David Tolnay
64573319f9
Meaningful spans when invoking deserializer trait methods
2018-01-10 20:59:48 -08:00
David Tolnay
cc2558b0dc
Meaningful spans when invoking serializer trait methods
2018-01-10 19:22:07 -08:00
David Tolnay
63623eb3b3
Hygiene fixes
2018-01-09 22:22:08 -08:00
David Tolnay
b313f947dc
Use call_site as the span of unnamed member access
2018-01-09 20:28:23 -08:00
David Tolnay
16bc9fb99e
Address clippy lints in serde_derive
2018-01-09 19:40:34 -08:00
David Tolnay
34eaab00f7
Address clippy lints in serde_derive_internals
2018-01-09 19:40:33 -08:00
David Tolnay
ef4dd6c0ec
Update to syn 0.12
2018-01-09 19:05:08 -08:00
David Tolnay
7aeabddd2f
Release 1.0.27
2017-12-30 22:19:41 -05:00
David Tolnay
9cfcd78c87
Release 1.0.26
2017-12-27 17:33:32 -05:00
David Tolnay
ae59c6b6d2
Release 1.0.25
2017-12-23 23:33:59 -05:00
David Tolnay
ee75e6c0e9
Format with rustfmt-nightly 0.3.4
2017-12-23 20:17:52 -08:00