Simon Sapin
1d6ecf3c2c
Remove usage of unstable core::num::Zero, which was removed upstream.
...
https://github.com/rust-lang/rust/pull/41437
Backport of https://github.com/serde-rs/serde/pull/898 to 0.9.x
2017-04-24 08:25:08 +09:00
David Tolnay
d4d2061a2e
Release 0.9.14
2017-04-17 07:33:45 -07:00
Jethro Beekman
1c9478bfa6
Add Serialize/Deserialize for std types that provide interior mutability
...
Fixes #179
2017-04-16 22:59:17 -07:00
David Tolnay
1b763da529
Release 0.9.13
2017-04-05 15:03:37 -07:00
David Tolnay
b7d6c5d9f7
Remove no_std special case in forward_to_deserialize
2017-04-05 15:01:55 -07:00
David Tolnay
cf6c4ab7ec
Deserialize OsString on Windows
2017-04-04 11:19:24 -07:00
David Tolnay
7d985ff3fd
Use the live serde_derive for serde doc tests
...
This is required as both are updated to Deserialize<'de> together.
2017-03-30 22:45:15 -07:00
David Tolnay
59b3961ad4
Release 0.9.12
2017-03-27 15:45:14 -07:00
Alex Crichton
ce687431f3
Implement Serialize/Deserialize for OsStr/OsString
...
This commit implements the two serde traits for the libstd `OsStr` and
`OsString` types. This came up as a use case during implementing sccache where
we're basically just doing IPC to communicate paths around. Additionally the
`Path` and `PathBuf` implementations have been updated to delegate to the os
string ones.
These types are platform-specific, however, so the serialization/deserialization
isn't trivial. Currently this "fakes" a newtype variant for Unix/Windows to
prevent cross-platform serialization/deserialization. This means if you're doing
IPC within the same OS (e.g. Windows to Windows) then serialization should be
infallible. If you're doing IPC across platforms (e.g. Unix to Windows) then
using `OsString` is guaranteed to fail as bytes from one OS won't deserialize on
the other (even if they're unicode).
2017-03-27 11:44:50 -07:00
David Tolnay
13886435a6
Re-export derives from serde
2017-03-21 16:54:31 -07:00
David Tolnay
d60595cc27
Use format_args! to simplify de::Error
2017-03-18 10:48:47 -07:00
David Tolnay
8c7396c35a
Be consistent with UFCS and double underscores
2017-03-18 10:33:22 -07:00
John Baublitz
bc946e4fd7
Macro attributes to specify From and Into trait types for structs and enums ( #817 )
...
* serde macro support for type conversions through From and Into trait
* Revisions requested by dtolnay
* Additional changes requested by dtolnay
2017-03-18 09:22:27 -07:00
David Tolnay
c488cec641
Remove RangeInclusive impl for now
...
The old impl is inconsistent with the new ops::Range impl.
2017-03-13 11:09:56 -07:00
David Tolnay
fcc3c69a49
Range impl is defined when building with std
2017-03-09 12:04:02 -08:00
David Tolnay
350c2e835b
Remove duplicate ops::Range serialize impl
2017-03-09 11:57:36 -08:00
Robert O'Callahan
cc0d045f5c
Add Deserialize impl for std::ops::Range
...
Resolves #796
2017-03-10 08:39:34 +13:00
Robert O'Callahan
aebe1fddab
Add Serialize impl for std::ops::Range
2017-03-10 00:35:04 +13:00
David Tolnay
77ee306b57
Format serde with rustfmt 0.8.0
2017-03-08 21:11:17 -08:00
Jon Gjengset
0c2fed49e2
Add Deserialize impl for CStr
...
Fixes #810
2017-03-08 23:57:26 -05:00
David Tolnay
6d9397d573
Implement deserialize_enum for U32Deserializer
2017-03-07 09:05:33 -08:00
David Tolnay
dc9445f873
Release 0.9.11
2017-03-05 16:51:44 -08:00
David Tolnay
17bc40ec1c
Merge pull request #789 from nox/display
...
Introduce Serializer::collect_str (fixes #786 )
2017-03-05 16:47:22 -08:00
David Tolnay
2184fef82f
Add format_args example to collect_str
2017-03-05 16:43:31 -08:00
David Tolnay
7e1b5c6ce4
Neater collect_str variable name for rustdoc
2017-03-05 16:26:05 -08:00
David Tolnay
36da8a5cee
Error message geared toward serializer users
...
The previous message was targeted toward Serializer implementors, which is not
the group that will be seeing this message most often.
2017-03-05 16:24:48 -08:00
David Tolnay
fbe85f399d
Force no_std formats to implement collect_str in the future
2017-03-05 16:22:02 -08:00
David Tolnay
880b27b19e
Identical signature for std and no_std collect_str
2017-03-05 16:17:03 -08:00
David Tolnay
cc06f070d1
Use the existing CString error message
2017-03-05 13:59:18 -08:00
Jon Gjengset
d294a10e83
Only include ByteBuf when ser/de is on for std
2017-03-03 23:48:00 -05:00
Jon Gjengset
defcbef7ab
Use a non-stupid path for bytes::ByteBuf
2017-03-03 23:28:35 -05:00
Jon Gjengset
0d6d077e6a
Serialize and deserialize CString through [u8]
2017-03-03 18:05:08 -05:00
Jon Gjengset
be09fc9bbb
Remove unsafe Deserialize impl for CStr
...
See also https://github.com/rust-lang/rust/issues/40248
2017-03-03 17:34:01 -05:00
Jon Gjengset
fc9d78e26b
Use serialize_bytes for speed
2017-03-03 17:14:39 -05:00
Jon Gjengset
9f83164c40
Don't serialize trailing NULL
2017-03-03 17:14:28 -05:00
Jon Gjengset
857974ab8a
impls for null-terminated FFI string types
...
Fixes #800 .
2017-03-03 16:09:41 -05:00
David Tolnay
51ed9c2a40
Release 0.9.10
2017-02-28 12:45:39 -08:00
Anthony Ramine
a9a05350a9
Introduce Serializer::collect_str ( fixes #786 )
...
The default implementation collects the Display value into a String
and then passes that to Serializer::serialize_str when the std or collections
features are enabled, otherwise it unconditionally returns an error.
2017-02-28 12:11:47 +01:00
David Tolnay
fe9ea3b4b4
Fix needless_pass_by_value lint
2017-02-27 19:43:42 -08:00
Elliott Slaughter
a993630cf9
Fix documentation of serialize_tuple and SerializeTuple.
2017-02-27 14:00:21 -08:00
David Tolnay
59ec931d8f
Release 0.9.9
2017-02-24 13:57:52 -08:00
David Tolnay
4b3c5ea99e
Fix clippy lint in content serializer
2017-02-24 13:56:44 -08:00
David Tolnay
4da77e4200
Serialize to Content
2017-02-24 12:59:35 -08:00
David Tolnay
d797504407
Deserialize enums from &Content
2017-02-24 09:32:14 -08:00
David Tolnay
5e7883945b
Fix clippy lint in Content::unexpected
2017-02-22 18:16:51 -08:00
David Tolnay
a4bd6b9a96
Fix content's SeqDeserializer on no_std
2017-02-22 18:14:56 -08:00
Michael Mokrysz
4c253748c2
Compiles and fixes internally tagged testcases.
2017-02-23 01:05:44 +00:00
Michael Mokrysz
8f6e1fb5b3
Resolved error typing. Needs to adapt to Content::Map with non-String keys.
...
`EnumDeserializer` is being adapted from:
`serde_json::Value::Map<Vec<(String, Value)>>`
serde has a Map variant that allows non-String keys:
`serde::de::Content::Map<Vec<(Content, Content)>>`
There's a lot of assumptions in `EnumDeserializer` about `String` keys and I'm not sure what the adaptation should be.
2017-02-22 23:59:47 +00:00
Michael Mokrysz
4e665a71bd
Attempt to port serde_json::Value::deserialize_enum for ContentDeserializer is being derailed by what error types should be used.
2017-02-22 22:55:18 +00:00
David Tolnay
017e6d304f
Release 0.9.8
2017-02-21 10:59:42 -08:00