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
0bd380ee23
chore(cleanup): Minor reorganization of attr.rs
2016-02-08 08:30:29 -08:00
Erick Tryzelaar
a926cb62f0
chore(codegen): Clean up error handling
2016-02-07 20:36:24 -08:00
Erick Tryzelaar
8c8fcdbc54
Merge pull request #231 from erickt/rename-struct-key-to-field
...
Rename struct key to field
2016-02-07 20:35:38 -08:00
Erick Tryzelaar
f8b3990571
feat(de): Rename deserialize_struct_key to deserialize_struct_field
...
This makes it more consistent with the naming style used throughout
the rest of serde.
2016-02-05 17:27:18 -08:00
Erick Tryzelaar
9dffbcfedb
fix(whitespace): Fixed indentation
2016-02-05 17:27:18 -08:00
Erick Tryzelaar
50c73edd6a
Merge pull request #215 from TyOverby/deserialize_string-for-pathbuf
...
Use deserializer.deserialize_string for PathBuf
2016-02-05 07:57:28 -08:00
Erick Tryzelaar
1b1f95f372
Merge pull request #224 from erickt/path
...
feat(ser): Add ser::Error trait; avoid panic when serializing Paths
2016-02-05 07:56:48 -08:00
Erick Tryzelaar
9b349d08cc
Merge pull request #225 from jwilm/hint-ignored-any
...
feat(de): Support hinting for IgnoredAny
2016-02-05 07:56:30 -08:00
Joe Wilm
b0bc8e3594
feat(de): Support hinting for IgnoredAny
...
IgnoredAny was calling `deserializer.deserialize` directly which is
guaranteed to Error for certain formats like redis and bincode. This
adds a `deserialize_ignored_any` method to hint to such implementations.
2016-01-28 11:49:36 -08:00
Erick Tryzelaar
f1b20577d3
feat(ser): Add ser::Error trait; avoid panic when serializing Paths
...
The only way to safely serialize a `Path` is to use
`.to_string_lossy()`, which replaces invalid UTF-8 characters with
the U+FFFD replacement character. Unfortunately this would lose
information, so for our default implementations, it'd be better
to punt and report an error, and leave it up to the user to
decide if they want to use the lossy encoding.
Unfortunately, we had no way for `Serializer`s to require some methods
on `Serializer::Error`, so there was no way before this patch for
the `Path` implementation to generically report that it cannot encode
this value. This adds that implementation.
breaking-change
Closes #57 .
2016-01-28 10:41:21 -08:00
Erick Tryzelaar
9ae47a261e
Merge branch 'v0.6.x'
...
# Conflicts:
# serde/src/de/impls.rs
# serde_codegen/src/de.rs
2016-01-28 09:49:15 -08:00
Erick Tryzelaar
4507eaec5b
Use deserializer.visit_string for PathBuf
2016-01-28 09:45:38 -08:00
Erick Tryzelaar
b3212f4c2b
Merge pull request #223 from jwilm/hinting-for-struct-keys
...
feat(de): Support struct key hinting
2016-01-28 08:57:16 -08:00
Joe Wilm
6d25fc9dbb
feat(de): Support struct key hinting
...
Formats that do not provide type hints in the serialized format
(bincode, redis) rely on hinting in the deserializer. Struct key hinting
was not previously supported. This was not an issue in the past because
bincode serializes structs as a keyless sequence of values. However,
redis data is stored (key, value, key, value, ...), and the keys must be
deserialized to properly create a struct.
The default implementation of `visit_struct_key` is simply `visit` since
that was the previous method called in codegen.
2016-01-28 08:38:07 -08:00
Erick Tryzelaar
589187874a
Merge pull request #222 from jwilm/fix-readme
...
Fixes for README
2016-01-27 09:26:54 -08:00
Joe Wilm
1b6ae02e8a
docs(readme) update links for documentation
...
Documentation links were all broken.
2016-01-26 20:18:49 -08:00
Joe Wilm
7ace67e997
docs(readme) fix method calls on de/serializers
...
Several instances of serializer and deserializer had methods like
visit_* being invoked on them when the intent was to invoke
de/serialize_*.
2016-01-26 19:34:33 -08:00
Erick Tryzelaar
c072025982
Merge branch 'v0.6.x'
2016-01-26 14:06:43 -08:00
Simon Persson
a5d0703e44
Bump clippy dependency to compile on 1.8.
2016-01-23 16:15:31 -08:00
Erick Tryzelaar
0a32cea26e
feat(impls): Allow options to be deserialized from units
2016-01-23 16:07:50 -08:00
Erick Tryzelaar
b2acda333b
Merge branch 'v0.6.x'
2016-01-20 11:16:06 -08:00
Erick Tryzelaar
da4e37d3f5
docs(tradeoffs): Add section that describes tradeoffs for option types
2016-01-20 11:15:43 -08:00
Ty Overby
17d825bdd9
Use deserializer.deserialize_string for PathBuf
2016-01-19 08:54:56 -08:00
Erick Tryzelaar
e0254fc312
Merge branch 'v0.6.x'
2016-01-18 13:19:18 -08:00
Erick Tryzelaar
3f9cbc157a
fix(cargo): serde_codegen shouldn't depend on '*' serde dependencies
2016-01-18 13:15:09 -08:00
Erick Tryzelaar
a51f930101
feat(cargo): Version bump
2016-01-18 13:11:16 -08:00
Erick Tryzelaar
d1e39db61e
Merge branch 'v0.6.x'
2016-01-18 13:09:31 -08:00
Erick Tryzelaar
77edd8e544
fix(clippy): Switch to using or_else when we get a str parse error
2016-01-18 13:07:30 -08:00
Erick Tryzelaar
8087b7cec6
fix(cargo): Bump clippy version
2016-01-18 13:00:21 -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
bfa2b69193
feat(clippy): Use clippy for it's extra lints
2016-01-18 12:24:03 -08:00
Erick Tryzelaar
939e1540d4
Merge pull request #205 from JohnHeitmann/default-typo
...
Remove extraneous flag
2016-01-18 09:11:14 -08:00
Erick Tryzelaar
835eb94275
Merge pull request #212 from debris/patch-1
...
fixed typo in readme
2016-01-18 09:10:45 -08:00
Marek Kotewicz
79cc333dca
fixed typo in readme
2016-01-17 15:14:25 +01:00
Erick Tryzelaar
1ced6db73e
Merge remote-tracking branch 'remotes/origin/v0.6.x'
2016-01-16 15:08:06 -08:00
Erick Tryzelaar
fbcf905c9f
Merge pull request #210 from erickt/v0.6.x
...
feat(errors): Don't panic if annotating a non-struct/enum
2016-01-16 15:06:07 -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
2aefa5bb1d
Merge pull request #204 from JohnHeitmann/master
...
Implemented disallow_unknown
2016-01-16 13:32:20 -08:00
Erick Tryzelaar
4c92b877d6
Merge branch 'v0.6.x'
2016-01-16 13:17:38 -08:00
Erick Tryzelaar
342ea25290
feat(cargo): Version bump
2016-01-13 07:05:32 -08:00
Erick Tryzelaar
8d8f17982a
feat(cargo): Version bump
2016-01-13 06:59:30 -08:00
John Heitmann
bba21f99fe
Remove extraneous flag
2016-01-11 17:51:07 -08:00
John Heitmann
8c57f433ff
s/disallow_unknown/deny_unknown_fields/
2016-01-11 10:20:07 -08:00
John Heitmann
bfac1a581c
Implemented disallow_unknown
...
* Added codegen for disallow_unknown
* ... with new default to ignore unknown values during deserialization
* Added ContainerAttrs
2016-01-10 19:34:48 -08:00