David Tolnay
a6d172111b
Derive for remote types
2017-04-09 10:15:46 -07:00
David Tolnay
726eea9a97
Separate out the private functionality
...
This makes it easier when clicking through [src] links from rustdoc, not having
to sift through public and internal code combined together.
2017-04-07 09:46:48 -07:00
David Tolnay
dd62801b22
Use spaces around =-sign like Rust does
2017-04-06 14:22:03 -07:00
David Tolnay
fb48111e46
Derive for borrowed fields
2017-04-03 00:40:45 -07:00
David Tolnay
42b2fd8eec
Improve error message parsing from and into
2017-03-18 09:22:44 -07:00
John Baublitz
bc946e4fd7
Macro attributes to specify From and Into trait types for structs and enums ( #817 )
...
* serde macro support for type conversions through From and Into trait
* Revisions requested by dtolnay
* Additional changes requested by dtolnay
2017-03-18 09:22:27 -07:00
David Tolnay
47efbc6d75
Don't need to pass back the input here
2017-02-25 11:32:27 -08:00
David Tolnay
17279e8a4f
Simplify case conversion implementation
2017-02-25 11:32:22 -08:00
David Tolnay
06c631db05
Bring in the tests
2017-02-25 11:02:51 -08:00
David Tolnay
7952bad41f
Move case conversion to its own file
2017-02-25 11:02:25 -08:00
Michael Mokrysz
3308f81c3a
Saving progress on naming convention conversion code to try new Inflector changes. #788
2017-02-25 13:24:49 +00:00
Michael Mokrysz
84915268ee
Minor fixes for pull request. Cheers @dtolnay.
2017-02-24 01:55:31 +00:00
Michael Mokrysz
3b59d47e07
Heavily refactored rename_all and switched to SCREAMING_SNAKE_CASE.
2017-02-23 23:22:54 +00:00
Michael Mokrysz
fc94c5399a
Implementing rename_all container attribute using Inflector trait. #140
2017-02-23 18:58:41 +00:00
David Tolnay
3d6e086d3e
Support custom paths in container attribute serde(default="...")
2017-02-20 17:06:00 -08:00
Thomas de Zeeuw
7bee779514
Only allow #[serde(default)]` on structs
2017-02-21 00:15:00 +01:00
Thomas de Zeeuw
9444db5f19
Add support for #[serde(default)] on structs
...
This allows structs to use the default value for each field defined in
the struct’s `std::default::Default` implementation, rather then the
default value for the field’s type.
```
struct StructDefault {
a: i32,
b: String,
}
impl Default for StructDefault {
fn default() -> StructDefault {
StructDefault{
a: 100,
b: "default".to_string(),
}
}
}
```
The code above will now return `100` for field `a` and `”default”` for
`b`, rather then `0` and `””` respectively.
2017-02-20 22:35:31 +01:00
David Tolnay
a3fe03c323
Serialization of Haskell style enums
2017-02-19 16:04:39 -08:00
Elliott Slaughter
4538143d00
Initial work to support serialization of adjacently tagged enums.
2017-02-18 20:46:37 -08:00
David Tolnay
f500db6e91
Pair serialize_with and deserialize_with into one attribute
2017-02-14 17:36:50 -08:00
David Tolnay
e8651a52e7
Rustfmt
2017-02-12 22:15:59 -08:00
David Tolnay
ff21d557c7
Untagged and internally tagged enums
2017-02-02 18:48:30 -08:00
Oliver Schneider
368784949e
move to cargo clippy instead of using the clippy plugin ( #733 )
...
* move to cargo clippy instead of using the clippy plugin
fixes #729
* non-exectable scripts must be run with `sh`
* don't build serde in the clippy travis job
* only run clippy tests if installing clippy succeeds
* why is travis so picky?
* no more serde_codegen
* serde_test_suite_deps has no features
* don't use empty loops, llvm optimizes them to undefined behaviour
* abort the clippy job when clippy lints are triggered
* use caches on travis to speed up builds
* why are we even using `travis-cargo`?
* need to reinstall clippy frequently due to nightly updates
* command line tools are hard
2017-01-31 09:09:37 -08:00
David Tolnay
e4f7d8513c
Clean up clippy lints in codegen_internals
2017-01-25 21:22:15 -08:00
Shing Lyu
2fea8c9c28
Implement skip_serializing for enum variant
2016-12-24 22:34:22 +08:00
Shing Lyu
95ffca9bbe
Implemented skip_deserializing for enum
2016-12-16 20:29:21 +08:00
David Tolnay
f8c3d225a3
Shorten the syn meta item matches
2016-11-02 22:56:27 -07:00
David Tolnay
6d40d9e8ec
Update codegen internals to syn 0.10
2016-11-02 22:52:20 -07:00
David Tolnay
9a86e6818f
Use push_str to support old compilers
2016-09-27 00:47:54 -07:00
David Tolnay
7e441e5110
Handle various attribute parsing error cases
2016-09-27 00:40:37 -07:00
David Tolnay
0c18c151e2
Revamp serde_codegen_internals error handling
2016-09-27 00:11:37 -07:00
David Tolnay
4ad6c4fd56
Include unknown attribute name in error message
2016-09-27 00:02:15 -07:00
David Tolnay
1eca7766ba
Bump syn dependency
2016-09-24 09:54:10 -07:00
David Tolnay
c34baa1e5f
No more syntex for serde_derive
2016-09-11 19:55:13 -07:00
David Tolnay
4bb9279074
Bump syntex to 0.43
2016-08-31 12:53:27 -07:00
David Tolnay
f3f29f81bc
Fix new lints
2016-08-19 12:46:45 -04:00
David Tolnay
4f79829849
Rename feature nightly-testing to unstable-testing
2016-07-17 13:34:23 -07:00
David Tolnay
a070de28e2
Update syntex to 0.38
2016-07-09 11:37:01 -07:00
David Tolnay
d450de1482
Update syntex to 0.37
2016-07-02 20:20:44 -07:00
David Tolnay
2d5a26dfc0
Rename serde_internals to serde_codegen_internals
2016-06-30 19:53:57 -07:00