David Tolnay
ac1b25e91d
Improve error messages related to transparent
2018-05-20 21:55:48 -07:00
David Tolnay
7dba1e303d
Implement transparent serialize
2018-05-20 21:55:19 -07:00
David Tolnay
3d5141a2f1
Update to proc-macro2 0.4
2018-05-20 20:55:14 -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
f3f26796c7
Format with rustfmt 0.6.1
2018-05-10 09:11:19 -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
c4181f46be
Respect variant skip attribute in inferred bounds
2018-05-07 21:30:00 -07:00
David Tolnay
62557731c3
Enable pedantic clippy lints in serde_derive
2018-05-07 11:03:09 -07:00
David Tolnay
3cd9d071c2
Fix adjacently tagged empty tuple variant or struct variant
2018-05-06 21:50:40 -07:00
David Tolnay
979df3427b
Support serializing enums containing flatten
2018-05-06 20:14:35 -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
b78f434086
Pretend remote derives are not dead code
2018-05-02 14:23:59 -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
6a8c39b2aa
More efficient try!() alternative
2018-04-21 10:53:13 -07:00
David Tolnay
9f38ca032e
Format with rustfmt 0.4.1
2018-04-12 23:04:47 -07:00
David Tolnay
24700ebeb6
Move associated type search into with_bounds
2018-04-12 22:46:53 -07: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
d82a0cc5ff
Remove use of Span::located_at
2018-03-31 23:44:50 +02:00
David Tolnay
d2b65e0a5d
Prefer call site spans
2018-03-28 10:49:30 +02: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
58d52e784b
Remove #[serde(repr = "map")]
2018-03-18 18:30:46 +01:00
Armin Ronacher
9e8cda4c37
Added basic not fully working FlatMapSerializer
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
b4dbae250b
Added support for serialization of structs as maps
2018-03-16 23:05:22 +01:00
David Tolnay
72ecb9064c
Fix parsing of qself in paths in attributes
2018-03-15 10:02:40 -07: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
ee75e6c0e9
Format with rustfmt-nightly 0.3.4
2017-12-23 20:17:52 -08:00
David Tolnay
15b2714058
Merge pull request #1015 from spinda/with-variant
...
implement (de)serialize_with for variants
2017-09-09 10:49:24 -07:00
Steven Fackler
2fe9a860cd
Inform serializers about skipped fields.
...
Closes #960 .
2017-09-05 21:55:33 -07:00
Michael Smith
5b815b7001
Implement serialize_with for variants
...
As discussed in #1013 , serialize_with functions attached to variants receive an
argument for each inner value contained within the variant. Internally such a
function is wired up to the serializer as if the variant were a newtype variant.
2017-08-14 11:17:08 -07:00
David Tolnay
f36a1e0895
Inherit the visibility of remote struct definition
2017-07-25 23:52:06 -07:00
David Tolnay
cf1cdadc77
Fix some rustfmt screwups
2017-04-19 15:56:22 -07:00
David Tolnay
7a7d4c6364
Format in rfc style
2017-04-18 14:23:21 -07:00
David Tolnay
cdfd445528
Generate deserialize impls for identifiers
2017-04-14 21:53:48 -07:00
David Tolnay
f9535a4d67
Remove "item" terminology in favor of "container"
...
The docs have been using "container" for a long time.
2017-04-14 15:52:58 -07:00
David Tolnay
6d55501dab
Replace "codegen" with "derive"
2017-04-14 15:42:27 -07:00
David Tolnay
3f920f645c
License boilerplate
2017-04-13 17:34:42 -07:00