Erick Tryzelaar
97528b59cf
Add support for serializing newtype structs
...
This enables formats like JSON to serialize newtype wrapper
structs without the normal object wrapper. Consider types like:
```rust
struct Point {
x: u32,
y: u32,
}
stuct MyPoint(Point);
```
Before this patch, `MyPoint(1,2)` would get serialized as
`[{"x":1,"y":2}]`, but now it gets serialized as `{"x":1,"y"2}`.
2015-07-31 07:22:13 -07:00
Erick Tryzelaar
6715fb6652
Rename visit_simple to visit_newtype
2015-07-31 07:22:13 -07:00
Erick Tryzelaar
fefc010deb
Rename visit_enum_simple to visit_newtype_variant
2015-07-31 07:22:13 -07:00
Erick Tryzelaar
6cbb72decf
Inlne the visit_seq method
2015-07-31 07:22:13 -07:00
Erick Tryzelaar
7e25ed863c
Merge pull request #120 from erickt/enum-fields
...
Add enum fields and tuple length to deserialization visitor methods, renamed some more methods
2015-07-30 09:51:01 -07:00
Erick Tryzelaar
5a56394814
Add test to deserialize variants from usize and &[u8]
2015-07-30 08:06:04 -07:00
Erick Tryzelaar
de1059f648
Allow Result<T, E> to use usize variant names
2015-07-30 08:06:04 -07:00
Erick Tryzelaar
97f08086dd
Have visit_enum_simple default to calling visit_tuple_variant
2015-07-30 08:06:04 -07:00
Erick Tryzelaar
0348a3914d
Pass variant index to visit_enum_simple
2015-07-30 08:06:04 -07:00
Erick Tryzelaar
5dc245d2ce
Switch serializing Result to using simple enums
2015-07-30 08:06:04 -07:00
Erick Tryzelaar
71cc95248c
Allow Option<T> to be used directly as a ser::SeqVisitor
2015-07-30 08:06:04 -07:00
Erick Tryzelaar
2cb7d66767
Add test for deserializing a simple enum
2015-07-30 08:06:04 -07:00
Erick Tryzelaar
49fa208242
Minor cleanup
2015-07-30 08:06:04 -07:00
Erick Tryzelaar
d2fef27721
Rename ser::Serializer::visit_enum_{unit,seq,map} to visit_{unit,tuple,struct}_variant
2015-07-30 06:45:21 -07:00
Erick Tryzelaar
351b7039a8
Rename de::VariantVisitor::visit_{map,seq} to visit_{struct,tuple}
2015-07-30 06:45:21 -07:00
Erick Tryzelaar
7585ce9ed4
Re-indent
2015-07-30 06:45:21 -07:00
Erick Tryzelaar
578a0178b5
Make sure the visit_{enum,struct,tuple_struct} name is a &'static str
2015-07-30 06:45:21 -07:00
Erick Tryzelaar
6c9cebdcc3
Pass the variant fields and tuple lengths into visit_{enum,tuple,tuple_struct}
2015-07-30 06:45:21 -07:00
Erick Tryzelaar
35e2022e9a
Point at github.com/serde-rs/serde
2015-07-30 06:43:20 -07:00
Erick Tryzelaar
0058e3a8d4
Merge pull request #111 from oli-obk/master
...
tuple enums with single element should not be a json-array
2015-07-29 13:35:43 -07:00
Erick Tryzelaar
abf28ee167
Merge pull request #118 from erickt/ignore-fields
...
Add `#[serde(skip_serializing)] to skip serializing some fields
2015-07-29 10:08:19 -07:00
Oliver Schneider
5f1cb9b96c
rebased again
2015-07-24 09:31:35 +02:00
Oliver 'ker' Schneider
8f8fc6f3ff
nits and rebase fallout
2015-07-24 09:10:58 +02:00
Oliver Schneider
24787195a1
serialize tuple enums with single element directly as the value instead of a sequence
2015-07-24 09:10:58 +02:00
Oliver Schneider
5885111863
deserialize tuple enums with single element directly as the value instead of a sequence
2015-07-24 09:10:58 +02:00
Erick Tryzelaar
b1cb5379de
Add `#[serde(skip_serializing)] to skip serializing some fields
...
Closes #99
2015-07-23 08:07:49 -07:00
Erick Tryzelaar
447d08bd91
Merge pull request #117 from erickt/fix-json
...
Fix deriving traits for fully generic types.
2015-07-23 08:04:46 -07:00
Erick Tryzelaar
b0512a4479
Fix deriving traits for fully generic types.
...
Closes #100
2015-07-23 07:25:27 -07:00
Erick Tryzelaar
8663435a05
Merge remote-tracking branch 'remotes/origin/master' into v5-5
...
# Conflicts:
# serde_tests/tests/test_json.rs
2015-07-23 07:04:10 -07:00
Erick Tryzelaar
327990bc5f
Merge pull request #115 from erickt/fix-json
...
Fix serializing maps/sequences with no size hint
2015-07-23 06:58:18 -07:00
Erick Tryzelaar
57753c9044
Fix references to serde::json
2015-07-22 10:44:43 -07:00
Erick Tryzelaar
e35603eb85
Fix serializing maps/sequences with no size hint
...
Closes #101
2015-07-22 10:44:43 -07:00
Erick Tryzelaar
8fa40fe7e1
Move json into it's own crate
...
Not everyone needs json, so no reason to force people to build
it.
2015-07-22 10:44:43 -07:00
Erick Tryzelaar
d4c20829f6
Inline enum visit_map
2015-07-22 10:44:43 -07:00
Erick Tryzelaar
dbe2beacb0
Allow structs to be deserialized from sequences
...
This relies on the sequence to have the same ordering as the
struct field order.
2015-07-22 10:44:43 -07:00
Erick Tryzelaar
b9a938a01c
Some default de::Visitor::visit* should proxy to other methods
2015-07-22 10:44:43 -07:00
Erick Tryzelaar
4dd7345568
Simplify result serialization and deserialization
2015-07-22 10:44:43 -07:00
Erick Tryzelaar
b3cf9375d4
Add Tuple Deserializer Visitor constructor
2015-07-22 10:44:43 -07:00
Erick Tryzelaar
1751155a3a
Minor cleanup
2015-07-22 10:44:43 -07:00
Erick Tryzelaar
5dae700aec
Pass struct field names to deserializer
2015-07-22 10:44:42 -07:00
Erick Tryzelaar
affa9382be
Expose variant index to Serializer
2015-07-22 10:44:42 -07:00
Erick Tryzelaar
10f23dddfe
Rename named_* to use {enum,struct,unit}_*
...
This better reflects how they're used.
2015-07-22 10:44:42 -07:00
Erick Tryzelaar
d30cf07254
Serializer::visit_enum_seq{,_elt} should call visit_named_seq{,_elt}
2015-07-22 10:44:42 -07:00
Erick Tryzelaar
31491b822f
Version bump
2015-07-22 10:44:42 -07:00
Erick Tryzelaar
4c19cfead5
Fix serializing maps/sequences with no size hint
...
Closes #101
2015-07-22 10:41:51 -07:00
Erick Tryzelaar
b2754c2c3b
Merge pull request #116 from erickt/travis
...
Use new travis containers
2015-07-22 10:41:38 -07:00
Erick Tryzelaar
f56976db1d
Fix running serde_tests with nightly cargo
2015-07-22 10:40:06 -07:00
Erick Tryzelaar
77b8a8baa0
Use new travis containers
2015-07-22 09:51:19 -07:00
Erick Tryzelaar
0b9190cce3
Merge pull request #108 from dswd/patch-1
...
Make the TupleVisitors public
2015-07-18 21:21:09 -04:00
dswd
2a40c5dd24
Make the TupleVisitors public
...
This change is needed to use the TupleVisitor to implement a VariantVisitor
2015-07-17 09:58:55 +02:00