Adam H. Leventhal
|
8da2058e2a
|
fix deserialization of untagged variants within internally or adjacently
tagged enums
|
2023-09-07 17:19:27 -07:00 |
|
Adam H. Leventhal
|
09993a904a
|
Fix for "cannot infer type" from Deserialize derive macro with simple
variants and untagged variants
|
2023-09-06 15:33:28 -07:00 |
|
pinkforest
|
360606b9a6
|
Following consensus on: #2580 (review)
This PR phases out the precompiled per final consensus made in #2580
i#
Fix a cfg
|
2023-08-21 13:53:48 +10:00 |
|
Mingun
|
070cce0d9c
|
Get rid of temporary variable
|
2023-08-06 19:55:48 +05:00 |
|
Mingun
|
b58e8bac12
|
Replace if let Some(...) = ... to Option::map
|
2023-08-06 19:53:39 +05:00 |
|
Mingun
|
ada50b077e
|
ignore_variant variable is always None, let's take this into account
|
2023-08-06 19:36:48 +05:00 |
|
Mingun
|
5e313a7330
|
Move generiс code out-of-function, create more specialized and simple code
|
2023-08-06 19:35:27 +05:00 |
|
Mingun
|
2a36d11238
|
Introduce a dedicated function for generating Field enum
(the enum that represents all fields of a struct)
|
2023-08-06 19:32:53 +05:00 |
|
David Tolnay
|
fc273c6763
|
Resolve needless_return clippy lint in PR 2553
warning: unneeded `return` statement
--> serde_derive/src/de.rs:2986:13
|
2986 | return quote!(#assign_to __default.#member);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return
= note: `-W clippy::needless-return` implied by `-W clippy::all`
help: remove `return`
|
2986 - return quote!(#assign_to __default.#member);
2986 + quote!(#assign_to __default.#member)
|
|
2023-08-05 22:16:19 -07:00 |
|
David Tolnay
|
73931692b2
|
Merge pull request #2553 from Mingun/default-on-tuples
Allow `#[serde(default)]` on tuple structs
|
2023-08-05 22:12:10 -07:00 |
|
David Tolnay
|
4d93e9f44c
|
Keep deserialize aliases as a sorted set
|
2023-08-05 17:06:11 -07:00 |
|
David Tolnay
|
da55ed7e8d
|
Remove some clones of names of things
|
2023-08-05 17:01:34 -07:00 |
|
David Tolnay
|
431636af0d
|
Merge pull request #2458 from Mingun/identifier
Keep aliases always sorted and include aliases in expecting message for field/variant_identifier
|
2023-08-05 16:39:14 -07:00 |
|
Mingun
|
5c33931422
|
Allow #[serde(default)] on tuple structs
|
2023-08-03 22:32:34 +05:00 |
|
David Tolnay
|
4aa54222f4
|
Delete double reference when setting up adjacently tagged variant seed
|
2023-08-01 22:54:47 -07:00 |
|
David Tolnay
|
ef4f860384
|
Improve "expecting" message of adjacently tagged enum variant
|
2023-08-01 22:49:44 -07:00 |
|
David Tolnay
|
43035f6f37
|
Merge pull request #2505 from Baptistemontan/rework_adjacently_tagged_enum
Revisit of the representation of adjacently tagged enums tag
|
2023-08-01 22:25:31 -07:00 |
|
Mingun
|
878110a4bc
|
Simplify code after dead code elimination
|
2023-08-01 19:03:21 +05:00 |
|
Mingun
|
59ec8b7db2
|
Remove dead code - variant_ident and deserializer are always None
|
2023-08-01 19:03:20 +05:00 |
|
Mingun
|
cae1b43829
|
Inline deserialize_newtype_struct_in_place
|
2023-08-01 19:03:19 +05:00 |
|
Mingun
|
99fde4ee3e
|
Implement #2387 also for deserialize_in_place method
|
2023-08-01 19:03:19 +05:00 |
|
Mingun
|
afe3872810
|
Simplify check for missing fields
|
2023-08-01 19:03:18 +05:00 |
|
Mingun
|
3a3e6bf103
|
Reorder variables to match order in final quote!
|
2023-08-01 19:03:18 +05:00 |
|
Mingun
|
935f0bd70f
|
Merge some quote! blocks
|
2023-08-01 19:03:17 +05:00 |
|
Mingun
|
5c18bfeda6
|
Inline deserialize_struct_as_struct_in_place_visitor
|
2023-08-01 19:03:17 +05:00 |
|
Baptiste de Montangon
|
957ef206d1
|
Revisit of the representation of adjacently tagged enums tag
|
2023-07-31 20:53:02 +02:00 |
|
David Tolnay
|
6f1f38d046
|
Replace 'try!' with '?' in serde_derive
|
2023-07-27 19:16:11 -07:00 |
|
David Tolnay
|
0fb672a1ef
|
Eliminate #[macro_use] from serde_derive
|
2023-07-25 23:23:24 -07:00 |
|
David Tolnay
|
dd9913675d
|
Ungroup imports
|
2023-07-25 23:06:34 -07:00 |
|
David Tolnay
|
30f79b3b2e
|
Eliminate 2015-style module system imports from serde_derive
|
2023-07-25 20:56:19 -07:00 |
|
Mingun
|
f709fc05b0
|
Do not run the code when results are not used
|
2023-07-23 15:23:39 +05:00 |
|
Mingun
|
089aae1292
|
Eliminate even more allocations
|
2023-07-23 15:23:39 +05:00 |
|
Mingun
|
855acaf112
|
Eliminate additional allocations for flattening aliases
|
2023-07-23 15:23:38 +05:00 |
|
Mingun
|
7ca7720262
|
Slightly reduced number of allocations
|
2023-07-23 15:23:37 +05:00 |
|
Mingun
|
78fea3aa4a
|
Show possible aliases in the expected message
Fixes tests
|
2023-07-23 15:23:37 +05:00 |
|
David Tolnay
|
2027088741
|
Support precompiled deserialize_in_place
|
2023-07-19 12:27:37 -07:00 |
|
David Tolnay
|
f75426f47e
|
Inline visitor_expr of unit struct deserialize impl
|
2023-07-09 18:03:58 -07:00 |
|
Baptiste de Montangon
|
89c8d85de9
|
allow Deserialize derive to handle generic unit structs
|
2023-07-10 01:31:40 +02:00 |
|
David Tolnay
|
ed9a140348
|
Merge pull request #2444 from Mingun/dedup
Simplify code for generation of struct deserializers
|
2023-07-06 16:25:15 -07:00 |
|
Mingun
|
4cf1fec575
|
Replace several linked variables with enumeration for tuples
|
2023-06-26 20:55:52 +05:00 |
|
Mingun
|
ee7d77defa
|
Replace several linked variables with enumeration for structs
|
2023-06-26 20:55:52 +05:00 |
|
Mingun
|
d0dfc4577e
|
Replace enum with boolean parameter
|
2023-06-26 20:55:52 +05:00 |
|
Mingun
|
bbbd1d24c9
|
Move deserialize_generated_identifier out from if because the call is same in both arms
|
2023-06-26 20:55:51 +05:00 |
|
Mingun
|
fb3a9e0d7c
|
Simplify check for missing fields
|
2023-06-26 20:55:51 +05:00 |
|
Mingun
|
5ffebeb6ef
|
Actually, field_names_idents can be calculated using the same code in both cases
When !cattrs.has_flatten() all fields is !field.attrs.flatten()
Co-authored-by: Oliver Schneider <oli-obk@users.noreply.github.com>
|
2023-06-26 20:55:51 +05:00 |
|
Mingun
|
75db73066b
|
Inline deserialize_struct_as_map_visitor and deserialize_struct_as_struct_visitor
|
2023-06-26 20:55:51 +05:00 |
|
Mingun
|
2796833c82
|
Pull up call to deserialize_map because it's identical
|
2023-06-26 20:55:50 +05:00 |
|
Mingun
|
95730dc7f7
|
Reorder variables to match order in final quote!
|
2023-06-26 20:55:50 +05:00 |
|
Mingun
|
795261919f
|
Generate visit_seq only when needed
|
2023-06-26 20:55:50 +05:00 |
|
Mingun
|
3783a30ae7
|
Remove TaggedContent, replace it by a tuple
That type does not give any benefits so we can avoid that hidden public but no-API struct
|
2023-06-24 20:49:49 +05:00 |
|