Manish Goregaokar
379c9e7148
Rustup too rustc 1.11.0-nightly (7746a334d 2016-05-28)
2016-05-30 14:01:57 +05:30
David Tolnay
938f42faf6
Support (de)serialize_with in tuples
2016-05-19 10:53:38 -07:00
David Tolnay
f1b4072444
Strip more references
2016-05-18 23:48:56 -07:00
David Tolnay
7d2423e856
Reduce code duplication in Deserialize generator
...
This combines deserialize_newtype_struct, deserialize_tuple_struct,
and deserialize_tuple_variant into a single method deserialize_tuple,
as well as deserialize_struct and deserialize_struct_variant into a
single method deserialize_struct. No behavior changes.
2016-05-15 13:32:54 -07:00
David Tolnay
004dcaec3b
Remove unused imports and needless borrows
2016-05-13 10:47:09 -07:00
Erick Tryzelaar
41142d41ee
Merge pull request #319 from dtolnay/release
...
Release 0.7.5
2016-05-12 09:30:41 -07:00
David Tolnay
3ad276944a
Do not depend on multiple syntex versions
2016-05-11 09:52:28 -07:00
David Tolnay
709ac64dfc
Release 0.7.5
2016-05-11 09:36:30 -07:00
Homu
a9a4b2d8e2
Auto merge of #293 - dtolnay:duplicate, r=oli-obk
...
feat(codegen): Detect repeated struct field when deserializing
Addresses #59 . Let me know whether you think we need an escape hatch to opt out of this check.
2016-05-11 19:44:34 +09:00
Oliver Schneider
7374ac499d
Merge pull request #311 from dtolnay/deserialize_with
...
Field with deserialize_with should not implement Deserialize
2016-05-11 11:48:19 +02:00
David Tolnay
eeb4efc19c
feat(codegen): Detect repeated struct field when deserializing
2016-05-10 09:52:51 -07:00
David Tolnay
76b70455ec
Field with deserialize_with should not implement Deserialize
2016-05-10 09:50:32 -07:00
David Tolnay
f43c8a6267
Prefix type parameters and lifetimes with double underscore
2016-05-10 09:12:38 -07:00
David Tolnay
f4414bfc14
Reduce dependence on type inference
2016-05-07 15:25:13 -07:00
Erick Tryzelaar
8378267b9b
Merge pull request #303 from antrik/rustup
...
Update for latest libsyntax changes
2016-05-03 22:07:38 -07:00
Olaf Buddenhagen
0e9d45da60
Bump version to 0.7.4
...
Dependencies were updated in previous commit. (For supporting current
Nightly Rust.)
I guess this shouldn't affect our client interface -- which is why these
dependency bumps only get patch level version number updates for Serde,
I presume?
2016-05-02 07:26:16 +02:00
Olaf Buddenhagen
6e7a75c859
Adapt for parser::PathParsingMode
interface change in libsyntax
...
This was renamed upstream in
6c44bea644
It's an incompatible change requiring new versions of syntex, aster, and
quasi.
2016-05-02 07:25:29 +02:00
Olaf Buddenhagen
0ff91e4451
Adapt for removal of old interfaces in libsyntax
...
9108fb7bae
dropped the `map()` method (among other things) -- so we need to adapt
our code.
This change should be backwards-compatible.
2016-05-02 07:08:43 +02:00
David Tolnay
305fab7c16
fix(codegen): Support extern crate serde
not in toplevel module
2016-04-25 09:58:01 -07:00
Erick Tryzelaar
a959073a81
Merge pull request #296 from erickt/master
...
Fix a warning, bump the versions
2016-04-25 07:58:23 -07:00
Erick Tryzelaar
7bd87feb62
Fix a warning, bump the versions
2016-04-19 12:43:57 -05:00
David Tolnay
fd3c15fb68
fix(codegen): Discard type defaults from impl generics
2016-04-19 10:28:43 -07:00
David Tolnay
886670134a
feat(codegen): Infer Default and Deserialize bounds correctly
2016-04-13 21:56:12 -07:00
Erick Tryzelaar
65e36647f5
Merge pull request #283 from dtolnay/defaultskip
...
fix(codegen): Take into account default=... when skip_deserializing
2016-04-13 08:43:10 -07:00
Erick Tryzelaar
a4de662adb
Fix doc links
2016-04-13 08:11:02 -07:00
David Tolnay
ff02b0c741
fix(codegen): Take into account default=... when skip_deserializing
2016-04-12 23:42:24 -07:00
Erick Tryzelaar
6b3958d5fc
Merge pull request #282 from erickt/doc
...
Fix generating serde_{codegen,macros} documentation
2016-04-12 17:08:15 -07:00
Erick Tryzelaar
dbba537b66
Merge branch 'skip_deserializing' of https://github.com/dtolnay/serde into dtolnay-skip_deserializing
2016-04-12 08:52:25 -07:00
Erick Tryzelaar
bc2324fba7
Merge branch 'feature/inhibit' of https://github.com/dtolnay/serde into dtolnay-feature/inhibit
2016-04-12 08:41:02 -07:00
Erick Tryzelaar
9082b75e75
Fix generating serde_{codegen,macros} documentation
2016-04-12 08:36:02 -07:00
Erick Tryzelaar
4b9f751d74
Merge pull request #264 from dtolnay/docs/links
...
Fix broken documentation links in Cargo.toml
2016-04-12 08:32:14 -07:00
Erick Tryzelaar
1c5d83889c
Merge remote-tracking branch 'remotes/origin/master' into renamed_missing_field
2016-04-12 08:24:34 -07:00
David Tolnay
87393b61bb
feat(codegen) skip_deserializing
2016-04-10 20:29:37 -07:00
Erick Tryzelaar
a84b6aaedd
Bump syntex/aster/quasi version
2016-04-10 19:54:54 -07:00
Joe Wilm
4af850431c
Fix deserialize_with
in module with Result alias
...
Result<T, E> aliases usually provide one or both of `T` and `E`. This
would cause an error when using deserialize_with:
error: wrong number of type arguments: expected 1, found 2
which unhelpfully just pointed to `#[derive(Deserialize)]`
2016-04-05 15:53:51 -07:00
Anthony Ramine
c7c5b50f35
Silence unused_variables warning with empty enums
...
Deriving Serialize or Deserialize on Void-like enums triggered an
unused_variables warning.
2016-04-03 14:31:04 +02:00
Oliver Schneider
d9b6feef19
pass the renamed deserialize
field name to missing_field
2016-03-30 17:29:27 +02:00
Erick Tryzelaar
9785646246
feat(cargo): Update syntex
2016-03-16 23:52:21 -07:00
David Tolnay
fb18a5cc56
Fix broken documentation links in Cargo.toml
2016-03-06 19:28:26 -08:00
David Tolnay
eaff73a541
Where clause for generic types only
2016-02-29 21:53:58 -08:00
David Tolnay
19ec8bbdb9
feat(codegen): Inhibit generic bounds if skip_serializing
...
The generated code for a struct like:
struct Test<A, B, C> {
a: X<A>
#[serde(skip_serializing)]
b: B
#[serde(serialize_with="...")]
c: C
}
Used to be:
impl<A, B, C> Serialize for Test<A, B, C>
where A: Serialize,
B: Serialize,
C: Serialize,
{ ... }
Now it is:
impl<A, B, C> Serialize for Test<A, B, C>
where X<A>: Serialize,
{ ... }
Both `skip_serializing` and `serialize_with` mean the type does not need to
implement `Serialize`.
2016-02-28 19:11:51 -08:00
Erick Tryzelaar
57433e1eaa
feat(codegen): Optimize deserializing fields from byte strings
2016-02-23 20:38:06 -08:00
Erick Tryzelaar
118476b98b
feat(de): Rename de::Error trait methods
2016-02-23 20:21:07 -08:00
Erick Tryzelaar
d6a50b8977
feat(cargo): Version bump to 0.7!
2016-02-23 05:26:07 -08:00
Erick Tryzelaar
740865b637
feat(de): Add an Error::unknown_variant error.
...
Closes #169
2016-02-21 16:26:52 -08:00
Erick Tryzelaar
78cf29d1d1
feat(codegen): Switch attributes to using using paths not expressions
2016-02-21 15:28:25 -08:00
Erick Tryzelaar
0c35ce0a4f
feat(codegen): Improve error messages in annotations
2016-02-21 09:54:03 -08:00
Erick Tryzelaar
c268eb2258
feat(codegen): Remove #[serde(skip_serializing_if_{none,empty})]
...
`#[serde(skip_serializing_if="...")]` can replace this functionality.
2016-02-18 19:31:43 -08:00
Erick Tryzelaar
40f8e6b061
feat(codegen): Add #[serde(deserialize_with="...")]
...
This allows a field to be deserialized with an expression instead
of the default deserializer. This simplifies deserializing a struct
or enum that contains an external type that doesn't implement
`serde::Deserialize`. This expression is passed a variable
`deserializer` that needs to be used to deserialize the expression.
2016-02-18 19:13:55 -08:00
Erick Tryzelaar
001cb7ab01
feat(codegen): Add #[serde(serialize_with="...")]
...
This allows a field to be serialized with an expression instead
of the default serializer. This simplifies serializing a struct
or enum that contains an external type that doesn't implement
`serde::Serialize`. This expression is passed a variable
`serializer` that needs to be used to serialize the expression.
2016-02-18 19:13:55 -08:00