Commit Graph

124 Commits

Author SHA1 Message Date
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
8d113e67d6
Release 1.0.38 2018-04-14 20:30:18 -07:00
David Tolnay
9f38ca032e
Format with rustfmt 0.4.1 2018-04-12 23:04:47 -07:00
David Tolnay
eed18ffab2
Release 1.0.37 2018-04-01 22:30:32 -07:00
David Tolnay
860241aa88
Merge pull request #1205 from mitsuhiko/bugfix/tuple-struct-flatten
Produce error message for use of flatten in tuple structs
2018-04-02 07:09:39 +02:00
Armin Ronacher
77376f39ea Produce error message for use of flatten in tuple structs 2018-04-01 22:11:21 +02:00
Armin Ronacher
302fac91a3 Produce error message for use of flatten within struct variant 2018-04-01 22:01:24 +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
42430902e2
Special case remote = "Self" 2018-03-27 10:56:05 +02:00
David Tolnay
23e2e92237
Release 1.0.35 2018-03-25 12:59:02 +02:00
David Tolnay
273b2c11c6
Keep using deprecated AsciiExt on old compilers 2018-03-25 12:45:31 +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
3d647f4063 Fixed a compilefail test for flatten on enums 2018-03-20 23:26:22 +01:00
Armin Ronacher
99614c7266 Added flatten on enum compile fail test 2018-03-20 22:15:47 +01:00
Armin Ronacher
96393bfcc7 Added checks for flatten attribute 2018-03-20 21:48:25 +01:00
Armin Ronacher
695c3eedcb Do not imply flatten from skip_serialize 2018-03-20 14:45:14 +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
58d52e784b Remove #[serde(repr = "map")] 2018-03-18 18:30:46 +01:00
Armin Ronacher
352fe7b451 Removed an unused field that was left over from a merge conflict 2018-03-16 23:07:31 +01:00
Jan Michael Auer
5ae06bba49 Store flatten flag in container attributes 2018-03-16 23:05:47 +01:00
Jan Michael Auer
299cd2dbd0 Replace unknown_fields_into with serde(flatten) 2018-03-16 23:05:47 +01:00
Armin Ronacher
5a91ac5ba5 Initial work on supporting structs as map with unknown field collection 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
56b2e39dda
Fix panic when a reference has unspecified lifetime
This will fail later in compilation anyway, but serde_derive needs to
not crash before then.

    #[derive(Deserialize)]
    struct A {
        field: &str,
    }

    error[E0106]: missing lifetime specifier
      --> src/main.rs
       |
       |     field: &str,
       |            ^ expected lifetime parameter
2018-03-13 09:56:38 -07:00
David Tolnay
5bc805329e
Drop impl should only panic if not already panicking 2018-03-13 09:42:07 -07:00
David Tolnay
3f75239bfb
Release 1.0.28 2018-03-08 11:39:32 -08:00
David Tolnay
f288a41768
Test the new errors on conflicting enum tags 2018-03-08 09:31:25 -08:00
Árpád Goretity
f4b78e202a add a check for conflicting adjacent tags as well 2018-03-08 09:57:05 +01:00
Árpád Goretity
0ddebe0317 More descriptive function name; add doc comment to function 2018-03-08 01:05:19 +01:00
Árpád Goretity
9fc526b788 be more explicit in match for future-proofing code via exhaustiveness check 2018-03-08 00:53:56 +01:00
Árpád Goretity
a799ea171c Disallow variant field names to conflict with tag of internally-tagged enum 2018-03-08 00:43:35 +01:00
David Tolnay
d6f07f2f47
Ignore redundant_field_names lint 2018-02-27 11:13:26 -08:00
David Tolnay
9317bc5afa
Address clippy lints in serde_derive_internals 2018-01-26 00:22:38 -08:00
David Tolnay
3d64df6e87
Meaningful span for attrs parsed from string literal 2018-01-10 19:59:49 -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
ddc4b50d4d
Use call_site in 'with' attribute 2018-01-09 20:34:29 -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
Carl Scherer
c4fad2883b Add UPPERCASE to rename_all 2017-12-31 03:12:00 +01: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
David Tolnay
0c2e91f28a
Merge branch serde-rs/master into Gankro/deserialize_from 2017-12-11 20:49:23 -08:00
David Tolnay
85e3ddc2b8
Less indentiation in deserialize_from_body 2017-12-10 23:04:44 -08:00
David Tolnay
b7eb42aa6b
Release 1.0.24 2017-12-09 14:43:55 -08:00
David Tolnay
750f8ba299
Clean up trailing whitespace 2017-12-09 14:42:59 -08:00
Jeroen Bollen
aa86b04714 Adressed concerns raised by @oli-obk.
Specifically:
 - Change identation in `de.rs`.
 - Make `attr::Field` take a `attr::Default` as opposed to the entire parent `attr::Container`.
2017-12-08 15:13:05 +01:00
Jeroen Bollen
c887a0b472 Solved #1105.
When a field should be skipped during deserialization, it will not use its own Default implementation
when the container structure has `#[serde(default)]` set.
2017-12-06 21:14:02 +01:00
David Tolnay
88d5fe6bfd
Release 1.0.19 2017-11-06 23:50:24 -08:00
David Tolnay
7ac8d4f9ae
AsciiExt transition 2017-11-06 22:50:10 -08:00
David Tolnay
40db31691a
Allow borrow attribute on newtype variants 2017-11-05 12:10:40 -08:00
David Tolnay
c3eced410f
Release 1.0.13 2017-09-09 11:40:31 -07:00
David Tolnay
0963121beb
Support consolidated with attribute for variants 2017-09-09 10:50:40 -07: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
Sergey Potapov
e67d941b78 Support for SCREAMING-KEBAB-CASE 2017-09-05 22:07:08 +02:00
Michael Smith
9fc180e62f
Implement deserialize_with for variants
Complements variant serialize_with and closes #1013.
2017-08-14 14:41:05 -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
fd3d1396d3
Release 1.0.8 2017-05-24 00:17:27 -07:00
spikefoo
1669c69714 Add a combined #serde[(skip)] field attribute 2017-05-16 12:33:26 +03:00
Richard Janis Goldschmidt
b53026a21b Replace deprecated MacroInput; completes c52e13 2017-04-25 11:08:56 +02:00
David Tolnay
2d465415c5
Take credit 2017-04-20 08:13:46 -07:00
David Tolnay
bc2d637112
Cut an internals release 2017-04-20 08:11:31 -07:00
David Tolnay
7a7d4c6364
Format in rfc style 2017-04-18 14:23:21 -07:00
David Tolnay
13463e25c2
Add a lowercase case convention 2017-04-14 22:09:46 -07:00
David Tolnay
cdfd445528
Generate deserialize impls for identifiers 2017-04-14 21:53:48 -07:00
David Tolnay
a35bde49c6
Factor out logic to decide the tag style 2017-04-14 16:14:10 -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