David Tolnay
750f8ba299
Clean up trailing whitespace
2017-12-09 14:42:59 -08:00
David Tolnay
49cdef074d
Merge pull request #1115 from Binero/master
...
Solved #1105 .
2017-12-08 08:57:31 -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
Alexis Beingessner
34936be574
test deserialize_from
2017-12-04 13:29:03 -05:00
Alexis Beingessner
e354dd0c7f
Derive deserialize_from for tuples and structs
...
This adds a new "deserialize_from" feature (default off) that opts into
deriving deserialize_from with #[derive(Deserialize)].
2017-12-04 13:23:26 -05:00
Alexis Beingessner
bc221abb04
Augment builtin std/core Deserialize impls to implement deserialize_from
2017-12-04 13:23:26 -05:00
Alexis Beingessner
ab5e8780ab
Add deserialize_from to Deserialize
2017-12-04 13:23:26 -05:00
David Tolnay
0c34e06e51
Merge pull request #1106 from khuey/inlines
...
Inline various deserialization helper methods.
2017-12-02 15:57:07 -08:00
Kyle Huey
4a0c4e0c25
Mark size_hint::cautious as inline.
2017-12-01 14:31:52 -08:00
David Tolnay
8c34e0940f
Release 1.0.23
2017-11-29 22:26:32 -08:00
David Tolnay
eb6bf16a51
Revert "Catch wrong field names length in serde_test"
...
There are at least two reasonable things to expect the len field to
check: the length of the fields array passed to deserialize_struct, or
the number of field tokens. Even beyond these, in some cases it can be
useful to test deserialization with a bogus len to test how the
Deserialize impl reacts to an incorrect size_hint.
This reverts commit 436cafb0a3
which was
released in serde_test 1.0.20.
2017-11-29 22:21:05 -08:00
David Tolnay
797d049db5
Release 1.0.22
2017-11-29 20:01:43 -08:00
David Tolnay
d61a373f12
Merge pull request #1104 from serde-rs/abs
...
Fix missing absolute paths in deserialize_seq
2017-11-29 19:58:21 -08:00
David Tolnay
e0eea551b4
Fix missing absolute paths in deserialize_seq
2017-11-29 19:45:22 -08:00
David Tolnay
c650a92bf7
Update to compiletest-rs 0.3 to fix "every suggestion should have at least one span"
2017-11-24 17:12:58 -08:00
David Tolnay
f218f4d7bf
Release 1.0.21
2017-11-15 22:24:18 -08:00
Alex Shapiro
8c0a2015be
Fix error when deserializing untagged enum
...
Serde's `ContentDeserializer` and `ContentRefDeserializer`
cannot deserialize struct enum variant associated data when
that data is encoded as a sequence. This failure leads to
errors when decoding an enum nested in another untagged
enum. For example:
#[derive(Serialize, Deserialize)]
#[serde(untagged)]
enum Foo {
A(Bar),
}
#[derive(Serialize, Deserialize)]
enum Bar {
B{f1: String},
}
let data1 = Foo::A(Bar::B{f1: "Hello".into()});
let bytes = rmp_serde::to_vec(&data1).unwrap();
let data2 = rmp_serde::from_slice::<Foo>(&bytes).unwrap();
Deserializing fails with the error `Syntax("data did not
match any variant of untagged enum Foo")`, but the
underlying failure occurs when decoding the associated data
of `Bar::B`.
This pull request fixes the issue by allowing
`ContentDeserializer` and `ContentRefDeserializer` to
deserialize sequence-encoded struct enum variant data.
2017-11-15 21:56:33 -08:00
David Tolnay
4773863e3a
Release 1.0.20
2017-11-12 10:29:08 -08:00
David Tolnay
80cd9c7617
Merge pull request #1091 from serde-rs/fields-len
...
Catch wrong field names length in serde_test
2017-11-12 10:28:26 -08:00
David Tolnay
436cafb0a3
Catch wrong field names length in serde_test
2017-11-12 10:16:43 -08:00
David Tolnay
98bb02e9b4
Whitelist use of Debug in serde_test
2017-11-07 10:00:18 -08:00
David Tolnay
142439088c
Merge pull request #1086 from Marwes/better_errors
...
Print the contents of the expected token when a serialize assert fails
2017-11-07 09:53:58 -08:00
Markus Westerlind
ce81288235
Print the contents of the expected token when a serialize assert fails
...
Before
```
expected Token::Str but serialized as Str(“F9168C5E-CEB2-4FAA-B6BF-329BF39FA1E4")
```
After
```
expected Token::Str(“f9168c5e-ceb2-4faa-b6bf-329bf39fa1e4”) but serialized as Str(“F9168C5E-CEB2-4FAA-B6BF-329BF39FA1E4")
```
2017-11-07 14:22:42 +01:00
David Tolnay
88d5fe6bfd
Release 1.0.19
2017-11-06 23:50:24 -08:00
David Tolnay
9a2c352025
Rephrase serde_test::Configure documentation
2017-11-06 23:47:39 -08:00
David Tolnay
61c90cb8cb
Fix typo in serde_test::Configure documentation
2017-11-06 23:45:26 -08:00
David Tolnay
66e8b0a0cd
Merge pull request #1085 from serde-rs/internally-unit-struct
...
Allow internally tagged newtype variant containing unit struct
2017-11-06 23:44:29 -08:00
David Tolnay
9e7a3437d9
Allow internally tagged newtype variant containing unit struct
2017-11-06 23:32:36 -08:00
David Tolnay
7ac8d4f9ae
AsciiExt transition
2017-11-06 22:50:10 -08:00
David Tolnay
501bae42f5
Fix space in serde_test panic message
...
Without this, the message contains "representationsmust".
2017-11-06 22:46:28 -08:00
David Tolnay
7a0397451e
Allow serde_test::Configure to be dynamically sized
...
This is a more cautious choice for the trait. In the future we may need
a `whatever_ref(&self)` that works for !Sized types.
2017-11-06 22:40:09 -08:00
David Tolnay
16787318d1
Enable clippy_pedantic in serde_test
2017-11-06 22:31:35 -08:00
David Tolnay
f4ae0888c8
Run clippy on serde_test in Travis
2017-11-06 22:28:58 -08:00
David Tolnay
213071fe5c
Combine identical match arms in serde_test
...
As recommended by Clippy's match_same_arms lint.
2017-11-06 22:27:51 -08:00
David Tolnay
cfd26c6fda
Avoid cloning Copy types
...
As recommended by Clippy's clone_on_copy lint.
2017-11-06 22:26:55 -08:00
David Tolnay
23fa83941e
Whitelist float_cmp lint in serde_test
2017-11-06 22:26:01 -08:00
David Tolnay
88f5b9511d
Use ..
in patterns
...
As recommended by Clippy's unneeded_field_pattern lint.
2017-11-06 22:24:25 -08:00
David Tolnay
d537f1e1f0
Whitelist needless_pass_by_value lint
...
This lint has a false positive on trait methods with a default implementation.
2017-11-06 22:10:11 -08:00
David Tolnay
f6ac232580
Merge pull request #1084 from Marwes/serde_test_readable_
...
Add an API for making tests for readable/compact representations
2017-11-06 22:05:29 -08:00
Markus Westerlind
aad7a7987f
Add an example to the Configure trait
2017-11-06 10:35:22 +01:00
David Tolnay
b24ad76880
Merge pull request #1080 from xfix/patch-2
...
serde_test requires serde 1.0.16 to work
2017-11-05 15:03:28 -08:00
Konrad Borowski
5796f1a0f5
serde_test requires serde 1.0.16 to work
...
This is due to implementing is_human_readable which was
added in serde 1.0.16.
2017-11-05 23:51:01 +01:00
David Tolnay
6437167930
Merge pull request #1083 from serde-rs/ty-macro
...
Fix bounds for macro named the same as a type parameter
2017-11-05 12:56:57 -08:00
David Tolnay
f98daaa250
Merge pull request #1082 from serde-rs/borrow-variant
...
Allow borrow attribute on newtype variants
2017-11-05 12:20:40 -08:00
David Tolnay
b8a40551a2
Fix bounds for macro named the same as a type parameter
2017-11-05 12:18:39 -08:00
David Tolnay
40db31691a
Allow borrow attribute on newtype variants
2017-11-05 12:10:40 -08:00
David Tolnay
ab68132b1f
Release 1.0.18
2017-11-03 10:20:41 -07:00
David Tolnay
e70bbd9dde
Merge pull request #1079 from serde-rs/skipborrow
...
Ignore skipped fields when looking for borrowed lifetimes
2017-11-03 10:20:32 -07:00
David Tolnay
d5e5c520ac
Ignore skipped fields when looking for borrowed lifetimes
2017-11-03 10:08:02 -07:00