Erick Tryzelaar
0224e212f9
feat(codegen): Allow containers to be renamed
...
Closes #218
2016-02-08 11:11:36 -08:00
Erick Tryzelaar
b842164fd8
feat(codegen): Support renames that are different when serializing and deserializing
...
According to #61 , if one uses serde to serialize requests that pass
url-encoded parameters to a server, it might get responses back
with a different capitalization scheme. This patch restores the
behavior implemented in #62 .
# Conflicts:
# serde_codegen/src/attr.rs
# serde_codegen/src/de.rs
# serde_tests/tests/test_annotations.rs
2016-02-08 10:43:41 -08:00
Erick Tryzelaar
365e5129af
refactor(codegen): Add VariantAttrs
2016-02-08 10:43:32 -08:00
Erick Tryzelaar
d0ee5b0b4b
feat(codegen): Remove {Ser,Deser}ializer::format
...
This feature has never been used, and it's complicating the
implementation of #207 . We could restore this functionality if there is
ever interest in it.
Closes #211 .
2016-02-08 10:10:00 -08:00
Erick Tryzelaar
5d4f9ce72b
refactor(codegen): Add FieldsAttr::from_{field,variant}
2016-02-08 10:09:30 -08:00
Erick Tryzelaar
807224d231
refactor(codegen): Add ContainerAttrs::from_items
2016-02-08 10:09:18 -08:00
Erick Tryzelaar
a926cb62f0
chore(codegen): Clean up error handling
2016-02-07 20:36:24 -08:00
Erick Tryzelaar
42b8b6153e
Merge branch 'v0.6.x' into master
...
# Conflicts:
# serde/Cargo.toml
# serde/src/ser/impls.rs
# serde_codegen/src/attr.rs
# serde_codegen/src/de.rs
# serde_codegen/src/field.rs
# serde_codegen/src/ser.rs
2016-01-18 12:45:39 -08:00
Erick Tryzelaar
8df841f048
fix(errors): Report errors on unknown #[serde(...)] attributes
...
Closes #51 , #175 , and #187
2016-01-18 12:39:46 -08:00
Erick Tryzelaar
1ced6db73e
Merge remote-tracking branch 'remotes/origin/v0.6.x'
2016-01-16 15:08:06 -08:00
Erick Tryzelaar
979a4bcd88
feat(errors): Don't panic if annotating a non-struct/enum
...
This also improves the error spans when there's an internal
error.
Closes #206 .
2016-01-16 14:51:11 -08:00
Erick Tryzelaar
59285f627b
Merge branch 'v0.6.x'
...
# Conflicts:
# serde_codegen/Cargo.toml
2016-01-10 11:54:46 -08:00
Erick Tryzelaar
072ff149f5
fix(rustup): Update to latest rust; silence some warnings
2015-12-24 12:12:03 -05:00
Erick Tryzelaar
b858cd9e18
Merge remote-tracking branch 'remotes/origin/v0.6.x'
...
# Conflicts:
# serde_codegen/Cargo.toml
2015-11-28 21:16:51 -08:00
Erick Tryzelaar
59e0d5e081
fix(warning): #[automatically_derived] was removed
2015-11-28 20:09:31 -08:00
Erick Tryzelaar
f474c57881
Merge branch 'v0.6.x'
2015-11-02 20:39:32 -08:00
Erick Tryzelaar
7521db7b0b
fix(crates): Bump aster and syntex_syntax
2015-11-01 13:24:26 -08:00
Oliver Schneider
56c42a907f
fix( #151 ): renaming Deserializer::visit_* to Deserializer::deserialize_*
2015-10-20 09:30:15 +02:00
Erick Tryzelaar
f872b3fb4b
fix(cargo): Update aster, quasi, and syntex
2015-10-17 19:44:07 -07:00
Oliver Schneider
1c88856fc8
$value_expr starting with a & took address of resulting bool
2015-10-12 11:04:50 +02:00
Erick Tryzelaar
c4392ff256
feat(codegen): Add more attributes to skip serializing
...
These attributes are `#[serde(skip_serializing_if_none)]` and
`#[serde(skip_serializing_if_empty)]`.
2015-09-07 16:58:52 -07:00
Erick Tryzelaar
42069ca669
Refactor tests to not use serde_json
2015-08-29 17:29:42 -07:00
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
fefc010deb
Rename visit_enum_simple to visit_newtype_variant
2015-07-31 07:22:13 -07:00
Erick Tryzelaar
0348a3914d
Pass variant index to visit_enum_simple
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
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
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
Erick Tryzelaar
b1cb5379de
Add `#[serde(skip_serializing)] to skip serializing some fields
...
Closes #99
2015-07-23 08:07:49 -07:00
Erick Tryzelaar
b0512a4479
Fix deriving traits for fully generic types.
...
Closes #100
2015-07-23 07:25:27 -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
236d40d73e
Add Serializer
hooks for sequence elements
2015-07-16 10:51:01 -04:00
Erick Tryzelaar
ed5b4d7319
Fix serializing generic enums
...
This fixes generic enums with variants that don't use all lifetime
and typarams. Closes #88 .
2015-06-18 08:45:03 -07:00
Erick Tryzelaar
ac3a3e922f
Fix compilation with rust nightly (613e57b44) and syntex 0.7.0
2015-06-08 06:55:36 -07:00
Erick Tryzelaar
2c24be90d2
Switch to using MultiDecorator
2015-05-18 22:49:49 -07:00
Erick Tryzelaar
24ac61f9f2
Pull codegen into it's own crate
2015-05-18 22:47:35 -07:00