David Tolnay
7cc24a43fb
Merge branch master into unknown
...
Conflicts:
serde_codegen/src/de.rs
2017-01-13 01:23:00 -08:00
David Tolnay
c008c6d3a8
Merge pull request #681 from serde-rs/deserialize_struct_bug
...
fix various serde(rename) bugs
2017-01-13 01:21:46 -08:00
David Tolnay
cb5e7c6264
Fix case of skipped variant followed by other variants
2017-01-12 23:35:39 -08:00
David Tolnay
4ef1128546
More explicit about argument to deserialize_field_visitor
2017-01-12 23:30:57 -08:00
David Tolnay
227bea1d0b
Treat skipped fields as unknown
2017-01-12 23:17:45 -08:00
David Tolnay
766ede965e
Eliminate collects in codegen for deserializing map
2017-01-12 21:52:56 -08:00
David Tolnay
eb5a49e380
Use helper function to build __field{}
2017-01-12 21:49:20 -08:00
David Tolnay
2df529cac5
Simplify codegen logic in deserializing seq
2017-01-12 21:41:27 -08:00
David Tolnay
4b66463011
Eliminate collect in deserializing seq
2017-01-12 21:29:50 -08:00
David Tolnay
b907cfef85
Eliminate collect in visitor generics
2017-01-12 21:28:09 -08:00
David Tolnay
506c8cc087
Simplify the trait paths used in bounds
2017-01-12 21:24:51 -08:00
David Tolnay
3951ef91c0
Don't need aster to construct syn::Ident
2017-01-12 21:15:13 -08:00
Oliver Schneider
a07b6bd9e7
also use the renamed variant names during deserialization
2017-01-12 20:21:59 +01:00
Oliver Schneider
8dd06eed2f
type inference failure
2017-01-12 20:19:00 +01:00
Oliver Schneider
abe305dbfe
fix deserialize_struct passing the original field names instead of the renamed ones
2017-01-12 20:17:02 +01:00
David Tolnay
ca47eb929c
Merge pull request #678 from serde-rs/empty
...
Handle various degenerate cases
2017-01-11 11:45:24 -08:00
David Tolnay
b01c23b5ee
Also provide a smarter alternative for the other impossible case
2017-01-11 11:34:47 -08:00
David Tolnay
3aaf29c846
Remove ref in top-level let pattern
...
Discouraged by Clippy.
2017-01-11 11:12:53 -08:00
David Tolnay
d2eea87001
Handle various degenerate cases
2017-01-11 11:02:24 -08:00
David Tolnay
1f8b803607
Repetition for field visitor arms
2017-01-09 00:37:37 -08:00
David Tolnay
516cc8b04e
Stop generating visit_usize and visit_bytes for FieldVisitor
2017-01-08 01:01:56 -08:00
David Tolnay
4193122472
Use the more concise paths in generated code
2017-01-08 00:47:44 -08:00
David Tolnay
bf873a7b3f
Merge branch origin/master into origin/enum
...
Conflicts:
serde/src/de/mod.rs
serde_codegen/src/de.rs
testing/tests/test_bytes.rs
2017-01-08 00:31:07 -08:00
David Tolnay
1ecf3730ee
Update to syntex 0.54
2017-01-06 01:26:51 -08:00
David Tolnay
28d67f4172
Format variant-skip message only if variant is skipped
2016-12-24 13:10:06 -05:00
David Tolnay
2401ae61a8
Update to syntex 0.52
2016-12-24 12:42:23 -05:00
David Tolnay
57d3fce0c6
Further simplify variant serialization patterns
2016-12-24 12:28:46 -05:00
David Tolnay
a020cceed8
Simplify variant serialize patterns
2016-12-24 12:22:45 -05:00
David Tolnay
49e985eb90
Update message for skipped enum variant
2016-12-24 12:16:28 -05:00
Shing Lyu
2fea8c9c28
Implement skip_serializing for enum variant
2016-12-24 22:34:22 +08:00
Shing Lyu
95ffca9bbe
Implemented skip_deserializing for enum
2016-12-16 20:29:21 +08:00
David Tolnay
5bda95ba81
Do not copy tokens to String after expanding
2016-11-24 13:07:47 -08:00
David Tolnay
6eca34c45c
Drop libsyntax
2016-11-23 09:13:21 -08:00
David Tolnay
8b484c9703
Hide the serde_codegen functions from docs
2016-11-15 21:37:19 -05:00
David Tolnay
a16f07858b
Ask proc_macro_derive to ignore serde attributes
2016-11-15 21:29:34 -05:00
David Tolnay
e7f3a80867
Update serde codegen to syn 0.10
2016-11-02 22:58:55 -07:00
David Tolnay
54802983b8
Bump syntex to 0.48
2016-11-02 09:12:22 -07:00
David Tolnay
f430d9d1c8
Remove unneeded type ascription
2016-10-23 21:06:50 -07:00
Cat Plus Plus
f75d286b90
Explictly discard result of visiting IgnoredAny
...
Makes the code generated by `derive(Deserialize)` compile cleanly when
`unused_results` lint is enabled.
2016-10-22 08:00:44 +02:00
David Tolnay
4c38bd0180
Merge branch origin/master into origin/post
2016-10-19 23:59:53 -07:00
David Tolnay
a9b6cbb8b3
Use post-expansion crate to let other custom derives see serde attrs
2016-10-18 09:00:33 -07:00
David Tolnay
1d719b542c
Not safe to share Spans from one ParseSess to another
...
Spans in the AST returned by `parse_item_from_source_str` and other parsing
functions contain byte offsets into the source code they were parsed from. The
pretty printer uses these Spans [here][1] to preserve the representation of
literals when parsing and printing back out unmodified.
In this bug, the byte offset of a string in the input to
`parse_item_from_source_str` coincidentally matched the byte offset of a totally
different string in the input to `parse_crate_from_file` called [here][2] by
Syntex. The Span from the former triggered the pretty printer to write out the
content of the latter.
By using the same ParseSess, Spans from the two `parse_*` calls never collide.
[1]: https://github.com/rust-lang/rust/blob/1.12.0/src/libsyntax/print/pprust.rs#L628
[2]: https://github.com/serde-rs/syntex/blob/v0.45.0/syntex/src/registry.rs#L134
2016-10-17 23:12:32 -07:00
David Tolnay
b4d5c26f4e
Update to latest syn and quote
2016-10-08 15:36:02 -07:00
David Tolnay
e547a06639
Simplify deserialize_field_visitor
2016-10-03 13:45:11 -07:00
David Tolnay
42987a5b24
Fix break in quote 0.2.2
2016-10-03 13:37:46 -07:00
David Tolnay
6ccb6c9130
Clean up syn workarounds
2016-09-28 09:29:12 -07:00
David Tolnay
9fe16767c5
Use iter::repeat to build phantom exprs
2016-09-28 08:57:53 -07:00
David Tolnay
effa298871
Fix differences in the generated code
2016-09-27 09:56:35 -07:00
David Tolnay
7d09b1475c
Fix clippy lints in serde_codegen
2016-09-27 00:46:03 -07:00
David Tolnay
0c18c151e2
Revamp serde_codegen_internals error handling
2016-09-27 00:11:37 -07:00