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
6e324e887d
Some refactoring to use a bit less unwrap()
2018-03-20 13:20:56 +01:00
Armin Ronacher
7c596c7136
Remove unnecessary as_str
2018-03-20 13:11:17 +01:00
Armin Ronacher
f02dbf381b
Added non string key support for flattening
2018-03-19 00:57:58 +01:00
Armin Ronacher
7cf184624a
Use more consistent error messages for bad flattening
2018-03-18 23:46:28 +01:00
Armin Ronacher
c5a3128492
Added a more complex flattening test
2018-03-18 23:01:13 +01:00
Armin Ronacher
205f606962
Various clippy fixes
2018-03-18 22:59:27 +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
f1af2dc5ab
Added support for newtype variant serialization
2018-03-18 13:10:54 +01:00
Armin Ronacher
ebc61baab2
Added newtype struct support for flattening
2018-03-18 13:02:00 +01:00
Armin Ronacher
ffcde25b6e
Fixed some clippy warnings
2018-03-17 00:49:00 +01:00
Armin Ronacher
2f57cecf13
format! -> format_args! for an error message
2018-03-16 23:38:50 +01:00
Armin Ronacher
bfdcbae9db
Fixed an unused import error
2018-03-16 23:30:55 +01:00
Armin Ronacher
ca41e16e92
Added some missing conditionals for feature compilation
2018-03-16 23:20:14 +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
Armin Ronacher
49e302d17d
Improved error message for flattening on unsupported types
2018-03-16 23:05:48 +01:00
Armin Ronacher
b8602a7e43
Added test for tag/content enum flattening
2018-03-16 23:05:48 +01:00
Armin Ronacher
a8c8c2028e
Added support for struct variant enum serialization
2018-03-16 23:05:48 +01:00
Armin Ronacher
d1833c5602
Added support for basic enums in flatten
2018-03-16 23:05:48 +01:00
Armin Ronacher
b4ef7ac323
Updated tests for flatten
2018-03-16 23:05:48 +01:00
Armin Ronacher
ebf80ac965
Implement deserialization support for flatten
2018-03-16 23:05:48 +01:00
Armin Ronacher
112dfd7428
Correctly suppress the end() call for flattened serialization
2018-03-16 23:05:48 +01:00
Armin Ronacher
b692923321
Non working changes to the flatten serializer
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
Jan Michael Auer
299cd2dbd0
Replace unknown_fields_into with serde(flatten)
2018-03-16 23:05:47 +01:00
Armin Ronacher
583c0d8d14
Make proc-macro2/nightly happy
2018-03-16 23:05:22 +01:00
Armin Ronacher
07d07347b3
Make clippy happy
2018-03-16 23:05:22 +01:00
Armin Ronacher
77b07f3fbf
Added tests for unknown_fields_into
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
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
b8c9a66d75
Release 1.0.31
2018-03-13 10:18:35 -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
69dd3215f4
Release 1.0.30
2018-03-12 11:44:50 -07:00
David Tolnay
a7a7a31809
Merge pull request #1175 from daboross/fix-borrowed-cow-bytes
...
Fix borrowed Cow<'_, [u8]> deserializing as str.
2018-03-12 11:44:14 -07:00
David Ross
af9996aa9a
Fix borrowed Cow<'_, [u8]> deserializing as str.
...
This changes the deserialize implementation for a borrowed Cow<[u8]>
to specifically request a byte slice, rather than a borrowed string.
The old behavior breaks any program which relies on data being
deserialized the same way as it was serialized and uses Cow<[u8]>.
In serde_json, it just wouldn't deserialize. In bincode, it
deserialized normally unless the bytes were invalid UTF8.
Fixes https://github.com/TyOverby/bincode/issues/231 .
2018-03-12 11:26:11 -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