David Tolnay
77ae1c3bf7
Release 1.0.132
2021-12-16 11:06:42 -08:00
David Tolnay
b85e28166c
Update path to rustc target spec files
2021-12-16 11:05:58 -08:00
David Tolnay
0508cb50fc
Merge pull request #2141 from Avimitin/risc-v
...
Enable atomic64 on riscv64 arch
2021-12-16 11:05:14 -08:00
Avimitin
84fdc7df69
Enable atomic64 on riscv64 arch
...
Signed-off-by: Avimitin <avimitin@gmail.com >
2021-12-14 20:30:28 +08:00
David Tolnay
ab1ca04b2e
Release 1.0.131
2021-12-08 18:47:15 -08:00
David Tolnay
fb2fe409c8
Touch up PR 2116
2021-12-08 18:44:41 -08:00
David Tolnay
549fac7235
Merge pull request #2116 from tyranron/fix-unused-results
...
Fix `unused_results` complaining rustc lint in codegen for adjacently tagged enum
2021-12-08 18:43:31 -08:00
David Tolnay
c375d8b19b
Merge pull request #2124 from dtolnay/cbor
...
Change cbor link to new repo
2021-11-26 14:48:40 -08:00
David Tolnay
6cf507f808
Change cbor link to new repo
2021-11-26 14:43:09 -08:00
David Tolnay
c3c1641c06
Remove workaround for redundant_field_names Clippy bug
2021-11-04 20:23:25 -07:00
David Tolnay
1fcda0ebdb
Enable pedantic lints on test suite in CI
2021-11-04 20:21:48 -07:00
David Tolnay
8f16ac0a94
Move deny(clippy) to command line arguments in the CI job
2021-11-04 20:09:35 -07:00
David Tolnay
737f78c315
Ignore enum_variant_names Clippy lint in test suite
...
error: all variants have the same prefix: `Serialize`
--> test_suite/tests/test_macros.rs:1741:5
|
1741 | / enum E {
1742 | | #[serde(rename_all = "camelCase")]
1743 | | Serialize {
1744 | | serialize: bool,
... |
1756 | | },
1757 | | }
| |_____^
|
= note: `-D clippy::enum-variant-names` implied by `-D clippy::all`
= help: remove the prefixes and use full paths to the variants instead of glob imports
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names
2021-11-04 20:06:02 -07:00
David Tolnay
4a97386cb9
Clippy if_then_panic lint has been renamed to manual_assert
2021-11-04 19:57:14 -07:00
tyranron
5b32217877
Fix unused_results complaining rustc lint in codegen for adjacently tagged enum
2021-10-29 14:13:26 +03:00
David Tolnay
5b140361a3
Merge pull request #2102 from atouchet/url
...
Update URL
2021-10-14 16:33:22 -07:00
Alex Touchet
678351eac7
Update URL
2021-10-14 16:27:49 -07:00
David Tolnay
999c261d11
Ui test changes for trybuild 1.0.49
2021-10-08 02:46:15 -04:00
David Tolnay
efbe574209
Update ui test files
2021-10-07 00:56:29 -04:00
David Tolnay
33b2677384
Suppress broken semicolon_if_nothing_returned lint
...
https://github.com/rust-lang/rust-clippy/issues/7768
error: consider adding a `;` to the last statement for consistent formatting
--> serde/src/de/impls.rs:849:1
|
849 | / seq_impl!(
850 | | BinaryHeap<T: Ord>,
851 | | seq,
852 | | BinaryHeap::clear,
... |
855 | | BinaryHeap::push
856 | | );
| |__^
|
note: the lint level is defined here
--> serde/src/lib.rs:97:52
|
97 | #![cfg_attr(feature = "cargo-clippy", deny(clippy, clippy_pedantic))]
| ^^^^^^^^^^^^^^^
= note: `#[deny(clippy::semicolon_if_nothing_returned)]` implied by `#[deny(clippy::pedantic)]`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned
help: add a `;` here
|
849 + seq_impl!(
850 + BinaryHeap<T: Ord>,
851 + seq,
852 + BinaryHeap::clear,
853 + BinaryHeap::with_capacity(size_hint::cautious(seq.size_hint())),
854 + BinaryHeap::reserve,
...
error: consider adding a `;` to the last statement for consistent formatting
--> serde/src/de/impls.rs:859:1
|
859 | / seq_impl!(
860 | | BTreeSet<T: Eq + Ord>,
861 | | seq,
862 | | BTreeSet::clear,
... |
865 | | BTreeSet::insert
866 | | );
| |__^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned
help: add a `;` here
|
859 + seq_impl!(
860 + BTreeSet<T: Eq + Ord>,
861 + seq,
862 + BTreeSet::clear,
863 + BTreeSet::new(),
864 + nop_reserve,
...
error: consider adding a `;` to the last statement for consistent formatting
--> serde/src/de/impls.rs:869:1
|
869 | / seq_impl!(
870 | | LinkedList<T>,
871 | | seq,
872 | | LinkedList::clear,
... |
875 | | LinkedList::push_back
876 | | );
| |__^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned
help: add a `;` here
|
869 + seq_impl!(
870 + LinkedList<T>,
871 + seq,
872 + LinkedList::clear,
873 + LinkedList::new(),
874 + nop_reserve,
...
error: consider adding a `;` to the last statement for consistent formatting
--> serde/src/de/impls.rs:879:1
|
879 | / seq_impl!(
880 | | HashSet<T: Eq + Hash, S: BuildHasher + Default>,
881 | | seq,
882 | | HashSet::clear,
883 | | HashSet::with_capacity_and_hasher(size_hint::cautious(seq.size_hint()), S::default()),
884 | | HashSet::reserve,
885 | | HashSet::insert);
| |_____________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned
help: add a `;` here
|
879 + seq_impl!(
880 + HashSet<T: Eq + Hash, S: BuildHasher + Default>,
881 + seq,
882 + HashSet::clear,
883 + HashSet::with_capacity_and_hasher(size_hint::cautious(seq.size_hint()), S::default()),
884 + HashSet::reserve,
...
error: consider adding a `;` to the last statement for consistent formatting
--> serde/src/de/impls.rs:888:1
|
888 | / seq_impl!(
889 | | VecDeque<T>,
890 | | seq,
891 | | VecDeque::clear,
... |
894 | | VecDeque::push_back
895 | | );
| |__^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned
help: add a `;` here
|
888 + seq_impl!(
889 + VecDeque<T>,
890 + seq,
891 + VecDeque::clear,
892 + VecDeque::with_capacity(size_hint::cautious(seq.size_hint())),
893 + VecDeque::reserve,
...
error: consider adding a `;` to the last statement for consistent formatting
--> serde/src/de/impls.rs:1300:1
|
1300 | / map_impl!(
1301 | | BTreeMap<K: Ord, V>,
1302 | | map,
1303 | | BTreeMap::new());
| |_____________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned
help: add a `;` here
|
1300 + map_impl!(
1301 + BTreeMap<K: Ord, V>,
1302 + map,
1303 + BTreeMap::new());;
|
error: consider adding a `;` to the last statement for consistent formatting
--> serde/src/de/impls.rs:1306:1
|
1306 | / map_impl!(
1307 | | HashMap<K: Eq + Hash, V, S: BuildHasher + Default>,
1308 | | map,
1309 | | HashMap::with_capacity_and_hasher(size_hint::cautious(map.size_hint()), S::default()));
| |___________________________________________________________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned
help: add a `;` here
|
1306 + map_impl!(
1307 + HashMap<K: Eq + Hash, V, S: BuildHasher + Default>,
1308 + map,
1309 + HashMap::with_capacity_and_hasher(size_hint::cautious(map.size_hint()), S::default()));;
|
2021-10-04 23:57:05 -04:00
David Tolnay
01ded9f405
Declare minimum Rust version in Cargo metadata
2021-10-02 02:43:22 -04:00
David Tolnay
fc827ecec2
Resolve redundant_closure_for_method_calls clippy lints
...
error: redundant closure
--> serde_derive/src/bound.rs:53:19
|
53 | .flat_map(|predicates| predicates.to_vec());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the method itself: `[T]::to_vec`
|
note: the lint level is defined here
--> serde_derive/src/lib.rs:18:22
|
18 | #![deny(clippy::all, clippy::pedantic)]
| ^^^^^^^^^^^^^^^^
= note: `#[deny(clippy::redundant_closure_for_method_calls)]` implied by `#[deny(clippy::pedantic)]`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure_for_method_calls
error: redundant closure
--> serde_derive/src/bound.rs:75:19
|
75 | .flat_map(|predicates| predicates.to_vec());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the method itself: `[T]::to_vec`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure_for_method_calls
2021-09-30 00:31:49 -04:00
David Tolnay
5c785eee58
Ignore if_then_panic clippy lint
...
error: only a `panic!` in `if`-then statement
--> serde_derive/src/internals/ctxt.rs:58:9
|
58 | / if !thread::panicking() && self.errors.borrow().is_some() {
59 | | panic!("forgot to check for errors");
60 | | }
| |_________^ help: try: `assert!(!!thread::panicking() && self.errors.borrow().is_some(), "forgot to check for errors");`
|
note: the lint level is defined here
--> serde_derive/src/lib.rs:18:9
|
18 | #![deny(clippy::all, clippy::pedantic)]
| ^^^^^^^^^^^
= note: `#[deny(clippy::if_then_panic)]` implied by `#[deny(clippy::all)]`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_then_panic
error: only a `panic!` in `if`-then statement
--> serde_test/src/assert.rs:73:5
|
73 | / if ser.remaining() > 0 {
74 | | panic!("{} remaining tokens", ser.remaining());
75 | | }
| |_____^ help: try: `assert!(!ser.remaining() > 0, "{} remaining tokens", ser.remaining());`
|
note: the lint level is defined here
--> serde_test/src/lib.rs:149:44
|
149 | #![cfg_attr(feature = "cargo-clippy", deny(clippy, clippy_pedantic))]
| ^^^^^^
= note: `#[deny(clippy::if_then_panic)]` implied by `#[deny(clippy::all)]`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_then_panic
error: only a `panic!` in `if`-then statement
--> serde_test/src/assert.rs:126:5
|
126 | / if ser.remaining() > 0 {
127 | | panic!("{} remaining tokens", ser.remaining());
128 | | }
| |_____^ help: try: `assert!(!ser.remaining() > 0, "{} remaining tokens", ser.remaining());`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_then_panic
error: only a `panic!` in `if`-then statement
--> serde_test/src/assert.rs:166:5
|
166 | / if de.remaining() > 0 {
167 | | panic!("{} remaining tokens", de.remaining());
168 | | }
| |_____^ help: try: `assert!(!de.remaining() > 0, "{} remaining tokens", de.remaining());`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_then_panic
error: only a `panic!` in `if`-then statement
--> serde_test/src/assert.rs:180:5
|
180 | / if de.remaining() > 0 {
181 | | panic!("{} remaining tokens", de.remaining());
182 | | }
| |_____^ help: try: `assert!(!de.remaining() > 0, "{} remaining tokens", de.remaining());`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_then_panic
error: only a `panic!` in `if`-then statement
--> serde_test/src/assert.rs:220:5
|
220 | / if de.remaining() > 0 {
221 | | panic!("{} remaining tokens", de.remaining());
222 | | }
| |_____^ help: try: `assert!(!de.remaining() > 0, "{} remaining tokens", de.remaining());`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_then_panic
error: only a `panic!` in `if`-then statement
--> test_suite/tests/test_de.rs:1349:9
|
1349 | / if de.remaining() > 0 {
1350 | | panic!("{} remaining tokens", de.remaining());
1351 | | }
| |_________^ help: try: `assert!(!de.remaining() > 0, "{} remaining tokens", de.remaining());`
|
= note: `-D clippy::if-then-panic` implied by `-D clippy::all`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_then_panic
2021-09-30 00:31:49 -04:00
David Tolnay
819db93a3d
Format with rustfmt 2021-09-29
2021-09-30 00:31:49 -04:00
David Tolnay
a6690ea2fe
Update ui test suite to nightly-2021-09-14
2021-09-14 19:13:54 -07:00
David Tolnay
65e1a50749
Release 1.0.130
2021-08-28 11:31:38 -07:00
David Tolnay
87d41b59fd
Merge pull request #2081 from dtolnay/accessunsized
...
Enable unsized Map/SeqAccess types to use the impl for &mut
2021-08-28 11:11:57 -07:00
David Tolnay
3f120fb355
Enable unsized Map/SeqAccess types to use the impl for &mut
2021-08-28 10:59:51 -07:00
David Tolnay
2b92c80cc1
Release 1.0.129
2021-08-23 15:01:24 -07:00
David Tolnay
c1c0ede452
Merge pull request #2080 from dtolnay/packeddrop
...
Support packed remote struct without destructuring
2021-08-23 15:00:50 -07:00
David Tolnay
4a66c5f33d
Support packed remote struct without destructuring
2021-08-23 14:38:33 -07:00
David Tolnay
714c8a5586
Add test of packed struct that cannot be destructured
...
Currently fails:
error[E0509]: cannot move out of type `RemotePackedNonCopyDef`, which implements the `Drop` trait
--> test_suite/tests/test_gen.rs:876:10
|
876 | #[derive(Deserialize)]
| ^^^^^^^^^^^
| |
| cannot move out of here
| data moved here
| move occurs because `__v1` has type `std::string::String`, which does not implement the `Copy` trait
|
= note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
2021-08-23 14:38:33 -07:00
David Tolnay
dc0c0dcba1
Merge pull request #2079 from dtolnay/packedremote
...
Fix unaligned reference warnings on packed remote def
2021-08-23 14:38:21 -07:00
David Tolnay
54102ee7d0
Avoid generating ref patterns for fields of packed remote struct
2021-08-23 10:18:28 -07:00
David Tolnay
14accf7518
Add test of remote with a packed struct
...
Currently fails to build:
error: reference to packed field is unaligned
--> test_suite/tests/test_gen.rs:858:10
|
858 | #[derive(Serialize, Deserialize)]
| ^^^^^^^^^
|
note: the lint level is defined here
--> test_suite/tests/test_gen.rs:5:9
|
5 | #![deny(warnings)]
| ^^^^^^^^
= note: `#[deny(unaligned_references)]` implied by `#[deny(warnings)]`
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
= note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
error: reference to packed field is unaligned
--> test_suite/tests/test_gen.rs:858:21
|
858 | #[derive(Serialize, Deserialize)]
| ^^^^^^^^^^^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
= note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
2021-08-23 10:18:05 -07:00
David Tolnay
55fdbea20b
Merge pull request #2077 from dtolnay/tryfold
...
Use try_fold in default implementation of collect_seq, collect_map
2021-08-21 14:08:20 -07:00
David Tolnay
75d8902371
Use try_fold in default implementation of collect_seq, collect_map
2021-08-21 14:00:51 -07:00
David Tolnay
9451ea8df1
Format PR 1992 with rustfmt
2021-08-21 12:49:58 -07:00
David Tolnay
c1ce03b3dd
Merge pull request 1992 from Mingun/unnecessary-deserialize-with
2021-08-21 12:49:39 -07:00
David Tolnay
a587eb8953
Release 1.0.128
2021-08-21 10:39:32 -07:00
Oli Scherer
990f7eb6c1
Merge pull request #2076 from Manishearth/emscripten-i128
...
Enable 128-bit integers on emscripten post Rust 1.40
2021-08-21 19:19:30 +02:00
Manish Goregaokar
082e18f9a1
Rust supports i128/u128 on emscripten post Rust 1.40
2021-08-20 21:57:06 -07:00
David Tolnay
f309485787
Ignore buggy collapsible_match clippy lint
...
https://github.com/rust-lang/rust-clippy/issues/7575
2021-08-16 19:32:10 -07:00
David Tolnay
e2f85681fe
Release 1.0.127
2021-07-30 20:59:13 -07:00
David Tolnay
8b840c3030
Resolve semicolon_in_expressions_from_macros warning in serde_test
...
warning: trailing semicolon in macro used in expression position
--> serde_test/src/ser.rs:44:10
|
44 | );
| ^
...
152 | Some(&Token::BorrowedStr(_)) => assert_next_token!(self, BorrowedStr(v)),
| ---------------------------------------- in this macro invocation
|
= note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: this warning originates in the macro `assert_next_token` (in Nightly builds, run with -Z macro-backtrace for more info)
warning: trailing semicolon in macro used in expression position
--> serde_test/src/ser.rs:36:76
|
36 | assert_next_token!($ser, stringify!($actual), Token::$actual, true);
| ^
...
386 | Token::TupleVariantEnd => assert_next_token!(self.ser, TupleVariantEnd),
| --------------------------------------------- in this macro invocation
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: this warning originates in the macro `assert_next_token` (in Nightly builds, run with -Z macro-backtrace for more info)
2021-07-30 20:58:07 -07:00
David Tolnay
9c39115f82
Ignore buggy nonstandard_macro_braces clippy lint
...
Clippy bug: https://github.com/rust-lang/rust-clippy/issues/7422
error: use of irregular braces for `format_args!` macro
--> test_suite/tests/test_gen.rs:528:25
|
528 | #[derive(Serialize, Deserialize)]
| ^^^^^^^^^^^
|
= note: `-D clippy::nonstandard-macro-braces` implied by `-D clippy::all`
help: consider writing `Deserialize`
--> test_suite/tests/test_gen.rs:528:25
|
528 | #[derive(Serialize, Deserialize)]
| ^^^^^^^^^^^
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonstandard_macro_braces
= note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
error: use of irregular braces for `format_args!` macro
--> test_suite/tests/test_annotations.rs:1791:43
|
1791 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
| ^^^^^^^^^^^
|
= note: `-D clippy::nonstandard-macro-braces` implied by `-D clippy::all`
help: consider writing `Deserialize`
--> test_suite/tests/test_annotations.rs:1791:43
|
1791 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
| ^^^^^^^^^^^
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonstandard_macro_braces
= note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
2021-07-02 20:58:04 -07:00
David Tolnay
89342af71e
Merge pull request #2047 from jsoref/spelling
...
spelling: implicitly
2021-06-24 22:25:58 -07:00
Josh Soref
3c5e2d11f6
spelling: implicitly
...
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com >
2021-06-25 00:43:23 -04:00
David Tolnay
3805c037a8
Merge pull request #2040 from dtolnay/test
...
Fix outdated test instructions in CONTRIBUTING.md
2021-06-12 13:43:30 -07:00
David Tolnay
7045fee260
Fix outdated test instructions in CONTRIBUTING.md
2021-06-12 13:38:40 -07:00
David Tolnay
9d81532e41
Merge pull request #2039 from dtolnay/test
...
Update documented test command for the serde directory
2021-06-12 13:38:34 -07:00
David Tolnay
5e47432ef0
Update documented test command for the serde directory
2021-06-12 13:34:45 -07:00
Mingun
e0fc46783d
Add test with generic deserialize_with function
2021-06-12 18:47:08 +05:00
Mingun
ca772a14f9
Get rid of useless DeserializeWith wrapper
2021-06-12 18:38:03 +05:00
David Tolnay
7b840897a9
Resolve needless_borrow clippy lints
...
error: this expression borrows a reference (`&syn::Type`) that is immediately dereferenced by the compiler
--> serde_derive/src/internals/check.rs:399:37
|
399 | if let Type::Path(ty) = ungroup(&field.ty) {
| ^^^^^^^^^ help: change this to: `field.ty`
|
note: the lint level is defined here
--> serde_derive/src/lib.rs:18:9
|
18 | #![deny(clippy::all, clippy::pedantic)]
| ^^^^^^^^^^^
= note: `#[deny(clippy::needless_borrow)]` implied by `#[deny(clippy::all)]`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
error: this expression borrows a reference (`&str`) that is immediately dereferenced by the compiler
--> serde_derive/src/de.rs:478:52
|
478 | &type_path, params, fields, false, cattrs, &expecting,
| ^^^^^^^^^^ help: change this to: `expecting`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
error: this expression borrows a reference (`&str`) that is immediately dereferenced by the compiler
--> serde_derive/src/de.rs:564:76
|
564 | let visit_seq = Stmts(deserialize_seq_in_place(params, fields, cattrs, &expecting));
| ^^^^^^^^^^ help: change this to: `expecting`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
error: this expression borrows a reference (`&str`) that is immediately dereferenced by the compiler
--> serde_derive/src/de.rs:925:51
|
925 | &type_path, params, fields, true, cattrs, &expecting,
| ^^^^^^^^^^ help: change this to: `expecting`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
error: this expression borrows a reference (`&str`) that is immediately dereferenced by the compiler
--> serde_derive/src/de.rs:1066:76
|
1066 | let visit_seq = Stmts(deserialize_seq_in_place(params, fields, cattrs, &expecting));
| ^^^^^^^^^^ help: change this to: `expecting`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
error: this expression borrows a reference (`&proc_macro2::TokenStream`) that is immediately dereferenced by the compiler
--> serde_derive/src/de.rs:2288:80
|
2288 | let fallthrough_borrowed_arm = fallthrough_borrowed.as_ref().unwrap_or(&fallthrough_arm);
| ^^^^^^^^^^^^^^^^ help: change this to: `fallthrough_arm`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
error: this expression borrows a reference (`&syn::Member`) that is immediately dereferenced by the compiler
--> serde_derive/src/ser.rs:1102:43
|
1102 | get_member(params, field, &member)
| ^^^^^^^ help: change this to: `member`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
2021-06-04 20:58:23 -07:00
David Tolnay
967795414b
Resolve semicolon_if_nothing_returned clippy lints
...
error: consider adding a `;` to the last statement for consistent formatting
--> serde_derive/src/internals/attr.rs:559:25
|
559 | serde_path.set(&m.path, path)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add a `;` here: `serde_path.set(&m.path, path);`
|
note: the lint level is defined here
--> serde_derive/src/lib.rs:18:22
|
18 | #![deny(clippy::all, clippy::pedantic)]
| ^^^^^^^^^^^^^^^^
= note: `#[deny(clippy::semicolon_if_nothing_returned)]` implied by `#[deny(clippy::pedantic)]`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned
error: consider adding a `;` to the last statement for consistent formatting
--> serde_derive/src/internals/attr.rs:1612:9
|
1612 | cx.error_spanned_by(lit, format!("failed to parse path: {:?}", string.value()))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add a `;` here: `cx.error_spanned_by(lit, format!("failed to parse path: {:?}", string.value()));`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned
error: consider adding a `;` to the last statement for consistent formatting
--> serde_derive/src/internals/attr.rs:1623:9
|
1623 | cx.error_spanned_by(lit, format!("failed to parse path: {:?}", string.value()))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add a `;` here: `cx.error_spanned_by(lit, format!("failed to parse path: {:?}", string.value()));`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned
error: consider adding a `;` to the last statement for consistent formatting
--> serde_derive/src/internals/attr.rs:1649:9
|
1649 | / cx.error_spanned_by(
1650 | | lit,
1651 | | format!("failed to parse type: {} = {:?}", attr_name, string.value()),
1652 | | )
| |_________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned
help: add a `;` here
|
1649 | cx.error_spanned_by(
1650 | lit,
1651 | format!("failed to parse type: {} = {:?}", attr_name, string.value()),
1652 | );
|
error: consider adding a `;` to the last statement for consistent formatting
--> serde_derive/src/internals/check.rs:260:9
|
260 | / cx.error_spanned_by(
261 | | cont.original,
262 | | format!("variant field name `{}` conflicts with internal tag", tag),
263 | | )
| |_________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned
help: add a `;` here
|
260 | cx.error_spanned_by(
261 | cont.original,
262 | format!("variant field name `{}` conflicts with internal tag", tag),
263 | );
|
error: consider adding a `;` to the last statement for consistent formatting
--> serde_derive/src/de.rs:2090:9
|
2090 | flat_fields.extend(aliases.iter().map(|alias| (alias, ident)))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add a `;` here: `flat_fields.extend(aliases.iter().map(|alias| (alias, ident)));`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned
2021-06-04 20:55:22 -07:00
David Tolnay
985725f820
Resolve while_let_on_iterator clippy lint
...
error: this loop could be written as a `for` loop
--> serde/src/private/de.rs:2835:9
|
2835 | while let Some(item) = self.iter.next() {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for item in &mut self.iter`
|
note: the lint level is defined here
--> serde/src/lib.rs:97:44
|
97 | #![cfg_attr(feature = "cargo-clippy", deny(clippy, clippy_pedantic))]
| ^^^^^^
= note: `#[deny(clippy::while_let_on_iterator)]` implied by `#[deny(clippy::all)]`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator
error: this loop could be written as a `for` loop
--> serde/src/private/de.rs:2937:9
|
2937 | while let Some(item) = self.iter.next() {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for item in &mut self.iter`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator
2021-05-22 20:29:34 -07:00
David Tolnay
0c303d85d7
Merge pull request #2027 from striezel-stash/fix-typos
...
fix some typos
2021-05-15 10:14:13 -07:00
Dirk Stolle
f68e9e901e
fix some typos
2021-05-15 16:18:05 +02:00
David Tolnay
1094e2d334
Update ui test suite to nightly-2021-05-14
2021-05-13 19:16:07 -07:00
David Tolnay
d9c338ec4a
Release 1.0.126
2021-05-12 10:18:26 -07:00
David Tolnay
699bf3a75d
Merge pull request #2026 from hyd-dev/warning
...
Allow only `unused_extern_crates` instead of the whole `rust_2018_idioms` lint group in `serde_derive`-generated code
2021-05-12 10:16:47 -07:00
hyd-dev
dd29825217
Allow only unused_extern_crates instead of the whole rust_2018_idioms lint group in serde_derive-generated code
2021-05-12 18:29:45 +08:00
David Tolnay
6366f17da7
Ignore clone_instead_of_copied pedantic clippy lint
...
Iterator::copied was introduced in Rust 1.35, whereas serde_test
currently supports a minimum compiler version of 1.13.
error: used `cloned` where `copied` could be used instead
--> serde_test/src/de.rs:49:29
|
49 | self.tokens.first().cloned()
| ^^^^^^ help: try: `copied`
|
note: the lint level is defined here
--> serde_test/src/lib.rs:149:52
|
149 | #![cfg_attr(feature = "cargo-clippy", deny(clippy, clippy_pedantic))]
| ^^^^^^^^^^^^^^^
= note: `#[deny(clippy::cloned_instead_of_copied)]` implied by `#[deny(clippy::pedantic)]`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cloned_instead_of_copied
2021-04-24 19:26:19 -07:00
David Tolnay
1120e5af4a
Remove suppression of removed clippy lint
...
warning: lint `clippy::filter_map` has been removed: this lint has been replaced by `manual_filter_map`, a more specific lint
--> serde_derive/src/lib.rs:42:5
|
42 | clippy::filter_map,
| ^^^^^^^^^^^^^^^^^^
|
= note: `#[warn(renamed_and_removed_lints)]` on by default
warning: lint `clippy::filter_map` has been removed: this lint has been replaced by `manual_filter_map`, a more specific lint
--> serde_derive/src/lib.rs:42:5
|
42 | clippy::filter_map,
| ^^^^^^^^^^^^^^^^^^
2021-04-24 19:23:56 -07:00
David Tolnay
1093f7e232
Resolve flat_map_option pedantic clippy lint
...
error: used `flat_map` where `filter_map` could be used instead
--> serde_derive/src/bound.rs:52:10
|
52 | .flat_map(|field| from_field(&field.attrs))
| ^^^^^^^^ help: try: `filter_map`
|
note: the lint level is defined here
--> serde_derive/src/lib.rs:18:22
|
18 | #![deny(clippy::all, clippy::pedantic)]
| ^^^^^^^^^^^^^^^^
= note: `#[deny(clippy::flat_map_option)]` implied by `#[deny(clippy::pedantic)]`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#flat_map_option
error: used `flat_map` where `filter_map` could be used instead
--> serde_derive/src/bound.rs:74:10
|
74 | .flat_map(|variant| from_variant(&variant.attrs))
| ^^^^^^^^ help: try: `filter_map`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#flat_map_option
2021-04-24 19:23:21 -07:00
David Tolnay
2ea132b8c4
Merge pull request #2018 from dtolnay/nonascii
...
Remove non_ascii_idents feature gate from test suite
2021-04-19 20:24:51 -07:00
David Tolnay
2ebc771b88
Remove non_ascii_idents feature gate from test suite
...
error: the feature `non_ascii_idents` has been stable since 1.53.0 and no longer requires an attribute to enable
--> test_suite/tests/test_gen.rs:6:43
|
6 | #![cfg_attr(feature = "unstable", feature(non_ascii_idents))]
| ^^^^^^^^^^^^^^^^
|
note: the lint level is defined here
--> test_suite/tests/test_gen.rs:5:9
|
5 | #![deny(warnings)]
| ^^^^^^^^
= note: `#[deny(stable_features)]` implied by `#[deny(warnings)]`
2021-04-19 19:55:12 -07:00
David Tolnay
c17c4eef18
Unify stable and beta CI workflow
2021-04-19 19:54:56 -07:00
David Tolnay
7aa4950504
Release serde_derive_internals 0.26.0
2021-04-09 14:23:13 -07:00
David Tolnay
47015a2727
Merge pull request #2015 from dtolnay/symlink
...
Build using relative path in repo if Windows lost the symlink
2021-04-09 14:20:55 -07:00
David Tolnay
dc4c31eb50
Build using relative path in repo if Windows lost symlink
2021-04-09 14:16:17 -07:00
David Tolnay
b53ebef438
Resolve safe_packed_borrows lint renamed to unaligned_references
...
warning: lint `safe_packed_borrows` has been renamed to `unaligned_references`
--> test_suite/tests/test_macros.rs:1926:8
|
1926 | #[deny(safe_packed_borrows)]
| ^^^^^^^^^^^^^^^^^^^ help: use the new name: `unaligned_references`
|
= note: `#[warn(renamed_and_removed_lints)]` on by default
2021-04-08 20:08:42 -07:00
David Tolnay
6c3bf7a2fc
Ignore poor suggestion from branches_sharing_code lint
...
https://github.com/rust-lang/rust-clippy/issues/7054
error: all if blocks contain the same code at the end
--> serde_derive/src/de.rs:2160:5
|
2160 | / &fallthrough_arm_tokens
2161 | | };
| |_____^
|
note: the lint level is defined here
--> serde_derive/src/lib.rs:18:9
|
18 | #![deny(clippy::all, clippy::pedantic)]
| ^^^^^^^^^^^
= note: `#[deny(clippy::branches_sharing_code)]` implied by `#[deny(clippy::all)]`
= note: The end suggestion probably needs some adjustments to use the expression result correctly
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#branches_sharing_code
help: consider moving the end statements out like this
|
2160 | }
2161 | &fallthrough_arm_tokens;
|
2021-04-08 20:08:42 -07:00
David Tolnay
ce0844b9ec
Suppress match_wildcard_for_single_variants clippy false positive
...
https://github.com/rust-lang/rust-clippy/issues/6984
error: wildcard matches only a single variant and will also match any future added variants
--> serde_derive/src/internals/attr.rs:1918:9
|
1918 | _ => {}
| ^ help: try this: `syn::Type::__TestExhaustive(_)`
|
note: the lint level is defined here
--> serde_derive/src/lib.rs:18:22
|
18 | #![deny(clippy::all, clippy::pedantic)]
| ^^^^^^^^^^^^^^^^
= note: `#[deny(clippy::match_wildcard_for_single_variants)]` implied by `#[deny(clippy::pedantic)]`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wildcard_for_single_variants
error: wildcard matches only a single variant and will also match any future added variants
--> serde_derive/src/internals/receiver.rs:153:13
|
153 | _ => {}
| ^ help: try this: `Type::__TestExhaustive(_)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wildcard_for_single_variants
error: wildcard matches only a single variant and will also match any future added variants
--> serde_derive/src/bound.rs:190:17
|
190 | _ => {}
| ^ help: try this: `syn::Type::__TestExhaustive(_)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wildcard_for_single_variants
2021-03-26 23:30:15 -04:00
David Tolnay
e9270e59f0
Release 1.0.125
2021-03-22 16:15:57 -07:00
David Tolnay
72060b779a
Extend test_format_u8 to include u8::MAX
...
This is equivalent to looping 0..=u8::MAX, except that `..=` syntax is
not supported on old rustc and `...` syntax is not supported on new
rustc, so loop it is.
2021-03-22 16:09:33 -07:00
David Tolnay
1bb23ad9d1
Remove format_u8 when not used by Ipv4Addr impl
2021-03-22 16:00:58 -07:00
David Tolnay
9be4c9654a
Merge pull request 2001 from saethlin/optimize-ipaddr
2021-03-22 16:00:11 -07:00
Ben Kimock
4114e90bac
Fix off-by-one mistake, explain the offset
2021-03-22 18:39:24 -04:00
Ben Kimock
8bb07b0743
skip UTF8 checking and initialize with b'.'
2021-03-22 18:15:50 -04:00
Ben Kimock
ba8c1d63c8
use the algorithm from itoa
2021-03-16 17:33:42 -04:00
Ben Kimock
857a805993
Faster Ipv4 serialization prototype
2021-03-16 10:41:13 -04:00
David Tolnay
5a8dcac2ed
Release 1.0.124
2021-03-05 19:55:40 -08:00
David Tolnay
697b082e90
Touch up PR 1997
2021-03-05 19:48:40 -08:00
David Tolnay
d91075c8d5
Merge pull request #1997 from cyang1/systemtime-panics
...
Prevent various panics when deserializing malformed SystemTime
2021-03-05 18:35:48 -08:00
Cary Yang
4118cec731
Prevent various panics when deserializing malformed SystemTime
2021-03-05 17:52:51 -08:00
David Tolnay
c261015325
Ignore incorrect suggestion from manual_map lint
...
https://github.com/rust-lang/rust-clippy/issues/6797
error[E0382]: use of partially moved value: `self`
--> serde_derive/src/internals/attr.rs:71:24
|
71 | self.value.map(|value| (self.tokens, value))
| ----^^^^^^^----------------------
| | | |
| | | use occurs due to use in closure
| | value used here after partial move
| `self.value` partially moved due to this method call
|
note: this function takes ownership of the receiver `self`, which moves `self.value`
--> /home/david/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/option.rs:485:38
|
485 | pub fn map<U, F: FnOnce(T) -> U>(self, f: F) -> Option<U> {
| ^^^^
= note: partial move occurs because `self.value` has type `std::option::Option<T>`, which does not implement the `Copy` trait
2021-02-25 20:53:45 -08:00
David Tolnay
6b5e5a83d0
Ignore let_underscore_drop pedantic clippy lint
2021-02-18 19:31:39 -08:00
David Tolnay
bc6b2b1dee
Make json5 description capitalization consistent with other links
2021-02-10 23:13:12 -08:00
David Tolnay
beb21cb640
Ignore new missing_panics_doc pedantic clippy lint
2021-02-03 20:07:44 -08:00
David Tolnay
7cfebbcd72
Merge pull request #1974 from Mingun/new-internally-tagged-tests
...
New internally tagged tests
2021-02-02 15:23:10 -08:00
Mingun
b60c03ec3f
Extend test_internally_tagged_newtype_variant_containing_unit_struct to cover structs and seqs
2021-02-02 09:00:04 +05:00
Mingun
3257851192
Extend test_internally_tagged_struct_variant_containing_unit_variant to cover maps and seqs
2021-02-02 08:59:59 +05:00
David Tolnay
9a84622c56
Merge pull request #1971 from arthurprs/untagged-enum-fix-pr
...
Allow floats to be deserialized from ints in untagged unions (part 2)
2021-01-26 14:41:56 -08:00
Arthur Silva
de8ac1c0be
Allow floats to be deserialized from ints in untagged unions
2021-01-26 17:47:20 +01:00
David Tolnay
3d6c4149b1
Release 1.0.123
2021-01-25 13:43:11 -08:00
David Tolnay
29cdf888c0
Merge pull request #1970 from serde-rs/self
...
Support `Self` inside fields that use serialize_with
2021-01-25 13:42:35 -08:00
David Tolnay
2ba97394fb
Substitute Self in output of Serialize derive
2021-01-25 13:34:09 -08:00
David Tolnay
6699b0bc40
Add regression test for issue 1969
2021-01-25 13:34:08 -08:00
David Tolnay
b054ea4105
Ignore some pedantic lints in serde_derive_internals from PR 1830
...
error: item name ends with its containing module's name
--> serde_derive_internals/src/receiver.rs:11:1
|
11 | / pub fn replace_receiver(input: &mut DeriveInput) {
12 | | let self_ty = {
13 | | let ident = &input.ident;
14 | | let ty_generics = input.generics.split_for_impl().1;
... |
19 | | visitor.visit_data_mut(&mut input.data);
20 | | }
| |_^
|
note: the lint level is defined here
--> serde_derive_internals/lib.rs:3:22
|
3 | #![deny(clippy::all, clippy::pedantic)]
| ^^^^^^^^^^^^^^^^
= note: `#[deny(clippy::module_name_repetitions)]` implied by `#[deny(clippy::pedantic)]`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_name_repetitions
error: binding's name is too similar to existing binding
--> serde_derive_internals/src/receiver.rs:31:29
|
31 | fn self_to_qself(&self, qself: &mut Option<QSelf>, path: &mut Path) {
| ^^^^^
|
note: the lint level is defined here
--> serde_derive_internals/lib.rs:3:22
|
3 | #![deny(clippy::all, clippy::pedantic)]
| ^^^^^^^^^^^^^^^^
= note: `#[deny(clippy::similar_names)]` implied by `#[deny(clippy::pedantic)]`
note: existing binding defined here
--> serde_derive_internals/src/receiver.rs:31:23
|
31 | fn self_to_qself(&self, qself: &mut Option<QSelf>, path: &mut Path) {
| ^^^^
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#similar_names
error: unused `self` argument
--> serde_derive_internals/src/receiver.rs:286:24
|
286 | fn visit_macro_mut(&mut self, _mac: &mut Macro) {}
| ^^^^^^^^^
|
note: the lint level is defined here
--> serde_derive_internals/lib.rs:3:22
|
3 | #![deny(clippy::all, clippy::pedantic)]
| ^^^^^^^^^^^^^^^^
= note: `#[deny(clippy::unused_self)]` implied by `#[deny(clippy::pedantic)]`
= help: consider refactoring to a associated function
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_self
2021-01-25 00:03:03 -08:00
David Tolnay
e5efb6ad93
Remove dependency on syn/visit-mut feature
2021-01-24 23:56:57 -08:00
David Tolnay
1f423580a5
Deduplicate token stream respanner
2021-01-24 23:06:08 -08:00
David Tolnay
033114a4ae
Touch up PR 1830
2021-01-24 23:06:07 -08:00
David Tolnay
7cec99c7fd
Pare down PR 1830
...
Unlike expr macros, macros in type position in a derive input are rare
enough that it's not worth supporting for an issue that has such an easy
workaround (just replace `Self` in the macro input with your type name).
2021-01-24 23:06:06 -08:00
David Tolnay
6c5bf701be
Merge pull request 1830 from taiki-e/self
2021-01-24 23:05:51 -08:00
David Tolnay
6e800ff826
Test exhaustiveness of type match in collect_lifetimes
2021-01-24 23:04:01 -08:00
David Tolnay
68bda7a004
Include serde crate in 1.31 CI job
2021-01-24 20:42:20 -08:00
David Tolnay
dfeaf77bb2
Merge pull request #1966 from serde-rs/private
...
Omit derive helpers in versions older than serde_derive msrv
2021-01-24 20:40:06 -08:00
David Tolnay
b0cc213e57
Omit derive helpers in versions older than serde_derive msrv
2021-01-24 20:26:56 -08:00
David Tolnay
74ca06662e
Omit size_hint::cautious when not allocating
2021-01-24 20:24:03 -08:00
David Tolnay
38edb473de
Move size_hint module out of private::de
2021-01-24 20:23:07 -08:00
David Tolnay
1c03647656
Move InPlaceSeed out of private mod
2021-01-24 20:23:06 -08:00
David Tolnay
aeee73fe92
Merge pull request #1831 from taiki-e/borrow-macro
...
Collect lifetimes inside macro invocations
2021-01-24 19:08:20 -08:00
David Tolnay
1a3ef39040
Merge pull request #1842 from Timmmm/fix2
...
Allow floats to be deserialized from ints in tagged unions
2021-01-24 18:48:46 -08:00
David Tolnay
deaf600af7
Merge pull request #1965 from serde-rs/int
...
Reduce post-macro-expansion code in integer deserialize impls
2021-01-24 18:43:36 -08:00
David Tolnay
48556a4c7f
Reduce post-macro-expansion code in integer deserialize impls
2021-01-24 18:26:50 -08:00
David Tolnay
d88a4748f7
Remove unused $ty arg from internal impl_deserialize_num macro
2021-01-24 17:06:36 -08:00
David Tolnay
ffed19243d
Release 1.0.122
2021-01-24 16:17:29 -08:00
David Tolnay
bb7f94df84
Add serde_derive_internals to clippy CI job
2021-01-24 16:11:37 -08:00
David Tolnay
ff0f467e25
Opt in to pedantic clippy lints in serde_derive_internals
2021-01-24 16:10:36 -08:00
David Tolnay
d1975f3661
Update serde_derive_internals to tool attrs
2021-01-24 16:08:42 -08:00
David Tolnay
b91713e824
Suppress clippy should_implement_trait lint
...
I think there is no ambiguity in from_str as a method name so "choose a
less ambiguous method name" is unnecessary, and it can't be a FromStr
impl in this case because FromStr's error type cannot borrow from the
input string slice.
warning: method `from_str` can be confused for the standard trait method `std::str::FromStr::from_str`
--> serde_derive_internals/src/case.rs:50:5
|
50 | / pub fn from_str(rename_all_str: &str) -> Result<Self, ParseError> {
51 | | for (name, rule) in RENAME_RULES {
52 | | if rename_all_str == *name {
53 | | return Ok(*rule);
... |
58 | | })
59 | | }
| |_____^
|
= note: `#[warn(clippy::should_implement_trait)]` on by default
= help: consider implementing the trait `std::str::FromStr` or choosing a less ambiguous method name
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait
2021-01-24 16:04:51 -08:00
David Tolnay
6ea446fb4b
Suppress clippy unused_self pedantic lint
...
This usage is fine. It's mirroring trait signatures in syn::visit::Visit.
error: unused `self` argument
--> serde_derive/src/bound.rs:241:24
|
241 | fn visit_macro(&mut self, _mac: &'ast syn::Macro) {}
| ^^^^^^^^^
|
note: the lint level is defined here
--> serde_derive/src/lib.rs:18:22
|
18 | #![deny(clippy::all, clippy::pedantic)]
| ^^^^^^^^^^^^^^^^
= note: `#[deny(clippy::unused_self)]` implied by `#[deny(clippy::pedantic)]`
= help: consider refactoring to a associated function
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_self
2021-01-24 16:01:05 -08:00
David Tolnay
85c6904a93
Remove dependency on syn/visit feature
...
The builtin visitor is fairly expensive to compile (3700 lines of code),
particularly if something else in the dependency graph also enables
syn/full. For the usage in serde_derive, it turns out to be easy to
replace.
2021-01-24 15:50:41 -08:00
David Tolnay
2fd5212204
Remove unused trait impls on private MapAsEnum
2021-01-23 23:19:48 -08:00
David Tolnay
7d1bc1f0fc
Merge pull request #1963 from serde-rs/valuedebug
...
Eliminate inferred bound on error type of value deserializer Debug impls
2021-01-23 23:19:36 -08:00
David Tolnay
cdc2fa1b9f
Eliminate inferred bound on error type of value deserializer Debug impls
2021-01-23 23:15:41 -08:00
David Tolnay
ac4001e590
Remove some unused trait impls from private UnitOnly variant accessor
2021-01-23 23:07:13 -08:00
David Tolnay
fbcb2230bb
Make use of fmt::Result type alias from libcore
2021-01-23 22:57:13 -08:00
David Tolnay
86c88bea12
Hide some irrelevant detail from de::value::Error's Debug impl
2021-01-23 22:49:00 -08:00
David Tolnay
82d0fe00fd
Add link to rust-lang/rust#67295
2021-01-23 22:32:30 -08:00
David Tolnay
e61261e002
Move doctest-only helpers to a doc module
2021-01-23 22:32:30 -08:00
David Tolnay
9fd56cd41c
Remove unused __private_deserialize macro, originally for doctests
2021-01-23 22:26:16 -08:00
Taiki Endo
e81f54fbc8
Make AST borrow checker happy
2021-01-24 15:23:54 +09:00
Taiki Endo
c67017d466
Fix handling of Self keyword in type definition
2021-01-24 15:23:51 +09:00
David Tolnay
f6e7366b46
Remove unused Debug impl on private::ser::content::Content
2021-01-23 22:10:48 -08:00
David Tolnay
1f9f72bc48
Merge pull request 1898 from Mingun/bytes-into-deserializer
2021-01-23 22:04:20 -08:00
David Tolnay
e24dbc418d
Skip another clone of the fallthrough arm
2021-01-23 20:52:03 -08:00
David Tolnay
18e5b03fd1
Merge pull request #1962 from serde-rs/dupborrowed
...
Eliminate duplicated borrowed and non-borrowed identifier deserialization
2021-01-23 20:51:56 -08:00
David Tolnay
5aa163f27e
Revert "Regenerate macrotest outputs for PR #1917 "
...
This reverts commit 999b94d6ae .
2021-01-23 20:36:26 -08:00
David Tolnay
3728d3c67a
Eliminate duplicated borrowed and non-borrowed identifier deserialization
2021-01-23 20:32:38 -08:00
David Tolnay
3f48ed36cc
Restore compatibility with rustc <1.31 in Borrowed identifier deserializer
...
The implied lifetime bound on T only works on 1.31+. Older versions fail
with:
error[E0309]: the parameter type `T` may not live long enough
--> serde/src/private/de.rs:2548:37
|
2548 | pub struct Borrowed<'de, T: ?Sized>(pub &'de T);
| -- ^^^^^^^^^^
| |
| help: consider adding an explicit lifetime bound `T: 'de`...
|
note: ...so that the reference type `&'de T` does not outlive the data it points at
--> serde/src/private/de.rs:2548:37
|
2548 | pub struct Borrowed<'de, T: ?Sized>(pub &'de T);
| ^^^^^^^^^^
2021-01-23 20:19:33 -08:00
David Tolnay
b6a2d07f26
Return IdentifierDeserializer to just one associated type
...
The BorrowedDeserializer was added in #1917 , but only makes sense for
&str and &[u8], not for u64 which also needs to be have an
IdentifierDeserializer impl.
2021-01-23 20:04:58 -08:00
David Tolnay
84ad76b2e5
Ignore too_many_lines clippy pedantic lint in serde_test
...
error: this function has too many lines (107/100)
--> serde_test/src/de.rs:128:5
|
128 | / fn deserialize_any<V>(self, visitor: V) -> Result<V::Value, Error>
129 | | where
130 | | V: Visitor<'de>,
131 | | {
... |
238 | | }
239 | | }
| |_____^
|
note: the lint level is defined here
--> serde_test/src/lib.rs:149:52
|
149 | #![cfg_attr(feature = "cargo-clippy", deny(clippy, clippy_pedantic))]
| ^^^^^^^^^^^^^^^
= note: `#[deny(clippy::too_many_lines)]` implied by `#[deny(clippy::pedantic)]`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_lines
2021-01-23 20:04:30 -08:00
David Tolnay
e6b6602a42
Merge pull request 1914 from Mingun/seq-other
2021-01-23 19:50:39 -08:00
David Tolnay
999b94d6ae
Regenerate macrotest outputs for PR #1917
2021-01-23 19:43:02 -08:00
David Tolnay
fa6712d2bf
Merge pull request #1918 from Mingun/fix-serde-test
...
Fix incorrect message in serializer tokens and correctly implement next_entry_seed
2021-01-23 15:02:32 -08:00
David Tolnay
012ea8eb84
Keep conditional compilation cfg naming consistent with serde crate
...
The serde crate's build.rs uses names like `core_duration` or
`integer128`, not `has_core_duration` / `has_integer128`.
2021-01-23 14:57:12 -08:00
David Tolnay
9add5812e2
Update track_caller cfg link to show what version it's in
2021-01-23 14:56:03 -08:00
David Tolnay
5fd52100b6
Merge pull request #1920 from Mingun/track_caller
...
Show correct location in error messages by tracking caller of utility `assert_tokens` functions
2021-01-23 14:54:24 -08:00
David Tolnay
6670a309ca
Merge pull request #1961 from serde-rs/renamerule
...
Provide list of recognized rename rules on parse error
2021-01-23 14:50:02 -08:00
David Tolnay
b7bad3a165
Restore compatibility with rustc 1.31 in RenameRule error
...
str::escape_debug wasn't stabilized until 1.34, whereas serde_derive
currently supports an oldest version of 1.31.
2021-01-23 14:40:44 -08:00
David Tolnay
4e002ece07
Provide list of recognized rename rules on parse error
2021-01-23 14:38:20 -08:00
David Tolnay
eaccae2c46
Fix UPPERCASE rename rule variant to follow idiomatic variant naming
...
This shouldn't have been named this way in PR #1132 .
2021-01-23 14:27:33 -08:00
David Tolnay
990a502c39
Parse rename rules based on table of rules
...
This will make it possible to reuse the same table of recognized rules
in the parse error message.
2021-01-23 14:24:21 -08:00
David Tolnay
661206d885
Merge pull request #1960 from serde-rs/renamerule
...
Deduplicate RenameRule parse error message generation
2021-01-23 14:23:09 -08:00
David Tolnay
51d4563ed1
Move RenameRule parse error message to a Display impl
2021-01-23 14:13:47 -08:00
David Tolnay
7db0982e58
Add error type to use for RenameRule parsing
2021-01-23 14:09:58 -08:00
David Tolnay
ed04824f10
Move RenameRule parse from trait fn to associated
...
This will allow updating it to return an Err that borrows the input
string, which is not possible with FromStr.
2021-01-23 14:07:59 -08:00
David Tolnay
88ee470a1c
Format PR #1916 with rustfmt 1.4.32
2021-01-23 13:39:12 -08:00
David Tolnay
a5ecbdb4f4
Merge pull request 1916 from Mingun/expecting-customize
2021-01-23 13:38:45 -08:00
David Tolnay
bd588db067
Release 1.0.121
2021-01-23 13:17:08 -08:00
David Tolnay
8f09aeacdd
Merge pull request #1959 from serde-rs/1917
...
Touch up borrowed field identifiers PR
2021-01-23 13:15:30 -08:00
David Tolnay
0b5c56b0db
Touch up documentation from PR #1917
2021-01-23 13:09:37 -08:00
David Tolnay
85de92e6f7
Inline forward_deserializer for bytes deserializers
2021-01-23 13:08:08 -08:00
David Tolnay
c858a1fa77
Clean up unnecessary macro_use from PR #1917
2021-01-23 12:59:12 -08:00
David Tolnay
d02eb22557
Inline some unnecessary constructor functions from PR #1917
2021-01-23 12:58:42 -08:00
David Tolnay
034fe25d5b
Remove redundant unused trait impls from private types from PR #1917
2021-01-23 12:58:42 -08:00
David Tolnay
0a230e8598
Inline forward_deserializer into private::de for Str deserializers
...
We shouldn't try to use the same macro for public and private types. The
API for a private type can usually be pared much further down to save
compile time, such as Debug and Copy and Clone impls.
2021-01-23 12:57:35 -08:00
David Tolnay
b20214d4a0
Undo macro exports from PR #1917
...
All of these macros are only used internally within the serde crate.
There is no need for them to have #[macro_export] and need to be hidden
from docs.
2021-01-23 12:40:01 -08:00
David Tolnay
34f4b68f77
Fix unneeded clone from PR #1917
2021-01-23 12:40:00 -08:00
David Tolnay
60e08f9545
Format PR #1917 with rustfmt 1.4.32
2021-01-23 12:39:59 -08:00
David Tolnay
ba46f45dc5
Merge pull request 1917 from Mingun/borrow-identifier
2021-01-23 12:39:28 -08:00
David Tolnay
44b9567e21
Merge pull request #1958 from jonasbb/duration-panic
...
Prevent panic when deserializing malformed Duration
2021-01-23 00:45:39 -08:00
Jonas Bushart
b276849ce1
Prevent panic when deserializing malformed Duration
...
std::time::Duration::new can panic. There is no alternative non-panicing constructor.
Check the panic condition beforehand and return an error instead of panicing.
Fixes #1933
2021-01-20 20:41:45 +01:00
David Tolnay
398fba9b1e
Release 1.0.120
2021-01-18 22:55:13 -08:00
David Tolnay
cd6697b0e4
Merge pull request #1955 from TheJokr/patch-1
...
Add 128-bit integer support to de::IgnoredAny
2021-01-18 22:54:43 -08:00
Leo Blöcher
c162d51866
Add 128-bit integer support to de::IgnoredAny
...
This fixes the errors that occur when IgnoredAny is deserialized
from anything containing a 128-bit integer somewhere. As IgnoredAny
is used in serde_derive to skip ignored fields in structs, these
errors currently prevent parsing of structs with an ignored field
containing a 128-bit integer in the serialization.
2021-01-19 02:32:26 +01:00
David Tolnay
78a9dbc57e
Merge pull request #1948 from Marwes/from_str
...
refactor: Merge multiple FromStr visitors to a single FromStrVisitor
2021-01-12 13:12:54 -08:00
David Tolnay
391d3ababf
Touch up PR 1948
2021-01-12 13:08:50 -08:00
Markus Westerlind
99d9151ce9
refactor: Merge multiple FromStr visitors to a single FromStrVisitor
...
Only refactors, doesn't actually expose this visitor
2021-01-12 11:32:16 +01:00
David Tolnay
4c89cf89fd
Release 1.0.119
2021-01-11 12:13:57 -08:00
David Tolnay
b0c99ed761
Restore compatibility with rustc 1.13.0
...
error[E0432]: unresolved import `private::de::size_hint`
--> src/de/value.rs:28:5
|
28 | use private::de::size_hint;
| ^^^^^^^^^^^^^^^^^^^^^^ Maybe a missing `extern crate private`?
2021-01-08 20:01:30 -08:00
David Tolnay
dd1f4b483e
Make it clearer that the private implementation details are private
...
Both of these modules are doc(hidden) and commented "Not public API",
but incorrect downstream code sometimes still references them. Naming
the module __private will make it more likely to be noticed in code
review.
2021-01-08 19:55:31 -08:00
David Tolnay
91bfa8f947
Refresh expandtest files with most recent rustfmt
2021-01-08 19:54:21 -08:00
David Tolnay
8847800ce2
Ignore from_over_into clippy lint in test suite
2021-01-03 19:05:43 -08:00
David Tolnay
3c9fa1ccdf
Switch to short form for serde.rs link in rustdoc
...
Fixes a rustdoc warning:
warning: unneeded long form for URL
--> serde/src/lib.rs:12:27
|
12 | //! See the Serde website [https://serde.rs/ ] for additional documentation and
| ^^^^^^^^^^^^^^^^^^^ help: use an automatic link instead: `<https://serde.rs/ >`
|
= note: `#[warn(non_autolinks)]` on by default
2020-12-21 10:35:28 -08:00
David Tolnay
3c29a8857f
Merge pull request #1936 from bryanburgers/add-serde-dynamo
...
Add serde_dynamo to the list of data formats
2020-12-21 10:33:45 -08:00
Bryan Burgers
a5da27e16d
Add serde_dynamo to the list of data formats
2020-12-21 10:51:56 -06:00
David Tolnay
e797431268
Release 1.0.118
2020-12-05 13:45:47 -08:00
David Tolnay
4a335f8933
Merge pull request #1926 from attente/core-num-wrapping
...
Allow serializing of Wrapping without std
2020-12-05 13:43:20 -08:00
David Tolnay
84721920fd
Resolve clippy items_after_statements lint
...
error: adding items after statements is confusing, since items exist from the start of the scope
--> serde/src/de/impls.rs:1876:9
|
1876 | / impl<'de> Deserialize<'de> for Field {
1877 | | fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
1878 | | where
1879 | | D: Deserializer<'de>,
... |
1917 | | }
1918 | | }
| |_________^
|
note: the lint level is defined here
--> serde/src/lib.rs:95:52
|
95 | #![cfg_attr(feature = "cargo-clippy", deny(clippy, clippy_pedantic))]
| ^^^^^^^^^^^^^^^
= note: `#[deny(clippy::items_after_statements)]` implied by `#[deny(clippy::pedantic)]`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#items_after_statements
error: adding items after statements is confusing, since items exist from the start of the scope
--> serde/src/de/impls.rs:1920:9
|
1920 | struct DurationVisitor;
| ^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#items_after_statements
error: adding items after statements is confusing, since items exist from the start of the scope
--> serde/src/de/impls.rs:1922:9
|
1922 | / impl<'de> Visitor<'de> for DurationVisitor {
1923 | | type Value = Duration;
1924 | |
1925 | | fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
... |
1979 | | }
1980 | | }
| |_________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#items_after_statements
error: adding items after statements is confusing, since items exist from the start of the scope
--> serde/src/de/impls.rs:1982:9
|
1982 | const FIELDS: &'static [&'static str] = &["secs", "nanos"];
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#items_after_statements
error: adding items after statements is confusing, since items exist from the start of the scope
--> serde/src/de/impls.rs:2001:9
|
2001 | / impl<'de> Deserialize<'de> for Field {
2002 | | fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
2003 | | where
2004 | | D: Deserializer<'de>,
... |
2042 | | }
2043 | | }
| |_________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#items_after_statements
error: adding items after statements is confusing, since items exist from the start of the scope
--> serde/src/de/impls.rs:2045:9
|
2045 | struct DurationVisitor;
| ^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#items_after_statements
error: adding items after statements is confusing, since items exist from the start of the scope
--> serde/src/de/impls.rs:2047:9
|
2047 | / impl<'de> Visitor<'de> for DurationVisitor {
2048 | | type Value = Duration;
2049 | |
2050 | | fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
... |
2108 | | }
2109 | | }
| |_________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#items_after_statements
error: adding items after statements is confusing, since items exist from the start of the scope
--> serde/src/de/impls.rs:2111:9
|
2111 | const FIELDS: &'static [&'static str] = &["secs_since_epoch", "nanos_since_epoch"];
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#items_after_statements
2020-11-28 19:08:41 -08:00
David Tolnay
192c7819ee
Format with rustfmt 1.4.25-beta
2020-11-28 19:06:37 -08:00
William Hua
ede40bdfaa
Allow serializing of Wrapping without std
2020-11-24 00:56:10 -05:00
David Tolnay
e3d871ff7b
Opt in to experimental trybuild diffs
2020-10-31 13:28:19 -07:00
Mingun
5cbc8439ea
Show correct location in error messages by tracking caller of utility assert_tokens functions
2020-10-28 09:11:54 +05:00
David Tolnay
0e1c4093c8
Suppress new result_unit_err clippy lint
2020-10-27 19:20:45 -07:00
David Tolnay
0d5b6c180c
Resolve ptr_eq clippy lint
...
error: use `std::ptr::eq` when comparing raw pointers
--> serde_derive/src/de.rs:362:12
|
362 | if field as *const Field == transparent_field as *const Field {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `std::ptr::eq(field, transparent_field)`
|
note: the lint level is defined here
--> serde_derive/src/lib.rs:18:9
|
18 | #![deny(clippy::all, clippy::pedantic)]
| ^^^^^^^^^^^
= note: `#[deny(clippy::ptr_eq)]` implied by `#[deny(clippy::all)]`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_eq
2020-10-27 19:18:29 -07:00
Mingun
97c350a95e
Forward Readable|Compact next_entry_seed to underlying next_entry_seed instead of usage of default implementation
...
Difference is noticeable for deserializers that rely on call of next_entry_seed
(for example, current quick-xml supports only next_entry_seed)
2020-10-28 01:05:27 +05:00
Mingun
920a77ad61
Fix incorrect messages in serialized tokens assertions
...
Serializer contains expected tokens, called methods provide actual tokens
2020-10-28 01:05:27 +05:00
Taiki Endo
a227a87865
Collect lifetimes inside macro invocations
2020-10-24 05:29:47 +09:00
Mingun
7a7a182ab6
Allow borrow for field identifiers
2020-10-23 19:03:18 +05:00
Mingun
9e1f573f88
Use forward_deserializer macro for define StrDeserializer for IdentifierDeserializer
2020-10-23 19:03:18 +05:00
Mingun
094f63b86a
Introduce a forward_deserializer macro.
...
It helps to create deserializers that can stop time: save the value and then use visitor to get it later!
2020-10-23 19:03:14 +05:00
Mingun
42fa79455e
Make BytesDeserializer public
2020-10-23 12:13:57 +05:00
Mingun
104ad9a7dd
Allow to define custom expectation message for type with #[serde(expecting = "...")]
...
Closes #1883
2020-10-23 01:23:01 +05:00
Mingun
23c14e5f33
Allow to run assert_de_tokens_error on token sequence that is not expected by enum deserializer
...
Before that fix following code panics, because `Token::Unit` was unexpected by test deserializer:
```
#[derive(Deserialize)]
enum E { ... }
assert_de_tokens_error::<E>(&[Token::Unit], "...");
```
2020-10-22 23:50:48 +05:00
Mingun
e80571751d
Allow borrowed and owned strings and bytes and u8, u16, u64 for variant keys in serde_test
2020-10-22 20:43:14 +05:00
Mingun
0737474640
Allow field identifiers be any numbers if #[serde(other)] is used
...
Thus behavior synchronized between string/bytes identifiers and numeric identifiers
2020-10-22 16:35:28 +05:00
Mingun
34de1e00c8
Implement IdentifierDeserializer for u64 instead of u32 because all identifiers deserialized with visit_u64
2020-10-22 16:35:28 +05:00
Mingun
f6eb34a830
Assert that numeric field identifiers correctly deserialized (now failing)
2020-10-22 16:35:28 +05:00
David Tolnay
8084258a3e
Update ui tests to nightly-2020-10-20
2020-10-20 19:17:50 -07:00
David Tolnay
fc3f104c4a
Release 1.0.117
2020-10-15 09:49:03 -07:00
David Tolnay
4bec9ffd0f
Merge pull request #1906 from Mingun/fix-misprint
...
Fix misprint in the error message
2020-10-11 12:13:03 -07:00
Mingun
e6d2322e68
Fix misprint in the error message
2020-10-12 00:03:21 +05:00
David Tolnay
2b504099e4
Include room for SocketAddrV6 to serialize scope id
...
https://github.com/rust-lang/rust/pull/77426
2020-10-05 04:02:05 -07:00
Mingun
db3074a40f
Implement IntoDeserializer for Cow<[u8]>
2020-10-04 13:38:31 +05:00
Mingun
2e821eab4b
Make impl IntoDeserializer for &[u8] public
2020-10-03 16:43:31 +05:00
David Tolnay
be7d0e7eb2
Ignore map_err_ignore Clippy pedantic lint
2020-09-25 21:55:59 -04:00
David Tolnay
b539cb45d7
Release 1.0.116
2020-09-11 11:56:19 -07:00
David Tolnay
a5490e20e1
Merge pull request #1888 from joshtriplett/fix-enum-deserialization-u64
...
Fix hand-written enum variant deserializations to allow u64 discriminant
2020-09-11 11:55:35 -07:00
Josh Triplett
45c45e87bf
Fix hand-written enum variant deserializations to allow u64 discriminant
...
Automatically generated enum variant deserializers allowed any integer
type as the discriminant, but the hand-written ones for specific enum
types such as Result or IpAddr only allowed types up to u32. This broke
some non-human-readable deserializers for these enums, with
deserializers that emit any integer type as a u64. Switch the visit_u32
methods to visit_u64 methods to allow discriminants to have any size up
to a u64.
2020-09-10 23:24:33 -07:00
David Tolnay
2e76f7013f
Update code of conduct link
2020-09-05 13:09:37 -07:00
David Tolnay
d35de19120
Merge pull request #1885 from dtolnay/qs
...
Replace serde_urlencoded link with serde_qs
2020-09-05 10:35:12 -07:00
David Tolnay
e5b3507145
Replace serde_urlencoded link with serde_qs
2020-09-05 10:26:36 -07:00
David Tolnay
7ea7c2ceb9
Merge pull request #1882 from dtolnay/bincode
...
Rename TyOverby/bincode to servo/bincode
2020-08-28 15:43:00 -07:00
David Tolnay
2b5b15967e
Rename TyOverby/bincode to servo/bincode
2020-08-28 15:36:51 -07:00
David Tolnay
2ef60b62ac
Release 1.0.115
2020-08-10 15:51:19 -07:00
David Tolnay
e6f086d85e
Merge pull request #1874 from dtolnay/flatunit
...
Support flattening a Unit
2020-08-10 15:50:30 -07:00
David Tolnay
bf76f50294
Support deserializing flattened unit
2020-08-10 15:06:52 -07:00
David Tolnay
ba07075590
Support serializing flattened unit
2020-08-10 15:06:47 -07:00
David Tolnay
26186bddd1
Add test for flattened unit
2020-08-10 15:06:34 -07:00
David Tolnay
53b9871b17
Quote no longer requires high recursion
2020-07-16 10:49:16 -07:00
David Tolnay
f8787c3ca8
Suppress match_like_matches_macro clippy lint
2020-07-14 18:57:26 -07:00
David Tolnay
3022064f84
Suppress option_if_let_else clippy pedantic lint
2020-07-14 18:57:24 -07:00
David Tolnay
9e140a2071
Tweak yaml format blurb
2020-07-05 20:00:33 -07:00
David Tolnay
24e6acbfae
Drop 'help or discussion' issue template
...
Per https://github.com/serde-rs/serde#getting-help we're steering these
to Discord / Stack Overflow / Reddit / etc.
Can reconsider when GitHub Discussions is out of beta
(https://github.com/vercel/next.js/discussions ).
2020-07-04 20:44:22 -07:00
David Tolnay
29c5a50935
Suppress unused_attributes warning in test suite
...
This test has multiple #[ignore] attributes in some configurations.
$ cargo +beta check --test expandtest
warning: unused attribute
--> test_suite/tests/expandtest.rs:2:29
|
2 | #[cfg_attr(not(expandtest), ignore)]
| ^^^^^^
|
= note: `#[warn(unused_attributes)]` on by default
2020-06-26 21:37:30 -07:00
David Tolnay
c619b2a7c4
Suppress unknown_lints warning in test suite
...
When building with beta and older rustc:
error: unknown lint: `mixed_script_confusables`
--> test_suite/tests/test_gen.rs:7:10
|
7 | #![allow(mixed_script_confusables, clippy::trivially_copy_pass_by_ref)]
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
note: the lint level is defined here
--> test_suite/tests/test_gen.rs:5:9
|
5 | #![deny(warnings)]
| ^^^^^^^^
= note: `#[deny(unknown_lints)]` implied by `#[deny(warnings)]`
2020-06-26 21:37:26 -07:00
David Tolnay
764ebd9b17
Suppress mixed_script_confusables in test suite
...
error: The usage of Script Group `Greek` in this crate consists solely of mixed script confusables
--> test_suite/tests/test_gen.rs:269:9
|
269 | σ: f64,
| ^
|
note: the lint level is defined here
--> test_suite/tests/test_gen.rs:5:9
|
5 | #![deny(warnings)]
| ^^^^^^^^
= note: `#[deny(mixed_script_confusables)]` implied by `#[deny(warnings)]`
= note: The usage includes 'σ' (U+03C3).
= note: Please recheck to make sure their usages are indeed what you want.
2020-06-26 19:06:13 -07:00
Tim Hutt
010444dfa4
Allow floats to be deserialized from ints in tagged unions
2020-06-22 16:31:13 +01:00
David Tolnay
9c6f0c3a0e
Release 1.0.114
2020-06-21 17:31:02 -07:00
David Tolnay
a9f8ea0a1e
Simplify search for packed repr attr
2020-06-21 17:22:07 -07:00
David Tolnay
04faac962a
Remove error_on_line_overflow rustfmt setting
...
No longer seeing warnings on this from rustfmt.
2020-06-21 16:48:22 -07:00
Tanner Rogalsky
7e5701ad2b
add alignment specific packed repr tests
2020-06-21 16:46:27 -07:00
Tanner Rogalsky
1cd10a7d09
Improved packed repr matching.
2020-06-21 16:46:27 -07:00
Tanner Rogalsky
d5e6436b28
Add tests validating Serialize derivation for packed structs.
2020-06-21 16:46:27 -07:00
David Tolnay
8ff11dc234
Merge pull request #1841 from dtolnay/lenhint
...
Remove len hint specialization
2020-06-20 19:08:34 -07:00
David Tolnay
6b3777b617
Remove len hint specialization
2020-06-20 19:02:26 -07:00
David Tolnay
7350b58f5c
Release 1.0.113
2020-06-19 13:31:38 -07:00
David Tolnay
7351e0e55a
Link to feature announcements where available
2020-06-19 13:30:14 -07:00
David Tolnay
b3ff7e43ef
Merge pull request #1827 from taiki-e/underscore_consts
...
Use underscore consts on Rust 1.37+
2020-06-19 13:27:33 -07:00
Taiki Endo
a50e1c20e9
Use underscore consts on Rust 1.37+
2020-06-19 15:55:43 +09:00
David Tolnay
6980727d74
Merge pull request #1840 from rw/patch-1
...
Add FlexBuffers to serde ecosystem list
2020-06-18 22:57:59 -07:00
Robert Winslow
bb1dedf04d
Add FlexBuffers to serde ecosystem list
...
Add FlexBuffers to serde ecosystem list
2020-06-16 13:36:14 -07:00
David Tolnay
f3520e526b
Release 1.0.112
2020-06-14 11:16:04 -07:00
David Tolnay
e8fd2c85c3
Merge pull request #1839 from dtolnay/entry
...
Forward serialize_entry on flattened maps
2020-06-14 11:15:26 -07:00
David Tolnay
97962d51e2
Forward serialize_entry on flattened maps
2020-06-14 11:10:18 -07:00
David Tolnay
95b1a5d3d9
Ignore unnested_or_patterns suggesting unstable code
...
Clippy bug: https://github.com/rust-lang/rust-clippy/issues/5704
2020-06-10 19:41:16 -07:00
David Tolnay
0856a2c101
No need to specify Cargo.toml in package.include
...
Cargo.toml is always included in the published crate.
2020-06-10 01:21:19 -07:00
David Tolnay
9f331cc257
Release 1.0.111
2020-05-29 18:53:07 -07:00
David Tolnay
ef16c815f6
Merge pull request #1821 from dtolnay/ungroup
...
Look inside of None-delimited groups when examining types
2020-05-29 18:11:14 -07:00
David Tolnay
c45a809d5c
Look inside of None-delimited groups when examining types
2020-05-29 17:58:34 -07:00
David Tolnay
f7d06cae4c
Add failing test involving macro_rules metavariable
2020-05-29 17:58:10 -07:00
David Tolnay
31fe82a215
Resolve match_wildcard_for_single_variants pedantic lint
2020-05-29 17:46:40 -07:00
David Tolnay
ef6ed1d1be
Copy some new links from serde.rs to the crate-level doc
2020-05-22 12:49:15 -07:00
David Tolnay
9d1251548b
Mirror 'Getting help' from github readme to crates.io readme
2020-05-15 23:09:48 -07:00
David Tolnay
c20730ee39
Remove reference to mozilla irc
2020-05-15 23:07:35 -07:00
David Tolnay
afd51ef0f4
Merge pull request #1808 from dtolnay/help
...
Update 'Getting help' section
2020-05-09 23:38:40 -07:00
David Tolnay
3167f98689
Update 'Getting help' section
2020-05-09 23:34:38 -07:00
David Tolnay
078b171c1b
Release 1.0.110
2020-05-09 23:06:56 -07:00
David Tolnay
da8d6f678e
Simplify finding of repr(packed) attributes
2020-05-09 23:02:49 -07:00
David Tolnay
548eb8f667
Format PR 1791 with rustfmt
2020-05-09 22:54:42 -07:00
David Tolnay
1fe39043ee
Simplify access of packed struct fields in derived Serialize impls
2020-05-09 22:53:38 -07:00
David Tolnay
c2114491ca
Add test of Serialize impl for packed struct
2020-05-09 22:52:49 -07:00
alvardes
9f47c47cad
Add support for packed structs.
2020-05-09 22:45:44 -07:00
David Tolnay
d6b39fd2c1
Merge pull request #1807 from dtolnay/31
...
Add a CI builder on 1.31.0
2020-05-09 22:44:41 -07:00
David Tolnay
4d6d0ae539
Add a CI builder on 1.31.0
2020-05-09 22:38:26 -07:00
David Tolnay
dda070f45c
Fix borrow error on pre-NLL compilers
...
error[E0506]: cannot assign to `missing_content` because it is borrowed
--> serde_derive/src/de.rs:1414:9
|
1388 | .filter_map(|(i, variant)| {
| -------------- borrow of `missing_content` occurs here
...
1414 | / missing_content = quote! {
1415 | | match __field {
1416 | | #(#missing_content_arms)*
1417 | | #missing_content_fallthrough
1418 | | }
1419 | | };
| |_________^ assignment to borrowed `missing_content` occurs here
error[E0502]: cannot borrow `missing_content_fallthrough` as immutable because it is also borrowed as mutable
--> serde_derive/src/de.rs:1414:27
|
1388 | .filter_map(|(i, variant)| {
| -------------- mutable borrow occurs here
...
1404 | missing_content_fallthrough = quote!(_ => #missing_content);
| --------------------------- previous borrow occurs due to use of `missing_content_fallthrough` in closure
...
1414 | missing_content = quote! {
| ___________________________^
1415 | | match __field {
1416 | | #(#missing_content_arms)*
1417 | | #missing_content_fallthrough
1418 | | }
1419 | | };
| |_________^ immutable borrow occurs here
...
1622 | }
| - mutable borrow ends here
|
= note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)
2020-05-09 22:37:31 -07:00
David Tolnay
b97a183e82
Release 1.0.109
2020-05-09 21:00:51 -07:00
David Tolnay
9433004307
Omit missing content match if not needed
2020-05-09 20:59:01 -07:00
David Tolnay
9476838264
Omit missing content fallthrough arm if not needed
2020-05-09 20:59:00 -07:00
asdsad
172edc4cf4
Allow optional content field for adjacently tagged newtype variants
...
* Deserialize adjacently tagged newtype variants with optional content as None instead of erroring when content field is missing
* refactor to remove duplicate code and remove panic
2020-05-09 20:58:28 -07:00
David Tolnay
3c97e1b9a9
Format PR 1702 with rustfmt
2020-05-09 18:24:05 -07:00
ppc
a81968af3c
Turn panic to error in SystemTime serialization
2020-05-09 18:22:29 -07:00
David Tolnay
ea2789df0f
Release 1.0.108
2020-05-09 17:53:23 -07:00
David Tolnay
b7cfe33101
Add example usage to Formatter Serializer impl
2020-05-09 17:48:27 -07:00
David Tolnay
1b8ebf6b64
Add 128-bit integer support for Formatter
2020-05-09 17:48:27 -07:00
David Tolnay
35ad468780
Allow serializing newtype struct to Formatter
...
Serialize_newtype_struct is typically expected to just pass through the
wrapped value.
2020-05-09 17:48:27 -07:00
David Tolnay
850a29beb1
Directly display to the Formatter
...
This allows formatter flags to take effect.
2020-05-09 17:48:26 -07:00
David Tolnay
16bf9871cd
Remove serialize_unit from Formatter's impl
2020-05-09 17:48:26 -07:00
David Tolnay
6182eceed1
Move the Formatter Serializer to a module
...
Let's keep impls.rs for Serialize impls, which there are enough of
already.
2020-05-09 17:48:26 -07:00
David Tolnay
99bc52f685
Support no-default-features mode in Formatter's impl
2020-05-09 17:48:26 -07:00
Jethro Beekman
726ff5ed31
impl Serializer for &mut fmt::Formatter
2020-05-09 17:48:13 -07:00
David Tolnay
f63acb52dc
Release 1.0.107
2020-05-08 15:45:36 -07:00
David Tolnay
36a66873cc
Merge pull request #1805 from dtolnay/skip
...
Fix indexing bug when `skip` and `other` are combined
2020-05-08 15:43:51 -07:00
David Tolnay
63809e69c7
Fix indexing bug when skip and other are combined
2020-05-08 15:39:07 -07:00
David Tolnay
f44402e224
Add regression test for issue 1804
2020-05-08 15:38:44 -07:00
David Tolnay
099fa25b86
Fix unused matrix component in name of clippy job
2020-05-06 01:53:58 -07:00
David Tolnay
c120c4518b
Move clippy to ci.yml gated with github.event_name != 'pull_request'
2020-05-05 22:09:35 -07:00
David Tolnay
115c1b4830
Exclude expansion tests from test suite by default
...
This test isn't high enough signal to have all contributors run it.
2020-05-05 21:52:37 -07:00
David Tolnay
23db3a41e7
Run expansion tests only if rustfmt is present
2020-05-05 21:50:14 -07:00
David Tolnay
e2ff603587
Add Actions job to run macrotest
2020-05-05 17:41:35 -07:00
David Tolnay
19a11237b8
Regenerate macrotest *.expanded.rs files
...
This picks up changes from a135199ab1 and 1b35c9e27e .
2020-05-05 17:23:30 -07:00
David Tolnay
732544aed6
Update to macrotest 1.0
2020-05-05 17:23:30 -07:00
David Tolnay
65dfa607c8
Update to rustversion 1.0
2020-05-05 17:23:30 -07:00
David Tolnay
59104bbc24
Remove AppVeyor configuration
2020-05-05 17:08:09 -07:00
David Tolnay
38ad09aeb7
Add Windows CI in GitHub Actions
2020-05-05 17:08:09 -07:00
David Tolnay
02631cef42
Remove clippy from main CI workflow
...
We don't run clippy on PRs. It is covered by a separate clippy.yml
workflow.
2020-05-05 17:04:51 -07:00
David Tolnay
f369707dc5
Update build status badge to GitHub Actions
2020-05-05 16:43:36 -07:00
David Tolnay
e16e924c21
Split test suite to its own Actions job
...
Since this step takes the longest.
2020-05-05 16:39:36 -07:00
David Tolnay
8b52ddd5b9
Add GitHub Actions workflow to run Clippy
2020-05-05 16:34:27 -07:00
David Tolnay
112f2040ea
Remove Travis configuration
2020-05-05 11:33:56 -07:00
David Tolnay
cd836eb3ca
Try caching Cargo index to speed up 1.13 build
...
This one build always took several (10+) minutes on:
Updating registry `https://github.com/rust-lang/crates.io-index `
2020-05-03 17:59:26 -07:00
David Tolnay
2b4355724e
Merge pull request #1795 from serde-rs/actions
...
Enable GitHub Actions
2020-05-03 02:38:48 -07:00
David Tolnay
5534bf4df1
Enable GitHub Actions
2020-05-03 02:23:04 -07:00
David Tolnay
60522937af
Remove CI badge from Cargo.toml
...
Support for badges has been deprecated by crates.io.
2020-05-01 21:11:02 -07:00
David Tolnay
29be721f79
Work around clippy redundant_field_names bug
2020-04-23 11:21:28 -07:00
David Tolnay
0c4ffad9ec
Run clippy on latest nightly that has clippy
2020-04-23 10:44:12 -07:00
David Tolnay
03addbae55
Format with rustfmt 2020-03-11
2020-04-19 17:32:11 -07:00
David Tolnay
0bab6be124
Resolve redundant_pattern_matching lint
2020-04-19 17:31:15 -07:00
David Tolnay
b6def5300a
Resolve redundant_field_names lint in serde_derive
2020-04-05 21:07:52 -07:00
David Tolnay
1b35c9e27e
Update serde_derive to tool attrs
2020-04-05 21:00:58 -07:00
David Tolnay
d1564525ad
Release 1.0.106
2020-04-03 14:26:42 -07:00
David Tolnay
645f672a55
Merge pull request #1768 from robo9k/dummy-const-hidden-doc
...
Hide generated dummy const in rustdoc
2020-04-03 14:25:50 -07:00
robo9k
a135199ab1
Hide generated dummy const in rustdoc
2020-04-03 22:21:38 +02:00
David Tolnay
2a9971a69d
Merge pull request #1764 from serde-rs/collect
...
Simplify default Serializer::collect_str implementation
2020-03-27 23:10:06 -07:00
David Tolnay
e2ada0efef
Simplify default Serializer::collect_str implementation
2020-03-27 22:55:25 -07:00
David Tolnay
69653a762d
Release 1.0.105
2020-03-18 11:42:51 -07:00
David Tolnay
c33fb95127
Merge pull request #1754 from maciejhirsz/non-std-cow-borrow
...
Allow #[serde(borrow)] for non-std Cow
2020-03-18 11:40:35 -07:00
Maciej Hirsz
ec6ca6bf73
Allow non-std Cow borrows
2020-03-18 13:34:38 +01:00
David Tolnay
078e88b223
Select a single docs.rs build target
2020-03-17 13:31:35 -07:00
David Tolnay
1894cb703f
Resolve clippy question_mark lint
2020-03-05 19:48:07 -08:00
David Tolnay
27c283ab53
Suppress wildcard import pedantic lints
2020-02-26 21:00:12 -08:00
David Tolnay
142955b109
Ignore struct_excessive_bools pedantic lint
2020-02-12 19:34:14 -08:00
David Tolnay
a61cd0f236
Update ui tests to nightly-2020-02-08
2020-02-08 00:10:00 -08:00
David Tolnay
cb1632e957
Fix unused_parens lint
...
These are left over from a series of unfortunate rustfmt interactions.
https://github.com/serde-rs/serde/commit/ee75e6c0e9e5cc359163202554feb00a28b62d0d#diff-c052b162f01a664f8184ef1855d1f1cfL767-R735
https://github.com/serde-rs/serde/commit/cc2558b0dc6fd0a40f45c5c5fc3088332b4d6cdf#diff-c052b162f01a664f8184ef1855d1f1cfL733-R738
https://github.com/serde-rs/serde/commit/9f38ca032e0735109adbde10a9f16822a4b975aa#diff-c052b162f01a664f8184ef1855d1f1cfL779-R782
2020-01-25 00:05:15 -08:00
David Tolnay
dbf1f9ab8f
Remove unneeded type ascription
2020-01-17 19:50:48 -08:00
David Tolnay
137ab48aff
Suppress unseparated_literal_suffix lint
2020-01-17 19:50:09 -08:00
David Tolnay
fc43def8a3
Merge pull request #1721 from WildCryptoFox/remove-unsafe-code
...
remove the tiny bit of unsafe code
2020-01-17 14:13:35 -08:00
James McGlashan
2a351016ed
remove the tiny bit of unsafe code
2020-01-17 00:00:00 +00:00
David Tolnay
dfa321a1dd
Ignore wildcard_in_or_patterns lint
2020-01-14 20:31:03 -08:00
David Tolnay
895eb2ba6c
Update ui tests to nightly-2019-12-19
2019-12-18 23:46:29 -08:00
David Tolnay
cd365de70c
Update ui tests to nightly-2019-12-18
2019-12-17 23:47:40 -08:00
David Tolnay
7f799f3948
Ignore missing_errors_doc pedantic lint
2019-12-15 20:16:22 -08:00
David Tolnay
234fbfd7e3
Release 1.0.104
2019-12-15 20:01:04 -08:00
David Tolnay
b9909cef3d
Revert "Remove never_type feature gate"
...
This reverts commit 533fb9cc44 .
2019-12-15 19:52:59 -08:00
David Tolnay
d540e72fc7
Format with rustfmt 2019-10-07
2019-11-26 00:02:11 -08:00
David Tolnay
13d0899776
Add missing import in de_enum expand test
2019-11-26 00:00:05 -08:00
David Tolnay
4fefa7a01d
Format imports in expandtest inputs
2019-11-25 23:57:34 -08:00
David Tolnay
90486607a1
Update test suite to nightly-2019-11-26
2019-11-25 23:51:43 -08:00
David Tolnay
0b303c766c
Mark tests ignored on emscripten rather than omitting
...
This way they still appear in `cargo test`'s output.
2019-11-24 17:27:30 -08:00
David Tolnay
c371563bfc
Reduce nesting of macrotest test cases
2019-11-24 17:25:44 -08:00
David Tolnay
d17d8eb3ee
Rely on std::process::Command's path search
2019-11-24 17:23:02 -08:00
David Tolnay
bcaebdb2b7
Merge pull request #1662 from eupn/use-macrotest
...
Implement expansion tests
2019-11-24 17:14:35 -08:00
David Tolnay
43a9f59c18
Release 1.0.103
2019-11-24 16:15:13 -08:00
David Tolnay
ff70409215
Merge pull request #1669 from H2CO3/master
...
Allow untagged unit variants to deserialize from `Visitor::visit_none()`
2019-11-24 16:13:37 -08:00
David Tolnay
97a98a7031
Test only deser for untagged unit visit_none
2019-11-24 15:59:08 -08:00
David Tolnay
533fb9cc44
Remove never_type feature gate
...
The stabilization for this feature has landed in nightly.
2019-11-23 19:30:39 -08:00
Árpád Goretity
59b99d2d60
Move test for untagged-variant-from-unit where it belongs
2019-11-07 21:18:12 +01:00
Árpád Goretity
c796daed7c
Fix test for untagged unit variant
2019-11-07 12:58:09 +01:00
Árpád Goretity
6e2c385fa5
Allow untagged unit variants to deserialize from Visitor::visit_none()
2019-11-06 17:31:27 +01:00
Evgenii P
9a0e4e0176
Ignore expansion test if cargo-expand subcommand isn't present
2019-11-03 20:31:08 +08:00
Evgenii P
640f8e0e82
Remove stdlib derives and fix expanded files to have newlines at the end
2019-11-03 20:08:39 +08:00
David Tolnay
4eb580790d
Require serde_derive version to be the same as serde version
...
Without this, Cargo could combine new serde_derive with old serde
resulting in generated code that refers to types that don't exist yet in
the serde version.
2019-11-02 15:17:09 -07:00
David Tolnay
a2c83d754b
Merge pull request #1664 from mathstuf/minimal-versions-compat
...
serde_derive: require the same version as serde
2019-11-02 12:04:20 -07:00
Ben Boeckel
6f946b20ec
serde_derive: require the same version as serde
...
This ensures that all features supported by serde are always available
through the derive macro provided through the feature flag.
Fixes : #1647
2019-11-01 19:47:31 -04:00
Evgenii P
4dda90502a
Add *.expanded.rs files
2019-11-01 02:32:34 +08:00
Evgenii P
dc6dbba47c
Implement derive macros expansion tests using macrotest
2019-11-01 02:32:06 +08:00
David Tolnay
2ceabad360
Release 1.0.102
2019-10-27 13:39:27 -07:00
David Tolnay
a00aee1495
Use a dedicated cfg for PathBuf::into_boxed_path
2019-10-27 13:38:25 -07:00
David Tolnay
4e31c9984d
Merge pull request #1656 from heftig/path-improvements
...
Improve Path deserialization
2019-10-27 13:37:12 -07:00
Jan Alexander Steffens (heftig)
b8772a1e40
Deserialize Box<Path> through PathBuf::into_boxed_path
...
Including Rc<Path> et al.
Fixes https://github.com/serde-rs/serde/issues/1633
2019-10-22 22:31:51 +02:00
Jan Alexander Steffens (heftig)
42990d8264
Deserialize PathBuf from bytes
...
&Path already allows this. Also complete the tests for Path/PathBuf.
2019-10-22 22:30:53 +02:00
David Tolnay
cf31418555
Resolve unused_self lint
2019-10-17 11:05:30 -04:00
David Tolnay
5db72b8ad9
Ignore must_use_candidate pedantic lint
2019-10-17 11:05:28 -04:00
David Tolnay
fe8f8bcf7b
Address needless_doctest_main lint in serde_test
2019-10-08 21:23:17 -07:00
David Tolnay
d4d737de8d
Resolve redundant_clone lint
2019-10-08 21:16:45 -07:00
David Tolnay
52f6e96ee8
Ignore needless_doctest_main lint
2019-10-08 21:15:08 -07:00
David Tolnay
44fa7b0f6b
Remove unused rustc-serialize dependency from test suite
2019-10-04 21:29:06 -04:00
David Tolnay
bda561df4e
Update test suite to nightly-2019-10-04
2019-10-03 21:45:09 -04:00
David Tolnay
8955420baf
Update test suite to nightly-2019-10-02
2019-10-02 09:45:00 -04:00
David Tolnay
21ee256911
Update test suite to nightly-2019-09-30
2019-09-30 15:56:04 -04:00
David Tolnay
4aba6fae78
Release 1.0.101
2019-09-16 00:32:28 -07:00
David Tolnay
fe06bc2f88
More concise explanation of allow(unused_variables)
2019-09-16 00:31:23 -07:00
David Tolnay
8dfb4cd02f
Merge pull request #1617 from arilotter/master
...
Fix unused variable warning when field of adjacently tagged enum is skipped
2019-09-15 23:51:39 -07:00
David Tolnay
d1ade37827
Ignore new too_many_lines lint
2019-09-10 23:15:59 -07:00
Ari Lotter
9de49241fb
Bug fix for #1610
...
Allow unused variables in tuple in AdjacentlyTagged serializer
2019-09-09 10:43:05 -04:00
David Tolnay
b24d50160a
Remove use of ref keyword from serde_derive
2019-09-07 23:16:02 -07:00
David Tolnay
e46463e69f
Add tests for attribute parse errors
2019-09-07 22:57:27 -07:00
David Tolnay
a3157c9572
Produce errors on attr that fails to parse as Meta
2019-09-07 22:46:50 -07:00
David Tolnay
0d4722680a
Use flatten() to iterate serde meta items
2019-09-07 22:44:25 -07:00
David Tolnay
7ab12597bb
Un-wrap error message strings for better grepping
2019-09-07 22:40:24 -07:00
David Tolnay
b86a46c83c
Factor skipping in newtype variants into effective_style
2019-09-07 22:16:56 -07:00
David Tolnay
187a0a3ec0
Format with rustfmt 2019-08-19
2019-09-07 22:16:49 -07:00
David Tolnay
111c18dec3
Merge pull request #1622 from Xaeroxe/fix-new-types
...
Fix (de)serialization of new types where the internal type is skipped
2019-09-07 22:16:40 -07:00
David Tolnay
7a2b137912
Reuse span in default deserialize_with path for Cows
2019-09-07 20:24:59 -07:00
David Tolnay
791b9fbe81
Release serde_derive_internals
2019-09-07 20:14:30 -07:00
David Tolnay
0fdc0257aa
Sort Postcard in the same order as on the website
2019-09-07 19:10:48 -07:00
David Tolnay
b6a77c4413
Release 1.0.100
2019-09-07 18:55:50 -07:00
David Tolnay
33438850a6
Merge pull request #1620 from dtolnay/error
...
Export std error type so no_std data formats don't need a "std" feature
2019-09-07 18:54:34 -07:00
Jake Kiesel
fcbb3d3783
Add support for other enum representations
2019-09-07 11:43:53 -06:00
Jake Kiesel
acc8640c1e
Fix (de)serialization of new types where the internal type is skipped
2019-09-07 03:20:43 -06:00
David Tolnay
c083cfd65e
Export std error type so downstream doesn't need "std" feature
2019-09-04 20:20:36 -07:00
David Tolnay
4cea81f93f
Merge pull request #1615 from jamesmunns/patch-1
...
Add Postcard to the list of Serde Data Formats
2019-08-28 10:17:43 -07:00
James Munns
2d36be753a
Add Postcard to the list of Serde Data Formats
2019-08-28 12:23:54 +02:00
David Tolnay
738d29eaa9
Update serde_derive_internals to syn 1.0
2019-08-26 12:29:45 -07:00
David Tolnay
b536fb67a4
Merge pull request #1604 from UnHumbleBen/patch-1
...
Fixed a typo
2019-08-19 03:10:49 -07:00
Benjamin Lee
b10c23a950
Fixed a typo
2019-08-18 22:37:28 -07:00
David Tolnay
85a5cf7cb1
Document serde_derive minimum rustc
2019-08-18 18:31:40 -07:00
David Tolnay
192f5cd647
Release 1.0.99
2019-08-16 11:50:19 -07:00
David Tolnay
7dceee64fe
Merge pull request #1591 from dtolnay/up
...
Update to syn/quote 1.0
2019-08-16 11:49:33 -07:00
David Tolnay
8ad6ae71c6
Update serde_derive minimum rustc version to 1.31
2019-08-16 11:31:15 -07:00
David Tolnay
3ea85a28cf
Update to syn/quote 1.0
2019-08-16 11:31:15 -07:00
David Tolnay
273ecdb786
Update ui tests on nightly-2019-08-16
2019-08-16 11:30:49 -07:00
David Tolnay
de40eb7306
Update serde_derive to use question mark
2019-08-16 11:28:25 -07:00
David Tolnay
b9c44073ce
Update serde_test to use question mark
2019-08-16 11:25:12 -07:00
David Tolnay
d6e5947ad2
Suppress warnings about try! macro
2019-08-16 11:24:22 -07:00
David Tolnay
668651ee01
Format with rustfmt 2019-07-30
2019-07-31 21:19:46 -07:00
David Tolnay
fb1cacc10e
Update Attr structs to hold symbols
2019-07-31 21:06:36 -07:00
David Tolnay
735e56c26f
Use symbols when parsing values out of attribute
2019-07-31 21:06:36 -07:00
David Tolnay
97de3dccbb
Factor out attr symbols into constants
2019-07-31 21:06:36 -07:00
David Tolnay
690467cbe2
Release 1.0.98
2019-07-28 10:33:34 -07:00
David Tolnay
71efd8ffda
Merge pull request #1590 from dtolnay/manifest
...
Work around failing to parse manifest in 1.27 and 1.28 builds
2019-07-28 10:32:14 -07:00
David Tolnay
9bb196ae6e
Work around failing to parse manifest in 1.27 and 1.28 builds
2019-07-28 10:07:15 -07:00
David Tolnay
ce75418e40
Merge pull request #1589 from Flaise/nonzeroi
...
Add support for NonZeroI* types
2019-07-28 10:02:09 -07:00
Flaise
78c7f09e28
Add build gate for nonzero signed integers so rustc <1.34 still works
2019-07-28 11:44:31 -05:00
David Tolnay
e7269ac84e
Add travis builds on every version in build.rs
2019-07-28 08:36:06 -07:00
Flaise
34866e20a8
Add support for NonZeroI* types
2019-07-28 09:12:29 -05:00
David Tolnay
3ae2bee272
Release 1.0.97
2019-07-17 14:56:51 -07:00
David Tolnay
d0fb958e99
Remove unneeded explicit type parameters in test_from_into_traits
2019-07-17 12:32:34 -07:00
David Tolnay
b941c63a53
More typical TryFrom usage for test
2019-07-17 12:31:41 -07:00
David Tolnay
cf70c3fb05
Format with rustfmt 2019-06-09
2019-07-17 12:27:26 -07:00
David Tolnay
f249e72162
Provide try_from only on 1.34+
2019-07-17 12:21:18 -07:00
David Tolnay
92e0b62c6b
Merge pull request 1526 from fanzeyi/try_from
2019-07-17 12:16:31 -07:00
David Tolnay
cf32a5b204
Release 1.0.96
2019-07-17 12:04:19 -07:00
David Tolnay
7b0e06c825
Provide 32 bit atomic impls for emscripten
2019-07-17 11:44:24 -07:00
David Tolnay
3158bf9093
Merge pull request #1581 from Roguelazer/issue-1579
...
conservatively limit atomic features
2019-07-17 11:01:21 -07:00
James Brown
01fade764c
replaced one too many _ with -
2019-07-17 09:57:53 -07:00
James Brown
210c2419be
conservatively limit atomic features
2019-07-17 09:19:03 -07:00
David Tolnay
da05163d51
Release 1.0.95
2019-07-16 10:08:53 -07:00
David Tolnay
f3e2bb5104
Disable 64 bit atomic tests on emscripten
2019-07-16 10:00:44 -07:00
David Tolnay
7a4c1086b5
Emscripten does not have 64 bit atomics
2019-07-16 09:57:00 -07:00
David Tolnay
e89feb9635
Test atomics without needing a macro
...
As a secondary benefit, this avoids a congnitive_complexity lint from
Clippy.
2019-07-16 09:17:36 -07:00
David Tolnay
5f72766c27
Ignore unreadable_literal lint in test code
2019-07-16 09:04:43 -07:00
David Tolnay
85ae57040d
One macro to deserialize all atomics
2019-07-16 07:46:44 -07:00
David Tolnay
d55a4a279f
Deserialize atomics without needing element type
2019-07-16 07:45:41 -07:00
David Tolnay
bee9299693
One macro to serialize all atomics
2019-07-16 07:42:42 -07:00
David Tolnay
9529fcec96
Serialize atomics using the primitive's Serialize impl
2019-07-16 07:40:37 -07:00
David Tolnay
bcec168e23
Centralize atomic imports
2019-07-16 07:36:16 -07:00
David Tolnay
102a332616
Format with rustfmt 2019-06-09
2019-07-16 07:32:13 -07:00
David Tolnay
a280942f02
Add a builder on 1.34 to cover atomic types
2019-07-16 07:29:10 -07:00
David Tolnay
637dba5c2a
Merge pull request #1572 from Roguelazer/issue-1496
...
Implement serialization and deserialization for std::sync::atomic types
2019-07-16 07:28:18 -07:00
David Tolnay
24f292d081
Build alloc feature on 1.36 in travis
2019-07-16 07:22:47 -07:00
David Tolnay
fa5c99e48a
Alloc crate is no longer unstable
2019-07-16 07:21:09 -07:00
David Tolnay
48f1a2c9b2
Merge pull request #1576 from c410-f3r/alloc-feature
...
Make `alloc` feature work on stable
2019-07-16 07:19:49 -07:00
Caio
50ebbd63c6
Enable alloc on stable
2019-07-15 14:24:03 -03:00
James Brown
4e5f63ff45
gate atomic serde on rust 1.34 or higher
2019-07-12 13:44:42 -07:00
James Brown
de709e72a8
implement deserialization for atomic integer types
2019-07-11 18:18:54 -07:00
James Brown
56d3c8f071
implement serialization for atomic integer types
2019-07-11 17:34:53 -07:00
David Tolnay
ce89adecc1
Suppress deprecation warning on mem::uninitialized
2019-07-07 21:19:50 -07:00
David Tolnay
bc7a85063d
Switch to rustversion
2019-07-07 21:14:11 -07:00
David Tolnay
0574f1e020
Merge pull request #1561 from BurntSushi/ag/update-i128-docs
...
Update docs for serde_if_integer128
2019-07-01 15:04:54 -07:00
Andrew Gallant
f9fdd60e2e
Update docs for serde_if_integer128
...
The docs imply that the only consideration for using the
serde_if_integer128 macro is support for older versions of Rust, but
Serde's build configuration for 128-bit integers is also gated on the
target platform. For example, if Serde is being compiled for an
emscripten target, then it will not provide 128-bit integer APIs.
See also: https://github.com/BurntSushi/rust-csv/issues/158
2019-07-01 10:18:57 -04:00
David Tolnay
1c1eecabc0
Release 1.0.94
2019-06-27 10:55:12 -07:00
David Tolnay
abd3fd004e
Merge pull request #1559 from dtolnay/ignore-enum
...
Accept enums in IgnoredAny
2019-06-27 10:54:22 -07:00
David Tolnay
15ee353488
IgnoredAny::visit_enum for old compilers
2019-06-27 10:45:18 -07:00
David Tolnay
e75efbfd31
Support ignoring enum with IgnoredAny
2019-06-27 10:29:55 -07:00
David Tolnay
1c97a7ecb3
Add comprehensive test for deserializing IgnoredAny from enum
2019-06-27 10:23:39 -07:00
David Tolnay
fccd3e9fba
Add deserialization tests for IgnoredAny
2019-06-27 10:07:06 -07:00
David Tolnay
4cb13b33e0
Release 1.0.93
2019-06-23 12:50:17 -07:00
David Tolnay
629802f2ab
Merge pull request #1555 from serde-rs/int
...
Allow integer key in untagged flattened map
2019-06-23 12:49:21 -07:00
David Tolnay
afb1754528
Allow integer key in untagged flattened map
2019-06-23 12:09:15 -07:00
David Tolnay
dbd67c6c89
Clippy const_static_lifetime lint has been renamed
2019-06-19 01:34:13 -07:00
David Tolnay
ed01bdb9dd
Remove fixed cast_precision_loss lint
2019-06-15 10:13:05 -07:00
David Tolnay
b54821d8ab
Alloc feature has been stabilized
...
warning: the feature `alloc` has been stable since 1.36.0 and no longer requires an attribute to enable
--> serde/src/lib.rs:84:40
|
84 | #![cfg_attr(feature = "alloc", feature(alloc))]
| ^^^^^
|
= note: #[warn(stable_features)] on by default
2019-05-31 21:26:43 -07:00
David Tolnay
89c6a79b6e
Suppress a new pedantic lint
2019-05-31 21:25:36 -07:00
David Tolnay
cd0412bddc
Release 1.0.92
2019-05-31 13:44:01 -07:00
David Tolnay
e42262f0f5
Provide ToString for re-export by serde::export
2019-05-31 13:42:22 -07:00
David Tolnay
0a3eeab273
Merge pull request #1543 from jplatte/alloc-de-compile-fix
...
Fix a compile error in derive(Deserialize) with no_std + alloc
2019-05-31 13:41:07 -07:00
Jonas Platte
e4e110e28f
Fix a compile error in derive(Deserialize) with no_std + alloc
2019-05-31 22:16:40 +02:00
David Tolnay
0726623389
Ignore bare_trait_objects lint to support old compilers
2019-05-31 11:34:18 -07:00
David Tolnay
fd9d334d01
Smaller format for license section
2019-05-18 17:35:47 -07:00
David Tolnay
840eb14121
Merge pull request #1528 from est31/no_variable_names
...
Don't use variable names
2019-05-17 08:57:14 -07:00
est31
8fef196ee4
Don't use variable names
...
They aren't needed. This makes the macro a bit simpler
2019-05-17 16:50:41 +02:00
David Tolnay
9c756f1ec0
Disable ui tests on emscripten
...
These hit a strange error in our Emscripten builder in Travis as well as
locally through cargo web:
ERROR: failed to execute cargo: Resource temporarily unavailable (os error 11)
2019-05-12 00:28:22 -07:00
Zeyi Fan
4c29eea790
add attribute try_from
2019-05-11 23:31:24 -07:00
David Tolnay
6dd2b4607f
Switch to SPDX 2.1 license expression
2019-05-09 15:21:20 -07:00
David Tolnay
1e9ae88f53
Work around "failed to select a version for serde_test_suite"
...
Without this:
error: failed to select a version for `serde_test_suite`.
... required by package `serde_test_suite-tests v0.0.0`
versions that meet the requirements `= 0.0.0` are: 0.0.0
the package `serde_test_suite-tests` depends on `serde_test_suite`, with features: `serde` but `serde_test_suite` does not have these features.
failed to select a version for `serde_test_suite` which could resolve this conflict
Seems like a Cargo bug -- I will minimize and report.
2019-05-06 22:53:38 -07:00
David Tolnay
5cc3902ab9
Release 1.0.91
2019-05-06 16:27:04 -07:00
David Tolnay
c8e09e2d6d
Merge pull request #1522 from dtolnay/enum
...
Support deserializing enum out of MapAccessDeserializer
2019-05-06 16:26:43 -07:00
David Tolnay
e2a2ba116c
Remove old instructions intended for compiletest
2019-05-06 16:17:30 -07:00
David Tolnay
0a9d24a218
Support deserializing enum out of MapAccessDeserializer
2019-05-06 16:11:28 -07:00
David Tolnay
c222183669
Merge pull request #1521 from serde-rs/trybuild
...
Switch ui tests to trybuild
2019-05-06 10:44:25 -07:00
David Tolnay
140f9beee7
Switch ui tests to trybuild
2019-05-06 10:25:47 -07:00
David Tolnay
28ce892617
Disable compiletest in appveyor
...
error[E0464]: multiple matching crates for `serde`
--> $DIR/wrong_getter.rs:15:10
|
15 | #[derive(Serialize)]
| ^^^^^^^^^
|
= note: candidates:
crate `serde`: /?/C:/projects/serde/test_suite/deps/target/debug/deps/libserde-a1a28acc73b0edde.rlib
crate `serde`: /?/C:/Users/appveyor/.
2019-04-22 23:18:21 -07:00
David Tolnay
1e6d3ff99b
Merge pull request #1512 from dtolnay/off
...
Temporarily disable compiletest testing in CI
2019-04-22 23:05:54 -07:00
David Tolnay
fba1b92cbf
Temporarily disable compiletest testing in CI
...
The nightly compiler just added a dependency on serde so libserde ends
up in the sysroot, breaking crate resolution inside of compiletest. We
will need to figure out how else to run these tests.
error[E0464]: multiple matching crates for `serde`
--> $DIR/wrong_ser.rs:9:10
|
9 | #[derive(Serialize)]
| ^^^^^^^^^
|
= note: candidates:
crate `serde`: /rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libserde-2b75907288aa7c40.rlib
crate `serde`: /serde/test_suite/deps/target/debug/deps/libserde-33e0a319242344ce.rlib
2019-04-22 22:42:36 -07:00
David Tolnay
ce1686379d
Update test suite to nightly-2019-04-20
2019-04-19 22:54:59 -07:00
David Tolnay
79a20e9e33
Resolve option_map_unwrap_or_else lint
2019-04-10 22:57:47 -07:00
David Tolnay
e9cd73f78e
Remove link to hjson
...
This project has still not been updated to Serde 1.0.
2019-04-08 10:39:55 -07:00
David Tolnay
0be7f36d51
Release 1.0.90
2019-04-03 09:41:38 -07:00
David Tolnay
4c6cb6e359
Match on serde_path to handle Some(path) and None
...
I find this a bit easier to follow than map + unwrap_or_else.
2019-04-03 09:40:25 -07:00
David Tolnay
82bde8d166
Format with rustfmt 2019-03-27
2019-04-03 09:40:12 -07:00
David Tolnay
465392b618
Merge pull request #1499 from sgrif/sg-custom-serde-path
...
Allow `#[serde(crate = "...")]` to override `extern crate serde`
2019-04-03 09:32:07 -07:00
David Tolnay
f3c6b9f05a
Simplify signature of Container::serde_path
2019-04-03 09:18:45 -07:00
David Tolnay
2f1945eaf2
Refer directly to serde_path in Deserialize impl
...
This makes it not a breaking change if we later want to eliminate
the `use #serde_path as _serde;` line.
2019-04-03 09:16:21 -07:00
Sean Griffin
b4d8a55b2a
Change serde_path to crate
...
Also changed the generated code to have at least one thing refer to the
path directly, rather than via `use` -- This shows that the impl *can*
work without `use`, but doesn't actually do all the work to remove the
`use` lines unless we decide we need this feature to work on the 2015
edition
2019-03-28 11:42:50 -06:00
Sean Griffin
0e6ce8fa50
Fix for Rust 1.15
2019-03-20 14:31:49 -06:00
Sean Griffin
a295c38ba3
Allow #[serde(serde_path = "...")] to override extern crate serde
...
This is intended to be used by other crates which provide their own proc
macros and use serde internally. Today there's no consistent way to put
`#[derive(Deserialize)]` on a struct that consistently works, since
crates may be using either `features = ["derive"]` or relying on
`serde_derive` separately.
Even if we assume that everyone is using `features = ["derive"]`,
without this commit, any crate which generates
`#[derive(serde::Deserialize)]` forces its consumers to put `serde` in
their `Cargo.toml`, even if they aren't otherwise using serde for
anything.
Examples of crates which suffer from this in the real world are
tower-web and swirl.
With this feature, it's expected that these crates would have `pub
extern crate serde;` in some accessible path, and add
`#[serde(serde_path = "that_crate::wherever::serde")]` anywhere they
place serde's derives. Those crates would also have to derive
`that_crate::whatever::serde::Deserialize`, or `use` the macros
explicitly beforehand.
The test for this is a little funky, as it's testing this in a way that
is not the intended use case, or even one we want to support. It has its
own module which re-exports all of serde, but defines its own
`Serialize` and `Deserialize` traits. We then test that we generated
impls for those traits, instead of serde's. The only other way to test
this would be to create a new test crate which does not depend on serde,
but instead depends on `serde_derive` and a third crate which publicly
re-exports serde. This feels like way too much overhead for a single
test case, hence the funky test given.
I didn't see anywhere in this repo to document this attribute, so I
assume the docs will have to be done as a separate PR to a separate
repo.
Fixes #1487
2019-03-18 15:20:19 -06:00
David Tolnay
295730ba1e
Clippy cyclomatic complexity lint has been renamed
2019-03-09 16:36:51 -08:00
David Tolnay
ac0d8f61c5
Use non-preview name of Clippy rustup component
2019-03-01 23:11:06 -08:00
David Tolnay
b811588fa0
Release 1.0.89
2019-02-28 17:09:10 -08:00
David Tolnay
5fcdf0ff2b
Sort version-conditional imports at the bottom
2019-02-28 16:53:13 -08:00
David Tolnay
650b723da3
Format with rustfmt 2019-02-14
2019-02-28 16:40:54 -08:00
David Tolnay
97920be33a
Merge pull request #1486 from vorot93/reverse
...
impl Serialize and Deserialize for core::cmp::Reverse
2019-02-28 16:39:54 -08:00
David Tolnay
58bbaa9e80
Refer to Option through serde::export in generated code
2019-02-28 16:36:17 -08:00
David Tolnay
94f152730c
Merge pull request #1492 from thomaseizinger/1491-clippy-warning
...
Don't generate code with redundant closures
2019-02-28 16:35:59 -08:00
David Tolnay
535e3d4372
Mention rc feature in list of trait impls in documentation
2019-02-28 01:13:36 -08:00
Thomas Eizinger
2ea43c8986
Don't generate code with redundant closures
...
Fixes #1491 .
2019-02-28 17:30:21 +11:00
Artem Vorotnikov
71fe2a5534
Reverse impls available for Rust >=1.19
2019-02-20 12:56:35 +03:00
Artem Vorotnikov
f3ffcfd61e
impl Serialize and Deserialize for core::cmp::Reverse
2019-02-20 04:32:55 +03:00
David Tolnay
bf27b28554
Simplify running update-references.sh
2019-02-17 10:58:46 -08:00
David Tolnay
344602d27e
Make array ser impls macro better fit rustfmt style
2019-02-16 15:22:53 -08:00
David Tolnay
64c483cf80
Release 1.0.88
2019-02-15 19:55:50 -08:00
David Tolnay
19091aacc7
Fix mistaken double negative in flatten error message
2019-02-15 18:56:31 -08:00
David Tolnay
ef9028d798
Remove conflict between flatten and skip
2019-02-15 18:39:15 -08:00
David Tolnay
1668cd19d3
Eliminate try!(..).value to improve rustfmt'd code
...
Rustfmt bails out on the original code, leaving it all on one line.
2019-02-13 09:13:50 -08:00
David Tolnay
134f268cee
Release 1.0.87
2019-02-04 07:08:41 +01:00
David Tolnay
c473633676
Format with rustfmt 2018-12-10
2019-02-04 00:39:32 +01:00
David Tolnay
6a3a82007c
Merge pull request #1474 from jwillbold/master
...
Fixed #1468 , flattened struct fields made structs ignore their tag
2019-02-03 15:37:44 -08:00
Johannes Willbold
1d6ef76cfb
Fixed #1468 , flattened struct fields made structs ignore their tag
2019-02-03 02:09:37 +01:00
David Tolnay
c8e3959435
Release 1.0.86
2019-02-01 21:07:19 -08:00
David Tolnay
796f412a1e
Document that Bound<T> impls exist
2019-02-01 21:07:18 -08:00
David Tolnay
fa854a2108
Format with rustfmt 2018-12-10
2019-02-01 21:04:08 -08:00
David Tolnay
3a097ff2d2
Deserialize Bound::Unbounded as unit variant
2019-02-01 21:04:07 -08:00
David Tolnay
8463bfc1e5
Remove as yet unrequested range impls
2019-02-01 21:04:06 -08:00
David Tolnay
7a72b4c624
Merge pull request #1466 from 0nkery/master
...
Impl Serialize/Deserialize for std::ops::{Bound, RangeFrom, RangeTo, RangeToInclusive}
2019-02-01 21:03:55 -08:00
David Tolnay
670c179417
Re-enable deny unused_imports
2019-02-01 17:56:52 -08:00
David Tolnay
1b1d868837
Combine the two clippy lists
2019-02-01 17:56:31 -08:00
David Tolnay
d9704d02bb
Remove clippy lints that are no longer triggering
2019-02-01 17:53:14 -08:00
David Tolnay
1349548367
Fix indentation of cfg that isn't formatted by rustfmt
2019-02-01 17:48:14 -08:00
Dmitry Shlagoff
18b1604fc8
Fix compatibility issues with syntax and Bound
2019-01-30 00:41:03 +07:00
Dmitry Shlagoff
0def7da5a8
Impl Ser/De for RangeFrom, RangeTo, RangeToInclusive
2019-01-29 20:29:14 +07:00
Dmitry Shlagoff
4bb45c8252
Impl Serialize for Bound<T>
2019-01-29 15:20:27 +07:00
David Tolnay
bb99b31eb0
Release 1.0.85
2019-01-18 22:36:49 -08:00
David Tolnay
84397183f3
Fix spelling of alises -> aliases
2019-01-18 22:34:23 -08:00
David Tolnay
aeae265777
Simpler way to get single element from vector
2019-01-18 22:33:43 -08:00
David Tolnay
a9c5df5da1
Remove unused Clone on attr::Attr
2019-01-18 22:31:25 -08:00
David Tolnay
96576c4de9
Merge pull request #1458 from Lymia/master
...
Implements alias annotation and allow multiple deserialization renames.
2019-01-18 22:29:57 -08:00
David Tolnay
9ec68e5829
Re-export is no longer just for optional serde cfg
2019-01-18 00:48:05 -08:00
David Tolnay
face857d5e
Update crates.io readme to 2018 edition
2019-01-18 00:44:17 -08:00
David Tolnay
85a1cc9b4f
Merge pull request #1460 from dtolnay/readme
...
Replace serde_derive with features = ["derive"] in readme
2019-01-18 00:43:25 -08:00
David Tolnay
630501b93d
Replace serde_derive with features = ["derive"] in readme
2019-01-18 00:30:01 -08:00
Lymia Aluysia
8bbc2995ca
Fix clippy lint in serde_derive
2019-01-15 11:35:26 -06:00
Lymia Aluysia
7d3872df57
Fix compilation on Rust 1.15.x
2019-01-15 11:29:55 -06:00
Lymia Aluysia
1ed228b92b
Implements alias annotation and allow multiple deserialization renames.
2019-01-15 11:15:01 -06:00
David Tolnay
b605cd1bb9
Make compiletest setup consistent with serde_json
2019-01-12 16:22:23 -08:00
David Tolnay
fea4e8e5b6
Release 1.0.84
2018-12-31 23:45:34 -05:00
David Tolnay
1df8b5785b
Test with same features in Travis and AppVeyor
2018-12-31 23:31:49 -05:00
David Tolnay
981a75d7c9
Enable extra features in playground
2018-12-31 23:28:10 -05:00
David Tolnay
11cc7014b3
Set all doc tests to 2018 edition
2018-12-31 23:22:13 -05:00
David Tolnay
0b667c88fa
Remove unneeded main functions in doc tests
...
These used to be needed because `#[macro_use] extern crate serde`
couldn't go inside of rustdoc's implicit main function.
2018-12-31 23:22:12 -05:00
David Tolnay
054ab1adaf
Update serde documentation to 2018 edition
2018-12-31 23:22:11 -05:00
David Tolnay
f1f8386f2e
Update serde_derive_internals ignored lints
2018-12-31 22:53:09 -05:00
David Tolnay
ba8c3970b0
Use tool lint naming in clippy invocation
2018-12-31 22:51:38 -05:00
David Tolnay
2f36b26a5c
Clarify that these lints are ignored
2018-12-31 22:49:38 -05:00
David Tolnay
9b4edb3a1d
Address match_ref_pats lint in serde_derive
2018-12-31 22:47:48 -05:00
David Tolnay
b8adc5ffa2
Update name of stutter lint in serde_derive
2018-12-31 22:47:18 -05:00
David Tolnay
bd90cafda7
Ignore trivially_copy_pass_by_ref lint in serde_derive
2018-12-31 22:47:03 -05:00
David Tolnay
6d43a08a1d
Remove dev-dependencies features from serde_test
...
Apparently Cargo is applying these features to the non-dev dependency on
serde as well. Concluded by running `cargo clean && cargo build` and
observing that serde_derive was getting built.
2018-12-31 22:43:15 -05:00
David Tolnay
e71b8598ae
Update serde_test examples to 2018 edition
2018-12-31 22:41:23 -05:00
David Tolnay
95d0f437e3
Update ui tests to nightly 2019-01-01
2018-12-31 22:09:07 -05:00
David Tolnay
c95ee3968a
Format with rustfmt 2018-12-10
2018-12-31 22:09:06 -05:00
David Tolnay
c22dd4ada5
Suppress trivially_copy_pass_by_ref lint on fn is_zero
2018-12-31 22:09:05 -05:00
David Tolnay
727a40fc5a
Update test suite to use tool attrs
2018-12-31 21:59:40 -05:00
David Tolnay
ce84a5f1d3
Update name of deprecated stutter lint
2018-12-31 21:59:39 -05:00
David Tolnay
e6fda1c410
Fix clippy command to run against test suite
2018-12-31 21:56:10 -05:00
David Tolnay
294dccc5be
Update test suite to 2018 edition
2018-12-31 21:53:37 -05:00
David Tolnay
da346a8878
Replace try! macro in test suite
2018-12-31 21:46:14 -05:00
David Tolnay
c5ccb995ad
Update no_std test to 2018 edition
2018-12-31 21:42:22 -05:00
David Tolnay
05ab569a80
Update ui tests to 2018 edition
2018-12-31 21:38:13 -05:00
David Tolnay
ab3f4971f0
Move compiletest out of the unstable feature flag
2018-12-31 21:28:39 -05:00
David Tolnay
47e238aa13
Add missing imports in ui tests
...
There is a new fallback as of nightly-2018-12-29 that makes these emit a
new error unrelated to Serde.
2018-12-29 00:19:29 -05:00
David Tolnay
e49b6c708b
Add main function to ui tests without main
...
These emit a new error not relevant to Serde as of nightly-2018-12-29.
2018-12-29 00:18:55 -05:00
David Tolnay
eb7250792b
Format with rustfmt 2018-12-10
2018-12-28 12:19:32 -05:00
David Tolnay
7e5066b878
Merge pull request #1450 from motu42/master
...
Bug fix to support the tag attribute on braced structs with zero fields
2018-12-27 21:48:14 -05:00
Johannes Willbold
889e17816f
Bug fix for #1449
...
Modified serialize_struct_as_struct.
Added test test_internally_tagged_braced_struct_with_zero_fields
2018-12-28 02:50:24 +01:00
David Tolnay
b1b9702daf
Release 1.0.83
2018-12-27 19:53:48 -05:00
David Tolnay
32728d2f1d
Format with rustfmt 2018-12-10
2018-12-27 19:52:26 -05:00
David Tolnay
807a097387
Fix spelling in ui test name
2018-12-27 19:51:53 -05:00
David Tolnay
794ee15386
Merge pull request #1448 from motu42/master
...
Allow #[serde(tag="...")] on structs
2018-12-27 19:47:28 -05:00
Johannes Willbold
2359417804
Added ui tests, Limited serde(tag = "...") to structs with named field
...
Added ui test struct-representation/internally-tagged-unit
Added ui test struct-representation/internally-tagged-tuple
Limited the serde(tag = "...") to enums and structs with named field
2018-12-28 01:29:33 +01:00
David Tolnay
7950f3cdc5
Format with rustfmt 2018-12-10
2018-12-27 15:35:43 -05:00
David Tolnay
b87f8f35ee
Merge pull request 1447 from vincascm/master
2018-12-27 15:29:16 -05:00
Johannes Willbold
9e53405f43
Fix for rustc 1.15.0
2018-12-27 21:21:46 +01:00
David Tolnay
c6c1d8fa86
Work around deprecation of str::trim_left_matches
2018-12-27 15:20:32 -05:00
Johannes Willbold
8aa5c2b45d
Removed deprected ui/enum-representation/internally-tagged-struct test
2018-12-27 20:53:08 +01:00
Johannes Willbold
414fd694c0
Allowed serde(tag="...") on structs
...
Added test test_internally_tagged_struct
Renamed EnumTag to TagType as it now also used for structs
Modified serialize_struct_as_struct
2018-12-27 20:18:36 +01:00
vinoca
7e82809592
Fix tests fail since modify Container attributes rename_all
2018-12-20 14:30:23 +08:00
vinoca
0dae5db30e
Support Container attributes rename_all only for Serialize or Deserialize
2018-12-19 09:46:52 +08:00
David Tolnay
5c24f0f0f3
Clean up some indentation that isn't visible to rustfmt
2018-12-10 22:31:39 -08:00
David Tolnay
c2591e9b39
Release 1.0.82
2018-12-10 22:25:27 -08:00
David Tolnay
8ce0dee6da
Fix missing dependency on quote in serde_derive_internals
2018-12-10 22:15:46 -08:00
David Tolnay
16daba8ea9
Format with rustfmt 2018-11-30
2018-12-10 22:09:34 -08:00
David Tolnay
8b4074ee77
Tests for tuple default attribute
2018-12-10 22:09:33 -08:00
David Tolnay
85fbd8793a
Support default attr in deserialize_seq_in_place
2018-12-10 22:09:31 -08:00
David Tolnay
65705e2091
Merge pull request #1442 from tcr/master
...
Adds support for the default attr to tuple variants in enums.
2018-12-10 22:09:21 -08:00
Tim Ryan
385a385c62
Adds support for the default attr to tuple variants in enums.
2018-12-11 00:02:50 -05:00
David Tolnay
e1edb0282a
Release 1.0.81
2018-12-07 18:30:35 -08:00
David Tolnay
5484f69164
Merge pull request #1438 from daboross/fix-untagged-enum-integer-variant-encoding
...
Accept integers variant encoding in Content
2018-12-07 18:17:53 -08:00
David Ross
cf1e0825c1
Support only u8 for enum identifiers within Content.
2018-12-05 17:01:48 -08:00
David Ross
86faa44915
Support only u8,u32 for enum variant identifiers in Content.
...
u8 correctly supports msgpack-rust, and u32 supports bincode and
presumably all other similar binary formats.
2018-12-05 15:59:47 -08:00
David Ross
a0b23cbf02
Accept integers variant encoding in Content
...
This allows ContentDeserializer and ContentRefDeserializer to
deserialize unsigned integers in deserialize_identifier, and
furthermore allows enums inside untagged enums to be correctly decoded
in formats which encode the enum variant as an integer.
Fixes https://github.com/serde-rs/serde/issues/1437 .
2018-12-04 19:40:27 -08:00
David Tolnay
e8ffb22c0d
Merge pull request #1424 from hcpl/spanned-error-messages
...
Use more spans for error messages
2018-12-01 23:16:49 -08:00
David Tolnay
4d04ae0111
Sync links from serde.rs website
2018-12-01 13:01:48 -08:00
hcpl
14a3da9b16
Improve UI test coverage
...
With this commit I believe I've covered all `compile_error!`-based
errors.
2018-11-30 03:07:31 +02:00
hcpl
034db9f20f
Improve overall quality of compile_error! errors
...
Also updates UI tests.
2018-11-30 02:51:49 +02:00
hcpl
8f3f073017
Use more spans for error messages
2018-11-25 16:44:41 +02:00
David Tolnay
58b3af4c29
Copyright/license headers
...
The following changes are included:
- Delete per-file license notices at the top of each file.
- Delete the first paragraph of LICENSE-MIT (an inaccurate
pseudo-copyright line), leaving only the text of the MIT license.
Nothing about the license of Serde code has changed, only our
understanding of how to correctly communicate that license has changed.
This mirrors an equivalent change being applied in the rust-lang/rust
repository.
2018-11-24 15:53:09 -08:00
David Tolnay
4821d09a48
Move all compile-fail tests to ui tests
...
The update-references.sh script makes these much easier to update in
bulk compared to compile-fail tests.
2018-11-24 15:43:19 -08:00
David Tolnay
b3d9d51b51
Simplify compiletest setup
2018-11-24 15:35:49 -08:00
David Tolnay
6b33abb179
Set up Travis build names
2018-11-24 15:12:48 -08:00
David Tolnay
a043b2a763
Point serde_derive_internals documentation to docs.rs
2018-11-21 14:22:33 -08:00
David Tolnay
0c3d4a8a37
Release serde_derive_internals 0.24.0
2018-11-21 14:17:55 -08:00
David Tolnay
9afc5fef11
Format with rustfmt 1.0.0-nightly
2018-11-21 01:13:17 -08:00
David Tolnay
a8a54c0568
Remove 1.26-dev docs.rs workaround
...
They are now building with 1.31.0-nightly.
2018-11-11 12:13:25 -08:00
David Tolnay
451ee2d78e
Clean up calls to into_iter per into_iter_on_ref lint
2018-11-10 20:10:37 -08:00
David Tolnay
820107d15e
Move emscripten CI to allow_failures
...
Not sure what is going on with this failure that just started happening with no
code change on our end. Wait and see if it goes away.
On asmjs-unknown-emscripten:
Assertion failed: compiled without a main, but one is present. if you added
it from JS, use Module["onRuntimeInitialized"]
undefined:109
throw ex;
^
abort("Assertion failed: compiled without a main, but one is present. if you
added it from JS, use Module[\"onRuntimeInitialized\"]") at Error
On wasm32-unknown-emscripten:
Assertion failed: compiled without a main, but one is present. if you added
it from JS, use Module["onRuntimeInitialized"]
failed to asynchronously prepare wasm: abort("Assertion failed: compiled
without a main, but one is present. if you added it from JS, use
Module[\"onRuntimeInitialized\"]") at Error
2018-11-10 20:06:18 -08:00
David Tolnay
a51f831ae4
Drop nightly dependency of compiletest
2018-10-27 23:59:48 -07:00
David Tolnay
1b45e5766a
Release 1.0.80
2018-10-14 03:08:53 -07:00
David Tolnay
59c8951341
Merge pull request #1411 from dtolnay/vec
...
Optimize Vec::deserialize_in_place to deserialize elements in place
2018-10-14 03:08:04 -07:00
David Tolnay
aca61b5dda
Optimize Vec::deserialize_in_place to deserialize elements in place
2018-10-14 02:51:24 -07:00
David Tolnay
908affd24f
Remove unused code in seq and map impls
2018-10-14 02:31:56 -07:00
David Tolnay
f878d2ebd5
Do not require clippy for a green build
2018-10-06 21:26:25 -07:00
David Tolnay
778e516270
Feature panic_handler has been stabilized
2018-10-06 21:12:14 -07:00
David Tolnay
6d58492ad0
Fix links to redirected derive documentation
2018-10-03 23:14:49 -07:00
David Tolnay
fecfabb168
Merge pull request #1399 from derekdreery/more_docs
...
Some docs
2018-09-30 08:16:24 -07:00
Richard Dodd
80765eb453
Make suggested changes
2018-09-30 15:17:47 +01:00
Richard Dodd
f1073dca04
Make the recommended changed from code review.
2018-09-30 12:34:52 +01:00
Richard Dodd
da65fe5a52
Some docs
2018-09-29 15:06:23 +01:00
David Tolnay
3f0f739e17
Merge pull request #1391 from dtolnay/ci
...
Move CI commands into travis.yml and appveyor.yml
2018-09-15 17:00:27 -07:00
David Tolnay
5023e2ad52
Fix escaping issues in emscripten CI commands
2018-09-15 16:37:46 -07:00
David Tolnay
810cde1c84
Split travis builds into individual steps
2018-09-15 16:15:59 -07:00
David Tolnay
9436efb80e
Move CI commands into travis.yml and appveyor.yml
2018-09-15 16:04:57 -07:00
David Tolnay
48230890c5
Merge pull request #1390 from dtolnay/asmjs
...
Run test suite on asmjs
2018-09-15 15:50:11 -07:00
David Tolnay
f1e8dcf38e
Run test suite on asmjs
2018-09-15 15:25:55 -07:00
David Tolnay
2cf10a6003
Remove separate proc-macro2/nightly build
...
This feature is automatically enabled on sufficiently new compilers.
2018-09-15 15:25:19 -07:00
David Tolnay
23a53d8008
Remove unused proc-macro2 dependency in test suite
2018-09-15 15:12:47 -07:00
David Tolnay
9956589ed5
Release 1.0.79
2018-09-15 14:40:38 -07:00
David Tolnay
81a3f66d78
Ignore unseparated_literal_suffix pedantic lint
2018-09-11 23:08:13 -07:00
David Tolnay
a8247bc619
Sort the ignored lints in serde_derive
2018-09-11 23:08:00 -07:00
David Tolnay
66a9ccb10e
Ignore renamed_and_removed_lints lint
...
The recommended replacement involving clippy::all has not been
stabilized yet.
2018-09-11 23:05:33 -07:00
David Tolnay
53fe1b328e
Format with rustfmt 0.99.4
2018-09-11 23:00:08 -07:00
David Tolnay
2753ec757b
Merge pull request #1382 from roblabla/serde-other
...
Implement #[serde(other)] on enum variant
2018-09-11 22:59:30 -07:00
roblabla
dcd2232f69
Enforce unit struct for #[serde(other)]
2018-09-11 17:12:37 +00:00
roblabla
0156f1355a
Remove obsolete compile-fail test
2018-09-10 17:15:22 +00:00
roblabla
61bf901048
Fix for rust 1.15
2018-09-10 17:12:33 +00:00
roblabla
7870b58356
Add tests for serde(other) in enum
2018-09-10 16:25:02 +00:00
roblabla
8cc7e6aa90
Implement #serde(other) on enum variant
2018-09-10 15:12:15 +00:00
David Tolnay
7b50388fef
Release 1.0.78
2018-09-08 17:10:41 -07:00
David Tolnay
e704990322
Merge pull request #1380 from dtolnay/f
...
Fix panic deserializing flattened any after flattened struct
2018-09-08 17:10:01 -07:00
David Tolnay
2a4b8ce42d
Fix panic deserializing flattened any after flattened struct
2018-09-08 16:55:34 -07:00
David Tolnay
108cca687c
Release 1.0.77
2018-09-06 21:36:27 -07:00
David Tolnay
bca8c115c7
Merge pull request #1372 from dtolnay/syn
...
Update to syn 0.15
2018-09-06 21:34:14 -07:00
David Tolnay
b49bd52a53
Use parse_macro_input to report parse errors
2018-09-06 21:16:12 -07:00
David Tolnay
27bd640812
Update to syn 0.15
2018-09-06 21:16:08 -07:00
David Tolnay
8d5cda8464
Merge pull request #1376 from dreid/fix-internally-tagged-enum-deserialization-with-unknown-fields
...
Fix internally tagged enum deserialization with unknown fields
2018-09-06 21:10:41 -07:00
David Reid
389b9b5fe7
Add a test for an internally tagged unit enum flattened with a second internally tagged unit enum.
2018-09-06 14:55:10 -07:00
David Reid
27478b6f71
Internally tagged unit enum variants should ignore unknown fields.
2018-09-06 14:29:49 -07:00
David Tolnay
480f858fc3
Update panic_handler attribute name changed in nightly
2018-09-03 08:24:27 -07:00
David Tolnay
7d752c5a60
Merge pull request #1373 from dtolnay/emscripten
...
Add Emscripten build in Travis
2018-09-02 13:56:41 -07:00
David Tolnay
33b7841300
Skip asmjs
2018-09-02 13:21:36 -07:00
David Tolnay
2244b92eb0
Nvm install in .travis.yml
...
The one in travis.sh was failing:
./travis.sh: line 56: nvm: command not found
The command "./travis.sh" exited with 127.
2018-09-02 12:45:12 -07:00
David Tolnay
d0464fbff7
Add Emscripten build in Travis
2018-09-02 12:34:13 -07:00
David Tolnay
98eddf9b29
Update to syn 0.15-rc1
2018-09-01 23:03:59 -07:00
David Tolnay
d23a40c1bb
Format with rustfmt 0.99.2
2018-09-01 23:03:41 -07:00
David Tolnay
55cecace29
Release 1.0.76
2018-09-01 15:25:53 -07:00
David Tolnay
3da0deaa50
Merge pull request #1371 from hcpl/nonzero_u128
...
Add support for `NonZeroU128`
2018-09-01 15:25:10 -07:00
hcpl
585550a5be
Add support for NonZeroU128
2018-09-02 00:34:56 +03:00
David Tolnay
5b7b8abf9f
Move some compile-fail errors based on proc-macro2 update
2018-08-28 20:35:49 -07:00
David Tolnay
2aab0ce2f6
Release 1.0.75
2018-08-24 23:03:04 -04:00
David Tolnay
a157c56d7d
Merge pull request #1367 from Eh2406/master
...
update a deb for minimal-versions
2018-08-24 23:02:02 -04:00
Eh2406
6c45593ee4
update a deb for minimal-versions
2018-08-24 22:50:17 -04:00
David Tolnay
1175d54fb7
Stabilize raw_identifiers
2018-08-24 19:49:13 -04:00
David Tolnay
cfdbbee845
Release 1.0.74
2018-08-23 18:29:16 -04:00
David Tolnay
c1583bf2b8
Merge pull request #1365 from koute/master
...
Disable i128 integers on Emscripten targets
2018-08-23 18:28:51 -04:00
Jan Bujak
7385b50249
Disable i128 integers on Emscripten targets
2018-08-24 00:02:40 +02:00
David Tolnay
db6aaf5110
Release 1.0.73
2018-08-22 21:47:15 -04:00
David Tolnay
c4a4501d71
Merge pull request #1363 from dtolnay/raw
...
Trim the r# from raw identifiers in user-facing strings
2018-08-22 21:46:31 -04:00
David Tolnay
a3ae14d090
Test raw identifiers
2018-08-22 21:09:37 -04:00
David Tolnay
dc4bb0bf08
Trim the r# from raw identifiers in user-facing strings
2018-08-22 20:50:29 -04:00
David Tolnay
c69a3e083f
Merge pull request #1360 from Pratyush/master
...
Update travis.sh to also test `--no-default-features --features "rc alloc"`
2018-08-20 21:38:55 -04:00
Pratyush Mishra
c790bd2a69
Update travis.sh
2018-08-20 18:30:43 -07:00
David Tolnay
60cbbacdb3
Release 1.0.72
2018-08-20 21:02:03 -04:00
David Tolnay
befc7edc17
Merge pull request #1359 from Pratyush/master
...
Fix compilation under `rc` feature
2018-08-20 21:00:47 -04:00
Pratyush Mishra
3897ccb3f9
Fix compilation under rc feature
2018-08-20 14:35:48 -07:00
David Tolnay
11c5fd78ad
Abbreviate and touch up some attribute parsing comments
2018-08-14 22:37:59 -07:00
David Tolnay
cbfdba3826
Use rustfmt to wrap and format comments
2018-08-14 22:32:27 -07:00
David Tolnay
5985b7edaf
Format with rustfmt 0.99.2
2018-08-14 19:59:20 -07:00
David Tolnay
d28a0e66c8
Fix old reference to serde_codegen
2018-08-12 10:54:59 -07:00
David Tolnay
0ca4db1616
Move untagged borrow test case into codegen tests
2018-08-12 10:54:29 -07:00
David Tolnay
72b3438dfc
Merge pull request #1338 from toidiu/ak-untagged-enum
...
test borrowing untagged enum
2018-08-12 10:49:15 -07:00
David Tolnay
c7051ac748
Update links to a renamed manual chapter
2018-08-12 10:48:20 -07:00
David Tolnay
a065db9838
Add AppVeyor badge to rest of crates
2018-08-07 00:15:12 -07:00
David Tolnay
24c4df7831
Release 1.0.71
2018-08-06 23:55:55 -07:00
David Tolnay
a077ae039e
Merge pull request #1349 from dtolnay/range
...
Share some code between the Range and RangeInclusive impls
2018-08-06 23:30:03 -07:00
David Tolnay
20b34d3b43
Share some code between the Range and RangeInclusive impls
2018-08-06 23:16:47 -07:00
David Tolnay
b5451d1905
Merge pull request #1348 from dtolnay/range
...
Provide ops::Range impls whether or not std is used
2018-08-06 23:04:26 -07:00
David Tolnay
e26960f7f8
Remove useless run-pass test
...
When originally added, this test used to contain a `#![plugin(clippy)]`.
This was removed at some point along the way, at which point this test
no longer tests anything. It prints:
warning: unknown lint: `identity_op`
--> src/main.rs:1:9
|
1 | #![deny(identity_op)]
| ^^^^^^^^^^^
|
= note: #[warn(unknown_lints)] on by default
which is swallowed and ignored by compiletest.
Nowadays Clippy handles warnings inside of macro expanded code
intelligently and this is something they would be responsible for
testing.
2018-08-06 22:57:46 -07:00
David Tolnay
228b5a4a63
Provide ops::Range impls whether or not std is used
2018-08-06 22:49:09 -07:00
David Tolnay
28db9d4989
Format with rustfmt 0.99.1
2018-08-06 22:40:28 -07:00
David Tolnay
5fff0d936d
Merge pull request #1347 from c410-f3r/master
...
Implement Serialize and Deserialize for RangeInclusive
2018-08-06 22:36:12 -07:00
Caio
8eb195edf0
Fix tests
2018-08-05 17:38:41 -03:00
Caio
8b2e6baf78
Implement Serialize and Deserialize for RangeInclusive
2018-08-05 10:45:50 -03:00
toidiu
3ca0597a7e
test borrowing untagged enum
2018-07-12 17:12:27 -04:00
David Tolnay
4e54aaf796
Format with rustfmt 0.8.2
2018-07-08 19:02:44 -07:00
David Tolnay
4cddcbe194
Release 1.0.70
2018-07-06 20:21:26 -07:00
David Tolnay
54b6798ef6
Merge pull request #1336 from dtolnay/collections
...
Update path to alloc::collections for nightly-2018-07-07
2018-07-06 20:19:59 -07:00
David Tolnay
229a9d90ba
Update path to alloc::collections for nightly-2018-07-07
2018-07-06 20:04:23 -07:00
David Tolnay
3bcd568c86
Release 1.0.69
2018-06-30 23:40:28 -07:00
David Tolnay
dc56077aac
Local inner macros
2018-06-30 23:38:14 -07:00
David Tolnay
46bd36e17c
Link to issue picker
2018-06-30 10:30:14 -07:00
David Tolnay
5dee9118c7
Factor out the getting help links
2018-06-30 10:29:36 -07:00
David Tolnay
a916aa9420
Release 1.0.68
2018-06-28 09:31:12 -07:00
David Tolnay
d9c63d0784
Merge pull request #1324 from jechase/suppress_2018_warning
...
Suppress 'extern crate' warning for rust 2018
2018-06-28 09:30:40 -07:00
Josh Chase
41dcb969e8
Shut clippy up
2018-06-28 11:12:27 -04:00
Josh Chase
6dbaea34ba
Suppress 'extern crate' warning for rust 2018
2018-06-28 10:51:57 -04:00
David Tolnay
ce17301b8b
Release 1.0.67
2018-06-27 00:18:03 -07:00
David Tolnay
b0e78c6be4
Format with rustfmt 0.8.2
2018-06-27 00:16:06 -07:00
David Tolnay
898f65fa46
Merge pull request #1323 from dtolnay/format-args
...
Implement Serialize for core::fmt::Arguments
2018-06-27 00:15:55 -07:00
David Tolnay
84e384196d
Implement Serialize for core::fmt::Arguments
2018-06-26 23:58:16 -07:00
David Tolnay
d827b101d9
Resolve default_trait_access lint
2018-06-26 23:58:02 -07:00
David Tolnay
c45ab6b304
Ignore indexing_slicing pedantic lint
2018-06-26 23:56:39 -07:00
David Tolnay
cc9d85b293
Work around unused_imports rustdoc bug
2018-06-26 23:54:32 -07:00
David Tolnay
02493d83be
Ignore indexing_slicing pedantic lint
2018-06-26 23:39:26 -07:00
David Tolnay
a1280c672a
Switch no-std panic to #[panic_implementation]
2018-06-04 10:13:29 -07:00
David Tolnay
a740f76772
Update no-std panic signature for nightly-2018-06-03
2018-06-03 23:15:16 -07:00
David Tolnay
a887db398b
Release 1.0.66
2018-06-03 11:45:20 -07:00
Oliver Schneider
e1ae3c71f3
Merge pull request #1304 from dtolnay/ci
...
CI builders for all versions mentioned in the build script
2018-06-03 10:44:32 +02:00
David Tolnay
d094209774
CI builders for all versions mentioned in the build script
...
This should prevent accidentally inserting something under one of these
cfgs that is available only on a newer rustc. For example if something
is changed in the Duration serialization, but that change works only on
a recent rustc, our test suite will not have caught it before.
2018-06-03 01:26:58 -07:00
David Tolnay
485a64aaf9
Visitor for types that parse from a string
2018-06-03 01:19:46 -07:00
David Tolnay
3e57cd5917
Merge pull request #1303 from dtolnay/duration
...
Support Duration in no-std mode on new compilers
2018-06-03 01:05:39 -07:00
David Tolnay
b6c4cfec37
Support Duration in no-std mode on new compilers
2018-06-03 00:55:58 -07:00
David Tolnay
94853752a1
Stabilize some unstable tests in test suite
2018-06-03 00:31:20 -07:00
David Tolnay
bd366f675e
Merge pull request #1302 from dtolnay/never
...
Implement traits for `!`
2018-06-03 00:30:19 -07:00
David Tolnay
22b1af7eb3
Test never_type
2018-06-03 00:22:11 -07:00
David Tolnay
fd6178cad6
IntoDeserializer for !
2018-06-03 00:12:02 -07:00
David Tolnay
338fb67853
Implement traits for !
2018-06-03 00:02:29 -07:00
David Tolnay
0a71fe329c
Format the compile-test sources with rustfmt 0.8.2
2018-06-02 22:30:55 -07:00
David Tolnay
a4acc83282
Place compile-fail expected errors on their own line
2018-06-02 22:28:05 -07:00
David Tolnay
57de28744c
These match-expressions are implementing unwrap_or_else
2018-06-02 22:09:04 -07:00
David Tolnay
6d31ec521b
Remove leftover import from compile_error change
2018-06-02 22:01:45 -07:00
David Tolnay
7ad3d17e59
Merge pull request #1297 from adamcrume/master
...
Use compile_error! instead of panicking
2018-06-02 22:00:24 -07:00
Adam Crume
05e931b9a5
Update tests and use quote! macro
2018-06-02 21:11:42 -07:00
David Tolnay
2db2b53bbf
Release 1.0.65
2018-06-01 13:00:58 -07:00
David Tolnay
d5ec3efe49
Merge pull request #1299 from dtolnay/flattenmap
...
Allow multiple flattened maps to see the same fields
2018-06-01 13:00:45 -07:00
David Tolnay
71fc318474
Merge pull request #1300 from dtolnay/refcell
...
Use try_borrow for serializing RefCell
2018-06-01 12:58:03 -07:00
David Tolnay
5ee2fc0562
Allow multiple flattened maps to see the same fields
...
Before this change, flattening anything after a flattened map was
nonsensical because the later flattened field would always observe no
input fields.
#[derive(Deserialize)]
struct S {
#[serde(flatten)]
map: Map<K, V>,
#[serde(flatten)]
other: Other, // always empty
}
This change makes a flattened map not consume any of the input fields,
leaving them available to later flattened fields in the same struct. The
new behavior is useful when two flattened fields that both use
deserialize_map care about disjoint subsets of the fields in the input.
#[derive(Deserialize)]
struct S {
// Looks at fields with a "player1_" prefix.
#[serde(flatten, with = "prefix_player1")]
player1: Player,
// Looks at fields with a "player2_" prefix.
#[serde(flatten, with = "prefix_player2")]
player2: Player,
}
2018-06-01 12:50:23 -07:00
David Tolnay
ca53daf697
Fix RefCell serialize impl to work with no-std
2018-06-01 12:47:10 -07:00
Konrad Borowski
c3b9ee314b
Use try_borrow for serializing RefCell
2018-06-01 09:09:40 +02:00
Adam Crume
993710eb16
Use compile_error! instead of panicking
...
Fixes #1168
2018-05-31 19:57:23 -07:00
David Tolnay
dbaf2893e3
Release 1.0.64
2018-05-30 00:17:45 -07:00
David Tolnay
34a7108b73
Second attempt at workaround for docs.rs compiler
2018-05-30 00:17:02 -07:00
David Tolnay
db2bafd3f3
Revert "Work around docs.rs using an old 1.26-dev compiler"
...
This reverts commit c81bab18ad .
2018-05-30 00:13:20 -07:00
David Tolnay
1b6fbf1023
Release 1.0.63
2018-05-28 20:12:08 -07:00
David Tolnay
c81bab18ad
Work around docs.rs using an old 1.26-dev compiler
2018-05-28 19:58:27 -07:00
David Tolnay
a39199e9f7
Reword Avro blurb
...
- Emphasize the association with Apache Hadoop,
- Rephrase "schematized data" because that term returns not many Google
results, doesn't seem widely recognized.
2018-05-27 19:39:50 -07:00
David Tolnay
b0ad1e56e8
Move Avro above deserialization-only formats
2018-05-27 19:31:05 -07:00
David Tolnay
ab53448bc3
Merge pull request #1260 from flavray/master
...
Add Avro to the list of supported data formats
2018-05-27 19:29:19 -07:00
David Tolnay
c50c9d8862
Simplify readme as rendered on crates.io
2018-05-27 19:18:30 -07:00
David Tolnay
cc4f289758
Link from readme to new playground
2018-05-27 19:07:46 -07:00
David Tolnay
a2a9041549
Fix warning about unresolved [u8] and [T] links
2018-05-27 14:35:55 -07:00
David Tolnay
a65950acca
Link to more complete explanation of the data model
2018-05-27 14:11:02 -07:00
David Tolnay
0fbf4d0c5d
Link to example data format from trait rustdocs
2018-05-27 14:05:50 -07:00
David Tolnay
983bf8c090
Release 1.0.62
2018-05-26 18:59:03 -07:00
David Tolnay
f2afa89ff1
Explain the pattern for optional Serde derives
2018-05-26 17:59:53 -07:00
David Tolnay
8b4f9c47c4
Build script rustc-cfg strings are not public API
2018-05-26 17:23:09 -07:00
David Tolnay
06d8a44f18
Move unimportant code out of build script main
2018-05-26 17:18:14 -07:00
David Tolnay
fffdceca95
Link to "Understanding deserializer lifetimes"
2018-05-26 17:08:46 -07:00
David Tolnay
794b769e6b
Merge pull request #1288 from dtolnay/copy
...
Implement Copy for value deserializers of primitive types
2018-05-26 16:05:12 -07:00
David Tolnay
927ec7d38e
Implement Copy for value deserializers of primitive types
2018-05-26 15:56:57 -07:00
David Tolnay
cd0b2d312c
Merge pull request #1286 from dtolnay/into128
...
Implement IntoDeserializer for i128 and u128
2018-05-26 15:36:46 -07:00
David Tolnay
ea118e11a0
Test the 128-bit IntoDeserializer impls
2018-05-26 15:21:37 -07:00
David Tolnay
0ff4882cab
Implement IntoDeserializer for i128 and u128
2018-05-26 15:15:07 -07:00
David Tolnay
7407d71417
Release 1.0.61
2018-05-26 10:38:18 -07:00
David Tolnay
9faa11fd9a
Update list of impls to show NonZero* stable
2018-05-26 10:37:08 -07:00
David Tolnay
5310bd87ae
Remove unneeded core import
...
This was previously used by the unstable nonzero impls.
#[cfg(feature = "unstable")]
use core::num::{NonZeroU16, NonZeroU32, NonZeroU64, NonZeroU8, NonZeroUsize};
2018-05-26 10:37:06 -07:00
David Tolnay
99091d5925
Merge pull request #1285 from dtolnay/rcdst
...
Stabilize impls for dynamically sized Rc / Arc
2018-05-26 10:36:52 -07:00
David Tolnay
320a059e4b
Stabilize impls for dynamically sized Rc / Arc
2018-05-26 10:06:29 -07:00
David Tolnay
8a596951bf
Merge pull request #1284 from serde-rs/boxcstr
...
Stabilize Deserialize for Box<CStr>
2018-05-26 10:06:14 -07:00
David Tolnay
350406e827
Merge pull request #1283 from serde-rs/dep
...
Specify serde version required by serde_test
2018-05-26 09:53:47 -07:00
David Tolnay
7ec3cac7d6
Stabilize Deserialize for Box<CStr>
2018-05-26 09:48:50 -07:00
David Tolnay
ad47bd132b
Specify serde version required by serde_test
2018-05-26 09:42:31 -07:00
David Tolnay
1385aac208
Release 1.0.60
2018-05-25 16:05:01 -07:00
David Tolnay
b279ebb244
Merge pull request #1263 from serde-rs/integer128
...
Add Serde impls for i128 and u128
2018-05-25 16:03:08 -07:00
David Tolnay
039ebc63a1
Merge pull request #1278 from SimonSapin/stable-nonzero
...
Implement for std::num::NonZero* on Rust 1.28+
2018-05-24 09:47:10 -07:00
Simon Sapin
defd8853b1
Implement for std::num::NonZero* on Rust 1.28+
...
… regardless of the `unstable` feature. Fix #1274 .
2018-05-24 18:06:24 +02:00
David Tolnay
7d73089b7c
Milder and more general wording for feature requests
2018-05-22 21:30:25 -07:00
David Tolnay
06dcbbbaba
Format with rustfmt 0.7.0
2018-05-22 21:27:37 -07:00
David Tolnay
ad62a6895c
Merge pull request #1275 from serde-rs/nightly
...
Re-enable testing of nightly proc macro
2018-05-22 21:16:10 -07:00
David Tolnay
ced57a9e5f
Re-enable testing of nightly proc macro
2018-05-22 21:02:45 -07:00
David Tolnay
b5f083e6f4
Update test suite to proc-macro2 0.4
2018-05-21 09:23:00 -07:00
David Tolnay
4de20bd48d
Release 1.0.59
2018-05-21 03:51:32 -07:00
David Tolnay
9083cf4b00
Test integer128 impls
2018-05-20 22:17:35 -07:00
David Tolnay
c17bc6c49c
Add 128-bit deserialization in serde_test
2018-05-20 22:17:35 -07:00
David Tolnay
e883dc1bba
Include i128 and u128 in forward_to_deserialize_any invocations
2018-05-20 22:17:34 -07:00
David Tolnay
412bedc192
Document conditional compilation of 128-bit methods
2018-05-20 22:17:33 -07:00
David Tolnay
4615e428e8
Document serde_if_integer128 macro
2018-05-20 22:17:32 -07:00
David Tolnay
26fec05611
Add Serde impls for i128 and u128
2018-05-20 22:17:31 -07:00
David Tolnay
fdb51cc7dc
Add integer128 to Serde traits
2018-05-20 22:17:30 -07:00
David Tolnay
5510f758f8
Add a macro conditional on integer128 support
2018-05-20 22:17:29 -07:00
David Tolnay
922fadf7e3
Merge pull request #1270 from serde-rs/transparent
...
Transparent attribute to specify that representation is the same as its only field
2018-05-20 22:17:07 -07:00
David Tolnay
6bbc415fdf
Resolve conflicts between transparent and proc-macro2 upgrade
2018-05-20 21:57:23 -07:00
David Tolnay
b13875dd97
Add compile-fail tests for transparent error messages
2018-05-20 21:55:50 -07:00
David Tolnay
ac1b25e91d
Improve error messages related to transparent
2018-05-20 21:55:48 -07:00
David Tolnay
1335f85213
Test transparent attribute
2018-05-20 21:55:21 -07:00
David Tolnay
0a4d536253
Implement transparent deserialize
2018-05-20 21:55:20 -07:00
David Tolnay
7dba1e303d
Implement transparent serialize
2018-05-20 21:55:19 -07:00
David Tolnay
0ea9d73fdf
Validate use of serde(transparent)
2018-05-20 21:55:18 -07:00
David Tolnay
a64aaeeb3b
Parse serde(transparent) container attribute
2018-05-20 21:55:16 -07:00
David Tolnay
320897679b
Merge pull request #1273 from serde-rs/up
...
Update to proc-macro2 0.4
2018-05-20 21:54:07 -07:00
David Tolnay
3d5141a2f1
Update to proc-macro2 0.4
2018-05-20 20:55:14 -07:00
David Tolnay
656ea96c65
Remove reminders about flatten in a sequence
2018-05-20 12:42:40 -07:00
David Tolnay
5302482596
Simplify deserialize_seq_in_place
2018-05-20 12:40:35 -07:00
David Tolnay
7ada27014d
Track field index in internal AST
2018-05-20 12:40:28 -07:00
David Tolnay
4fa2a50f62
Format with rustfmt 0.7.0
2018-05-19 17:33:30 -07:00
David Tolnay
0c5f20c148
Release 1.0.58
2018-05-19 17:30:39 -07:00
David Tolnay
aa2bbb4704
Merge pull request #1269 from serde-rs/with
...
Fix generated code for deserializing untagged newtype variant
2018-05-19 17:30:30 -07:00
David Tolnay
16d1265e17
Fix generated code for deserializing untagged newtype variant
2018-05-19 17:20:14 -07:00
David Tolnay
f09320b293
Remove unused methods on FromPrimitive trait
2018-05-19 16:29:25 -07:00
David Tolnay
3b4803115b
Release 1.0.57
2018-05-18 23:31:33 -07:00
David Tolnay
fa5f0f4541
Remove EnumSet from documentation
...
These impls were removed in Serde 0.9.6.
2018-05-18 21:26:23 -07:00
David Tolnay
4b7f55bd42
Merge pull request #1265 from serde-rs/nonzero
...
Remove impls for NonZero<T>
2018-05-18 21:16:03 -07:00
David Tolnay
593bcb087d
Remove impls for NonZero<T>
2018-05-18 21:06:14 -07:00
David Tolnay
f58000cb41
Release 1.0.56
2018-05-18 12:37:06 -07:00
David Tolnay
01b86d5ce4
Merge pull request #1259 from serde-rs/build
...
Build script that does nothing
2018-05-18 12:35:13 -07:00
David Tolnay
c80f9238d7
Link to i128 announcement
2018-05-18 12:34:36 -07:00
David Tolnay
62850bf832
Disable nightly proc-macro build
2018-05-18 12:24:03 -07:00
David Tolnay
9f114548f4
Revert "Use version_check crate instead of handcrafted version parsing"
...
This reverts commit 8890061f82 .
2018-05-18 11:48:05 -07:00
Oliver Schneider
8890061f82
Use version_check crate instead of handcrafted version parsing
2018-05-18 14:41:40 +02:00
Flavien Raynaud
38d4f0e06c
Add Avro to the list of supported data formats
2018-05-16 16:22:25 +01:00
David Tolnay
2c05518810
Build script that does nothing
...
Eventually we will want a build script that enables Serde impls for i128
and u128. As a first step here is a build script that does nothing to
see whether we can roll this out without breaking anyone's workflow,
without having a supported feature at stake in the event that it needs
to be rolled back.
2018-05-15 14:41:38 -07:00
David Tolnay
4aeb0df88f
Add a button to clarify any other type of issue is welcome
2018-05-12 11:27:14 -07:00
David Tolnay
6550231a51
Release 1.0.55
2018-05-12 09:47:43 -07:00
David Tolnay
ea0012fc5a
Support deserializing bytes as the flattened identifier
2018-05-12 09:44:04 -07:00
David Tolnay
d6b62b9417
Release 1.0.54
2018-05-11 23:02:37 -07:00
David Tolnay
2ee347c5a5
Merge pull request #1256 from serde-rs/option
...
Support flattened untagged Options in struct fields
2018-05-11 23:01:37 -07:00
David Tolnay
4305260174
Support flattened untagged Options in struct fields
2018-05-11 22:14:16 -07:00
David Tolnay
35aae92b56
Remove playground feature
...
These days serde_derive is in the top 100 crates so it gets picked up
without needing this help from serde.
2018-05-11 01:28:20 -07:00
David Tolnay
f3f26796c7
Format with rustfmt 0.6.1
2018-05-10 09:11:19 -07:00
David Tolnay
d1460e1f0d
Release 1.0.53
2018-05-10 08:44:53 -07:00
David Tolnay
dfd81323d5
Cfg away a macro used only by flatten
2018-05-10 08:44:26 -07:00
David Tolnay
368961e961
Support deserializing flattened untagged enum
2018-05-10 08:33:47 -07:00
David Tolnay
f9c6f0ab62
Release 1.0.52
2018-05-09 13:01:41 -07:00
David Tolnay
b2b36e1764
Accept implicitly borrowed data inside of Option
2018-05-08 12:19:09 -07:00
David Tolnay
4ad140ea70
Improve error for struct deserialized from array that is too short
2018-05-08 12:03:35 -07:00
David Tolnay
67777eb585
Account for skip_serializing_if in tuple struct length
2018-05-08 11:49:37 -07:00
David Tolnay
b4e51fcc77
Respect skip_serializing in tuple structs and variants
2018-05-08 11:37:52 -07:00
David Tolnay
be7fe2a5eb
Introduce bound attribute on enum variants
2018-05-08 11:16:10 -07:00
David Tolnay
b4076f4577
Release 1.0.51
2018-05-08 10:07:45 -07:00
David Tolnay
c4181f46be
Respect variant skip attribute in inferred bounds
2018-05-07 21:30:00 -07:00
David Tolnay
8c0efc3d77
Add a variant skip attribute
2018-05-07 21:27:34 -07:00
David Tolnay
7e3efaf6c5
Improve error when a 'de lifetime parameter already exists
2018-05-07 21:15:44 -07:00
David Tolnay
12fe42ed45
Support empty adjacently tagged enum
2018-05-07 21:02:42 -07:00
David Tolnay
7cd4f49c76
Release 1.0.50
2018-05-07 13:51:32 -07:00
David Tolnay
ff9c85d47f
Merge pull request #1252 from serde-rs/precondition
...
Detect deserialize on a struct ending in dynamically sized slice
2018-05-07 13:50:48 -07:00
David Tolnay
0025ef9aba
Detect deserialize on a struct ending in dynamically sized slice
2018-05-07 11:52:59 -07:00
David Tolnay
536bdd77a0
Release 1.0.49
2018-05-07 11:51:15 -07:00
David Tolnay
6993b983d2
Merge pull request #1251 from serde-rs/weak
...
Add impls for Weak
2018-05-07 11:50:35 -07:00
David Tolnay
4bfeb05f22
Prefer Self and associated types in de impls
2018-05-07 11:36:41 -07:00
David Tolnay
4687c1b52b
Test Weak deserialize impls
2018-05-07 11:23:18 -07:00
David Tolnay
a58abae193
Test Weak serialize impls
2018-05-07 11:23:17 -07:00
David Tolnay
0bc9c729b3
Add impls for Weak
2018-05-07 11:23:16 -07:00
David Tolnay
dc921892be
Eliminate map_or(None, f)
2018-05-07 11:23:04 -07:00
David Tolnay
62557731c3
Enable pedantic clippy lints in serde_derive
2018-05-07 11:03:09 -07:00
David Tolnay
ab62cd3b28
Eliminate loop that does not loop
2018-05-07 10:46:54 -07:00
David Tolnay
30824e9f61
Release 1.0.48
2018-05-07 10:22:26 -07:00
David Tolnay
eecc0870fc
Test for pub(restricted)
2018-05-06 23:22:27 -07:00
David Tolnay
6475e73b05
Less horrible logic for missing fields that unconditionally return error
2018-05-06 22:20:35 -07:00
David Tolnay
697234517d
Merge pull request #1249 from serde-rs/empty
...
Fix adjacently tagged empty tuple variant or struct variant
2018-05-06 22:20:27 -07:00
David Tolnay
3cd9d071c2
Fix adjacently tagged empty tuple variant or struct variant
2018-05-06 21:50:40 -07:00
David Tolnay
9dc05c36f0
Release 1.0.47
2018-05-06 21:39:21 -07:00
David Tolnay
972cc06fed
Format the flatten tests using rustfmt 0.6.1
2018-05-06 21:38:41 -07:00
David Tolnay
20013464f8
Merge pull request #1248 from serde-rs/flatten
...
Support flatten in enums
2018-05-06 21:37:32 -07:00
David Tolnay
2009b4da5f
Remove old flatten in enum compile-fail test
2018-05-06 21:26:40 -07:00
David Tolnay
0b72c86a35
Add tests for flatten in enums
2018-05-06 21:23:20 -07:00
David Tolnay
94b857057b
Support deserializing enums containing flatten
2018-05-06 20:41:02 -07:00
David Tolnay
979df3427b
Support serializing enums containing flatten
2018-05-06 20:14:35 -07:00
David Tolnay
978d64993e
Allow flatten attribute in enums
2018-05-06 20:14:28 -07:00
David Tolnay
5098609935
Release 1.0.46
2018-05-06 13:44:55 -07:00
David Tolnay
6374467f02
Merge pull request #1245 from serde-rs/flat
...
Support deserializing a flattened internally tagged enum
2018-05-06 13:43:44 -07:00
David Tolnay
1f9fc61b98
Merge pull request #1246 from serde-rs/internals
...
Move derive internals into serde_derive crate
2018-05-05 23:58:41 -07:00
David Tolnay
3859f58d9b
Move derive internals into serde_derive crate
...
We can continue to publish serde_derive_internals independently but
serde_derive no longer has a dependency on it. This improves compile
time of serde_derive by 7%.
2018-05-05 23:46:30 -07:00
David Tolnay
aac1c65033
Simplify implementation of flattened internally tagged enum
...
The fact that the tag entry is consumed was only observable if there is
a later flattened map field, at which point the behavior is already
confusing anyway.
#[derive(Deserialize)]
struct Example {
#[serde(flatten)]
a: InternallyTagged,
#[serde(flatten)]
rest: BTreeMap<String, Value>,
}
Before this simplification the map would receive all the fields of the
internally tagged enum but not its tag, after it receives all the fields
including the tag.
2018-05-05 22:30:46 -07:00
David Tolnay
d8120e19bc
Support deserializing a flattened internally tagged enum
2018-05-05 21:52:16 -07:00
David Tolnay
ed425b3a6f
Clean up indentation in VariantAccess doc
2018-05-05 18:40:28 -07:00
David Tolnay
d1297deb36
Format where-clauses in serde docs like rustfmt
2018-05-05 18:33:33 -07:00
David Tolnay
f263e3fcec
Format serde_derive generated where-clauses
2018-05-05 18:24:16 -07:00
David Tolnay
40479336c1
Format serde_test doc where-clauses in the style of rustfmt
2018-05-05 18:20:26 -07:00
David Tolnay
6ca4dd2c4a
Add an issue suggestion for documentation improvements
2018-05-05 10:01:54 -07:00
David Tolnay
c04c233838
Generalize the help issue type
2018-05-05 10:00:17 -07:00
David Tolnay
175c638fdc
Set up some issue templates
2018-05-05 01:45:24 -07:00
David Tolnay
97eff8e875
Format with rustfmt 0.6.1
2018-05-05 00:56:12 -07:00
David Tolnay
47676cdb49
Clean up references to Ident
2018-05-05 00:45:30 -07:00
David Tolnay
93bddb361e
Fix toplevel_ref_arg lint
2018-05-05 00:39:26 -07:00
David Tolnay
adb1c9540d
Remove a layer of wrapping in deserialize_with untagged newtype variant
2018-05-05 00:25:27 -07:00
David Tolnay
0e1d065402
Format with rustfmt 0.6.1
2018-05-05 00:18:21 -07:00
David Tolnay
8c3b52e308
Remove a layer of wrapping in deserialize_with newtype struct
2018-05-05 00:17:00 -07:00
David Tolnay
3f0d3453d8
Release 1.0.45
2018-05-02 15:18:17 -07:00
David Tolnay
b27a27ce22
Merge pull request #1241 from serde-rs/pretend
...
Pretend remote derives are not dead code
2018-05-02 15:17:19 -07:00
David Tolnay
80c0600657
Merge pull request #1243 from serde-rs/ci
...
Add a CI build on 1.15.0
2018-05-02 15:17:10 -07:00
David Tolnay
77f9e63661
Add a CI build on 1.15.0
2018-05-02 14:29:51 -07:00
David Tolnay
b78f434086
Pretend remote derives are not dead code
2018-05-02 14:23:59 -07:00
David Tolnay
893c0578dd
Release 1.0.44
2018-05-01 22:34:27 -07:00
David Tolnay
cb2b92f828
Handle flatten + deserialize_with
2018-05-01 22:25:06 -07:00
David Tolnay
47a4ffbd31
Fill in missing fully qualified paths in flatten
2018-05-01 22:24:25 -07:00
David Tolnay
d82d1707d6
Format with rustfmt 0.6.0
2018-04-30 01:42:46 -07:00
David Tolnay
89278996c5
Release 1.0.43
2018-04-23 11:23:58 -07:00
David Tolnay
ecef937e26
Merge pull request #1234 from serde-rs/newtype
...
Unpack a layer of NewtypeStruct when content is newtype
2018-04-23 11:23:21 -07:00
David Tolnay
bceda5fb18
Unpack a layer of NewtypeStruct when content is newtype
2018-04-23 11:04:42 -07:00
David Tolnay
f46a08b04e
Merge pull request #1231 from ignatenkobrain/patch-1
...
derive: bump min version of quote to 0.5.2
2018-04-22 16:48:11 -07:00
Igor Gnatenko
f3cb7c7a32
derive: bump min version of quote to 0.5.2
...
Fixes: https://github.com/serde-rs/serde/issues/1230
2018-04-22 09:22:47 +02:00
David Tolnay
af795e2e54
Release 1.0.42
2018-04-21 15:16:10 -07:00
David Tolnay
6aa07fe0d6
Merge pull request #1229 from serde-rs/cold
...
Mark error construction as cold code
2018-04-21 14:57:11 -07:00
David Tolnay
c455720f81
Mark error construction as cold code
...
This eliminates 12% of the Serde-related code in the Xi release binary
as measured by:
nm -S target/release/xi-core \
| awk '/serde/{sum += strtonum("0x"$2)} END{print sum}'
2018-04-21 14:41:14 -07:00
David Tolnay
b07a208716
Merge pull request #1228 from serde-rs/untagged
...
Reduce instantiations of Result::map in Deserialize of unit variants
2018-04-21 13:46:36 -07:00
David Tolnay
df93fab5fa
Reduce instantiations of Result::map in Deserialize of unit variants
...
This eliminates 110 instantiations of Result::map in Xi and reduces
binary size by 229 kilobytes.
2018-04-21 13:27:17 -07:00
David Tolnay
1a972d2105
Merge pull request #1227 from serde-rs/ser
...
Improve Serialize of adjacently tagged newtype variants
2018-04-21 12:10:28 -07:00
David Tolnay
6d1807bb4a
Improve Serialize of adjacently tagged newtype variants
...
The existing implementation was unnecessarily complicated.
struct __AdjacentlyTagged<'__a> {
data: (&'__a String,),
phantom: _serde::export::PhantomData<AdjacentlyTagged>,
}
impl<'__a> _serde::Serialize for __AdjacentlyTagged<'__a> {
fn serialize<__S>(
&self,
__serializer: __S,
) -> _serde::export::Result<__S::Ok, __S::Error>
where
__S: _serde::Serializer,
{
let (__field0,) = self.data;
_serde::Serialize::serialize(__field0, __serializer)
}
}
_serde::ser::SerializeStruct::serialize_field(
&mut __struct,
"content",
&__AdjacentlyTagged {
data: (__field0,),
phantom: _serde::export::PhantomData::<AdjacentlyTagged>,
},
)?;
Instead the new implementation does simply:
_serde::ser::SerializeStruct::serialize_field(
&mut __struct,
"content",
__field0,
)?;
2018-04-21 11:41:39 -07:00
David Tolnay
b37cf858ce
Remove unneeded quote_spanned that uses call_site
2018-04-21 11:33:39 -07:00
David Tolnay
5f8fa33756
Quote's default has changed to call_site
2018-04-21 11:33:38 -07:00
David Tolnay
f3f006f411
Merge pull request #1226 from serde-rs/try
...
More efficient try!() alternative
2018-04-21 11:33:28 -07:00
David Tolnay
607966dcf7
Fix error message type inference in compile-fail/remote/wrong_de.rs
2018-04-21 11:21:13 -07:00
David Tolnay
6a8c39b2aa
More efficient try!() alternative
2018-04-21 10:53:13 -07:00
David Tolnay
382f3c2771
Release 1.0.41
2018-04-19 22:13:45 -07:00
David Tolnay
85ca12a8c3
Deserialize any integer from any buffered integer type
2018-04-19 22:11:14 -07:00
David Tolnay
541f9180cf
Release 1.0.40
2018-04-19 10:31:33 -07:00
David Tolnay
3c4961c48e
Lenient byte and string deserialization from buffered content
2018-04-19 10:21:55 -07:00
David Tolnay
184264ee92
Release 1.0.39
2018-04-17 11:35:45 -07:00
David Tolnay
6050229e7e
Simplify counting remaining elements
2018-04-17 00:15:09 -07:00
David Tolnay
e1db820c9f
Implement all &Content deserializer hints
2018-04-17 00:15:05 -07:00
David Tolnay
0081cc961d
Implement all Content deserializer hints
2018-04-17 00:14:59 -07:00
David Tolnay
9bc05803fe
Fix clippy lint about literal in format string
2018-04-15 22:07:47 -07:00
David Tolnay
8d113e67d6
Release 1.0.38
2018-04-14 20:30:18 -07:00
David Tolnay
6e206ce053
Name formatter args with a leading double underscore
2018-04-13 00:21:21 -07:00
David Tolnay
47fc9af472
Emit borrowed methods only if collect_other_fields
...
Without collect_other_fields, the visit_borrowed_str and
visit_borrowed_bytes implementations that were being generated were
identical to their default implementation of forwarding to visit_str and
visit_bytes.
2018-04-13 00:17:34 -07:00
David Tolnay
1651f86d56
Simplify Option that is always Some
2018-04-13 00:17:30 -07:00
David Tolnay
1157ac0118
Eliminate unnecessary braces in wrap_deserialize_variant_with
2018-04-12 23:48:38 -07:00
David Tolnay
202c10147e
Fix deserialize_with on a struct variant with one field
2018-04-12 23:44:53 -07:00
David Tolnay
9f38ca032e
Format with rustfmt 0.4.1
2018-04-12 23:04:47 -07:00
David Tolnay
00178ba795
Eliminate generic functions in bound.rs
2018-04-12 22:48:31 -07:00
David Tolnay
24700ebeb6
Move associated type search into with_bounds
2018-04-12 22:46:53 -07:00
David Tolnay
f06001c086
Name type_params consistently with Syn
2018-04-12 22:04:34 -07:00
David Tolnay
ec773fb7db
Make use of Generics::type_params iterator
2018-04-12 22:03:40 -07:00
David Tolnay
da8b457f66
Simplify with_where_predicates_from_fields
2018-04-12 21:47:08 -07:00
David Tolnay
a6e94e7122
Merge pull request #1213 from Osspial/assoc_type_derive
...
Support #[derive(Serialize, Deserialize)] when using associated types
2018-04-12 18:13:46 -07:00
Osspial
629bf7b354
Fix clippy warnings
2018-04-12 18:40:06 -04:00
Osspial
4415d10c61
Fix associated types only working for first generic parameter
...
Also, removes extraneous `where for`
2018-04-12 16:44:34 -04:00
Osspial
def8d6e8af
Add associated type test
2018-04-10 11:16:32 -04:00
Osspial
2e824e9aba
Limit type bounds to associated types
2018-04-10 10:53:37 -04:00
Osspial
fd14332729
Ignore skipped fields
2018-04-09 23:57:20 -04:00
Osspial
c413775574
Add partially-working where bounds for associated types
2018-04-09 23:22:18 -04:00
David Tolnay
5efb22ebee
Format no_std test code with rustfmt 0.4.1
2018-04-07 19:22:24 -07:00
David Tolnay
3e535325e1
Remove unused compiler_builtins_lib feature
2018-04-07 19:20:55 -07:00
David Tolnay
5653e5b15c
Remove eh_unwind_resume lang item
...
It appears this is no longer needed.
2018-04-07 19:20:07 -07:00
David Tolnay
8d85860064
Remove no longer needed compiler_builtins
...
The `compiler_builtins` crate is now automatically injected whenever the
`core` crate is injected.
2018-04-07 19:18:38 -07:00
David Tolnay
eed18ffab2
Release 1.0.37
2018-04-01 22:30:32 -07:00
David Tolnay
f8e1fa8ebc
Use Generics::make_where_clause helper
2018-04-01 22:25:50 -07:00
David Tolnay
860241aa88
Merge pull request #1205 from mitsuhiko/bugfix/tuple-struct-flatten
...
Produce error message for use of flatten in tuple structs
2018-04-02 07:09:39 +02:00
David Tolnay
6f6c60867d
Merge pull request #1204 from mitsuhiko/bugfix/flatten-struct-variant
...
Produce error message for use of flatten within struct variant
2018-04-02 07:09:23 +02:00
Armin Ronacher
77376f39ea
Produce error message for use of flatten in tuple structs
2018-04-01 22:11:21 +02:00
Armin Ronacher
302fac91a3
Produce error message for use of flatten within struct variant
2018-04-01 22:01:24 +02:00
David Tolnay
9c659d9d86
Format with rustfmt 0.4.1
2018-04-01 00:06:54 +02:00
David Tolnay
21698f264a
Merge pull request #1201 from alexcrichton/proc-macro2-v3
...
Update to syn/quote/proc-macro2 new apis
2018-03-31 23:56:29 +02:00
David Tolnay
ba002e1119
Update signature of Lifetime::new
2018-03-31 23:46:25 +02:00
David Tolnay
8b44eb8bfc
Add parens to TraitBound
2018-03-31 23:45:30 +02:00
David Tolnay
d82a0cc5ff
Remove use of Span::located_at
2018-03-31 23:44:50 +02:00
David Tolnay
801fd1dc19
Drop the patch dependencies
2018-03-31 23:09:01 +02:00
David Tolnay
222779d46c
Document that rc impls require a feature
...
Fixes #1203 .
2018-03-30 10:31:54 +02:00
Alex Crichton
b1c1d964e1
Update to syn/quote/proc-macro2 new apis
2018-03-29 00:54:05 -07:00
David Tolnay
b77cfb635d
Less eye-catching rustc version badge
2018-03-28 14:59:53 +02:00
David Tolnay
c42c08a25b
Merge pull request #1199 from serde-rs/rustc
...
Rustc version badge
2018-03-28 14:44:12 +02:00
David Tolnay
48997cbb5b
Rustc version badge
2018-03-28 14:35:01 +02:00
David Tolnay
d8ccd8809e
Merge pull request #1198 from serde-rs/call_site
...
Prefer call site spans
2018-03-28 11:03:01 +02:00
David Tolnay
d2b65e0a5d
Prefer call site spans
2018-03-28 10:49:30 +02:00
David Tolnay
7c04c98e0e
Release 1.0.36
2018-03-27 11:35:45 +02:00
David Tolnay
a2fa4c2570
Merge pull request #1196 from serde-rs/self
...
Special case remote = "Self"
2018-03-27 11:12:04 +02:00
David Tolnay
42430902e2
Special case remote = "Self"
2018-03-27 10:56:05 +02:00
David Tolnay
23e2e92237
Release 1.0.35
2018-03-25 12:59:02 +02:00
David Tolnay
273b2c11c6
Keep using deprecated AsciiExt on old compilers
2018-03-25 12:45:31 +02:00
David Tolnay
c1602a4d76
Deserialize map in place cannot have flatten attributes
2018-03-25 12:42:36 +02:00
David Tolnay
c23be3f855
Revert flatten change in deserialize in place
2018-03-25 12:39:20 +02:00
David Tolnay
5c9c97c0ce
Remove test that fails to parse flatten attribute
2018-03-25 12:33:50 +02:00
David Tolnay
e5ed440136
Always check flatten assertions
2018-03-25 12:32:06 +02:00
David Tolnay
d45ca2f5e4
Re-export NonZero* types from ::lib
2018-03-25 12:30:35 +02:00
David Tolnay
d7f9f8209d
Indicate that NonZero<T> is deprecated
2018-03-25 12:26:06 +02:00
David Tolnay
4a2612ecff
Merge pull request #1191 from SimonSapin/nonzero
...
impl Serialize and Deserialize for std::num::NonZero*
2018-03-25 03:24:51 -07:00
Simon Sapin
05b22a06d7
impl Serialize and Deserialize for std::num::NonZero*
...
… gated on the `unstable` Cargo feature.
These are new standard library types.
2018-03-25 12:23:55 +02:00
David Tolnay
3145bcc46e
Merge pull request 1159 from niklasad1/patch-1
2018-03-24 19:42:14 +01:00
David Tolnay
2b18b57d84
Release 1.0.34
2018-03-22 15:06:21 -07:00
David Tolnay
5520202262
Merge pull request #1179 from mitsuhiko/feature/flatten
...
Support for Flattening
2018-03-22 14:14:23 -07:00
Armin Ronacher
3d647f4063
Fixed a compilefail test for flatten on enums
2018-03-20 23:26:22 +01:00
Armin Ronacher
0fde3c2ee8
Fix a warning caused by no-default-features
2018-03-20 23:06:55 +01:00
Armin Ronacher
27f935f036
Correctly serialize newtype variants for flatten
2018-03-20 23:05:05 +01:00
Armin Ronacher
99614c7266
Added flatten on enum compile fail test
2018-03-20 22:15:47 +01:00
Armin Ronacher
bb2ecb3bc4
Added compilefail tests for flatten conflicts
2018-03-20 22:04:12 +01:00
Armin Ronacher
96393bfcc7
Added checks for flatten attribute
2018-03-20 21:48:25 +01:00
Armin Ronacher
1d92569abc
Added explanatory comment about fetching data from buffered content
2018-03-20 21:24:00 +01:00
Armin Ronacher
e4ef087735
Added support for borrowing when flattening
2018-03-20 15:19:36 +01:00
Armin Ronacher
695c3eedcb
Do not imply flatten from skip_serialize
2018-03-20 14:45:14 +01:00
Armin Ronacher
50c636a923
Remove now dead as_map detection (can be cattrs.has_flatten)
2018-03-20 13:43:23 +01:00
Armin Ronacher
5b884b5bf9
Added some missing UFCs
2018-03-20 13:38:22 +01:00
Armin Ronacher
8637dda60f
Refactored a test
2018-03-20 13:38:08 +01:00
Armin Ronacher
abeea89147
Fully qualify some calls in generated code and fix a bad comment
2018-03-20 13:35:16 +01:00
Armin Ronacher
6e324e887d
Some refactoring to use a bit less unwrap()
2018-03-20 13:20:56 +01:00
Armin Ronacher
7c596c7136
Remove unnecessary as_str
2018-03-20 13:11:17 +01:00
Armin Ronacher
f02dbf381b
Added non string key support for flattening
2018-03-19 00:57:58 +01:00
Armin Ronacher
7cf184624a
Use more consistent error messages for bad flattening
2018-03-18 23:46:28 +01:00
Armin Ronacher
c5a3128492
Added a more complex flattening test
2018-03-18 23:01:13 +01:00
Armin Ronacher
205f606962
Various clippy fixes
2018-03-18 22:59:27 +01:00
Armin Ronacher
ad40f976db
Switch to using Content keys internally for flattening to later support arbitrary keys
2018-03-18 21:07:08 +01:00
Armin Ronacher
58d52e784b
Remove #[serde(repr = "map")]
2018-03-18 18:30:46 +01:00
Armin Ronacher
d44f12907b
Do not emit an in-place deserialization path for struct as map
2018-03-18 18:27:35 +01:00
Armin Ronacher
61b167be9a
Attempted support for in_place deserialization for structs as map
2018-03-18 18:22:06 +01:00
Armin Ronacher
f1af2dc5ab
Added support for newtype variant serialization
2018-03-18 13:10:54 +01:00
Armin Ronacher
ebc61baab2
Added newtype struct support for flattening
2018-03-18 13:02:00 +01:00
Armin Ronacher
ffcde25b6e
Fixed some clippy warnings
2018-03-17 00:49:00 +01:00
Armin Ronacher
2f57cecf13
format! -> format_args! for an error message
2018-03-16 23:38:50 +01:00
Armin Ronacher
bfdcbae9db
Fixed an unused import error
2018-03-16 23:30:55 +01:00
Armin Ronacher
ca41e16e92
Added some missing conditionals for feature compilation
2018-03-16 23:20:14 +01:00
Armin Ronacher
352fe7b451
Removed an unused field that was left over from a merge conflict
2018-03-16 23:07:31 +01:00
Armin Ronacher
49e302d17d
Improved error message for flattening on unsupported types
2018-03-16 23:05:48 +01:00
Armin Ronacher
b8602a7e43
Added test for tag/content enum flattening
2018-03-16 23:05:48 +01:00
Armin Ronacher
a8c8c2028e
Added support for struct variant enum serialization
2018-03-16 23:05:48 +01:00
Armin Ronacher
d1833c5602
Added support for basic enums in flatten
2018-03-16 23:05:48 +01:00
Armin Ronacher
b4ef7ac323
Updated tests for flatten
2018-03-16 23:05:48 +01:00
Armin Ronacher
ebf80ac965
Implement deserialization support for flatten
2018-03-16 23:05:48 +01:00
Armin Ronacher
112dfd7428
Correctly suppress the end() call for flattened serialization
2018-03-16 23:05:48 +01:00
Armin Ronacher
b692923321
Non working changes to the flatten serializer
2018-03-16 23:05:48 +01:00
Armin Ronacher
9e8cda4c37
Added basic not fully working FlatMapSerializer
2018-03-16 23:05:48 +01:00
Jan Michael Auer
5457394f5b
Fixed various issues with combinding flatten and deny_unknown_fields
2018-03-16 23:05:48 +01:00
Jan Michael Auer
6627540dd6
Added support basic deserialization in derive
2018-03-16 23:05:48 +01:00
Jan Michael Auer
5ae06bba49
Store flatten flag in container attributes
2018-03-16 23:05:47 +01:00
Jan Michael Auer
571bb8caed
Derive serialization for serde(flatten)
2018-03-16 23:05:47 +01:00
Jan Michael Auer
299cd2dbd0
Replace unknown_fields_into with serde(flatten)
2018-03-16 23:05:47 +01:00
Armin Ronacher
583c0d8d14
Make proc-macro2/nightly happy
2018-03-16 23:05:22 +01:00
Armin Ronacher
07d07347b3
Make clippy happy
2018-03-16 23:05:22 +01:00
Armin Ronacher
77b07f3fbf
Added tests for unknown_fields_into
2018-03-16 23:05:22 +01:00
Armin Ronacher
1bd2c6129c
Explicitly pass value requirements for the capture path
2018-03-16 23:05:22 +01:00
Armin Ronacher
39413c8ce7
Implement deserializer for map mode and collection fields
2018-03-16 23:05:22 +01:00
Armin Ronacher
b4dbae250b
Added support for serialization of structs as maps
2018-03-16 23:05:22 +01:00
Armin Ronacher
5a91ac5ba5
Initial work on supporting structs as map with unknown field collection
2018-03-16 23:05:22 +01:00
David Tolnay
7ad836e6a9
Release 1.0.33
2018-03-15 10:03:42 -07:00
David Tolnay
72ecb9064c
Fix parsing of qself in paths in attributes
2018-03-15 10:02:40 -07:00
David Tolnay
23c6eb3b40
Release 1.0.32
2018-03-13 11:31:26 -07:00
David Tolnay
b8c9a66d75
Release 1.0.31
2018-03-13 10:18:35 -07:00
David Tolnay
56b2e39dda
Fix panic when a reference has unspecified lifetime
...
This will fail later in compilation anyway, but serde_derive needs to
not crash before then.
#[derive(Deserialize)]
struct A {
field: &str,
}
error[E0106]: missing lifetime specifier
--> src/main.rs
|
| field: &str,
| ^ expected lifetime parameter
2018-03-13 09:56:38 -07:00
David Tolnay
5bc805329e
Drop impl should only panic if not already panicking
2018-03-13 09:42:07 -07:00
David Tolnay
69dd3215f4
Release 1.0.30
2018-03-12 11:44:50 -07:00
David Tolnay
a7a7a31809
Merge pull request #1175 from daboross/fix-borrowed-cow-bytes
...
Fix borrowed Cow<'_, [u8]> deserializing as str.
2018-03-12 11:44:14 -07:00
David Ross
af9996aa9a
Fix borrowed Cow<'_, [u8]> deserializing as str.
...
This changes the deserialize implementation for a borrowed Cow<[u8]>
to specifically request a byte slice, rather than a borrowed string.
The old behavior breaks any program which relies on data being
deserialized the same way as it was serialized and uses Cow<[u8]>.
In serde_json, it just wouldn't deserialize. In bincode, it
deserialized normally unless the bytes were invalid UTF8.
Fixes https://github.com/TyOverby/bincode/issues/231 .
2018-03-12 11:26:11 -07:00
David Tolnay
0d4d47c398
Release 1.0.29
2018-03-09 00:24:08 -08:00
David Tolnay
30361ac6d0
Clean up workaround that required too many parentheses
...
The issue has been fixed in the compiler and these extra call site parentheses
are no longer required.
2018-03-09 00:22:27 -08:00
David Tolnay
3f75239bfb
Release 1.0.28
2018-03-08 11:39:32 -08:00
David Tolnay
8dd5605a40
Merge pull request #1170 from H2CO3/disallow_internal_tag_conflict
...
Disallow variant field names to conflict with tag of internally-tagged enum
2018-03-08 09:34:27 -08:00
David Tolnay
f288a41768
Test the new errors on conflicting enum tags
2018-03-08 09:31:25 -08:00
Árpád Goretity
f4b78e202a
add a check for conflicting adjacent tags as well
2018-03-08 09:57:05 +01:00
Árpád Goretity
0ddebe0317
More descriptive function name; add doc comment to function
2018-03-08 01:05:19 +01:00
Árpád Goretity
9fc526b788
be more explicit in match for future-proofing code via exhaustiveness check
2018-03-08 00:53:56 +01:00
Árpád Goretity
a799ea171c
Disallow variant field names to conflict with tag of internally-tagged enum
2018-03-08 00:43:35 +01:00
David Tolnay
d6f07f2f47
Ignore redundant_field_names lint
2018-02-27 11:13:26 -08:00
niklasad1
f9946ee0ca
add some comments about alloc in no_std
2018-02-17 10:03:21 +01:00
Niklas Adolfsson
a164f52315
Update README.md
...
Add some information about ```no_std``` because it was not obvious to me
2018-02-16 19:59:28 +01:00
David Tolnay
8bba8447ef
Whitelist some new clippy lints
2018-02-05 10:27:04 -08:00
David Tolnay
9db784bccd
Ignore decimal_literal_representation in test suite
2018-01-29 21:52:21 -08:00
David Tolnay
9317bc5afa
Address clippy lints in serde_derive_internals
2018-01-26 00:22:38 -08:00
David Tolnay
a185df1e77
Ignore decimal_literal_representation lint
...
The number 4096 is used to cap the size of collections that we preallocate.
cmp::min(hint.unwrap_or(0), 4096)
I find this number more understandable than 0x1000.
2018-01-26 00:19:26 -08:00
David Tolnay
1bdf5ecec4
Ignore unused_parens warning on the proc macro workaround
2018-01-21 17:54:06 -08:00
David Tolnay
59017aa19b
Follow clippy's replace_consts lint
2018-01-15 17:40:32 -08:00
David Tolnay
6b4625dcbb
Ignore warning in no_std test
2018-01-13 14:43:34 -08:00
David Tolnay
6e01f220b1
Ignore clippy flagging our workaround
2018-01-13 14:28:12 -08:00
David Tolnay
64573319f9
Meaningful spans when invoking deserializer trait methods
2018-01-10 20:59:48 -08:00
David Tolnay
3d64df6e87
Meaningful span for attrs parsed from string literal
2018-01-10 19:59:49 -08:00
David Tolnay
cc2558b0dc
Meaningful spans when invoking serializer trait methods
2018-01-10 19:22:07 -08:00
David Tolnay
5c41661bce
Merge pull request #1140 from serde-rs/hygiene
...
Hygiene fixes
2018-01-09 22:39:23 -08:00
David Tolnay
dd6914a203
Build the test suite in CI using proc-macro2/nightly
2018-01-09 22:23:19 -08:00
David Tolnay
63623eb3b3
Hygiene fixes
2018-01-09 22:22:08 -08:00
David Tolnay
ddc4b50d4d
Use call_site in 'with' attribute
2018-01-09 20:34:29 -08:00
David Tolnay
b313f947dc
Use call_site as the span of unnamed member access
2018-01-09 20:28:23 -08:00
David Tolnay
16bc9fb99e
Address clippy lints in serde_derive
2018-01-09 19:40:34 -08:00
David Tolnay
34eaab00f7
Address clippy lints in serde_derive_internals
2018-01-09 19:40:33 -08:00
David Tolnay
6024e717fb
Merge pull request #1138 from serde-rs/syn
...
Update to syn 0.12
2018-01-09 19:23:19 -08:00
David Tolnay
ef4dd6c0ec
Update to syn 0.12
2018-01-09 19:05:08 -08:00
David Tolnay
f7ed967db1
Merge pull request #1135 from mcgoo/appveyor-tls
...
get rustup-init with curl to avoid tls failures
2018-01-04 20:55:53 -08:00
mcgoo
613e46b0ee
get rustup-init with curl to avoid tls failures
2018-01-04 22:04:16 -06:00
David Tolnay
b2d2e96267
Merge pull request #1133 from martinlindhe/master
...
fix some typos
2018-01-03 07:44:40 -08:00
Martin Lindhe
ae0373643c
fix some typos
2018-01-03 15:16:45 +01:00
David Tolnay
7aeabddd2f
Release 1.0.27
2017-12-30 22:19:41 -05:00
David Tolnay
9df8f5ecc0
Merge pull request #1132 from Lireer/uppercase
...
Add UPPERCASE to rename_all
2017-12-30 22:18:20 -05:00
Carl Scherer
c4fad2883b
Add UPPERCASE to rename_all
2017-12-31 03:12:00 +01:00
David Tolnay
9cfcd78c87
Release 1.0.26
2017-12-27 17:33:32 -05:00
David Tolnay
4751627f1c
Implement De/Serialize for PhantomData where T: ?Sized
2017-12-27 17:32:49 -05:00
David Tolnay
ae59c6b6d2
Release 1.0.25
2017-12-23 23:33:59 -05:00
David Tolnay
4973d7a62d
Suppress errors on rustfmt line overflow
...
Some of the serde_derive lines inside of quote!(...) are too long. Rustfmt
cannot fix these. Will need to follow up.
2017-12-23 20:27:56 -08:00
David Tolnay
ed6a1de311
Auto format attributes on their own line
2017-12-23 20:24:57 -08:00
David Tolnay
ab234be025
The rustfmt rfc style is now the default
2017-12-23 20:21:52 -08:00
David Tolnay
ee75e6c0e9
Format with rustfmt-nightly 0.3.4
2017-12-23 20:17:52 -08:00
David Tolnay
c2b390fe63
Merge pull request #1124 from serde-rs/in-place
...
Rename deserialize_from to deserialize_in_place
2017-12-23 19:56:29 -08:00
David Tolnay
56d5d7f761
Rename deserialize_from to deserialize_in_place
2017-12-17 10:46:44 -08:00
David Tolnay
0b89bc920e
Merge pull request #1094 from Gankro/deserialize_from
...
Add and derive deserialize_from
2017-12-11 21:29:15 -08:00
David Tolnay
0dac13e4db
Resolve conflict with pr 1115
2017-12-11 20:59:54 -08:00
David Tolnay
0c2e91f28a
Merge branch serde-rs/master into Gankro/deserialize_from
2017-12-11 20:49:23 -08:00
David Tolnay
13e7bee0e6
Eliminate need for unwrap in deserialize_from_seq
2017-12-11 18:13:13 -08:00
David Tolnay
65104aca9c
Remove need for allow(unreachable_code)
2017-12-11 17:55:23 -08:00
David Tolnay
9360094ba7
Revert main_body naming change
...
The naming here isn't great but no need to change it in this PR.
2017-12-10 23:19:31 -08:00
David Tolnay
3700779bfa
More meaningful names and types for nop_reserve
2017-12-10 23:18:08 -08:00
David Tolnay
d9e894911f
Move all the deserialize_from derive code behind flag
2017-12-10 23:15:14 -08:00
David Tolnay
85e3ddc2b8
Less indentiation in deserialize_from_body
2017-12-10 23:04:44 -08:00
David Tolnay
ccae35d92a
Do not emit deserialize_from if every field has deserialize_with
2017-12-10 22:55:28 -08:00
David Tolnay
61ca928325
Can never see getters in a deserialize_from
2017-12-10 22:46:46 -08:00
David Tolnay
a93f2ebff0
Enable deserialize_from in the test suite
2017-12-10 22:46:25 -08:00
David Tolnay
a45f1ae915
Remove unused dev-dependency of serde_test on deserialize_from
2017-12-10 22:02:11 -08:00
David Tolnay
9641978481
Hide deserialize_from
2017-12-10 21:55:07 -08:00
David Tolnay
ffd2017c6f
Use the default deserialize_from for Option<T>
...
The custom one was functionally identical to the default implementation given by
the Deserialize trait. If someone has benchmarks that the custom one performs
better, we can put it back.
2017-12-10 21:27:44 -08:00
David Tolnay
b7eb42aa6b
Release 1.0.24
2017-12-09 14:43:55 -08:00
David Tolnay
750f8ba299
Clean up trailing whitespace
2017-12-09 14:42:59 -08:00
David Tolnay
49cdef074d
Merge pull request #1115 from Binero/master
...
Solved #1105 .
2017-12-08 08:57:31 -08:00
Jeroen Bollen
aa86b04714
Adressed concerns raised by @oli-obk.
...
Specifically:
- Change identation in `de.rs`.
- Make `attr::Field` take a `attr::Default` as opposed to the entire parent `attr::Container`.
2017-12-08 15:13:05 +01:00
Jeroen Bollen
c887a0b472
Solved #1105 .
...
When a field should be skipped during deserialization, it will not use its own Default implementation
when the container structure has `#[serde(default)]` set.
2017-12-06 21:14:02 +01:00
Alexis Beingessner
34936be574
test deserialize_from
2017-12-04 13:29:03 -05:00
Alexis Beingessner
e354dd0c7f
Derive deserialize_from for tuples and structs
...
This adds a new "deserialize_from" feature (default off) that opts into
deriving deserialize_from with #[derive(Deserialize)].
2017-12-04 13:23:26 -05:00
Alexis Beingessner
bc221abb04
Augment builtin std/core Deserialize impls to implement deserialize_from
2017-12-04 13:23:26 -05:00
Alexis Beingessner
ab5e8780ab
Add deserialize_from to Deserialize
2017-12-04 13:23:26 -05:00
David Tolnay
0c34e06e51
Merge pull request #1106 from khuey/inlines
...
Inline various deserialization helper methods.
2017-12-02 15:57:07 -08:00
Kyle Huey
4a0c4e0c25
Mark size_hint::cautious as inline.
2017-12-01 14:31:52 -08:00
David Tolnay
8c34e0940f
Release 1.0.23
2017-11-29 22:26:32 -08:00
David Tolnay
eb6bf16a51
Revert "Catch wrong field names length in serde_test"
...
There are at least two reasonable things to expect the len field to
check: the length of the fields array passed to deserialize_struct, or
the number of field tokens. Even beyond these, in some cases it can be
useful to test deserialization with a bogus len to test how the
Deserialize impl reacts to an incorrect size_hint.
This reverts commit 436cafb0a3 which was
released in serde_test 1.0.20.
2017-11-29 22:21:05 -08:00
David Tolnay
797d049db5
Release 1.0.22
2017-11-29 20:01:43 -08:00
David Tolnay
d61a373f12
Merge pull request #1104 from serde-rs/abs
...
Fix missing absolute paths in deserialize_seq
2017-11-29 19:58:21 -08:00
David Tolnay
e0eea551b4
Fix missing absolute paths in deserialize_seq
2017-11-29 19:45:22 -08:00
David Tolnay
c650a92bf7
Update to compiletest-rs 0.3 to fix "every suggestion should have at least one span"
2017-11-24 17:12:58 -08:00
David Tolnay
f218f4d7bf
Release 1.0.21
2017-11-15 22:24:18 -08:00
Alex Shapiro
8c0a2015be
Fix error when deserializing untagged enum
...
Serde's `ContentDeserializer` and `ContentRefDeserializer`
cannot deserialize struct enum variant associated data when
that data is encoded as a sequence. This failure leads to
errors when decoding an enum nested in another untagged
enum. For example:
#[derive(Serialize, Deserialize)]
#[serde(untagged)]
enum Foo {
A(Bar),
}
#[derive(Serialize, Deserialize)]
enum Bar {
B{f1: String},
}
let data1 = Foo::A(Bar::B{f1: "Hello".into()});
let bytes = rmp_serde::to_vec(&data1).unwrap();
let data2 = rmp_serde::from_slice::<Foo>(&bytes).unwrap();
Deserializing fails with the error `Syntax("data did not
match any variant of untagged enum Foo")`, but the
underlying failure occurs when decoding the associated data
of `Bar::B`.
This pull request fixes the issue by allowing
`ContentDeserializer` and `ContentRefDeserializer` to
deserialize sequence-encoded struct enum variant data.
2017-11-15 21:56:33 -08:00
David Tolnay
4773863e3a
Release 1.0.20
2017-11-12 10:29:08 -08:00
David Tolnay
80cd9c7617
Merge pull request #1091 from serde-rs/fields-len
...
Catch wrong field names length in serde_test
2017-11-12 10:28:26 -08:00
David Tolnay
436cafb0a3
Catch wrong field names length in serde_test
2017-11-12 10:16:43 -08:00
David Tolnay
98bb02e9b4
Whitelist use of Debug in serde_test
2017-11-07 10:00:18 -08:00
David Tolnay
142439088c
Merge pull request #1086 from Marwes/better_errors
...
Print the contents of the expected token when a serialize assert fails
2017-11-07 09:53:58 -08:00
Markus Westerlind
ce81288235
Print the contents of the expected token when a serialize assert fails
...
Before
```
expected Token::Str but serialized as Str(“F9168C5E-CEB2-4FAA-B6BF-329BF39FA1E4")
```
After
```
expected Token::Str(“f9168c5e-ceb2-4faa-b6bf-329bf39fa1e4”) but serialized as Str(“F9168C5E-CEB2-4FAA-B6BF-329BF39FA1E4")
```
2017-11-07 14:22:42 +01:00
David Tolnay
88d5fe6bfd
Release 1.0.19
2017-11-06 23:50:24 -08:00
David Tolnay
9a2c352025
Rephrase serde_test::Configure documentation
2017-11-06 23:47:39 -08:00
David Tolnay
61c90cb8cb
Fix typo in serde_test::Configure documentation
2017-11-06 23:45:26 -08:00
David Tolnay
66e8b0a0cd
Merge pull request #1085 from serde-rs/internally-unit-struct
...
Allow internally tagged newtype variant containing unit struct
2017-11-06 23:44:29 -08:00
David Tolnay
9e7a3437d9
Allow internally tagged newtype variant containing unit struct
2017-11-06 23:32:36 -08:00
David Tolnay
7ac8d4f9ae
AsciiExt transition
2017-11-06 22:50:10 -08:00
David Tolnay
501bae42f5
Fix space in serde_test panic message
...
Without this, the message contains "representationsmust".
2017-11-06 22:46:28 -08:00
David Tolnay
7a0397451e
Allow serde_test::Configure to be dynamically sized
...
This is a more cautious choice for the trait. In the future we may need
a `whatever_ref(&self)` that works for !Sized types.
2017-11-06 22:40:09 -08:00
David Tolnay
16787318d1
Enable clippy_pedantic in serde_test
2017-11-06 22:31:35 -08:00
David Tolnay
f4ae0888c8
Run clippy on serde_test in Travis
2017-11-06 22:28:58 -08:00
David Tolnay
213071fe5c
Combine identical match arms in serde_test
...
As recommended by Clippy's match_same_arms lint.
2017-11-06 22:27:51 -08:00
David Tolnay
cfd26c6fda
Avoid cloning Copy types
...
As recommended by Clippy's clone_on_copy lint.
2017-11-06 22:26:55 -08:00
David Tolnay
23fa83941e
Whitelist float_cmp lint in serde_test
2017-11-06 22:26:01 -08:00
David Tolnay
88f5b9511d
Use .. in patterns
...
As recommended by Clippy's unneeded_field_pattern lint.
2017-11-06 22:24:25 -08:00
David Tolnay
d537f1e1f0
Whitelist needless_pass_by_value lint
...
This lint has a false positive on trait methods with a default implementation.
2017-11-06 22:10:11 -08:00
David Tolnay
f6ac232580
Merge pull request #1084 from Marwes/serde_test_readable_
...
Add an API for making tests for readable/compact representations
2017-11-06 22:05:29 -08:00
Markus Westerlind
aad7a7987f
Add an example to the Configure trait
2017-11-06 10:35:22 +01:00
David Tolnay
b24ad76880
Merge pull request #1080 from xfix/patch-2
...
serde_test requires serde 1.0.16 to work
2017-11-05 15:03:28 -08:00
Konrad Borowski
5796f1a0f5
serde_test requires serde 1.0.16 to work
...
This is due to implementing is_human_readable which was
added in serde 1.0.16.
2017-11-05 23:51:01 +01:00
David Tolnay
6437167930
Merge pull request #1083 from serde-rs/ty-macro
...
Fix bounds for macro named the same as a type parameter
2017-11-05 12:56:57 -08:00
David Tolnay
f98daaa250
Merge pull request #1082 from serde-rs/borrow-variant
...
Allow borrow attribute on newtype variants
2017-11-05 12:20:40 -08:00
David Tolnay
b8a40551a2
Fix bounds for macro named the same as a type parameter
2017-11-05 12:18:39 -08:00
David Tolnay
40db31691a
Allow borrow attribute on newtype variants
2017-11-05 12:10:40 -08:00
David Tolnay
ab68132b1f
Release 1.0.18
2017-11-03 10:20:41 -07:00
David Tolnay
e70bbd9dde
Merge pull request #1079 from serde-rs/skipborrow
...
Ignore skipped fields when looking for borrowed lifetimes
2017-11-03 10:20:32 -07:00
David Tolnay
d5e5c520ac
Ignore skipped fields when looking for borrowed lifetimes
2017-11-03 10:08:02 -07:00
Markus Westerlind
1b9a096fa7
Export configure api
2017-11-02 16:03:50 +01:00
Markus Westerlind
39e05ffad2
Implement Deserializer for Readable/Compact
2017-11-02 15:47:07 +01:00
Markus Westerlind
78fab25c5c
implement Serializer for Readable/Compact
2017-11-02 15:47:07 +01:00
David Tolnay
2a557a1e36
Clippy false positive on needless_lifetimes has been fixed
2017-10-31 22:42:53 -07:00
David Tolnay
ab0848f780
Follow clippy advice about unreadable literal
2017-10-31 22:42:12 -07:00
David Tolnay
2b1303f59c
Whitelist const_static_lifetime
...
This clippy suggestion is not stable in the older rustc we support.
2017-10-31 22:23:39 -07:00
David Tolnay
7f9ba155cb
Explain what each dependency is for
2017-10-31 22:16:33 -07:00
David Tolnay
a4e0c2f055
Merge pull request #1075 from hcpl/clarify-readme-example
...
Clarify the README example for local builds
2017-10-31 22:16:15 -07:00
hcpl
3bbf70575b
Clarify the README example for local builds
2017-10-31 21:20:23 +02:00
David Tolnay
ad680cbd44
Release 1.0.17
2017-10-31 09:36:06 -07:00
David Tolnay
ff0cfb1f1f
Clean up trailing whitespace and where-clauses
2017-10-31 09:36:05 -07:00
David Tolnay
9b08915a18
Add tests for std::num::Wrapping impls
2017-10-31 09:32:58 -07:00
David Tolnay
501aa3ee1d
Share the import of std::num::Wrapping
2017-10-31 09:27:58 -07:00
David Tolnay
eebf0f8db8
Merge pull request #1072 from LinearZoetrope/wrapping
...
Add std::num::Wrapping impl
2017-10-31 09:26:17 -07:00
Zoe Juozapaitis
a7e4911ddb
Add newlines to ends of files
2017-10-31 04:29:00 -07:00
Zoe Juozapaitis
eb08f037f5
Add std::num::Wrapping support
2017-10-31 03:02:58 -07:00
David Tolnay
aa03fd5d1a
Duplicate error messages have been fixed
2017-10-27 21:08:41 -04:00
David Tolnay
e198afb0c1
Add missing copyright notices
2017-10-22 16:01:19 -07:00
David Tolnay
bc8de251cf
Update contributing.md with steps for running test suite
2017-10-22 15:46:54 -07:00
David Tolnay
99e8686189
Add error banner when running test suite without nightly compiler
2017-10-22 15:46:17 -07:00
David Tolnay
826f656e28
Compile and test the serde_derive "example" code
2017-10-22 12:09:56 -07:00
David Tolnay
ab7c003b64
Remove associated constants workaround
...
This has been stable since Rust 1.20.
2017-10-22 11:55:16 -07:00
David Tolnay
422191fcb0
Release 1.0.16
2017-10-22 11:29:44 -07:00
David Tolnay
4ba748c902
Clean up trailing whitespace
2017-10-22 11:29:35 -07:00
David Tolnay
14ed6f2dab
Simplify some IntoDeserializer deserializer types
2017-10-20 21:38:18 -07:00
David Tolnay
30606a43aa
IntoDeserializer for HashSet and HashMap with non-default hasher
2017-10-20 21:36:40 -07:00
David Tolnay
9be3d32016
Remove redundant readable/compact tests
...
This functionality is covered well enough by the std::net types.
2017-10-17 23:16:21 -07:00
David Tolnay
5daf1b89a1
Consolidate readable/compact deserialization tests
2017-10-17 23:15:35 -07:00
David Tolnay
f8f5d0ca2f
No need for readable setting for the ignore test
2017-10-17 23:09:50 -07:00
David Tolnay
57873cce28
Remove unused deserialization macros on no_std
2017-10-17 10:04:26 -07:00
David Tolnay
4ed0362c8e
Panic by default in serde_test is_human_readable
...
The serde_test Serializer and Deserializer panic in is_human_readable unless the
readableness has been set explicitly through one of the hidden functions. This
is to force types that have distinct readable/compact representations to be
tested explicitly in one or the other, rather than with a plain assert_tokens
which arbitrarily picks one.
We need to follow up by designing a better API in serde_test to expose this
publicly. For now serde_test cannot be used to test types that rely on
is_human_readable. (The hidden functions are meant for our test suite only.)
2017-10-17 09:49:42 -07:00
David Tolnay
4cecaf8d02
Test the maximum std::net string lengths
2017-10-15 20:32:30 -07:00
David Tolnay
50c696aabe
Write is_human_readable examples
2017-10-15 20:27:03 -07:00
David Tolnay
2f58a20bc6
Inline is_human_readable
2017-10-15 16:54:48 -07:00
David Tolnay
030459a040
Merge pull request #1044 from Marwes/human_readable
...
Serialize to binary if the serde format is not human readable
2017-10-15 16:39:58 -07:00
Markus Westerlind
e9b530a000
Hide is_human_readable constructors in serde_test
...
Until a good API can be found
2017-10-13 17:37:47 +02:00
David Tolnay
ea1a729088
Release 1.0.15
2017-09-17 13:58:35 -07:00
David Tolnay
857dcea774
Merge pull request #1058 from serde-rs/internally-tagged-seq
...
Support deserializing internally tagged enum from seq
2017-09-17 13:57:33 -07:00
David Tolnay
b98a9a8f9b
Support deserializing internally tagged enum from seq
...
During serialization, internally tagged enums invoke the Serializer's
serialize_struct. In JSON this turns into a map which uses visit_map
when deserialized. But some formats employ visit_seq when
deserializing a struct. One example is rmp-serde. Such formats were
previously unable to deserialize an internally tagged enum. This
change fixes it by adding visit_seq for internally tagged enums.
2017-09-17 13:45:12 -07:00
Markus Westerlind
3b135431fd
Try to fix compilation on 1.13
2017-09-14 17:12:23 +02:00
Markus Westerlind
945d12c0b4
Use the variant_identifier macro for OsString
2017-09-14 17:08:17 +02:00
Markus Westerlind
e36915300f
Properly deserialize non-readable IpAddr and SocketAddr
2017-09-14 17:08:17 +02:00
Markus Westerlind
85c05d301a
Fix the non-readble IpAddr serialize implementations
2017-09-11 17:40:02 +02:00
Markus Westerlind
c2474bf6ee
Document that is_human_readable == false is a breaking change
2017-09-11 17:18:35 +02:00
Markus Westerlind
a52f436788
Fix rustc 1.13 and clippy errors on travis
2017-09-11 16:03:00 +02:00
Markus Westerlind
ad3335e5d6
Serialize non-human-readble ip addresses as tuples
...
Since we know exactly how many bytes we should serialize as we can hint
to the serializer that it is not required which further reduces the
serialized size when compared to just serializing as bytes.
2017-09-11 15:54:53 +02:00
David Tolnay
4b00de0e22
Release 1.0.14
2017-09-09 12:50:57 -07:00
David Tolnay
8403fa018e
Merge pull request #1052 from serde-rs/static
...
Special case for 'static fields
2017-09-09 12:50:11 -07:00
David Tolnay
0e9f1b42de
Merge pull request #1053 from serde-rs/cast
...
Fix trivial numeric cast in visit_u64
2017-09-09 12:43:46 -07:00
David Tolnay
0085d05e55
Special case for 'static fields
2017-09-09 12:39:14 -07:00
David Tolnay
2eed855bff
Fix trivial numeric cast in visit_u64
2017-09-09 12:37:00 -07:00
David Tolnay
c3eced410f
Release 1.0.13
2017-09-09 11:40:31 -07:00
David Tolnay
8a630fea7c
Suppress cast_lossless lint in test suite
2017-09-09 11:08:19 -07:00
David Tolnay
2e597ed3f0
Remove unused functions in with-variant tests
...
Macro expansion fails before it would generate code to call any of these.
2017-09-09 10:58:32 -07:00
David Tolnay
0963121beb
Support consolidated with attribute for variants
2017-09-09 10:50:40 -07:00
David Tolnay
15b2714058
Merge pull request #1015 from spinda/with-variant
...
implement (de)serialize_with for variants
2017-09-09 10:49:24 -07:00
David Tolnay
9ce107de25
Merge pull request 963 from sfackler/u64-identifier
...
Conflicts:
serde_derive/src/de.rs
2017-09-08 21:35:41 -07:00
David Tolnay
e47284c0e0
Merge pull request #1043 from greyblake/screaming-kebab-case
...
SCREAMING-KEBAB-CASE support
2017-09-08 21:30:01 -07:00
David Tolnay
800620e2aa
Merge pull request #1022 from sfackler/skip-field
...
Inform serializers about skipped fields.
2017-09-08 09:47:43 -07:00
Markus Westerlind
40c670e625
Add non-human readable serializations for ip addresses
2017-09-08 10:37:33 +02:00
David Tolnay
ba260b0e5f
Merge pull request #1045 from xfix/patch-1
...
Fix a type name typo in visit_i64 documentation
2017-09-07 12:07:03 -07:00
Konrad Borowski
8452e313cc
Fix a type name typo in visit_i64 documentation
2017-09-07 19:53:07 +02:00
Markus Westerlind
0dccbb1f11
Serialize to binary if the serde format is not human readable
...
This implements the KISS suggested in https://github.com/serde-rs/serde/issues/790 .
It is possible that one of the other approaches may be better but this
seemed like the simplest one to reignite som discussion.
Personally I find the original suggestion of adding two traits perhaps slightly
cleaner in theory but I think it ends up more complicated in the end
since the added traits also need to be duplicated to to the `Seed`
traits.
Closes #790
2017-09-07 16:20:57 +02:00
Steven Fackler
deca49315a
Inline skip_field
2017-09-05 22:36:42 -07:00
Steven Fackler
95407a4ca5
Support field ident deserialization from u32
2017-09-05 21:55:33 -07:00
Steven Fackler
2fe9a860cd
Inform serializers about skipped fields.
...
Closes #960 .
2017-09-05 21:55:33 -07:00
Sergey Potapov
e67d941b78
Support for SCREAMING-KEBAB-CASE
2017-09-05 22:07:08 +02:00
David Tolnay
d4042872f5
Release 1.0.12
2017-09-04 11:11:44 -07:00
David Tolnay
64af86b830
Suppress cast_lossless lint
2017-09-04 11:10:43 -07:00
David Tolnay
370c8a91cb
Merge pull request #1039 from serde-rs/rcde
...
Deserialize unsized Arc and Rc
2017-09-04 11:07:19 -07:00
David Tolnay
972da59ebc
Deserialize unsized Arc and Rc
2017-09-04 10:56:42 -07:00
David Tolnay
a42008f695
Merge pull request #1038 from serde-rs/rcser
...
Serialize unsized Arc and Rc
2017-09-04 10:54:20 -07:00
David Tolnay
e4ea2a56e9
Serialize unsized Arc and Rc
2017-09-04 10:31:03 -07:00
David Tolnay
7650a48fdd
Opt in to clippy_pedantic lints
2017-08-24 00:41:42 -07:00
David Tolnay
d665a2f2b2
Merge pull request #1023 from hcpl/fix-doc-typo
...
Fix `SeqAcccess` typo in docs
2017-08-20 15:03:10 -07:00
hcpl
44e23254c9
Fix SeqAcccess typo in docs
2017-08-20 22:02:28 +03:00
Michael Smith
552971196d
Fix Clippy errors in variant serialize_with tests
2017-08-16 12:04:39 -07:00
David Tolnay
0681cd5003
Replace deprecated compiletest::default_config()
2017-08-15 22:10:18 -07:00
David Tolnay
d965367238
No longer need feature(into_boxed_c_str)
2017-08-15 22:08:23 -07:00
David Tolnay
a6df35b3d2
Disable no_std test on appveyor
2017-08-15 21:58:52 -07:00
Michael Smith
9fc180e62f
Implement deserialize_with for variants
...
Complements variant serialize_with and closes #1013 .
2017-08-14 14:41:05 -07:00
Michael Smith
5b815b7001
Implement serialize_with for variants
...
As discussed in #1013 , serialize_with functions attached to variants receive an
argument for each inner value contained within the variant. Internally such a
function is wired up to the serializer as if the variant were a newtype variant.
2017-08-14 11:17:08 -07:00
David Tolnay
4831482695
Doc comment on statement is not used by rustdoc
...
Fixes #1014 .
2017-08-05 23:35:14 -07:00
David Tolnay
d3e5dd9cd7
Disagree that 0x10000 is unreadable
2017-08-05 23:26:15 -07:00
David Tolnay
26098ed877
Release 1.0.11
2017-07-27 00:56:28 -07:00
David Tolnay
42ed62cf24
Merge pull request #1003 from serde-rs/newnonzero
...
NonZero constructor now returns Option
2017-07-27 00:54:23 -07:00
David Tolnay
9f0973aff7
NonZero constructor now returns Option
2017-07-27 00:35:56 -07:00
David Tolnay
ccec002bf3
Merge pull request #1001 from serde-rs/remotevis
...
Inherit the visibility of remote struct definition
2017-07-27 00:29:57 -07:00
David Tolnay
f36a1e0895
Inherit the visibility of remote struct definition
2017-07-25 23:52:06 -07:00
David Tolnay
e6487cf6fa
Merge pull request #995 from serde-rs/nobin
...
Workaround for "no bin target named serde_derive_tests_no_std"
2017-07-21 00:17:25 -07:00
David Tolnay
4f2e8d5dbb
Workaround for "no bin target named serde_derive_tests_no_std"
2017-07-21 00:05:30 -07:00
David Tolnay
1c2a4bff1c
Merge pull request #991 from Marwes/test_systemtime
...
Fix SystemTime serialization test on Windows
2017-07-16 06:10:43 -07:00
Markus Westerlind
85bccf42b6
Fix SystemTime serialization test on Windows
...
Windows's `SystemTime` do not have nanosecond resolution which caused the test duration to be truncated https://github.com/rust-lang/rust/blob/b1363a73ede57ae595f3a1be2bb75d308ba4f7f6/src/libstd/sys/windows/time.rs#L177
2017-07-16 12:16:07 +02:00
David Tolnay
959fee024f
Merge pull request #986 from Marwes/simplify_seed
...
refactor: Implement Deserialize of wrapper types with a macro
2017-07-12 20:36:48 -07:00
Markus Westerlind
8ede8c8e2a
refactor: Implement Deserialize of wrapper types with a macro
2017-07-13 00:02:29 +02:00
David Tolnay
83537c95e1
Release 1.0.10
2017-07-11 21:19:24 -07:00
David Tolnay
fa9057fa31
Merge pull request #949 from WiSaGaN/feature/support-system-time
...
Support std::time::SystemTime
2017-07-11 21:17:56 -07:00
Wangshan Lu
0084d82a50
Add tests for SystemTime
2017-07-12 12:01:40 +08:00
Wangshan Lu
b504b08782
Fix SystemTime serde name
2017-07-12 12:01:29 +08:00
David Tolnay
775e8154e7
Fix libc dependency in no_std test
2017-07-09 10:19:19 -07:00
David Tolnay
9c679d9082
Test for serializing BTreeSet
2017-07-09 10:16:49 -07:00
David Tolnay
b0f9d2a0ba
Exclude macros file from being tested by itself
2017-07-09 09:24:29 -07:00
David Tolnay
f39b1db96a
Additional errors for some reason
2017-07-09 09:22:20 -07:00
David Tolnay
9ecb0839de
Release 1.0.9
2017-06-29 20:21:29 -07:00
David Tolnay
8a4c116812
Merge pull request #971 from serde-rs/remotede
...
Fix deserializer bounds on remote derive
2017-06-29 20:19:36 -07:00
David Tolnay
1d3e921ba6
Fix deserializer bounds on remote derive
2017-06-29 20:12:44 -07:00
Steven Fackler
8e8694261b
Fix identifier deserialization from non-u32
...
Closes #962
2017-06-19 20:23:14 -07:00
David Tolnay
4fdba725fe
Revert "Support deserialization of struct keys from integers"
...
This is not as useful as expected because the Serializer does not know the real
index of each struct field being serialized. The best it can do is keep a
counter, which goes wrong if fields are conditionally skipped.
This reverts commit eec7101894 .
2017-06-18 09:11:21 -07:00
David Tolnay
75eed8cdde
Merge pull request #958 from serde-rs/unused
...
Fix unused seq and map macros
2017-06-17 19:14:39 -07:00
David Tolnay
6801a13650
Fix unused seq and map macros
2017-06-17 19:01:12 -07:00
David Tolnay
25ab84d4b9
Merge pull request #957 from serde-rs/alloc
...
Merge crate `collections` into `alloc`
2017-06-17 18:59:43 -07:00
David Tolnay
e43d3f3e4f
Merge crate collections into alloc
2017-06-17 18:35:56 -07:00
David Tolnay
b37d47c987
Merge pull request #956 from sfackler/int-field
...
Support deserialization of struct keys from integers
2017-06-17 18:26:45 -07:00
Steven Fackler
eec7101894
Support deserialization of struct keys from integers
...
serde-cbor supports a "packed" serialization flag which causes keys to
be serialized as their indices, but the deserializer currently has to
hardcode support for this format. We can simply support deserialization
of struct keys from integers as we already do for enum variants.
2017-06-17 18:12:07 -07:00
Wangshan Lu
5dd327fb02
Support std::time::SystemTime
2017-06-04 16:39:03 +08:00
David Tolnay
fd3d1396d3
Release 1.0.8
2017-05-24 00:17:27 -07:00
David Tolnay
c47b4c8e0b
Release 1.0.7
2017-05-19 17:00:31 -07:00
David Tolnay
2d793b82f6
Merge pull request #940 from BurntSushi/ag-deser-borrowed
...
add borrowed value deserializers
2017-05-19 16:59:55 -07:00
Andrew Gallant
237be46e29
add borrowed value deserializers
...
This adds two new types to the `de::value` module,
`BorrowedStrDeserializer` and `BorrowedBytesDeserializer`. A
`BorrowedStrDeserializer` is just like `StrDeserializer`, except the
lifetime of the string is tied to the lifetime of the deserializer. This
can be useful when, for example, deserializing into a
`HashMap<&str, &str>` when the keys/values are tied to the deserializer
itself.
The `BorrowedBytesDeserializer` has no analog, but it's the same as
`BorrowedStrDeserialize` except for `&[u8]` instead of `&str`.
2017-05-19 19:55:34 -04:00
David Tolnay
3d7aad1e7b
Release 1.0.6
2017-05-17 08:20:54 -07:00
David Tolnay
e792874369
Merge pull request #935 from spikefoo/combined-skip
...
Add a combined skip attribute
2017-05-16 09:13:49 -07:00
spikefoo
1669c69714
Add a combined #serde[(skip)] field attribute
2017-05-16 12:33:26 +03:00
David Tolnay
4d5e450054
Release 1.0.5
2017-05-14 12:53:48 -07:00
David Tolnay
26b22e647d
Merge pull request #933 from serde-rs/contentstr
...
Fix internally tagged struct variant containing unit variant containing borrowed string
2017-05-14 12:53:07 -07:00
David Tolnay
cda1fc46b0
Fix internally tagged struct variant containing unit variant containing borrowed string
2017-05-14 12:39:42 -07:00
David Tolnay
c68b959696
Release 1.0.4
2017-05-10 20:05:22 -07:00
David Tolnay
eab80172e4
Merge pull request #926 from serde-rs/borrow
...
Support borrowing within internally tagged enum
2017-05-10 20:04:36 -07:00
David Tolnay
c1259fbc87
Support borrowing within internally tagged enum
2017-05-10 19:56:05 -07:00
David Tolnay
58e30eaee4
Release 1.0.3
2017-05-10 10:15:39 -07:00
David Tolnay
bafa941004
Merge pull request #924 from pshc/deserialize-borrowed-path
...
impl Deserialize for &'a Path
2017-05-10 10:14:25 -07:00
Paul Collier
f347b2d363
impl Deserialize for &'a Path
2017-05-10 13:03:03 -04:00
David Tolnay
3f9fc49cca
Merge pull request #922 from serde-rs/nonzero
...
Removed Deref impl for NonZero
2017-05-09 19:58:17 -07:00
David Tolnay
c913527944
Removed Deref impl for NonZero
2017-05-09 19:48:54 -07:00
David Tolnay
8fafc7420c
Release 1.0.2
2017-04-27 12:32:30 -07:00
David Tolnay
bea1c5b0f5
Remove trailing whitespace
2017-04-27 12:31:13 -07:00
David Tolnay
aa37caf216
Merge pull request #905 from TedDriggs/adjacent_tag_enums
...
Fix #816 - adjacently-tagged enums honor deny_unknown_fields
2017-04-27 12:27:31 -07:00
Ted Driggs
2440b59aae
Address feedback on PR #905
...
* Added error test when deny_unknown_fields enabled
* Fixed next_relevant_key to use absolute paths
2017-04-27 12:21:32 -07:00
Ted Driggs
873cfbe9ab
Fix #816 - adjacently-tagged enums honor deny_unknown_fields
2017-04-27 11:24:09 -07:00
David Tolnay
c96efcb87a
Merge pull request #900 from SuperFluffy/macro_to_derive_input
...
Replace deprecated MacroInput; completes c52e131
2017-04-25 08:10:26 -07:00
Richard Janis Goldschmidt
b53026a21b
Replace deprecated MacroInput; completes c52e13
2017-04-25 11:08:56 +02:00
David Tolnay
c7901e532e
Release 1.0.1
2017-04-23 16:40:56 -07:00
David Tolnay
2af0701be6
Merge tag 'v0.9.15' into 'origin/master'
2017-04-23 16:39:32 -07:00
David Tolnay
ae79451b7a
Release 0.9.15
2017-04-23 16:37:43 -07:00
David Tolnay
b220f264a5
Merge pull request #898 from SimonSapin/z-is-dead
...
Remove usage of unstable core::num::Zero, which was removed upstream.
2017-04-23 16:35:57 -07:00
David Tolnay
1a2b3815ef
Merge pull request #899 from SimonSapin/z-is-dead-in-0.9-too
...
Remove usage of unstable core::num::Zero, which was removed upstream.
2017-04-23 16:34:06 -07:00
Simon Sapin
6fbf40b83c
Remove usage of unstable core::num::Zero, which was removed upstream.
...
https://github.com/rust-lang/rust/pull/41437
2017-04-24 08:29:38 +09:00
Simon Sapin
1d6ecf3c2c
Remove usage of unstable core::num::Zero, which was removed upstream.
...
https://github.com/rust-lang/rust/pull/41437
Backport of https://github.com/serde-rs/serde/pull/898 to 0.9.x
2017-04-24 08:25:08 +09:00
David Tolnay
d7ccef0cac
Release 1.0.0
2017-04-20 08:19:31 -07:00
David Tolnay
2d465415c5
Take credit
2017-04-20 08:13:46 -07:00
David Tolnay
bc2d637112
Cut an internals release
2017-04-20 08:11:31 -07:00
David Tolnay
cf1cdadc77
Fix some rustfmt screwups
2017-04-19 15:56:22 -07:00
David Tolnay
4a9cb3395d
Fix the serialize_bytes doc test
2017-04-19 15:03:02 -07:00
David Tolnay
dfa6623a24
Encourage serialize_entry
2017-04-19 14:56:52 -07:00
David Tolnay
a8adac6b93
Document misuse of SerializeMap
2017-04-19 14:55:28 -07:00
David Tolnay
b9b7922ef1
Naming for &str and &[u8] is more like primitives
2017-04-19 14:53:15 -07:00
David Tolnay
a369ee156f
Run serde_test doc tests in Travis
2017-04-19 14:45:06 -07:00
David Tolnay
d1253cb193
Minimal serde_derive documentation
...
Fixes #886 .
2017-04-19 14:43:53 -07:00
David Tolnay
bc982f9757
Examples for serde_test methods
2017-04-19 14:39:52 -07:00
David Tolnay
0240814677
Update post-merge html_root_urls
2017-04-19 14:32:04 -07:00
David Tolnay
670be2ce2f
Crate-level documentation for serde_test
2017-04-19 14:31:07 -07:00
David Tolnay
c893e3e872
Support old rustc
2017-04-19 14:17:18 -07:00
David Tolnay
fe8141fd70
Reorder Tokens to match the Serializer trait
2017-04-19 14:15:24 -07:00
David Tolnay
aa750d2bf3
Examples of every token
2017-04-19 14:12:56 -07:00
David Tolnay
4cea214da2
Update the assert_ser_tokens_error example
2017-04-19 13:11:14 -07:00
David Tolnay
15341780a2
Use struct variants in test suite
2017-04-19 13:06:31 -07:00
David Tolnay
4767ca3f5d
Use struct variants in token
2017-04-19 12:20:17 -07:00
David Tolnay
26a6ba177c
Remove error from serde_test public API
2017-04-19 11:54:48 -07:00
David Tolnay
974c8434e9
Add example of Error::Message
2017-04-19 10:42:15 -07:00
David Tolnay
0734b44a3a
Remove unneeded trait bounds
2017-04-19 10:41:58 -07:00
David Tolnay
d0f846182b
Keep serde_test serializer and deserializer private
2017-04-19 09:46:30 -07:00
David Tolnay
7a7d4c6364
Format in rfc style
2017-04-18 14:23:21 -07:00
David Tolnay
c567e749ef
Merge branch 'origin/1.0' into 'origin/master'
2017-04-18 14:03:00 -07:00
David Tolnay
b8a6e68322
Revert "Allow borrowing from str's IntoDeserializer"
...
This reverts commit 30e8c84d01 .
2017-04-17 16:18:48 -07:00
David Tolnay
6279b0d930
Resolve merge conflicts
2017-04-17 14:25:29 -07:00
David Tolnay
a778425d0f
Merge branch 'origin/master' into 'origin/1.0'
...
Conflicts:
serde/Cargo.toml
serde/src/de/impls.rs
serde/src/ser/impls.rs
serde_derive/Cargo.toml
serde_test/Cargo.toml
2017-04-17 14:18:33 -07:00
David Tolnay
faaf5ee115
Merge pull request #884 from serde-rs/sfs
...
Remove seq_fixed_size in favor of tuple
2017-04-17 12:29:36 -07:00
David Tolnay
86deb8db79
Remove seq_fixed_size in favor of tuple
2017-04-17 12:07:49 -07:00
David Tolnay
d4d2061a2e
Release 0.9.14
2017-04-17 07:33:45 -07:00
David Tolnay
c202ce13dc
Merge pull request #882 from jethrogb/feature/interior_mut_types
...
Add Serialize/Deserialize for std types that provide interior mutability
2017-04-17 07:32:13 -07:00
Jethro Beekman
1c9478bfa6
Add Serialize/Deserialize for std types that provide interior mutability
...
Fixes #179
2017-04-16 22:59:17 -07:00
David Tolnay
739ad64c7c
Organize top links
2017-04-16 20:44:27 -07:00
David Tolnay
3eef7c87c9
Fix xml link spacing
2017-04-16 20:33:15 -07:00
David Tolnay
e0c040a3a2
Document MapAccess misuse
2017-04-15 12:36:43 -07:00
David Tolnay
c13a37d4db
Rename VariantAccess methods to not conflict with Deserializer
2017-04-15 12:35:04 -07:00
David Tolnay
4354aab93a
Document the default behavior of Visitor methods
2017-04-14 22:29:46 -07:00
David Tolnay
691e304fff
Mention the shorthand for identifiers
2017-04-14 22:13:55 -07:00
David Tolnay
13463e25c2
Add a lowercase case convention
2017-04-14 22:09:46 -07:00
David Tolnay
54bbf81dfc
Put deserialize_struct and deserialize_enum adjacent
2017-04-14 22:00:27 -07:00
David Tolnay
cdfd445528
Generate deserialize impls for identifiers
2017-04-14 21:53:48 -07:00
David Tolnay
30e8c84d01
Allow borrowing from str's IntoDeserializer
2017-04-14 20:54:58 -07:00
David Tolnay
a35bde49c6
Factor out logic to decide the tag style
2017-04-14 16:14:10 -07:00
David Tolnay
f9535a4d67
Remove "item" terminology in favor of "container"
...
The docs have been using "container" for a long time.
2017-04-14 15:52:58 -07:00
David Tolnay
6d55501dab
Replace "codegen" with "derive"
2017-04-14 15:42:27 -07:00
David Tolnay
5b118fdef4
Reorder methods to match the serializer trait
2017-04-14 15:24:21 -07:00
David Tolnay
337c6e91d8
Access terminology in serde_test
2017-04-14 15:07:19 -07:00
David Tolnay
b0dc7ea6da
Nicer type parameter for the access forwarding impls
2017-04-14 15:03:43 -07:00
David Tolnay
67d56ae427
Remove unneeded impl bounds
2017-04-14 15:00:16 -07:00
David Tolnay
6829c10a10
Helper deserializer means nothing
2017-04-14 14:49:45 -07:00
David Tolnay
6a37472023
Implement ser::Error for the value error
2017-04-14 14:40:37 -07:00
David Tolnay
d10fa2bd86
Keep underscored names out of the documentation
2017-04-14 14:38:58 -07:00
David Tolnay
e722cf8791
Fix some function signatures that rustfmt missed
2017-04-14 14:33:00 -07:00
David Tolnay
bc4205a1d0
Use V as the Visitor parameter
2017-04-14 14:31:29 -07:00
David Tolnay
ea5af417fb
Use access terminology for value deserializers
2017-04-14 14:30:28 -07:00
David Tolnay
c70c364754
Example of IntoDeserializer
2017-04-14 14:24:47 -07:00
David Tolnay
9cda4563c0
Clean up extraneous vertical space
2017-04-14 14:10:55 -07:00
David Tolnay
fc927e0e25
Review deserialize impls
2017-04-14 14:08:11 -07:00
David Tolnay
7915835a93
Merge pull request #879 from serde-rs/size_hint
...
Simplify size_hint to Option<usize>
2017-04-14 14:07:36 -07:00
David Tolnay
0c5db90de8
Simplify size_hint to Option<usize>
2017-04-14 13:31:46 -07:00
David Tolnay
637332de2d
Merge pull request #878 from serde-rs/deserialize_any
...
Rename Deserializer::deserialize to deserialize_any
2017-04-14 13:04:20 -07:00
David Tolnay
e77e7c4bba
Rename Deserializer::deserialize to deserialize_any
2017-04-14 12:52:57 -07:00
David Tolnay
1798d1af6e
Merge pull request #876 from serde-rs/access
...
Access traits
2017-04-14 12:45:54 -07:00
David Tolnay
31cec05712
Access traits
2017-04-14 12:24:35 -07:00
David Tolnay
f2de0509f5
Whitelist the zero prefixed literals used in array_impls
2017-04-14 12:24:22 -07:00
David Tolnay
26d357e846
Map ser impls should serialize a map
2017-04-14 12:08:26 -07:00
David Tolnay
4e2f08cc7a
Format some where clauses that rustfmt refused to touch
2017-04-13 23:04:53 -07:00
David Tolnay
91a0f248a1
More readable MapDeserializer bounds
2017-04-13 22:59:36 -07:00
David Tolnay
03462b6e39
Update the list of deserializable types
2017-04-13 17:48:39 -07:00
David Tolnay
37f8ea234f
Hyperlink the de module documentation
2017-04-13 17:43:10 -07:00
David Tolnay
3f920f645c
License boilerplate
2017-04-13 17:34:42 -07:00
David Tolnay
a937a06d3e
Add an IgnoredAny example
2017-04-13 17:22:51 -07:00
David Tolnay
dd092dce95
Allow using IgnoredAny as a visitor
2017-04-13 16:53:27 -07:00
David Tolnay
dfea7ec939
This is not a bottleneck
2017-04-13 16:46:38 -07:00
David Tolnay
0e7c027ff1
NonZero is just another deref
2017-04-13 16:44:05 -07:00
David Tolnay
8b6f77095a
Remove redundant cfg
2017-04-13 16:43:03 -07:00
David Tolnay
dbe7d04282
Import Path and PathBuf directly
2017-04-13 16:38:04 -07:00
David Tolnay
fb7964fde7
Clean up serialize_display_bounded_length
2017-04-13 16:36:24 -07:00
David Tolnay
f45b83f0c1
Condense the deref impls
2017-04-13 16:26:30 -07:00
David Tolnay
f28abe8fde
Map impls more like the seq impls
2017-04-13 16:09:53 -07:00
David Tolnay
15faaf8bc3
Condense the tuple impls
2017-04-13 16:01:50 -07:00
David Tolnay
a15636f808
More like the Deserialize impls for sequences
2017-04-13 15:55:34 -07:00
David Tolnay
5d396c4e3b
Condense the array impls
2017-04-13 15:41:26 -07:00
David Tolnay
bdccde5c9b
Simplify serialize impl for String
2017-04-13 15:36:46 -07:00
David Tolnay
7dd01dd54a
This macro serializes a primitive
2017-04-13 15:36:42 -07:00
David Tolnay
e4b21e6caa
Example for serialize_unit
2017-04-13 15:20:09 -07:00
David Tolnay
2afbffa924
Example for serialize_unit_struct
2017-04-13 15:20:01 -07:00
David Tolnay
385f83a7de
Examples and links for Option
2017-04-13 15:16:43 -07:00
David Tolnay
50f5ef2fb6
Condense some serializer imports
2017-04-13 14:54:59 -07:00
David Tolnay
13f273ad74
Examples for the primitive serializer methods
2017-04-13 14:51:39 -07:00
David Tolnay
09bd8287e7
Hyperlink the serialize_entry documentation
2017-04-13 14:27:13 -07:00
David Tolnay
35313257c5
Do not hyperlink first sentence because it shows up in index
2017-04-13 14:23:06 -07:00
David Tolnay
07bce54ad3
Add a collect_map example
2017-04-13 14:21:28 -07:00
David Tolnay
41488252ff
Add a collect_seq example
2017-04-13 14:19:17 -07:00
David Tolnay
8d1f882512
Hyperlink the collect methods
2017-04-13 14:16:28 -07:00
David Tolnay
dec6b67236
Hyperlink the Serializer associated types
2017-04-13 14:02:13 -07:00
David Tolnay
0cf8eadef8
Dynamically sized means something else
2017-04-13 13:56:12 -07:00
David Tolnay
7d16710fb4
Add an example to Serialize
2017-04-13 13:55:51 -07:00
David Tolnay
9253fccf04
Hyperlink the Serialize documentation
2017-04-13 13:55:34 -07:00
David Tolnay
eab771cd1a
Standardize on 80 characters per line
...
Per Mozilla coding style:
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style
2017-04-13 13:24:47 -07:00
David Tolnay
4f6518dad7
Hyperlink the ser::Error documentation
2017-04-13 13:20:12 -07:00
David Tolnay
f8e53e837d
Hyperlink the ser module documentation
2017-04-13 13:15:23 -07:00
David Tolnay
c5854f19f7
Prefer where clauses
2017-04-13 13:02:10 -07:00
David Tolnay
5bb6de80b2
Use better names for the sake of the documentation
2017-04-13 12:45:42 -07:00
David Tolnay
c4e31bd968
Match the associated types from the Serializer trait
2017-04-13 12:43:24 -07:00
David Tolnay
2887c379de
Hyperlink the Impossible documentation
2017-04-13 12:42:36 -07:00
David Tolnay
ea8fb97beb
Format in rfc style
2017-04-13 12:32:29 -07:00
David Tolnay
c5bd760133
Sort macros in a more readable order
2017-04-13 12:15:12 -07:00
David Tolnay
942642c0f4
Hyperlink the forward_to_deserialize documentation
2017-04-13 12:09:42 -07:00
David Tolnay
78407e19a9
Export Formatter directly for generated code
2017-04-13 12:02:16 -07:00
David Tolnay
47a4e61b8b
Document the parts of lib.rs
2017-04-13 11:59:42 -07:00
David Tolnay
5141270346
Touch up the top-level documentation
2017-04-13 11:52:33 -07:00
David Tolnay
dc7ab2696a
Point html_root_url to docs.rs
2017-04-13 11:31:29 -07:00
David Tolnay
14034968df
Implement Copy for de::Unexpected
2017-04-13 11:11:37 -07:00
David Tolnay
aef136934b
Implement Clone for the value deserializers
2017-04-13 11:11:09 -07:00
David Tolnay
7d0a38270d
Eagerly implement common traits for IgnoredAny
2017-04-13 11:06:48 -07:00
David Tolnay
07154303ed
Implement Debug for public types
2017-04-13 11:04:16 -07:00
David Tolnay
4f39766211
Fix paths to readme files
2017-04-13 10:37:24 -07:00
David Tolnay
304b598a05
Add appveyor badge to crates.io
2017-04-13 10:26:47 -07:00
David Tolnay
afd080d005
Merge branch 'origin/master' into 'origin/1.0'
2017-04-13 10:19:35 -07:00
David Tolnay
1232cfd194
Add playground link to readme
2017-04-13 10:19:22 -07:00
David Tolnay
7e72d8bf66
Merge pull request #869 from serde-rs/into
...
Rename ValueDeserializer trait to IntoDeserializer
2017-04-12 08:06:18 -07:00
David Tolnay
0d82bbf74f
Rename ValueDeserializer trait to IntoDeserializer
2017-04-11 23:20:35 -07:00
David Tolnay
aed5a77540
Fix assert_next_token on old rustc
2017-04-10 19:41:32 -07:00
David Tolnay
f54d597b2e
Merge pull request #865 from serde-rs/use
...
Centralize all import wrangling
2017-04-10 19:15:45 -07:00
David Tolnay
2efb95015b
Appease Rust 1.13.0
2017-04-10 19:06:42 -07:00
David Tolnay
f88db0f547
Centralize all import wrangling
2017-04-10 18:50:22 -07:00
David Tolnay
0b7accf86c
Remove unused unstable flag from serde_derive
2017-04-10 17:29:59 -07:00
David Tolnay
ab82f09e5d
Merge pull request #864 from serde-rs/rc
...
Put rc impls behind a cfg
2017-04-10 17:20:38 -07:00
David Tolnay
0f72d1a388
Put rc impls behind a cfg
2017-04-10 17:01:11 -07:00
David Tolnay
ef3489a23e
Merge pull request #863 from serde-rs/cfgs
...
Document the cargo cfgs
2017-04-10 16:47:14 -07:00
David Tolnay
8bbab627a0
Document the cargo cfgs
2017-04-10 16:38:11 -07:00
David Tolnay
76ff216a5f
Merge pull request #853 from serde-rs/fwd
...
Configurable forward_to_deserialize
2017-04-10 15:43:34 -07:00
David Tolnay
b40ecf04ce
Merge branch 'origin/1.0' into 'origin/fwd'
...
Conflicts:
serde/src/macros.rs
2017-04-10 15:23:37 -07:00
David Tolnay
eeaa095cd3
Merge pull request #860 from serde-rs/identifier
...
Standardize on u32 for struct field index and enum variant index
2017-04-10 15:16:16 -07:00
David Tolnay
1985cfc955
Merge branch 'origin/1.0' into 'origin/identifier'
...
Conflicts:
serde_derive/src/ser.rs
2017-04-10 12:37:41 -07:00
David Tolnay
517270a943
Merge pull request #858 from serde-rs/remote
...
Derive for remote types
2017-04-10 12:33:38 -07:00
David Tolnay
6a6606cd64
Test unknown field in remote struct
2017-04-10 12:23:02 -07:00
David Tolnay
174867295b
Test missing field in remote struct
2017-04-10 12:22:51 -07:00
David Tolnay
ad5bf04c4e
Test for incorrect remote type deserializing
2017-04-10 12:15:40 -07:00
David Tolnay
2deacf8eaa
Detect incorrect remote type without getter
2017-04-10 12:12:00 -07:00
David Tolnay
e133b8b708
Fix unused import on windows
2017-04-09 14:11:27 -07:00
David Tolnay
52e93150e6
Standardize on u32 as the type of a variant index
2017-04-09 14:03:18 -07:00
David Tolnay
a38b24136b
Rename deserialize_struct_field to deserialize_identifier
...
Because it applies to both struct fields and discriminants of an enum.
2017-04-09 13:35:22 -07:00
David Tolnay
78f682590a
Merge branch 'origin/1.0' into 'origin/remote'
...
Conflicts:
serde_derive/src/de.rs
2017-04-09 13:19:04 -07:00
David Tolnay
528ec3cdd8
Merge pull request #859 from serde-rs/unitseq
...
Remove conversion from empty seq to unit struct
2017-04-09 13:17:41 -07:00
David Tolnay
1986c17052
Remove conversion from empty seq to unit struct
2017-04-09 13:08:05 -07:00
David Tolnay
5ec317a899
More compile-fail tests for remote derive
2017-04-09 11:11:27 -07:00
David Tolnay
9d8987bde8
Require getters to return the correct type
2017-04-09 10:59:54 -07:00
David Tolnay
a6d172111b
Derive for remote types
2017-04-09 10:15:46 -07:00
David Tolnay
9271f7c48c
Use a deserializer in which V would conflict
2017-04-08 22:46:53 -07:00
David Tolnay
74e15ea9f5
Configurable forward_to_deserialize
2017-04-08 22:43:07 -07:00
David Tolnay
2c49f9aad3
Recommend 'extern crate serde'
2017-04-08 13:53:13 -07:00
David Tolnay
cc933b9cdb
Just use an existing macro
2017-04-07 17:26:03 -07:00
David Tolnay
fdaa8202b9
Clean up some existing examples
2017-04-07 11:06:19 -07:00
David Tolnay
85d4dc3e20
Copy the Serializer examples to the helper traits
2017-04-07 10:45:13 -07:00
David Tolnay
11a6e42256
Unignore SerializeSeq example
2017-04-07 10:42:54 -07:00
David Tolnay
b1cfa5aef5
Unignore Serializer::serialize_struct_variant example
2017-04-07 10:35:42 -07:00
David Tolnay
f2b230a0b8
Unignore Serializer::serialize_struct example
2017-04-07 10:34:03 -07:00
David Tolnay
8aa630ea48
Unignore Serializer::serialize_map example
2017-04-07 10:32:01 -07:00
David Tolnay
ad249c7fac
Unignore Serializer::serialize_tuple_variant example
2017-04-07 10:28:53 -07:00
David Tolnay
fccb395168
Unignore Serializer::serialize_tuple_struct example
2017-04-07 10:26:00 -07:00
David Tolnay
8d130123d9
Unignore Serializer::serialize_tuple example
2017-04-07 10:23:52 -07:00
David Tolnay
d97c4f403c
Unignore Serializer::serialize_seq_fixed_size example
2017-04-07 10:17:40 -07:00
David Tolnay
e86e716f7a
Show imports in Serializer examples
2017-04-07 10:12:15 -07:00
David Tolnay
870305aa93
Unignore Serializer::serialize_seq example
2017-04-07 10:11:08 -07:00
David Tolnay
b9be543596
Unignore Serializer::serialize_newtype_variant example
2017-04-07 10:04:37 -07:00
David Tolnay
43d49f54be
Unignore Serializer::serialize_newtype_struct example
2017-04-07 10:02:11 -07:00
David Tolnay
753c711cd7
Unignore Serializer::serialize_unit_variant example
2017-04-07 10:01:39 -07:00
David Tolnay
2e9cc6e98a
Move utf8 encode to where it is used
2017-04-07 09:50:38 -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
467b5fc595
Macro to ignore tokens in doc test
2017-04-07 09:28:33 -07:00
David Tolnay
995f2b3f76
Ignore clippy false positive
2017-04-07 09:21:30 -07:00
David Tolnay
e57ce37ac1
Unignore Serializer::serialize_bytes example
2017-04-07 09:07:08 -07:00
David Tolnay
a581c0d147
Keep Debug and Display as supertraits even in no_std
2017-04-07 09:00:00 -07:00
David Tolnay
21c2119349
Unignore the Impossible example
2017-04-06 17:09:01 -07:00
David Tolnay
f12a951f22
Unignore VariantVisitor::visit_struct example
2017-04-06 16:28:24 -07:00
David Tolnay
d2d4892873
Unignore VariantVisitor::visit_tuple example
2017-04-06 16:26:51 -07:00
David Tolnay
2b449683f3
Unignore VariantVisitor::visit_newtype_seed example
2017-04-06 16:24:48 -07:00
David Tolnay
9d73271db2
Unignore VariantVisitor::visit_unit example
2017-04-06 16:19:47 -07:00
David Tolnay
7ef80a845d
Unignore DeserializeOwned example
2017-04-06 16:11:30 -07:00
David Tolnay
33760e122c
Remove LineColIterator
...
This belongs in a helper crate.
2017-04-06 14:27:21 -07:00
David Tolnay
dd62801b22
Use spaces around =-sign like Rust does
2017-04-06 14:22:03 -07:00
David Tolnay
5415abf80b
Merge pull request #848 from serde-rs/emptyarray
...
Relax impls for [T; 0]
2017-04-05 17:43:11 -07:00
David Tolnay
6388019ad4
Relax impls for [T; 0]
2017-04-05 17:34:13 -07:00
David Tolnay
2fe67d3d72
Merge pull request #847 from serde-rs/error
...
Remove serde::error::Error
2017-04-05 16:37:18 -07:00
David Tolnay
1e32329e61
Fix unused feature gate warning
2017-04-05 16:30:46 -07:00
David Tolnay
e2a1f08e43
Remove unused import of std::ops
2017-04-05 16:26:58 -07:00
David Tolnay
11c89695a1
Rust 1.13.0 macro parsing workaround
2017-04-05 16:22:47 -07:00
David Tolnay
5f49eb8b24
Remove unused import of MapVisitor
2017-04-05 16:18:11 -07:00
David Tolnay
3cc14c2a6d
Remove serde::error::Error
2017-04-05 16:12:41 -07:00
David Tolnay
aa30ef827c
Move Bytes and ByteBuf to their own crate
...
Moved to https://github.com/serde-rs/bytes .
2017-04-05 15:21:27 -07:00
David Tolnay
ebe214e8ac
Remove CString dependency on ByteBuf
2017-04-05 15:19:29 -07:00
David Tolnay
8fd41d3b28
Disable publishing
2017-04-05 15:11:47 -07:00
David Tolnay
a7f6ad137a
Merge branch 'master' into '1.0'
...
Conflicts:
serde/src/macros.rs
2017-04-05 15:10:18 -07:00
David Tolnay
1b763da529
Release 0.9.13
2017-04-05 15:03:37 -07:00
David Tolnay
b7d6c5d9f7
Remove no_std special case in forward_to_deserialize
2017-04-05 15:01:55 -07:00
David Tolnay
e7d3d515df
Simplify integer conversion logic
2017-04-05 13:06:05 -07:00
David Tolnay
145733ce77
Remove redundant Bounded trait
2017-04-05 12:36:51 -07:00
David Tolnay
1a63cbccb2
Remove unused ToPrimitive trait
2017-04-05 12:29:05 -07:00
David Tolnay
07ac9eb538
Remove unused number conversion logic
2017-04-05 12:11:50 -07:00
David Tolnay
14aa89aac8
Merge pull request #846 from serde-rs/float
...
Remove implicit conversion from float to integer
2017-04-05 11:51:49 -07:00
David Tolnay
e66033e53e
Remove implicit conversion from float to integer
2017-04-05 11:25:12 -07:00
David Tolnay
dcb837b531
Merge pull request #845 from serde-rs/token
...
Modernize serde_test Token names
2017-04-05 10:52:33 -07:00
David Tolnay
51d3fb1ebc
Update token names in test suite
2017-04-05 10:40:14 -07:00
David Tolnay
826b53f691
Update token names in serde_test
2017-04-05 10:30:46 -07:00
David Tolnay
b6605b57e0
Modernize serde_test Token names
2017-04-05 10:26:34 -07:00
David Tolnay
f03e8e6056
Exhaustive match in serde_test deserializer
2017-04-05 09:54:12 -07:00
David Tolnay
a33a9a5b26
Merge pull request #844 from serde-rs/sep
...
Eliminate Sep tokens in serde_test
2017-04-05 09:54:02 -07:00
David Tolnay
67ed7a0edd
Eliminate Sep tokens in serde_test
2017-04-05 09:42:27 -07:00
David Tolnay
9b51be4ba6
Merge pull request #843 from serde-rs/ignore
...
Stop ignoring error in assert_de_tokens_ignore
2017-04-05 09:36:22 -07:00
David Tolnay
c3d9b42cdf
Fix handling of option and newtype in IgnoredAny
2017-04-05 09:19:22 -07:00
David Tolnay
b2377d4c0b
Allow enums in ignored map value in serde_test
2017-04-05 08:54:30 -07:00
David Tolnay
dee58ead7f
Merge pull request #841 from serde-rs/nostr
...
Remove the no_std implementation of collect_str
2017-04-05 08:12:31 -07:00
David Tolnay
887985523e
Merge pull request #840 from serde-rs/privimpl
...
Make the built-in visitors private
2017-04-05 08:12:00 -07:00
David Tolnay
cabc299447
Merge pull request #839 from serde-rs/conv
...
Remove questionable type conversions
2017-04-05 08:11:50 -07:00
David Tolnay
21adee8f40
Partial support for EnumStart in assert_ser_tokens
2017-04-05 01:15:42 -07:00
David Tolnay
afaab12b66
Improve assert_ser_tokens error messages
2017-04-05 01:06:42 -07:00
David Tolnay
93860d0643
Require slice of tokens in serde_test::Serializer
2017-04-05 00:27:30 -07:00
David Tolnay
b43554fbb1
Require slice of tokens in serde_test::Deserializer
2017-04-05 00:22:00 -07:00
David Tolnay
5871fb9ce0
Remove lifetime from serde_test::Token
2017-04-05 00:17:50 -07:00
David Tolnay
f05368ed24
Remove the no_std implementation of collect_str
2017-04-04 19:10:35 -07:00
David Tolnay
732b91e53d
Make the built-in visitors private
2017-04-04 18:59:57 -07:00
David Tolnay
d03ecda333
Test that conversions do not happen
2017-04-04 18:50:40 -07:00
David Tolnay
7a722d5060
Remove questionable conversion tests
2017-04-04 18:38:58 -07:00
David Tolnay
2795f0ed9d
Remove questionable type conversions
2017-04-04 18:18:47 -07:00
David Tolnay
92bc23e484
Deserializing OsString on windows requires a 'de lifetime
2017-04-04 18:08:36 -07:00
David Tolnay
5a98bd9ee3
Merge branch 'master' into '1.0'
2017-04-04 18:04:40 -07:00
David Tolnay
bfabaf3789
Merge pull request #838 from serde-rs/winstr
...
Deserialize OsString on Windows
2017-04-04 11:33:42 -07:00
David Tolnay
cf6c4ab7ec
Deserialize OsString on Windows
2017-04-04 11:19:24 -07:00
David Tolnay
7c27e10226
Merge pull request #837 from serde-rs/borrow
...
Derive for borrowed fields
2017-04-04 10:51:56 -07:00
David Tolnay
20ff9ba89b
Add tests of deserializing borrows
2017-04-04 10:47:21 -07:00
David Tolnay
211e2bb8d9
Support borrowed tokens in serde_test
2017-04-04 09:56:01 -07:00
David Tolnay
cee3efbda8
Relax lifetime requirement of the borrow_cow functions
2017-04-03 00:54:50 -07:00
David Tolnay
fb48111e46
Derive for borrowed fields
2017-04-03 00:40:45 -07:00
David Tolnay
8c3e72f2c8
Merge pull request #834 from serde-rs/easy
...
Deserialize impls for &str and &[u8]
2017-03-31 00:44:44 -07:00
David Tolnay
aa46318425
Deserialize impls for &str and &[u8]
2017-03-30 23:36:20 -07:00
David Tolnay
3d3118f8b0
Merge pull request #826 from serde-rs/lifetime
...
Add a 'de lifetime to the deserialize traits
2017-03-30 23:11:49 -07:00
David Tolnay
b6f1a2eb55
Add a note about assuming the deserializer lifetime name
2017-03-30 23:06:00 -07:00
David Tolnay
8eb50186e0
Merge pull request #831 from serde-rs/derivepath
...
Use the live serde_derive for serde doc tests
2017-03-30 22:55:33 -07:00
David Tolnay
4dec5f4de8
Update example code for zero copy
2017-03-30 22:54:42 -07:00
David Tolnay
8e0c036158
Merge branch 'derivepath' into 'lifetime'
2017-03-30 22:48:48 -07:00
David Tolnay
7d985ff3fd
Use the live serde_derive for serde doc tests
...
This is required as both are updated to Deserialize<'de> together.
2017-03-30 22:45:15 -07:00
David Tolnay
d3a2f5e268
Add a 'de lifetime to the deserialize traits
2017-03-29 00:10:34 -07:00
David Tolnay
59b3961ad4
Release 0.9.12
2017-03-27 15:45:14 -07:00
David Tolnay
dbc9a60c5f
Merge pull request #824 from alexcrichton/osstr-osstring
...
Implement Serialize/Deserialize for OsStr/OsString
2017-03-27 15:39:07 -07:00
Alex Crichton
ce687431f3
Implement Serialize/Deserialize for OsStr/OsString
...
This commit implements the two serde traits for the libstd `OsStr` and
`OsString` types. This came up as a use case during implementing sccache where
we're basically just doing IPC to communicate paths around. Additionally the
`Path` and `PathBuf` implementations have been updated to delegate to the os
string ones.
These types are platform-specific, however, so the serialization/deserialization
isn't trivial. Currently this "fakes" a newtype variant for Unix/Windows to
prevent cross-platform serialization/deserialization. This means if you're doing
IPC within the same OS (e.g. Windows to Windows) then serialization should be
infallible. If you're doing IPC across platforms (e.g. Unix to Windows) then
using `OsString` is guaranteed to fail as bytes from one OS won't deserialize on
the other (even if they're unicode).
2017-03-27 11:44:50 -07:00
David Tolnay
71ccc5753b
Merge pull request #820 from serde-rs/reexport
...
Re-export derives from serde
2017-03-26 20:37:12 -07:00
David Tolnay
13886435a6
Re-export derives from serde
2017-03-21 16:54:31 -07:00
David Tolnay
08e2182042
UFCS for Option::map and Result::map
2017-03-18 13:31:03 -07:00
David Tolnay
d60595cc27
Use format_args! to simplify de::Error
2017-03-18 10:48:47 -07:00
David Tolnay
8c7396c35a
Be consistent with UFCS and double underscores
2017-03-18 10:33:22 -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
c488cec641
Remove RangeInclusive impl for now
...
The old impl is inconsistent with the new ops::Range impl.
2017-03-13 11:09:56 -07:00
David Tolnay
fcc3c69a49
Range impl is defined when building with std
2017-03-09 12:04:02 -08:00
David Tolnay
350c2e835b
Remove duplicate ops::Range serialize impl
2017-03-09 11:57:36 -08:00
David Tolnay
a0a031677e
Merge pull request #813 from rocallahan/support-range
...
Implement `Serialize`/`Deserialize` for `Range`
2017-03-09 11:55:21 -08:00
Robert O'Callahan
cc0d045f5c
Add Deserialize impl for std::ops::Range
...
Resolves #796
2017-03-10 08:39:34 +13:00
Robert O'Callahan
aebe1fddab
Add Serialize impl for std::ops::Range
2017-03-10 00:35:04 +13:00
David Tolnay
77ee306b57
Format serde with rustfmt 0.8.0
2017-03-08 21:11:17 -08:00
David Tolnay
6750fdaae1
Merge pull request #811 from jonhoo/deserialize-cstr
...
Add Deserialize impl for CStr
2017-03-08 21:06:09 -08:00
David Tolnay
dd6989d551
Actually run unstable tests
2017-03-08 21:02:15 -08:00
Jon Gjengset
0c2fed49e2
Add Deserialize impl for CStr
...
Fixes #810
2017-03-08 23:57:26 -05:00
Oliver Schneider
a4ee9bd045
Merge pull request #808 from serde-rs/u32
...
Implement deserialize_enum for U32Deserializer
2017-03-07 18:58:29 +01:00
David Tolnay
6d9397d573
Implement deserialize_enum for U32Deserializer
2017-03-07 09:05:33 -08:00
David Tolnay
dc9445f873
Release 0.9.11
2017-03-05 16:51:44 -08:00
David Tolnay
17bc40ec1c
Merge pull request #789 from nox/display
...
Introduce Serializer::collect_str (fixes #786 )
2017-03-05 16:47:22 -08:00
David Tolnay
2184fef82f
Add format_args example to collect_str
2017-03-05 16:43:31 -08:00
David Tolnay
7e1b5c6ce4
Neater collect_str variable name for rustdoc
2017-03-05 16:26:05 -08:00
David Tolnay
36da8a5cee
Error message geared toward serializer users
...
The previous message was targeted toward Serializer implementors, which is not
the group that will be seeing this message most often.
2017-03-05 16:24:48 -08:00
David Tolnay
fbe85f399d
Force no_std formats to implement collect_str in the future
2017-03-05 16:22:02 -08:00
David Tolnay
880b27b19e
Identical signature for std and no_std collect_str
2017-03-05 16:17:03 -08:00
David Tolnay
cc06f070d1
Use the existing CString error message
2017-03-05 13:59:18 -08:00
David Tolnay
2f988aa5e6
Merge pull request #801 from jonhoo/ffi-strings
...
impls for null-terminated FFI string types
2017-03-05 13:51:09 -08:00
Jon Gjengset
d294a10e83
Only include ByteBuf when ser/de is on for std
2017-03-03 23:48:00 -05:00
Jon Gjengset
defcbef7ab
Use a non-stupid path for bytes::ByteBuf
2017-03-03 23:28:35 -05:00
Jon Gjengset
d90eecd4a2
Add tests for CStr(ing) ser/de
2017-03-03 18:06:04 -05:00
Jon Gjengset
0d6d077e6a
Serialize and deserialize CString through [u8]
2017-03-03 18:05:08 -05:00
Jon Gjengset
be09fc9bbb
Remove unsafe Deserialize impl for CStr
...
See also https://github.com/rust-lang/rust/issues/40248
2017-03-03 17:34:01 -05:00
Jon Gjengset
fc9d78e26b
Use serialize_bytes for speed
2017-03-03 17:14:39 -05:00
Jon Gjengset
9f83164c40
Don't serialize trailing NULL
2017-03-03 17:14:28 -05:00
Jon Gjengset
857974ab8a
impls for null-terminated FFI string types
...
Fixes #800 .
2017-03-03 16:09:41 -05:00
David Tolnay
d70636f4d4
Merge pull request #794 from clarcharr/master
...
Documentation for serde_test.
2017-03-02 11:53:05 -08:00
Clar Charr
09e467cc4c
Documentation for serde_test.
2017-02-28 18:20:27 -05:00
David Tolnay
51ed9c2a40
Release 0.9.10
2017-02-28 12:45:39 -08:00
Anthony Ramine
a9a05350a9
Introduce Serializer::collect_str ( fixes #786 )
...
The default implementation collects the Display value into a String
and then passes that to Serializer::serialize_str when the std or collections
features are enabled, otherwise it unconditionally returns an error.
2017-02-28 12:11:47 +01:00
David Tolnay
fe9ea3b4b4
Fix needless_pass_by_value lint
2017-02-27 19:43:42 -08:00
David Tolnay
f944b453c4
Merge pull request #792 from elliottslaughter/fix_serialize_tuple_docs
...
Fix documentation of serialize_tuple and SerializeTuple
2017-02-27 14:05:15 -08:00
Elliott Slaughter
a993630cf9
Fix documentation of serialize_tuple and SerializeTuple.
2017-02-27 14:00:21 -08:00
David Tolnay
abc081ce9c
Test rename_all attribute
2017-02-25 11:58:34 -08:00
David Tolnay
207940046b
Merge pull request #788 from 46bit/issue-140
...
`rename_all` container attribute to have all children fit a naming convention
2017-02-25 11:38:33 -08: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
David Tolnay
75e6da02d3
Split up test suite so it compiles in parallel
2017-02-24 15:39:18 -08:00
David Tolnay
59ec931d8f
Release 0.9.9
2017-02-24 13:57:52 -08:00
David Tolnay
4b3c5ea99e
Fix clippy lint in content serializer
2017-02-24 13:56:44 -08:00
David Tolnay
d4ea4a7eef
Add test for enums containing enums
...
Fixes #775 .
2017-02-24 13:50:47 -08:00
David Tolnay
5fbdadefb2
Deserializing enums in serde_test
2017-02-24 13:47:04 -08:00
David Tolnay
4da77e4200
Serialize to Content
2017-02-24 12:59:35 -08:00
David Tolnay
d797504407
Deserialize enums from &Content
2017-02-24 09:32:14 -08: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
8e5f472e27
Merge pull request #787 from 46bit/issue-775
...
Fix internally tagged enums by implementing ContentDeserializer::deserialize_enum
2017-02-22 18:23:18 -08:00
David Tolnay
5e7883945b
Fix clippy lint in Content::unexpected
2017-02-22 18:16:51 -08:00
David Tolnay
a4bd6b9a96
Fix content's SeqDeserializer on no_std
2017-02-22 18:14:56 -08:00
Michael Mokrysz
4c253748c2
Compiles and fixes internally tagged testcases.
2017-02-23 01:05:44 +00:00
Michael Mokrysz
8f6e1fb5b3
Resolved error typing. Needs to adapt to Content::Map with non-String keys.
...
`EnumDeserializer` is being adapted from:
`serde_json::Value::Map<Vec<(String, Value)>>`
serde has a Map variant that allows non-String keys:
`serde::de::Content::Map<Vec<(Content, Content)>>`
There's a lot of assumptions in `EnumDeserializer` about `String` keys and I'm not sure what the adaptation should be.
2017-02-22 23:59:47 +00:00
Michael Mokrysz
4e665a71bd
Attempt to port serde_json::Value::deserialize_enum for ContentDeserializer is being derailed by what error types should be used.
2017-02-22 22:55:18 +00:00
David Tolnay
017e6d304f
Release 0.9.8
2017-02-21 10:59:42 -08:00
David Tolnay
89cbb81673
Include readme and licenses in crates.io archive
...
Fixes #772 .
2017-02-20 21:11:57 -08:00
David Tolnay
c36743fa05
Merge pull request #782 from serde-rs/adjacent
...
Deserialization of Haskell style enums
2017-02-20 21:04:17 -08:00
David Tolnay
9a3c1243f4
Deserialization of Haskell style enums
2017-02-20 20:05:06 -08:00
David Tolnay
599a1b6607
Fragments that keep track of type of syntax
...
Fixes #777 .
2017-02-20 17:12:35 -08:00
David Tolnay
3d6e086d3e
Support custom paths in container attribute serde(default="...")
2017-02-20 17:06:00 -08:00
David Tolnay
ad480d2b04
Merge pull request #780 from Thomasdezeeuw/default_container
...
Add support for `#[serde(default)]` on structs
2017-02-20 16:10:28 -08:00
Thomas de Zeeuw
7bee779514
Only allow #[serde(default)]` on structs
2017-02-21 00:15:00 +01:00
David Tolnay
dff919a926
Rename __simple_value to __field0 to be consistent with tuples
2017-02-20 14:16:54 -08:00
David Tolnay
bac593573c
Drop aster dependency
2017-02-20 13:50:17 -08: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
3bf8cda994
Update generics handling to use split_for_impl
2017-02-20 13:04:40 -08:00
David Tolnay
f98e7f6ba0
Merge pull request #778 from SimonSapin/serialize_display_bounded_length
...
Avoid some string allocations.
2017-02-20 11:09:32 -08:00
Simon Sapin
772b22b427
Avoid some string allocations.
2017-02-20 18:36:38 +01:00
David Tolnay
535ab1e04b
Merge pull request #771 from elliottslaughter:internally_content_tagged
2017-02-19 16:08:49 -08:00
David Tolnay
a3fe03c323
Serialization of Haskell style enums
2017-02-19 16:04:39 -08:00
David Tolnay
7dad6426da
Merge pull request #774 from nox/limit-hints
...
Clamp hints coming from untrusted input to 4096
2017-02-19 13:51:21 -08:00
David Tolnay
792a5f7502
Also clamp the collection impls
2017-02-19 13:47:05 -08:00
Anthony Ramine
a4c738a9f3
Clamp hints coming from untrusted input to 4096
2017-02-19 14:29:41 +01:00
Elliott Slaughter
4538143d00
Initial work to support serialization of adjacently tagged enums.
2017-02-18 20:46:37 -08:00
David Tolnay
7f08894a32
Remove dependency on unneeded syn feature
2017-02-17 21:01:42 -08:00
David Tolnay
adf7b086b5
Remove outdated comment
2017-02-17 20:38:50 -08:00
David Tolnay
c590df13b9
Add compile-fail test for the with attribute
2017-02-16 18:43:04 -08:00
Oliver Schneider
afa6dfbbe2
Merge pull request #765 from serde-rs/with
...
Pair serialize_with and deserialize_with into one attribute
2017-02-15 08:33:14 +01:00
David Tolnay
f500db6e91
Pair serialize_with and deserialize_with into one attribute
2017-02-14 17:36:50 -08:00
David Tolnay
090c8a7049
Merge pull request #762 from serde-rs/rustfmt
...
Use rustfmt
2017-02-13 01:29:25 -08:00
David Tolnay
e8651a52e7
Rustfmt
2017-02-12 22:15:59 -08:00
David Tolnay
964a2dd4d1
Release 0.9.7
2017-02-09 17:52:11 -08:00
David Tolnay
8a21bbc720
Merge pull request #755 from serde-rs/playground
...
Playground feature to get serde_derive picked up by integer32 playground
2017-02-09 17:50:39 -08:00
Oliver Schneider
4dba260ad7
Merge pull request #756 from shepmaster/patch-2
...
Add missing close backtick
2017-02-09 18:01:35 +01:00
Jake Goulding
1d3044fa28
Add missing close backtick
2017-02-09 11:53:12 -05:00
David Tolnay
d1f0112bfb
Playground feature to get serde_derive picked up by integer32 playground
2017-02-08 12:37:40 -08:00
David Tolnay
3f25cd9a7e
No longer need ser::Error import
2017-02-08 08:17:43 -08:00
David Tolnay
45a36f1219
Fix proc macro panic message in tests
2017-02-08 08:12:32 -08:00
David Tolnay
529a1cfedb
Keyword no_std for serde and serde_derive
2017-02-08 07:40:02 -08:00
David Tolnay
219abd2e00
The performance is identical
2017-02-04 19:04:29 -08:00
David Tolnay
4bd10528a0
Merge pull request #736 from nox/serialize-iter
...
Introduce collect_seq and collect_map
2017-02-04 11:18:36 -08:00
David Tolnay
b82bba2d0a
Merge pull request #747 from serde-rs/phantom_tags
...
Content clean-up
2017-02-04 08:53:04 -08:00
Anthony Ramine
17c175a1a6
Use specialisation to optimise collect_seq and collect_map
2017-02-04 12:22:58 +01:00
Anthony Ramine
763ab9c2a1
Use serialize_seq! to implement Serialize for [T]
2017-02-04 12:21:45 +01:00
Anthony Ramine
30b8036efa
Remove ser::Iterator
2017-02-04 12:17:25 +01:00
Anthony Ramine
89bb16da6b
Introduce Serializer::collect_map
2017-02-04 11:49:53 +01:00
Anthony Ramine
d00a895902
Introduce Serializer::collect_seq
...
This function serializes the given iterator as a sequence. Its iter parameter
has type I: IntoIterator, <I as IntoIterator>::Item: Serialize, which means it
will work both for iterators passed by value, therefore consuming them, and as
the value for a #[serde(serialize_with)] attribute, where it will be called as
Serializer::collect_seq(&self.field, serializer), relying on the common practice
of implementing IntoIterator for &C where C is a data type representing some
kind of collection.
2017-02-04 11:49:34 +01:00
Oliver Schneider
393b19ee8a
update codegen to the content changes
2017-02-04 10:37:50 +01:00
Oliver Schneider
e68888d475
remove possible sublte ambiguity with .into_deserializer
2017-02-04 10:00:04 +01:00
David Tolnay
d1306a78ec
Release 0.9.6
2017-02-03 08:02:47 -08:00
David Tolnay
ce230adf12
Merge pull request #739 from serde-rs/tag
...
Untagged and internally tagged enums
2017-02-03 07:50:26 -08:00
David Tolnay
066c9a15cf
Explain status of content module
2017-02-03 07:43:04 -08:00
Oliver Schneider
6277079152
move the PhantomData usage to the Deserializer
2017-02-03 15:02:40 +01:00
Oliver Schneider
d60fd84b7e
Merge pull request #740 from serde-rs/enumset
...
Remove the EnumSet impls
2017-02-03 13:38:39 +01:00
David Tolnay
02e6c04e9f
Check for sequence end
2017-02-02 22:13:32 -08:00
David Tolnay
9f04b9d6e7
Remove the EnumSet impls
2017-02-02 19:13:55 -08:00
David Tolnay
d298da0b4f
Require std for deserializing untagged enums
2017-02-02 19:09:38 -08:00
David Tolnay
ff21d557c7
Untagged and internally tagged enums
2017-02-02 18:48:30 -08:00
Oliver Schneider
faaa494579
Merge pull request #738 from serde-rs/absolute
...
Use absolute paths to Ok, Err, and other types and methods
2017-02-02 08:16:51 +01:00
David Tolnay
661cdf4e00
Inline the trait docs at the top level
2017-02-01 12:58:24 -08:00
David Tolnay
a55d812441
Even more absolute paths
2017-02-01 12:12:39 -08:00
David Tolnay
b7ca574bb3
Use absolute paths to Ok and Err
2017-02-01 09:42:12 -08:00
David Tolnay
d960571439
Release 0.9.5
2017-02-01 01:01:06 -08:00
David Tolnay
1ccc58e2aa
Merge pull request #735 from serde-rs/travis
...
Allow running travis build locally
2017-02-01 00:43:27 -08:00
David Tolnay
34b39083bc
No error if clippy install fails
2017-02-01 00:38:02 -08:00
David Tolnay
48f4deac55
No more travis-cargo
2017-01-31 12:18:57 -08:00
David Tolnay
9a0f05d00d
Speed up the travis clippy installation
2017-01-31 12:09:44 -08:00
David Tolnay
b47e1a6dc3
Allow clippy failure in travis
2017-01-31 12:07:35 -08:00
David Tolnay
39c7797633
Allow running travis build locally
2017-01-31 12:07:31 -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
Oliver Schneider
74cf80989d
Merge pull request #731 from serde-rs/pubtuple
...
No tuple structs with private fields in public API
2017-01-31 08:56:46 +01:00
David Tolnay
f0b4735781
No tuple structs with private fields in public API
2017-01-30 18:10:50 -08:00
David Tolnay
297f373548
Release 0.9.4
2017-01-30 17:42:11 -08:00
David Tolnay
81f28da8e1
Clarify the role of Impossible serializer
2017-01-30 17:41:33 -08:00
David Tolnay
d4bb687032
Merge pull request #728 from nox/impossibru
...
Introduce ser::Impossible (fixes #694 )
2017-01-30 17:26:21 -08:00
Anthony Ramine
f9bc5037f5
Introduce ser::Impossible ( fixes #694 )
2017-01-31 02:20:04 +01:00
David Tolnay
8624ca6f1d
Release 0.9.3
2017-01-28 15:01:58 -08:00
David Tolnay
a9b5cc4830
Fix invalid_length message for tuples and arrays
2017-01-28 15:00:54 -08:00
David Tolnay
c31f76321c
Release 0.9.2
2017-01-28 09:10:39 -08:00
David Tolnay
f2402dcf52
Merge pull request #724 from serde-rs/entry
...
SerializeMap::serialize_entry
2017-01-28 09:08:51 -08:00
David Tolnay
361402ac4d
SerializeMap::serialize_entry
2017-01-28 09:03:32 -08:00
David Tolnay
c52e131a03
Replace deprecated MacroInput
2017-01-27 15:42:43 -08:00
David Tolnay
c0a06bdc96
Update to syn 0.11
2017-01-27 15:25:42 -08:00
David Tolnay
dd13fd3a34
Isolate the compiletest dependencies
2017-01-27 14:53:30 -08:00
David Tolnay
91f628727b
Clean up the compile_tests script
2017-01-27 14:37:28 -08:00
David Tolnay
571a2e4e2d
Indent the travis config to look like serde_json's
2017-01-27 14:17:07 -08:00
David Tolnay
7edcf6ec3b
Simplify Error::custom example
2017-01-27 14:03:40 -08:00
David Tolnay
e4f7d8513c
Clean up clippy lints in codegen_internals
2017-01-25 21:22:15 -08:00
David Tolnay
09c69da909
Move test macro to where it is used
2017-01-25 20:55:55 -08:00
David Tolnay
7ee175f448
Remove duplicate btreemap macro
2017-01-25 20:54:31 -08:00
David Tolnay
70ab3cdd61
Docs are built in a different repo
2017-01-25 20:51:10 -08:00
David Tolnay
8fb554e593
Rename no_std tests to underscores
2017-01-25 20:50:23 -08:00
David Tolnay
7a2bfdc1dd
Consistent underscores in root directory
2017-01-25 20:45:33 -08:00
David Tolnay
9046e9d7a1
Test suite requires beta for now
2017-01-25 20:45:08 -08:00
David Tolnay
87040b4bc4
Fix clippy lints in serde_test
2017-01-25 20:42:44 -08:00
David Tolnay
68aab2424f
Rename test suite crate
2017-01-25 20:40:13 -08:00
David Tolnay
9b9b697eb1
Make compiletest an optional dependency of the test suite
2017-01-25 20:39:27 -08:00
David Tolnay
db449c4bf2
Set up clippy for serde_test
2017-01-25 20:38:21 -08:00
David Tolnay
948aa47687
Clean up clippy lints
2017-01-25 20:34:01 -08:00
David Tolnay
3e1e42ef9b
Combine the test suites
2017-01-25 20:29:09 -08:00
David Tolnay
dbdfe4f306
Remove serde_codegen from the test suite
2017-01-25 20:19:16 -08:00
David Tolnay
e0d6b9d010
Merge serde_codegen into serde_derive crate
2017-01-25 20:07:55 -08:00
David Tolnay
a5b8e806f8
Remove with-syntex feature of serde_codegen
2017-01-25 20:02:24 -08:00
David Tolnay
d7dadd83b6
Remove the syntex example
2017-01-25 19:54:24 -08:00
David Tolnay
7612fd8e82
Release 0.9.1
2017-01-25 14:58:22 -08:00
David Tolnay
4c77af53e5
Clean up dependency declarations
2017-01-25 14:54:32 -08:00
David Tolnay
5d9c1aeb06
Release 0.9.0
2017-01-25 12:57:45 -08:00
David Tolnay
59e48997dd
Release 0.9.0-rc4
2017-01-25 10:14:43 -08:00
Oliver Schneider
ffcd97834f
Merge pull request #721 from serde-rs/size
...
Remove usize and isize from data model
2017-01-25 19:08:02 +01:00
David Tolnay
e0c049dbf2
Remove usize and isize from data model
2017-01-25 09:08:06 -08:00
David Tolnay
8cb6607e82
Merge pull request #719 from serde-rs/rustdoc
...
Serde rustdoc
2017-01-24 20:59:26 -08:00
David Tolnay
1ffb0570b6
Do not require rustdoc tests to run on stable
2017-01-24 20:47:31 -08:00
David Tolnay
2c1dd60575
Serde rustdoc
2017-01-24 20:37:11 -08:00
David Tolnay
24f849da2d
Remove unused #[macro_use]
...
I think this was for the quasi-quoting macros back in the day.
2017-01-24 09:28:00 -08:00
David Tolnay
a5024a4238
Merge pull request #717 from serde-rs/badger
...
add travis badge to crates.io
2017-01-24 05:35:55 -08:00
Oliver Schneider
b105423e5e
add travis badge to crates.io
2017-01-24 10:30:10 +01:00
Oliver Schneider
42c1bc2907
Merge pull request #716 from serde-rs/ref
...
Serialize T by ref
2017-01-24 08:31:24 +01:00
David Tolnay
c334c1c7b5
Release 0.9.0-rc3
2017-01-23 19:14:02 -08:00
David Tolnay
92668d7061
Serialize T by ref
2017-01-23 17:11:18 -08:00
David Tolnay
b9d865d8e7
Merge pull request #715 from serde-rs/nostd
...
Support serde_derive on no_std
2017-01-23 16:13:25 -08:00
David Tolnay
fc4e370ba9
Support serde_derive on no_std
2017-01-23 16:03:06 -08:00
Oliver Schneider
a982d27536
Merge pull request #700 from serde-rs/usize
...
Restore visit_usize and visit_bytes for identifying variants
2017-01-23 11:27:06 +01:00
Oliver Schneider
dc87826298
Merge pull request #699 from serde-rs/fields
...
Remove visit_usize from Duration impl
2017-01-23 11:26:18 +01:00
David Tolnay
a09a8a039a
All combinations of features compile without warnings
2017-01-23 01:45:54 -08:00
David Tolnay
ea702755a2
Merge branch master into origin/usize
...
Conflicts:
serde_codegen/src/de.rs
testing/tests/test_de.rs
2017-01-23 01:36:49 -08:00
David Tolnay
d161911c63
Merge branch master into origin/fields
...
Conflicts:
serde/src/de/impls.rs
2017-01-23 01:28:01 -08:00
Oliver Schneider
e27553d3df
Merge pull request #710 from serde-rs/errors
...
Errors redesign
2017-01-23 10:25:48 +01:00
David Tolnay
48eaf988bc
Add free-form option for Unexpected
2017-01-22 05:02:24 -08:00
David Tolnay
73a364d4fd
Capture byte value for error message
2017-01-22 04:57:12 -08:00
David Tolnay
6dfdcb6ba1
Merge pull request #713 from serde-rs/zero
...
Suppress warning about using num::Zero
2017-01-21 19:20:57 -08:00
David Tolnay
089c7eb1d7
Suppress warning about using num::Zero
2017-01-21 19:14:56 -08:00
David Tolnay
1e05fc2145
Release 0.9.0-rc2
2017-01-21 16:30:13 -08:00
David Tolnay
977612d8dd
Merge branch origin/missing into origin/errors
2017-01-21 16:28:24 -08:00
David Tolnay
5855078703
Fix backward invalid_length messages in value deserializer
2017-01-21 14:38:33 -08:00
David Tolnay
3c88a93fb2
Fix the filtered error messages
2017-01-21 12:34:04 -08:00
David Tolnay
530c29466e
Merge pull request #711 from serde-rs/names
...
Filter the slice of expected field and variant names
2017-01-21 12:25:43 -08:00
David Tolnay
ea99e8b686
Filter the slice of expected field and variant names
2017-01-21 12:18:55 -08:00
David Tolnay
2a148112d4
Fix Box<str> use on no_std
2017-01-21 10:17:48 -08:00
David Tolnay
a4126e4c5a
Errors
2017-01-21 09:13:01 -08:00
David Tolnay
d1325862f7
Merge tag v0.8.23 into master
...
Conflicts:
serde/Cargo.toml
serde_codegen/Cargo.toml
serde_derive/Cargo.toml
serde_test/Cargo.toml
testing/Cargo.toml
2017-01-20 15:29:32 -08:00
David Tolnay
1f65ce75ec
Release 0.8.23
2017-01-20 15:25:57 -08:00
Jake Goulding
9536e52aa6
Add categories to Cargo.toml
2017-01-20 15:09:11 -08:00
Oliver Schneider
be0c755731
Merge pull request #705 from serde-rs/inlineseed
...
Inline <PhantomData<T> as DeserializeSeed>::deserialize
2017-01-20 14:34:24 +01:00
David Tolnay
42bc63bed8
Standardize behavior of missing fields
2017-01-20 00:44:43 -08:00
David Tolnay
e41b940a3d
Inline <PhantomData<T> as DeserializeSeed>::deserialize
2017-01-19 16:17:27 -08:00
David Tolnay
88149fc0c3
Fix key and value seed variable names
...
Rename fail.
2017-01-19 13:44:18 -08:00
David Tolnay
5ecfb3b388
Update serde_test to use seeds
2017-01-19 01:24:33 -08:00
David Tolnay
13a9f929de
Stateful deserialization
2017-01-19 01:17:59 -08:00
David Tolnay
e40fbe0767
Restore visit_bytes for Duration impl
2017-01-18 21:13:51 -08:00
David Tolnay
0a10116bf5
Restore visit_bytes for identifying variants and fields
2017-01-18 21:11:51 -08:00
David Tolnay
b1fbbfd3ce
Restore visit_usize for identifying variants
2017-01-17 23:52:06 -08:00
David Tolnay
984ebcead0
Remove visit_usize and visit_bytes for Duration impl
2017-01-17 23:32:28 -08:00
David Tolnay
aa88f01cdc
Merge pull request #697 from serde-rs/vanity
...
cleanup some deprecation warnings
2017-01-17 09:26:44 -08:00
David Tolnay
13794c1b48
Stop testing on rust 1.12.0
2017-01-17 09:19:39 -08:00
Oliver Schneider
b5e64abba1
cleanup some deprecation warnings
2017-01-17 14:29:33 +01:00
David Tolnay
503ce310f5
Merge pull request #692 from serde-rs/byte_buf
...
add missing `Vec<u8>` deserialization hint to `Deserializer`
2017-01-16 08:10:25 -08:00
Oliver Schneider
b26f291d93
add missing Vec<u8> deserialization hint to Deserializer
2017-01-16 16:55:13 +01:00
David Tolnay
bc6bc9e3f0
Remove LICENSE file in favor of LICENSE-MIT and LICENSE-APACHE
...
This repo no longer contains bench_log referenced in this file.
2017-01-15 10:16:57 -08:00
David Tolnay
3a52364f3e
Release 0.9.0-rc1
2017-01-15 09:26:44 -08:00
David Tolnay
4d1627fc96
Merge pull request #687 from serde-rs/ser
...
Enforce correct use of Serialize trait
2017-01-15 09:22:30 -08:00
David Tolnay
7c04bf36d9
Merge pull request #686 from serde-rs/de
...
Enforce correct use of Deserialize trait
2017-01-15 07:30:14 -08:00
David Tolnay
4b06030666
Unabbreviated method naming
2017-01-14 21:39:37 -08:00
David Tolnay
a5a04306f2
Update tests for Serializer changes
2017-01-14 16:07:43 -08:00
David Tolnay
f9885c4826
Update serde_codegen for Serializer changes
2017-01-14 16:07:34 -08:00
David Tolnay
04f25eb122
Update serde_test for Serializer changes
2017-01-14 16:07:17 -08:00
David Tolnay
2fea5f3e1c
Enforce correct use of Serialize trait
2017-01-14 15:21:31 -08:00
David Tolnay
905b2c3cf3
Expose VariantVisitor for the StrDeserializer
2017-01-14 14:17:46 -08:00
David Tolnay
d5b428a087
Fix imports for stable compiler
2017-01-14 14:16:01 -08:00
David Tolnay
b3b8056d93
Update tests for Deserializer changes
2017-01-14 13:42:49 -08:00
David Tolnay
137cf9bab8
Update serde_codegen for Deserializer changes
2017-01-14 13:42:48 -08:00
David Tolnay
7372f152bd
Update serde_test for Deserializer changes
2017-01-14 13:42:45 -08:00
David Tolnay
a43da15b74
Merge pull request #685 from mineo/patch-1
...
Typo: aggrergate -> aggregate
2017-01-14 13:36:49 -08:00
Wieland Hoffmann
212cbbd8bf
Typo: aggrergate -> aggregate
2017-01-14 22:33:31 +01:00
David Tolnay
738aa31733
Enforce correct use of Deserialize trait
2017-01-14 12:16:08 -08:00
Oliver Schneider
787ecc6a82
Merge pull request #684 from serde-rs/end
...
Remove SeqVisitor::end() and MapVisitor::end()
2017-01-14 08:01:53 +01:00
David Tolnay
9fc8a86bcc
Exclude serde-syntex-example until serde_json has been updated
2017-01-13 13:34:41 -08:00
David Tolnay
800442a75e
Handle visitor that does not need to be mutable
2017-01-13 13:34:39 -08:00
David Tolnay
88debb3fb8
Remove SeqVisitor::end() and MapVisitor::end()
2017-01-13 13:34:38 -08:00
David Tolnay
88a4ed9cd7
Include missing_field in impl MapVisitor for &mut MapVisitor
2017-01-13 13:33:37 -08:00
David Tolnay
bdba6fc5b0
Remove the proc_macro feature gate in serde-syntex-example
2017-01-13 10:27:51 -08:00
Oliver Schneider
dec116311e
Merge pull request #682 from serde-rs/unknown
...
Treat skipped fields as unknown
2017-01-13 10:46:18 +01:00
David Tolnay
8c49e6d6a5
Resolve conflict between rename changes and skip changes
2017-01-13 01:27:07 -08:00
David Tolnay
7cc24a43fb
Merge branch master into unknown
...
Conflicts:
serde_codegen/src/de.rs
2017-01-13 01:23:00 -08:00
David Tolnay
c008c6d3a8
Merge pull request #681 from serde-rs/deserialize_struct_bug
...
fix various serde(rename) bugs
2017-01-13 01:21:46 -08:00
David Tolnay
c9f5d08ed1
Add test for all variants skipped
2017-01-13 01:14:03 -08:00
David Tolnay
fff6c9cb66
Add tests for all fields skipped
2017-01-13 01:12:31 -08:00
David Tolnay
cb5e7c6264
Fix case of skipped variant followed by other variants
2017-01-12 23:35:39 -08:00
David Tolnay
4ef1128546
More explicit about argument to deserialize_field_visitor
2017-01-12 23:30:57 -08:00
David Tolnay
227bea1d0b
Treat skipped fields as unknown
2017-01-12 23:17:45 -08:00
David Tolnay
766ede965e
Eliminate collects in codegen for deserializing map
2017-01-12 21:52:56 -08:00
David Tolnay
eb5a49e380
Use helper function to build __field{}
2017-01-12 21:49:20 -08:00
David Tolnay
2df529cac5
Simplify codegen logic in deserializing seq
2017-01-12 21:41:27 -08:00
David Tolnay
4b66463011
Eliminate collect in deserializing seq
2017-01-12 21:29:50 -08:00
David Tolnay
b907cfef85
Eliminate collect in visitor generics
2017-01-12 21:28:09 -08:00
David Tolnay
506c8cc087
Simplify the trait paths used in bounds
2017-01-12 21:24:51 -08:00
David Tolnay
3951ef91c0
Don't need aster to construct syn::Ident
2017-01-12 21:15:13 -08:00
David Tolnay
b0d20afdfb
Merge pull request #680 from serde-rs/oli-obk-patch-1
...
make `ser::iterator` more general by taking `IntoIterator`
2017-01-12 16:45:39 -08:00
Oliver Schneider
5e6ee523d2
remove duplicate into_iter
2017-01-12 21:52:38 +01:00
Oliver Schneider
a07b6bd9e7
also use the renamed variant names during deserialization
2017-01-12 20:21:59 +01:00
Oliver Schneider
8dd06eed2f
type inference failure
2017-01-12 20:19:00 +01:00
Oliver Schneider
5b668ed87a
attempt to test the field names, but deem it too complex and opt to at least improve the code
2017-01-12 20:17:55 +01:00
Oliver Schneider
abe305dbfe
fix deserialize_struct passing the original field names instead of the renamed ones
2017-01-12 20:17:02 +01:00
Oliver Schneider
2d1a60c056
Update the Serialize impl, too
2017-01-12 20:06:44 +01:00
Oliver Schneider
5edfdba940
use IntoIterator everywhere
2017-01-12 20:05:26 +01:00
Oliver Schneider
756bff534f
make ser::iterator more general by taking IntoIterator
2017-01-12 19:24:35 +01:00
David Tolnay
110d36fa14
Merge pull request #679 from oli-obk/iterators
...
add wrapper to serde that allows serializing iterators as sequences
2017-01-12 10:19:09 -08:00
Oliver Schneider
8c576fe9fb
rename IteratorSerializer to Iterator
2017-01-12 17:29:04 +01:00
Oliver Schneider
b860d3cb1f
fix tests on stable
2017-01-12 16:06:26 +01:00
Oliver Schneider
dced4416a7
add wrapper to serde that allows serializing iterators as sequences
2017-01-12 15:31:40 +01:00
David Tolnay
ca47eb929c
Merge pull request #678 from serde-rs/empty
...
Handle various degenerate cases
2017-01-11 11:45:24 -08:00
David Tolnay
b01c23b5ee
Also provide a smarter alternative for the other impossible case
2017-01-11 11:34:47 -08:00
David Tolnay
3aaf29c846
Remove ref in top-level let pattern
...
Discouraged by Clippy.
2017-01-11 11:12:53 -08:00
David Tolnay
d2eea87001
Handle various degenerate cases
2017-01-11 11:02:24 -08:00
David Tolnay
8242c64152
Merge branch v0.8 into master
2017-01-10 17:16:31 -08:00
David Tolnay
9e45bd8c87
Release 0.8.22
2017-01-10 17:10:26 -08:00
Oliver Schneider
405b534254
Merge pull request #674 from serde-rs/nonascii
...
Add test for non ascii idents
2017-01-10 11:16:19 +01:00
David Tolnay
d34be74dfd
Add test for non ascii idents
2017-01-10 01:20:01 -08:00
David Tolnay
c475df8320
Encourage GitHub issues
2017-01-09 14:44:36 -08:00
Oliver Schneider
2b8a620807
Merge pull request #671 from serde-rs/fields
...
Stop generating visit_usize and visit_bytes for FieldVisitor
2017-01-09 13:09:18 +01:00
David Tolnay
1cd6aee562
Merge pull request #670 from serde-rs/error
...
Stop exporting serde::de::Error as serde::Error
2017-01-09 00:45:04 -08:00
David Tolnay
90d4d7b37b
Restore the old FieldVisitor tests as error tests
2017-01-09 00:43:13 -08:00
David Tolnay
1f8b803607
Repetition for field visitor arms
2017-01-09 00:37:37 -08:00
David Tolnay
516cc8b04e
Stop generating visit_usize and visit_bytes for FieldVisitor
2017-01-08 01:01:56 -08:00
David Tolnay
0676477cd7
Stop exporting serde::de::Error as serde::Error
2017-01-08 00:50:07 -08:00
David Tolnay
4193122472
Use the more concise paths in generated code
2017-01-08 00:47:44 -08:00
David Tolnay
eb6fb1d40e
Merge pull request #523 from serde-rs/enum
...
Enum deserialization API
2017-01-08 00:45:50 -08:00
David Tolnay
bf873a7b3f
Merge branch origin/master into origin/enum
...
Conflicts:
serde/src/de/mod.rs
serde_codegen/src/de.rs
testing/tests/test_bytes.rs
2017-01-08 00:31:07 -08:00
David Tolnay
fbd4a17467
Merge pull request #664 from serde-rs/visitor-value
...
Remove the Deserialize trait bound on Visitor::Value
2017-01-08 00:24:53 -08:00
David Tolnay
ad34c14c8c
Prepare for 0.9 breaking changes
2017-01-08 00:18:53 -08:00
David Tolnay
e461a23798
Not intended to be published
2017-01-08 00:18:37 -08:00
David Tolnay
894a21bc1f
Remove the proc_macro feature gate
2017-01-08 00:11:11 -08:00
David Tolnay
1ecf3730ee
Update to syntex 0.54
2017-01-06 01:26:51 -08:00
David Tolnay
7a0e8f73b4
Remove the Deserialize trait bound on Visitor::Value
2017-01-03 01:50:10 -08:00
Erick Tryzelaar
b6e8b58cb2
Stop testing on 1.11
2017-01-02 14:59:00 -08:00
Oliver Schneider
a3f556959f
Merge pull request #652 from serde-rs/bbstr
...
Support deserializing ByteBuf from string
2016-12-25 01:09:15 +01:00
David Tolnay
9338c4f1b9
Release 0.8.21
2016-12-24 13:10:24 -05:00
David Tolnay
28d67f4172
Format variant-skip message only if variant is skipped
2016-12-24 13:10:06 -05:00
David Tolnay
2401ae61a8
Update to syntex 0.52
2016-12-24 12:42:23 -05:00
David Tolnay
57d3fce0c6
Further simplify variant serialization patterns
2016-12-24 12:28:46 -05:00
David Tolnay
a020cceed8
Simplify variant serialize patterns
2016-12-24 12:22:45 -05:00
David Tolnay
49e985eb90
Update message for skipped enum variant
2016-12-24 12:16:28 -05:00
David Tolnay
63def96c66
Merge pull request #653 from shinglyu/skip_se
...
Implement skip_serializing for enum variant
2016-12-24 11:40:21 -05:00
Shing Lyu
2fea8c9c28
Implement skip_serializing for enum variant
2016-12-24 22:34:22 +08:00
David Tolnay
b7ea213926
Support nostd for ByteBuf from String
2016-12-23 23:30:27 -05:00
David Tolnay
871fb5adee
Support deserializing ByteBuf from string
2016-12-23 23:17:42 -05:00
David Tolnay
2c984980a0
Link to release notes from readme
2016-12-22 21:52:37 -05:00
David Tolnay
36f07912b8
Remove no-longer-necessary cfg
...
This was fixed in Rust, allowing proc macro crates to be tested.
2016-12-17 17:32:11 -08:00
David Tolnay
7222cf7514
Ignore warning from unused enum variant
2016-12-17 17:31:11 -08:00
David Tolnay
08c59a2e0e
Release 0.8.20
2016-12-16 07:58:52 -08:00
David Tolnay
4a0bf4de65
Merge pull request #641 from shinglyu/deser_enum
...
Implemented skip_deserializing for enum
2016-12-16 07:53:34 -08:00
Shing Lyu
95ffca9bbe
Implemented skip_deserializing for enum
2016-12-16 20:29:21 +08:00
David Tolnay
5e47c87ba0
Add test for deserializing unit to string
2016-12-01 04:46:29 -08:00
David Tolnay
c6d5d9be14
Merge pull request #635 from serde-rs/oli-obk-patch-1
...
Enable deserializing an empty `String` from a unit value
2016-12-01 07:46:07 -05:00
Oliver Schneider
d63d09f4db
Enable deserializing an empty String from a unit value
2016-12-01 11:23:12 +01:00
David Tolnay
de6d00c306
Merge pull request #628 from serde-rs/str
...
Do not copy tokens to String after expanding
2016-11-24 17:33:19 -05:00
David Tolnay
5bda95ba81
Do not copy tokens to String after expanding
2016-11-24 13:07:47 -08:00
David Tolnay
36641e7b81
Release 0.8.19
2016-11-23 09:14:03 -08:00
David Tolnay
6eca34c45c
Drop libsyntax
2016-11-23 09:13:21 -08:00
David Tolnay
7efa0153b0
Drop testing on rust 1.10
2016-11-19 15:24:40 -08:00
David Tolnay
8dba87661b
Bump serde_codegen_internals because it failed to publish somehow
2016-11-19 11:47:19 -08:00
David Tolnay
17fb4cb503
Release 0.8.18
2016-11-19 11:40:00 -08:00
David Tolnay
5bd0386b8e
Merge pull request #618 from serde-rs/up
...
Ask proc_macro_derive to ignore serde attributes
2016-11-19 14:19:15 -05:00
David Tolnay
8b484c9703
Hide the serde_codegen functions from docs
2016-11-15 21:37:19 -05:00
David Tolnay
a16f07858b
Ask proc_macro_derive to ignore serde attributes
2016-11-15 21:29:34 -05:00
David Tolnay
133d117bf4
Bump post-expansion dependency
2016-11-07 11:16:14 -08:00
David Tolnay
e7f3a80867
Update serde codegen to syn 0.10
2016-11-02 22:58:55 -07: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
c91fca19e1
Release 0.8.17
2016-11-02 09:26:04 -07:00
David Tolnay
f13a805530
Merge pull request #605 from serde-rs/up
...
Bump syntex to 0.48
2016-11-02 09:24:55 -07:00
David Tolnay
54802983b8
Bump syntex to 0.48
2016-11-02 09:12:22 -07:00
David Tolnay
f430d9d1c8
Remove unneeded type ascription
2016-10-23 21:06:50 -07:00
David Tolnay
c9612a2f57
Release 0.8.16
2016-10-22 00:07:27 -07:00
David Tolnay
7ffea5a716
Bump syntex to 0.46
2016-10-21 23:38:27 -07:00
David Tolnay
c8c9f7d96c
Merge pull request #599 from TheCatPlusPlus/master
...
Explictly discard result of visiting IgnoredAny
2016-10-21 23:36:57 -07:00
Cat Plus Plus
f75d286b90
Explictly discard result of visiting IgnoredAny
...
Makes the code generated by `derive(Deserialize)` compile cleanly when
`unused_results` lint is enabled.
2016-10-22 08:00:44 +02:00
David Tolnay
9acb17ab54
Release 0.8.15
2016-10-20 08:42:40 -07:00
David Tolnay
f15ff1868e
Merge pull request #597 from serde-rs/cov
...
Drop coveralls
2016-10-20 00:44:19 -07:00
David Tolnay
86f0d0382f
Drop coveralls
...
Has not been uploading for months.
2016-10-20 00:33:03 -07:00
David Tolnay
8595b25763
Merge pull request #592 from serde-rs/post
...
Use post-expansion crate to let other custom derives see serde attrs
2016-10-20 00:18:23 -07:00
David Tolnay
49aca521f1
Bump post-expansion dependency
2016-10-20 00:01:14 -07:00
David Tolnay
4c38bd0180
Merge branch origin/master into origin/post
2016-10-19 23:59:53 -07:00
Homu
02c4ff7b7e
Auto merge of #594 - serde-rs:expr, r=oli-obk
...
No longer need `e!`
This compiles all the way back to Rust 1.7.0, and 1.6.0 fails for other reasons so I think we are clear here. The referenced issue https://github.com/rust-lang/rust/issues/19630 is still open so they must have fixed it some other way.
2016-10-19 18:07:10 +09:00
David Tolnay
a8d1c0253a
Merge pull request #593 from serde-rs/rmbench
...
Remove benchmarks
2016-10-19 00:48:05 -07:00
David Tolnay
bb5370b746
No longer need e!
2016-10-19 00:30:23 -07:00
David Tolnay
536e78a146
Remove benchmarks
...
Nobody noticed these did not compile for 3 months, so I am guessing nobody
cares. The JSON benchmarks at https://github.com/serde-rs/json-benchmark are
much more relevant.
2016-10-18 22:19:10 -07:00
David Tolnay
21c9446890
Update benchmarks to serde 0.8
2016-10-18 22:15:54 -07:00
David Tolnay
1b42f3f594
Release 0.8.14
2016-10-18 21:42:39 -07:00
David Tolnay
cafa02d9b4
Merge pull request #591 from serde-rs/sess
...
Not safe to share Spans from one ParseSess to another
2016-10-18 21:41:05 -07:00
David Tolnay
a9b6cbb8b3
Use post-expansion crate to let other custom derives see serde attrs
2016-10-18 09:00:33 -07:00
David Tolnay
1d719b542c
Not safe to share Spans from one ParseSess to another
...
Spans in the AST returned by `parse_item_from_source_str` and other parsing
functions contain byte offsets into the source code they were parsed from. The
pretty printer uses these Spans [here][1] to preserve the representation of
literals when parsing and printing back out unmodified.
In this bug, the byte offset of a string in the input to
`parse_item_from_source_str` coincidentally matched the byte offset of a totally
different string in the input to `parse_crate_from_file` called [here][2] by
Syntex. The Span from the former triggered the pretty printer to write out the
content of the latter.
By using the same ParseSess, Spans from the two `parse_*` calls never collide.
[1]: https://github.com/rust-lang/rust/blob/1.12.0/src/libsyntax/print/pprust.rs#L628
[2]: https://github.com/serde-rs/syntex/blob/v0.45.0/syntex/src/registry.rs#L134
2016-10-17 23:12:32 -07:00
David Tolnay
532b950971
Release 0.8.13
2016-10-16 10:34:26 -07:00
Erick Tryzelaar
f93b4e91e6
Version bump serde_derive to 0.8.13
2016-10-15 15:24:37 -07:00
Erick Tryzelaar
94e2ccc94e
Merge pull request #588 from erickt/master
...
Drop support for rust 1.8.0 and 1.9.0.
2016-10-15 15:12:56 -07:00
Erick Tryzelaar
cbe6b4c97c
Drop support for rust 1.8.0 and 1.9.0.
2016-10-15 14:43:30 -07:00
Erick Tryzelaar
a46a4e27dd
Merge pull request #587 from erickt/master
...
Update syntex version to 0.45.0
2016-10-15 14:43:13 -07:00
Erick Tryzelaar
4919a3184d
Update syntex version to 0.45.0
2016-10-15 14:01:14 -07:00
David Tolnay
0b19608d85
Merge pull request #584 from serde-rs/array-tuple
...
Array and tuple deserialization cleanup
2016-10-14 08:43:08 -07:00
David Tolnay
99bddddd8e
Array and tuple deserialization cleanup
2016-10-14 00:15:24 -07:00
David Tolnay
85c95040b3
Release 0.8.12
2016-10-08 15:38:29 -07:00
David Tolnay
339c0f5493
Remove unneeded test feature
2016-10-08 15:36:46 -07:00
David Tolnay
b4d5c26f4e
Update to latest syn and quote
2016-10-08 15:36:02 -07:00
David Tolnay
f4e1ffa2cb
Merge pull request #578 from mjroghelia/rename_rustc_macro
...
Rename rustc_macro to proc_macro
2016-10-08 15:35:15 -07:00
Mark Roghelia
ef5d09e144
Rename rustc_macro to proc_macro
...
Fixes #575
2016-10-08 18:29:36 -04:00
David Tolnay
e547a06639
Simplify deserialize_field_visitor
2016-10-03 13:45:11 -07:00
David Tolnay
c61b20cceb
Release 0.8.11
2016-10-03 13:38:52 -07:00
David Tolnay
42987a5b24
Fix break in quote 0.2.2
2016-10-03 13:37:46 -07:00
David Tolnay
3f28a93240
Update readme to serde_derive
2016-09-29 09:21:01 -07:00
David Tolnay
9970084550
Merge pull request #568 from tbu-/pr_ipaddr_stable
...
Allow the use of `IpAddr` implementations on stable
2016-09-29 08:58:33 -07:00
Tobias Bucher
3920993370
Allow the use of IpAddr implementations on stable
...
Also use the same strategy for serialization as for deserialization of
`IpAddr`.
Fixes #551 .
2016-09-29 15:48:59 +02:00
David Tolnay
22690cedc2
Merge pull request #566 from serde-rs/del
...
Delete serde_macros
2016-09-28 13:32:02 -07:00
David Tolnay
b27039d34d
Compiletest error messages
2016-09-28 12:46:54 -07:00
David Tolnay
1b6fd5a362
Delete serde_macros
2016-09-28 11:59:25 -07:00
David Tolnay
8b7b886036
Test serde_derive instead of serde_macros
2016-09-28 11:19:27 -07:00
David Tolnay
2a2c098eeb
Release 0.8.10
2016-09-28 09:56:15 -07:00
David Tolnay
f68f32d3ee
Merge pull request #564 from serde-rs/cleanup
...
Clean up syn workarounds
2016-09-28 09:48:45 -07:00
David Tolnay
6ccb6c9130
Clean up syn workarounds
2016-09-28 09:29:12 -07:00
David Tolnay
49d24a1377
Merge pull request #548 from serde-rs/syn
...
No more syntex for serde_derive
2016-09-28 09:28:48 -07:00
David Tolnay
b0eee50947
Merge branch origin/master into origin/syn
...
Conflicts:
serde_macros/tests/compile-fail/reject-unknown-attributes.rs
2016-09-28 09:27:04 -07:00
David Tolnay
554b81d636
Fix compiletest error in newest nightly
2016-09-28 09:25:19 -07:00
David Tolnay
9fe16767c5
Use iter::repeat to build phantom exprs
2016-09-28 08:57:53 -07:00
David Tolnay
3a3777a2fb
Merge branch origin/master into origin/syn
...
Conflicts:
serde_codegen/Cargo.toml
2016-09-27 09:59:36 -07:00
David Tolnay
effa298871
Fix differences in the generated code
2016-09-27 09:56:35 -07:00
David Tolnay
9a86e6818f
Use push_str to support old compilers
2016-09-27 00:47:54 -07:00
David Tolnay
7d09b1475c
Fix clippy lints in serde_codegen
2016-09-27 00:46:03 -07:00
David Tolnay
7e441e5110
Handle various attribute parsing error cases
2016-09-27 00:40:37 -07:00
David Tolnay
40b874214a
Update tests to new location of errors
2016-09-27 00:17:00 -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
8ee8c07090
Mark all serde attributes as used
2016-09-26 23:17:43 -07:00
David Tolnay
8e77960e3a
Remove with-libsyntax feature
2016-09-26 23:17:33 -07:00
David Tolnay
819d47fea2
Merge pull request #560 from serde-rs/up
...
Bump quasi and aster
2016-09-26 22:23:18 -07:00
David Tolnay
8e865f62c4
Fix conflicts with the __serde_state commit
2016-09-26 22:13:53 -07:00
David Tolnay
6cbf0d32da
Merge branch origin/master into origin/syn
...
Conflicts:
serde_codegen/src/ser.rs
2016-09-26 22:11:14 -07:00
David Tolnay
20afa85087
Bump quasi and aster
2016-09-26 22:08:21 -07:00
David Tolnay
da6d967776
Merge pull request #558 from erickt/fix-serde-state
...
Make serde state variable unique by naming it __serde_state
2016-09-26 21:58:45 -07:00
Erick Tryzelaar
f47a50e996
Make serde state variable unique by naming it __serde_state
...
Closes #557
2016-09-26 21:44:30 -07:00
David Tolnay
1eca7766ba
Bump syn dependency
2016-09-24 09:54:10 -07:00
David Tolnay
51f95575ec
Merge branch origin/master into origin/syn
...
Conflicts:
serde_codegen/Cargo.toml
serde_codegen_internals/Cargo.toml
serde_derive/Cargo.toml
2016-09-24 09:29:21 -07:00
Oliver Schneider
429de89276
Release 0.8.9
2016-09-23 07:11:59 -07:00
David Tolnay
a69b82c7c5
Recursion limit
2016-09-12 01:26:47 -07:00
David Tolnay
55e5f19437
Same for deserialization
2016-09-12 00:50:30 -07:00
David Tolnay
c34baa1e5f
No more syntex for serde_derive
2016-09-11 19:55:13 -07:00
David Tolnay
7cc36a9cd3
Release 0.8.8
2016-09-08 08:34:20 -07:00
Homu
d343017f47
Auto merge of #546 - serde-rs:qual, r=oli-obk
...
Result needs to be fully qualified
Without this:
```
error[E0244]: wrong number of type arguments
--> src/api/accounts.rs:19:10
|
19 | #[derive(Serialize, Deserialize, Debug)]
| ^^^^^^^^^^ expected 1 type arguments, found 2
```
2016-09-08 18:05:36 +09:00
David Tolnay
2212bfbf2c
Result needs to be fully qualified
...
Without this:
```
error[E0244]: wrong number of type arguments
--> src/api/accounts.rs:19:10
|
19 | #[derive(Serialize, Deserialize, Debug)]
| ^^^^^^^^^^ expected 1 type arguments, found 2
```
2016-09-07 16:37:26 -07:00
David Tolnay
e85ca8411e
Release 0.8.7
2016-09-05 09:39:27 -07:00
Homu
1ff2053262
Auto merge of #536 - serde-rs:mutempty, r=oli-obk
...
Fix "variable does not need to be mutable" warning
Fixes #534 .
cc @EliDupree
2016-09-06 01:10:43 +09:00
Homu
bf779ea343
Auto merge of #525 - serde-rs:forward, r=oli-obk
...
Expose forward_to_deserialize macro
Fixes #522 .
```rust
impl Deserializer for MyDeserializer {
fn deserialize<V>(&mut self, visitor: V) -> Result<V::Value, Self::Error>
where V: Visitor
{
/* ... */
}
forward_to_deserialize! {
bool usize u8 u16 u32 u64 isize i8 i16 i32 i64 f32 f64 char str string
unit option seq seq_fixed_size bytes map unit_struct newtype_struct
tuple_struct struct struct_field tuple enum ignored_any
}
}
```
cc @nox
2016-09-06 00:37:18 +09:00
David Tolnay
8fe66c7f2a
Merge pull request #520 from serde-rs/bytes
...
Add constructors for Bytes and ByteBuf
2016-09-05 08:37:10 -07:00
David Tolnay
e03dedabe4
Use peekable iterator to check for nonzero serialized fields
2016-09-05 08:22:17 -07:00
David Tolnay
08bc2d2e76
Use constructors to create Bytes and ByteBuf
2016-09-05 08:09:23 -07:00
David Tolnay
35be61d85f
Resolve merge conflict
2016-09-05 08:02:35 -07:00
David Tolnay
3692edfd08
Merge branch serde-rs/master into serde-rs/forward
2016-09-05 07:59:42 -07:00
Homu
5a258ade27
Auto merge of #527 - serde-rs:seqvisitor, r=oli-obk
...
Impl SeqVisitor for MapDeserializer
@nox is this what you were trying to implement?
2016-09-05 20:09:44 +09:00
Homu
f3052c392e
Auto merge of #538 - serde-rs:notfalse, r=oli-obk
...
Remove `if !false { ... }` from generated serialization code
I don't think this negatively affects maintainability of the code in serde_codegen and I think there is some value in keeping our generated code relatively clear so that people can use it as a template when implementing Serialize manually with minor modifications.
2016-09-05 19:52:43 +09:00
David Tolnay
d1ce4d62c9
Change to expression so that syntex keeps the semicolon
2016-09-02 18:07:26 -07:00
David Tolnay
869ebd9e4e
Remove if !false { ... } from generated serialization code
2016-09-02 17:22:58 -07:00
David Tolnay
14446af537
Fix "variable does not need to be mutable" warning
2016-09-02 11:42:33 -07:00
David Tolnay
248d937f9a
Release 0.8.6
2016-09-01 22:06:27 -07:00
David Tolnay
ffa2f80186
Merge pull request #530 from serde-rs/derive
...
Macros 1.1
2016-09-01 21:59:32 -07:00
David Tolnay
ac1128a647
Update serde_derive to 0.8.5
2016-09-01 21:28:58 -07:00
David Tolnay
88d845c4d1
Include! test suite for serde_derive
2016-09-01 21:28:40 -07:00
David Tolnay
87a402a751
Remove rustc_macro test crate
2016-09-01 11:17:35 -07:00
David Tolnay
cdb0e6c899
Remove build script in favor of rust-lang/cargo#3064
2016-08-31 21:05:40 -07:00
David Tolnay
54cee86fd3
Bump to 0.8.5
2016-08-31 20:14:44 -07:00
David Tolnay
178edd1abc
Merge branch origin/master into origin/derive
2016-08-31 20:12:46 -07:00
David Tolnay
4bb9279074
Bump syntex to 0.43
2016-08-31 12:53:27 -07:00
David Tolnay
3c45e5c7a5
Next iteration
2016-08-30 23:55:08 -07:00
David Tolnay
d36f28971c
Support no_std in forward_to_deserialize macro
2016-08-29 00:27:11 -07:00
David Tolnay
d914fdf67b
Macros 1.1
2016-08-28 22:21:25 -07:00
David Tolnay
7014c105b4
Remove coverage shield
2016-08-28 08:39:53 -07:00
David Tolnay
f3d566af09
Remove clippy shield
2016-08-28 08:37:55 -07:00
David Tolnay
278e8eb720
Add deserialize_seq methods to MapDeserializer
2016-08-25 10:45:25 -04:00
David Tolnay
e9b04de9a5
Impl SeqVisitor for MapDeserializer
2016-08-25 10:12:23 -04:00
David Tolnay
2a2891d54b
Expose forward_to_deserialize macro
2016-08-24 00:16:22 -04:00
David Tolnay
85f1bf0259
Enum deserialization API
2016-08-23 22:17:28 -04:00
David Tolnay
123e040189
Merge pull request #524 from serde-rs/skeptic
...
Remove skeptic
2016-08-23 22:17:13 -04:00
David Tolnay
6f0f273d9c
Remove skeptic
2016-08-23 22:04:50 -04:00
David Tolnay
fb7ba225d1
Add constructors for Bytes and ByteBuf
...
This commit adds `Bytes::new(&[u8])` and `ByteBuf::from<T: Into<Vec<u8>>>(T)`.
2016-08-23 16:24:00 -04:00
David Tolnay
d690ffda8d
Release 0.8.4
2016-08-22 11:37:53 -04:00
David Tolnay
18a775277f
Merge pull request #514 from nox/maps
...
Introduce MapDeserializer::unbounded (fixes #512 )
2016-08-22 09:05:50 -04:00
Anthony Ramine
fbb250766d
Introduce MapDeserializer::unbounded ( fixes #512 )
2016-08-22 09:11:10 +02:00
David Tolnay
71116b860a
Merge pull request #513 from nox/cow
...
Implement ValueDeserializer for Cow<str>
2016-08-21 14:07:56 -04:00
Anthony Ramine
ce3f134145
Implement ValueDeserializer for Cow<str>
2016-08-21 19:52:13 +02:00
David Tolnay
80507d650c
Merge pull request #511 from serde-rs/extra
...
Switch to syntex::with_extra_stack
2016-08-19 21:27:17 -04:00
David Tolnay
0ae61a3dd1
Switch to syntex::with_extra_stack
2016-08-19 21:09:55 -04:00
David Tolnay
5fb73073bd
Release 0.8.3
2016-08-19 13:11:59 -04:00
David Tolnay
63d484d50c
Merge pull request #510 from serde-rs/clippy
...
Re-enable clippy
2016-08-19 13:01:24 -04:00
David Tolnay
f3f29f81bc
Fix new lints
2016-08-19 12:46:45 -04:00
David Tolnay
621588b258
Revert "Disable clippy until Manishearth/rust-clippy#1174 is fixed"
...
This reverts commit 2bc1d62e50 .
2016-08-19 11:47:31 -04:00
Homu
7aba920dec
Auto merge of #509 - serde-rs:cow, r=oli-obk
...
Fix codegen with lifetimes but no type parameters
Fixes #507 .
2016-08-20 00:16:54 +09:00
David Tolnay
a732b9bad3
Fix codegen with lifetimes but no type parameters
2016-08-19 11:12:38 -04:00
Oliver Schneider
6723da67b3
Merge pull request #506 from serde-rs/https
...
HTTPS for serde.rs
2016-08-19 10:57:52 +02:00
David Tolnay
2d99a50c27
HTTPS for serde.rs
2016-08-18 17:08:05 -04:00
David Tolnay
01f6115d73
Merge pull request #503 from serde-rs/stack
...
Set RUST_MIN_STACK if unset
2016-08-18 16:09:09 -04:00
David Tolnay
a4eb9d5788
Merge pull request #499 from serde-rs/ord
...
Simplify BTreeMapVisitor trait bounds
2016-08-18 15:44:03 -04:00
David Tolnay
6f77ea58fd
Merge branch origin/master into origin/stack
2016-08-18 15:26:14 -04:00
David Tolnay
2cb55e8cb9
Merge branch origin/master into origin/ord
2016-08-18 15:25:47 -04:00
David Tolnay
671f5ebd07
Path override to prevent compiletest from seeing 2 versions of serde
2016-08-18 15:05:07 -04:00
David Tolnay
2bc1d62e50
Disable clippy until Manishearth/rust-clippy#1174 is fixed
2016-08-18 14:51:25 -04:00
David Tolnay
1796536962
Update syntex to 0.41
2016-08-18 14:33:14 -04:00
David Tolnay
dba1377d1f
Set RUST_MIN_STACK if unset
2016-08-18 13:55:58 -04:00
Oliver Schneider
ce66b230e3
Merge pull request #502 from serde-rs/help
...
Getting help
2016-08-18 17:08:30 +02:00
David Tolnay
affc81b1d6
Getting help
2016-08-18 10:56:41 -04:00
Oliver Schneider
c3ec05f410
Merge pull request #501 from serde-rs/readme
...
Condense readme and link to serde.rs
2016-08-18 13:22:53 +02:00
David Tolnay
332d59f362
Condense readme and link to serde.rs
2016-08-18 01:11:36 -04:00
David Tolnay
d98172f330
Simplify BTreeMapVisitor trait bounds
...
`Ord` implies `Eq`.
2016-08-17 23:11:38 -04:00
David Tolnay
e0c9bd4b87
Remove doc-upload
2016-08-13 19:15:48 -07:00
David Tolnay
33d26c6d38
Remove CNAME
...
This is now managed by github.com/serde-rs/docs.
2016-08-13 17:54:56 -07:00
David Tolnay
0557a7feac
Point links to docs.serde.rs
2016-08-13 15:01:57 -07:00
Oliver Schneider
d46db730ff
Merge pull request #490 from bluss/patch-1
...
Adjust doc(html_root_url)
2016-08-12 15:59:18 +02:00
bluss
07b1acc9f5
Adjust doc(html_root_url)
...
The URL does not need to contain the crate name. With this URL rustdoc can generate correct external doc links.
2016-08-12 15:53:07 +02:00
David Tolnay
85864e6ccb
Bump remaining versions to 0.8.1
2016-08-11 09:16:29 -07:00
David Tolnay
1f31bb2db9
Merge pull request #489 from oli-obk/docs
...
fix an example in the README
2016-08-11 08:41:59 -07:00
Oliver Schneider
6b5bd24edd
fix an example in the README (thanks @nox)
2016-08-11 13:57:43 +02:00
Oliver Schneider
8c2359f9c3
also publish build.rs
2016-08-11 11:38:44 +02:00
Oliver Schneider
f59ec44a0b
Merge pull request #488 from oli-obk/codegen_stack_overflow_hack
...
use a thread in the build script of serde_codegen to allow env vars to control the stack size
2016-08-11 11:28:53 +02:00
Oliver Schneider
b7446db511
reintroduce path dependencies
2016-08-11 11:02:19 +02:00
Oliver Schneider
8bd7acc9fc
use a thread in the build script of serde_codegen to allow env vars to control the stack size
2016-08-09 13:08:16 +02:00
Homu
d120539310
Auto merge of #478 - serde-rs:visitor, r=oli-obk
...
Simplify generated visitors
Neither `__FieldVisitor` nor `__Visitor` need the `__D: Deserializer` type parameter.
2016-08-08 19:52:36 +09:00
Oliver Schneider
82098f4e49
Merge pull request #476 from serde-rs/duration
...
Serialize and Deserialize for std::time::Duration
2016-08-04 09:29:14 +02:00
Oliver Schneider
1c55f58093
Merge pull request #479 from serde-rs/nestser
...
Remove unnecessary nesting from generated impls
2016-08-04 09:08:59 +02:00
Oliver Schneider
df3c3cb555
Merge pull request #477 from serde-rs/iter
...
Fix clippy lint about looping over iter()
2016-08-04 08:48:35 +02:00
David Tolnay
c539563687
Remove unnecessary nesting fron generated Deserialize implementations
2016-08-03 21:08:17 -07:00
David Tolnay
69de46f9e0
Remove unnecessary nesting from generated Serialize implementations
2016-08-03 20:40:57 -07:00
David Tolnay
d5102a7afd
Simplify generated visitors
2016-08-03 19:56:47 -07:00
David Tolnay
c4b5a42615
Serialize and Deserialize for std::time::Duration
2016-08-03 19:33:31 -07:00
David Tolnay
d0502b93ef
Fix clippy lint about looping over iter()
2016-08-03 19:32:51 -07:00
David Tolnay
b289edd4a4
Merge pull request #475 from serde-rs/skeptic
...
use skeptic to test the readme and fix readme for 0.8
2016-08-03 07:49:30 -07:00
Oliver Schneider
3a687e5369
fix untestable docs
2016-08-03 16:04:11 +02:00
Oliver Schneider
8c30ec9698
fix doc bugs found by skeptic
2016-08-03 16:00:30 +02:00
Oliver Schneider
e40b9e9814
fix skeptic
2016-08-03 16:00:20 +02:00
Erick Tryzelaar
22d0bdae8a
tests(readme): Use skeptic to test the readme
2016-08-03 15:44:47 +02:00
David Tolnay
84fa3fba58
Fix feature name in serde-syntex-example readme
2016-07-31 15:47:46 -07:00
Oliver Schneider
85001608e0
Merge pull request #473 from serde-rs/docs
...
Generate docs from 'docs' branch instead of master
2016-07-31 12:04:12 +02:00
David Tolnay
09fe2dbba5
Generate docs from 'docs' branch instead of master
2016-07-30 16:45:47 -07:00
Oliver Schneider
b6ed82dd7d
Merge pull request #472 from serde-rs/exact
...
Use exact dependencies on other serde crates
2016-07-30 21:12:20 +02:00
David Tolnay
5bbeedadf2
Constrain only the two important dependencies
2016-07-30 08:43:33 -07:00
David Tolnay
d786de6696
Use exact dependencies on other serde crates
2016-07-29 15:12:54 -07:00
David Tolnay
5d24d6cfb4
Merge pull request #471 from serde-rs/example
...
Re-enable serde-syntex-example build in Travis
2016-07-29 10:06:20 -07:00
David Tolnay
c8c22c036f
Re-enable serde-syntex-example build in Travis
2016-07-29 09:53:44 -07:00
David Tolnay
b7f30d7f82
Use build() instead of unwrap() for the Builders
...
Fixes #429 .
2016-07-29 09:48:55 -07:00
David Tolnay
4bf5a15d7e
Merge pull request #469 from killercup/patch-1
...
Set explicit versions in Readme
2016-07-28 05:23:56 -07:00
Pascal Hertleif
f394f25956
Set explicit versions in Readme
2016-07-28 10:34:55 +02:00
David Tolnay
9d96f95ddd
Remove old upgrading tips
2016-07-27 23:51:48 -07:00
David Tolnay
f12f640590
Release 0.8.0
2016-07-27 22:07:57 -07:00
David Tolnay
d02e959b3f
Merge pull request #468 from sfackler/split-map
...
Split serialize_map_elt
2016-07-27 12:50:42 -07:00
Steven Fackler
ea833d3427
Split serialize_map_elt
...
Like what's been done on the deserialization side with MapVisitor, this
allows some weirder uses of Serde to handle the key and value in
separate steps.
2016-07-27 12:12:07 -07:00
David Tolnay
78e74886be
Update syntex to 0.39
2016-07-26 09:22:33 -07:00
Oliver Schneider
061a1d8a8c
Merge pull request #465 from serde-rs/underscore
...
Remove underscore from parameter names in deserializer traits
2016-07-26 08:25:15 +02:00
David Tolnay
de9fd3b04e
Remove underscore from parameter names in deserializer traits
...
This makes the generated rustdoc easier to read.
2016-07-25 20:18:45 -07:00
David Tolnay
e36f33589c
Release 0.8.0-rc3
2016-07-23 15:13:19 -07:00
Homu
a892a13473
Auto merge of #462 - jimmycuadra:ser-error-docstring, r=oli-obk
...
Fix typos in docstring of ser::Error.
Just a minor documentation fix for grammar and and a copy/paste error.
2016-07-23 17:07:46 +09:00
Jimmy Cuadra
556d5bdc27
Fix typos in docstring of ser::Error.
2016-07-23 00:56:55 -07:00
Homu
c6acec29e5
Auto merge of #459 - serde-rs:phantom, r=oli-obk
...
PhantomData<T> does not require bounds on T
2016-07-23 01:43:45 +09:00
David Tolnay
dce02c624b
Merge pull request #460 from serde-rs/revert
...
Revert "Mention Empty Bounds for Recursion in Readme"
2016-07-22 09:13:53 -07:00
David Tolnay
77e56613a5
Revert "Mention Empty Bounds for Recursion in Readme"
...
This reverts commit 93968455f3 .
2016-07-22 09:09:23 -07:00
David Tolnay
3b7fa47b2e
PhantomData<T> does not require bounds on T
2016-07-22 09:05:43 -07:00
David Tolnay
f5fd7f5950
Merge pull request #458 from serde-rs/testgen
...
Add tests for concrete instantiations in test_gen
2016-07-22 09:04:33 -07:00
David Tolnay
fb6fc4e19f
Add tests for concrete instantiations in test_gen
2016-07-22 08:49:51 -07:00
David Tolnay
85772726ee
Merge pull request #456 from serde-rs/generic
...
Generate bounds on type parameters only
2016-07-22 07:58:56 -07:00
Oliver Schneider
f05ba9fdf2
unhygienize the generic parameter comparison
...
include! completely messes up the identifiers' expansion info
2016-07-22 14:09:14 +02:00
Homu
2e829ae4e6
Auto merge of #457 - serde-rs:phantom, r=oli-obk
...
Impl Deserialize for PhantomData<T> for all T
2016-07-22 16:31:51 +09:00
David Tolnay
25a5dd1579
Impl Deserialize for PhantomData<T> for all T
2016-07-21 23:22:38 -07:00
David Tolnay
1831b471f9
Generate bounds on type parameters only
2016-07-21 23:06:18 -07:00
Oliver Schneider
49ff56aa15
Merge pull request #452 from oli-obk/pure_interface
...
Pure interface for Deserializer
2016-07-21 11:25:16 +02:00
Oliver Schneider
89549e2567
fix nightly
2016-07-21 10:49:02 +02:00
Oliver Schneider
124bacd871
fix for 1.8, 1.9 and stable
2016-07-21 10:11:04 +02:00
Oliver Schneider
4280dd466d
rename deserialize_fixed_size_array to deserialize_seq_fixed_size
2016-07-20 19:20:31 +02:00
Oliver Schneider
65eb116a85
address comments
2016-07-20 19:18:45 +02:00
Homu
e15940f355
Auto merge of #454 - nox:boxed, r=oli-obk
...
Implement Deserialize for Box<str>
2016-07-20 19:49:11 +09:00
Anthony Ramine
68440952ab
Implement Deserialize for Box<str>
2016-07-20 12:47:08 +02:00
Oliver Schneider
d751b4c39a
Merge pull request #451 from killercup/doc/recursive-bounds
...
Mention Empty Bounds for Recursion in Readme
2016-07-20 10:43:54 +02:00
Oliver Schneider
d10a69b243
document some hints for defaults
2016-07-20 10:42:14 +02:00
Pascal Hertleif
1a1b6fbf85
Fix Typo in Readme
2016-07-20 10:39:57 +02:00
Pascal Hertleif
93968455f3
Mention Empty Bounds for Recursion in Readme
...
Fixes #427
2016-07-20 10:39:57 +02:00
Oliver Schneider
4722571a4d
make VariantVisitor pure
2016-07-20 10:33:28 +02:00
Oliver Schneider
36a7bf6244
make Deserializer pure
2016-07-20 10:26:31 +02:00
David Tolnay
89f0ad99a6
Merge pull request #449 from oli-obk/docs
...
add more extensive docs
2016-07-18 07:09:20 -07:00
Oliver Schneider
05ad8662e2
add more extensive docs
2016-07-18 16:08:07 +02:00
Oliver Schneider
15c09a8d2c
Merge pull request #448 from laktak/hjson
...
add Hjson
2016-07-18 13:04:02 +02:00
Christian Zangl
80a27cbb4a
add Hjson
2016-07-18 12:06:21 +02:00
David Tolnay
13e1a129dd
Ignore unused struct in test_gen.rs
2016-07-17 21:10:05 -07:00
David Tolnay
334a6e788a
Remove commented code in test_macros.rs
2016-07-17 21:09:44 -07:00
David Tolnay
fa51083a12
Merge pull request #446 from serde-rs/unstable
...
Rename feature nightly-testing to unstable-testing
2016-07-17 18:26:20 -07:00
David Tolnay
aaca4f06c6
Release 0.8.0-rc2
2016-07-17 18:07:40 -07:00
David Tolnay
cc8a5a79ab
See whether relative paths help cargo find the unstable-testing feature
2016-07-17 13:40:39 -07:00
David Tolnay
4f79829849
Rename feature nightly-testing to unstable-testing
2016-07-17 13:34:23 -07:00
David Tolnay
6c18896cf5
Unpin the clippy dependency
2016-07-17 13:32:40 -07:00
David Tolnay
ac738632ef
Merge pull request #445 from serde-rs/pubdep
...
Remove public dependency on Syntex
2016-07-17 13:15:42 -07:00
David Tolnay
8d06f36d71
Remove public dependency on Syntex
2016-07-17 13:00:39 -07:00
David Tolnay
e404de85b2
Remove serde-syntex-example from travis until serde_json 0.8.0
2016-07-17 12:59:04 -07:00
David Tolnay
6fe01bc8e3
Release 0.8.0-rc1
...
This prerelease contains the Serializer API changes intended for 0.8.0. It
allows us to start merging PRs that use the new API.
2016-07-17 11:46:03 -07:00
David Tolnay
855f3d99bb
Do not release any more 0.7 releases from master
2016-07-15 17:00:09 -07:00
David Tolnay
9d015a2942
Merge pull request #437 from oli-obk/map_seq_ser
...
Revamp Map/Seq serialization
2016-07-15 16:59:45 -07:00
Oliver Schneider
42c41922ce
adjust tests for new interface
2016-07-15 12:59:30 +02:00
Oliver Schneider
984181c558
Merge remote-tracking branch 'serde/master' into map_seq_ser
2016-07-15 10:59:46 +02:00
David Tolnay
ed603d4580
Merge pull request #442 from serde-rs/override
...
Use cargo override instead of relative paths
2016-07-15 01:56:14 -07:00
Oliver Schneider
70c83768b7
Merge pull request #1 from serde-rs/dtolnay/serializer
...
David's take on Serializer
2016-07-15 10:38:22 +02:00
David Tolnay
7220029055
Use cargo override instead of relative paths
...
This makes it possible to use `cargo clone` + `cargo build`.
2016-07-15 01:17:23 -07:00
David Tolnay
35676305da
Merge pull request #401 from erickt/contributing
...
Add a contribution guide
2016-07-15 01:06:54 -07:00
David Tolnay
fbad194042
Restore 'static requirement for names
2016-07-15 00:59:56 -07:00
David Tolnay
2e4cc0b443
Restore serialize_seq_fixed_size
2016-07-15 00:58:48 -07:00
David Tolnay
9217517532
Update impls
2016-07-15 00:55:38 -07:00
David Tolnay
0feeb7a341
David's take on Serializer
2016-07-15 00:01:31 -07:00
Oliver Schneider
2901344722
this time really fix ranges
2016-07-14 16:16:20 +02:00
Oliver Schneider
54c80ad677
fix range serialization
2016-07-14 15:37:05 +02:00
Oliver Schneider
16ba32dbe1
stateful map/seq serialization
2016-07-14 15:36:47 +02:00
Oliver Schneider
60938913b2
face -> palm
2016-07-13 19:18:01 +02:00
Oliver Schneider
26528fbbb4
silence lint about a: ref a patterns
2016-07-12 16:53:38 +02:00
Oliver Schneider
6adcaa55e5
json needs more info
2016-07-12 16:53:20 +02:00
Oliver Schneider
fb575225bc
simplify!
2016-07-12 16:16:48 +02:00
Oliver Schneider
ee4e7413b0
whoops
2016-07-12 15:50:41 +02:00
Oliver Schneider
a6f8bd5aac
nightly
2016-07-12 15:49:41 +02:00
Oliver Schneider
3766633f4a
adjust codegen to work with the revamped map/seq serializer
2016-07-12 15:44:19 +02:00
Dawid Ciężarkiewicz
99038b044e
Eliminate Visitor pattern
...
Visitor is "pull", while `MapSerializer` and `SeqSerializer`
are "push" like the rest of the API.
2016-07-12 11:46:44 +02:00
David Tolnay
4ec0a7e672
Merge pull request #433 from softprops/add_envy
...
add envy
2016-07-10 20:59:50 -07:00
softprops
a41dae45a5
add envy
2016-07-10 23:55:32 -04:00
David Tolnay
cb9e1cfb54
Merge pull request #431 from serde-rs/version
...
Drop support for 1.7.0
2016-07-10 14:40:15 -07:00
David Tolnay
54ce7f2e90
Drop support for 1.7.0
2016-07-10 14:25:17 -07:00
David Tolnay
ddbd139793
Merge pull request #430 from serde-rs/bump
...
Update syntex to 0.38
2016-07-09 11:51:38 -07:00
David Tolnay
a070de28e2
Update syntex to 0.38
2016-07-09 11:37:01 -07:00
David Tolnay
57aeb26728
Merge pull request #428 from erickt/readme
...
Rewrite readme to front-load stable rust usage
2016-07-07 20:26:00 -07:00
Erick Tryzelaar
a592828808
Rewrite readme to front-load stable rust usage
2016-07-07 14:31:24 -07:00
David Tolnay
67d86dcc4f
Merge pull request #426 from serde-rs/display
...
impl Display for de::Type
2016-07-07 00:59:17 -07:00
David Tolnay
15764cb955
impl Display for de::Type
2016-07-06 23:33:59 -07:00
David Tolnay
97bc1e08e7
Release 0.7.13
2016-07-05 20:06:10 -07:00
Oliver Schneider
7ffb74f5bb
Merge pull request #423 from dtolnay/seq
...
Close the seq before failing on invalid length
2016-07-05 22:44:52 +02:00
David Tolnay
f25e6d3ea9
Close the seq before failing on invalid length
...
Equivalent to what 0f9a930 does for maps.
2016-07-05 10:08:36 -07:00
David Tolnay
431cbe48b7
Merge pull request #422 from serde-rs/missing
...
Close the map before checking for missing fields
2016-07-05 07:11:03 -07:00
Homu
5405ab319d
Auto merge of #421 - serde-rs:length, r=oli-obk
...
Invalid-length when enum seq is too short
Fixes https://github.com/serde-rs/json/issues/96 .
2016-07-05 18:27:33 +09:00
David Tolnay
0f9a930c4f
Close the map before checking for missing fields
2016-07-05 01:42:38 -07:00
David Tolnay
1a449bb3d0
Invalid-length when enum seq is too short
2016-07-05 01:35:20 -07:00
David Tolnay
c0e8164792
Merge pull request #418 from serde-rs/expninfo
...
Record expansion info
2016-07-04 15:22:09 -07:00
David Tolnay
a3a7e4085f
Add run-pass test for expansion info
2016-07-04 15:02:15 -07:00
David Tolnay
149c87d7c2
Record expansion info
2016-07-03 10:53:33 -07:00
David Tolnay
5deba439c3
Merge pull request #417 from serde-rs/bump
...
Update syntex to 0.37
2016-07-03 08:53:56 -07:00
David Tolnay
d450de1482
Update syntex to 0.37
2016-07-02 20:20:44 -07:00
David Tolnay
47c7387279
Merge pull request #416 from dtolnay/filter
...
Remove filter no longer necessary for rustc >=1.7
2016-07-01 22:53:45 -07:00
David Tolnay
dc8d209f29
Remove filter no longer necessary for rustc >=1.7
2016-07-01 22:34:15 -07:00
David Tolnay
831802adc8
Merge pull request #407 from dtolnay/internals
...
Rename serde_item to serde_codegen_internals
2016-06-30 20:06:12 -07:00
David Tolnay
2d5a26dfc0
Rename serde_internals to serde_codegen_internals
2016-06-30 19:53:57 -07:00
David Tolnay
c6b6e2a5d9
Rename serde_item to serde_internals
2016-06-30 19:42:55 -07:00
Oliver Schneider
d1be5ef187
Merge pull request #412 from dtolnay/test
...
Move Token De/Serializer to serde_test crate
2016-06-29 10:05:36 +02:00
David Tolnay
f531be1524
Turn comments into doc comments
2016-06-29 00:58:33 -07:00
David Tolnay
10b1508d4a
Sync serde_test version with the other crates
2016-06-29 00:17:50 -07:00
David Tolnay
041d5c0842
Make serde_test asserts more consistent
2016-06-28 23:50:19 -07:00
David Tolnay
7d09053bb8
Fix declare_ser_tests to work on old rustc
2016-06-28 23:09:37 -07:00
David Tolnay
8e87926bc2
Round out the Error variants
2016-06-28 22:57:53 -07:00
David Tolnay
d6a462b862
Add serde_test to dev dependencies of serde_macros
2016-06-28 22:50:58 -07:00
David Tolnay
cfc2f9adc0
Remove Error from name of Error variants
2016-06-28 22:49:13 -07:00
David Tolnay
00f94290a6
Add message to CustomError
2016-06-28 22:36:29 -07:00
David Tolnay
093201abfb
Assert tokens are empty after reaching error
2016-06-28 22:23:38 -07:00
David Tolnay
6d64104375
Factor the Token De/Serializer into serde_test
2016-06-28 21:54:51 -07:00
David Tolnay
fb0e62951f
Rename serde_tests to testing
2016-06-28 20:43:59 -07:00
David Tolnay
6ab508a93c
Release 0.7.11
2016-06-23 19:58:31 -07:00
David Tolnay
9f38c2ab59
Merge pull request #409 from knsd/patch-1
...
Fix typo
2016-06-23 09:52:50 -07:00
Fedor Gogolev
021ce5be88
Fix typo
2016-06-23 20:50:27 +04:00
Homu
f1f8b4622b
Auto merge of #402 - erickt:clippy, r=erickt
...
Update link to clippy lint report
2016-06-23 12:52:36 +09:00
Erick Tryzelaar
1fb2172a25
Merge pull request #405 from erickt/rustup
...
Version bump the syntex stack
2016-06-22 20:34:15 -07:00
Erick Tryzelaar
5941f1d071
Version bump the syntex stack
2016-06-22 20:19:47 -07:00
Erick Tryzelaar
8d6cc4dfa5
Update link to clippy lint report
2016-06-22 10:13:28 -07:00
Erick Tryzelaar
18e077eda9
Add a contributing guide
2016-06-22 07:04:13 -07:00
Homu
c9e2e518ba
Auto merge of #397 - dtolnay:item, r=oli-obk
...
Factor attr parsing into serde_item crate
Fixes #396 . @KodrAus [let me know whether this fits the bill.](https://github.com/dtolnay/serde/tree/5c6a0e12e95974e3c131386e8e0528b6b9cfa6fa/serde_item/src )
a few other changes to make the API a little more presentable:
- Rename attr::{ContainerAttrs,VariantAttrs,FieldAttrs} to remove the "Attrs" (I see you worked on the corresponding [clippy lint](https://github.com/Manishearth/rust-clippy/issues/904 )).
- Rename attr::Container* to attr::Item to correspond with item::Item and ast::Item. The others already had a correspondence (attr::Variant/item::Variant/ast::Variant, attr::Field/item::Field/ast::Field). Also a unit struct isn't much of a "container."
- Change item::Item::from_ast to return a meaningful error enum instead of printing a message that was hard to generalize to other uses.
- Add item::Variant.span for consistency because Item and Field already had span.
- Remove the "ident" field from attr::Name because we can just fold it into the other two fields.
- Remove attr::Name::(de)serialize_name_expr because it wasn't using the right AstBuilder in the first place.
- Rename the attr:: constructors from_item/from_variant/from_field to from_ast to line up with the item:: constructors; the signatures match.
- Remove attr's dependency on aster because we were only using it for two very simple things.
2016-06-20 16:45:25 +09:00
David Tolnay
51042bde50
Remove ident from Name struct
2016-06-19 20:31:12 -07:00
David Tolnay
5c6a0e12e9
Factor attr parsing into serde_item crate
2016-06-19 20:15:49 -07:00
Homu
d4e1ef659a
Auto merge of #389 - dtolnay:rule, r=oli-obk
...
Remove unused macro rule
2016-06-17 16:52:37 +09:00
David Tolnay
f5f35677f0
Remove unused macro rule
2016-06-17 00:06:11 -07:00
David Tolnay
90d9c77186
Merge pull request #385 from dtolnay/dup
...
Error on duplicate attributes
2016-06-17 00:02:04 -07:00
David Tolnay
882d130e19
Test duplicates within a single attribute
2016-06-16 23:45:34 -07:00
David Tolnay
5f84e601b6
Add explanation of ignored errors in attr.rs
2016-06-16 23:25:46 -07:00
David Tolnay
0bf6a17428
Merge pull request #387 from erickt/master
...
Extend tuple impls up to 16 elements
2016-06-16 09:47:58 -07:00
Erick Tryzelaar
db8881d845
Extend tuple impls up to 16 elements
2016-06-16 11:22:15 +01:00
David Tolnay
3403352749
Merge pull request #377 from dtolnay/travis
...
Remove some low-risk travis builds
2016-06-15 08:54:04 -07:00
David Tolnay
ac69524258
Gather attrs at the beginning
2016-06-15 02:38:47 -07:00
David Tolnay
28589620f6
Error on duplicate attributes
2016-06-14 20:39:21 -07:00
David Tolnay
8e4da7f36b
Merge pull request #383 from oli-obk/compile-fail
...
more cfail tests
2016-06-13 10:46:35 -07:00
Oliver Schneider
4c4a27f53c
more cfail tests
2016-06-13 18:56:45 +02:00
Homu
b838651ac9
Auto merge of #378 - dtolnay:str, r=oli-obk
...
Better error when deriving Deserialize for struct containing &str
Fixes #360 . The error looks like this:
```rust
#[derive(Serialize, Deserialize)]
struct Test<'a> {
s: &'a str,
}
```
```
src/main.rs:6:5: 6:15 error: Serde does not support deserializing fields of type &str; consider using String instead
src/main.rs:6 s: &'a str,
^~~~~~~~~~
```
2016-06-14 00:49:26 +09:00
David Tolnay
5cd8212a61
Merge pull request #381 from dtolnay/nosyntex
...
Remove unnecessary Syntexes
2016-06-12 22:25:50 -07:00
David Tolnay
c5f606f10f
Remove unnecessary Syntexes
2016-06-12 15:50:45 -07:00
David Tolnay
c21bea8b30
Better error when deriving Deserialize for struct containing &str
2016-06-11 21:32:53 -07:00
David Tolnay
22a26a33f4
Remove some low-risk travis builds
2016-06-11 16:21:20 -07:00
David Tolnay
8a09f05644
Release 0.7.10
2016-06-11 13:08:33 -07:00
David Tolnay
5923a0cd2f
Merge pull request #371 from dtolnay/hasher
...
De/serialize for HashMap<K, V, S> and HashSet<T, S>
2016-06-11 11:51:57 -07:00
David Tolnay
1576b5a8a0
Serde_macros tests depend on fnv
2016-06-11 11:15:10 -07:00
Homu
2c4dbf5a84
Auto merge of #370 - dtolnay:expand, r=erickt
...
Use serde_codegen::expand in serde_tests/build.rs
2016-06-12 02:51:08 +09:00
David Tolnay
021f4f2d70
Use serde_codegen::expand in serde_tests/build.rs
2016-06-11 10:02:10 -07:00
David Tolnay
decc571988
De/serialize for HashSet<T, S>
2016-06-11 10:00:33 -07:00
David Tolnay
322d7a90db
Add ser tests for normal HashMap
2016-06-11 10:00:33 -07:00
David Tolnay
dd3f653103
Move bounds to where-clause to increase legibility
2016-06-11 10:00:33 -07:00
David Tolnay
46a1860601
De/serialize for HashMap<K, V, S>
2016-06-11 10:00:33 -07:00
Homu
84a573c926
Auto merge of #372 - dtolnay:old, r=erickt
...
Stop building on 1.5.0
Syntex no longer supports this version of Rust.
2016-06-12 01:09:49 +09:00
Erick Tryzelaar
7dfa8f43f4
Merge pull request #373 from erickt/master
...
Updating to rustc 1.11.0-nightly (7d2f75a95 2016-06-09)
2016-06-11 09:09:22 -07:00
David Tolnay
7375b4e847
Add travis builds for 1.6.0 and 1.7.0
2016-06-11 08:59:02 -07:00
Erick Tryzelaar
48da62ed07
Updating to rustc 1.11.0-nightly (7d2f75a95 2016-06-09)
2016-06-11 08:19:51 -07:00
David Tolnay
9834af7ed9
Stop building on 1.5.0
...
Syntex no longer supports this version of Rust.
2016-06-11 01:31:17 -07:00
Homu
6b404d8529
Auto merge of #367 - dtolnay:default, r=oli-obk
...
Simplify implementation of #[serde(default=...)]
2016-06-10 17:57:39 +09:00
David Tolnay
3119cc8857
Simplify implementation of #[serde(default=...)]
2016-06-09 23:21:42 -07:00
David Tolnay
bb059b97c0
Release 0.7.9
2016-06-09 20:16:49 -07:00
Homu
b7188f7022
Auto merge of #362 - dtolnay:expand, r=oli-obk
...
Add serde_codegen::expand to avoid public Syntex dependency
Required for #358 . We can remove `serde_codegen::register` in the next breaking release.
This allows Syntex users to avoid being broken by Serde bumping its Syntex dependency.
2016-06-10 07:46:33 +09:00
David Tolnay
a64fe99d1b
Add cargo override for building examples
2016-06-09 11:23:43 -07:00
David Tolnay
c716c4e261
Use AsRef to accept paths in serde_codegen::expand
2016-06-09 11:23:43 -07:00
David Tolnay
3d2e3beafe
Add serde_codegen::expand to avoid public Syntex dependency
2016-06-09 11:23:43 -07:00
Homu
1917e54a6e
Auto merge of #363 - dtolnay:example, r=oli-obk
...
Fix nightly check in serde-syntex-example
Fixes #361 .
2016-06-10 01:58:51 +09:00
David Tolnay
898b346d48
1.5 does not have a stable libcore
2016-06-09 09:17:21 -07:00
David Tolnay
e90adb20ef
Run serde-syntex-example in Travis
2016-06-09 01:42:00 -07:00
Homu
a52e7f5554
Auto merge of #364 - dtolnay:rustup, r=oli-obk
...
Use rustup in serde-syntex-example instead of multirust
Multirust is deprecated.
2016-06-09 17:36:01 +09:00
David Tolnay
7afb8b52ae
Use rustup in serde-syntex-example instead of multirust
2016-06-09 01:16:31 -07:00
David Tolnay
cb4694387e
Fix nightly check in serde-syntex-example
2016-06-09 01:08:12 -07:00
David Tolnay
58fa302007
Release 0.7.8
2016-06-06 10:13:52 -07:00
Homu
bf33daf124
Auto merge of #354 - dtolnay:attr, r=oli-obk
...
Fix attributes canceling each other
Fixes #353 .
2016-06-06 18:08:20 +09:00
Homu
4b472be56e
Auto merge of #352 - dtolnay:where, r=oli-obk
...
Attribute for handwritten where clauses
Addresses (2) and (3) in https://github.com/serde-rs/serde/issues/336#issuecomment-220378916 .
- If there is a `#[serde(bound="...")]` attribute on the type, use the union of that and the actual type's `where` clause as the `where` clause for the impl and do not attempt to generate any additional `where` clauses whatsoever.
- If there is a `#[serde(bound="...")]` attribute on a field, use that and do not attempt to generate any additional `where` clauses for the field.
The `bound` attribute behaves similar to `rename` in that you can specify a single attribute that applies to both ser and de, or individual ones.
```
#[serde(bound="D: Serialize + Deserialize")]
#[serde(bound(serialize="D: Serialize", deserialize="D: Deserialize"))]
```
EDIT: now addresses (4) from https://github.com/serde-rs/serde/issues/336#issuecomment-220378916 as well.
- If a field contains direct recursion, do not generate any bounds based on that field except from `bound` attributes.
2016-06-06 17:47:45 +09:00
David Tolnay
bdffaf3ea1
Re-enable clippy lint "useless_let_if_seq"
...
This reverts commit 4e6cd2d63f .
2016-06-05 13:01:22 -07:00
David Tolnay
f197c3ce96
Readme for "bound" attribute
2016-06-05 11:54:36 -07:00
David Tolnay
01dfad6705
Fix attributes canceling each other
2016-06-05 11:40:30 -07:00
David Tolnay
2e06786262
Remove unnecessary clones
2016-06-05 11:23:01 -07:00
David Tolnay
578f34ecaf
Use "bound" attribute instead of "where"
2016-06-05 11:17:43 -07:00
David Tolnay
2c8767cb46
Remove changelog in favor of github release notes
2016-06-05 10:05:56 -07:00
David Tolnay
45c51d3198
Fix build on 1.5.0 which does not have Vec::as_slice
2016-06-04 16:53:45 -07:00
David Tolnay
bd40830905
Do not generate bounds from recursive types
2016-06-04 16:12:01 -07:00
David Tolnay
4e6cd2d63f
Disable clippy lint "useless_let_if_seq"
2016-06-04 15:48:44 -07:00
David Tolnay
2256a04926
Address clippy lint "ptr_arg"
2016-06-04 15:48:44 -07:00
David Tolnay
660ea7bd7b
Attribute for handwritten where clauses
2016-06-04 15:48:42 -07:00
Homu
7052833512
Auto merge of #351 - oli-obk:publish_nits, r=oli-obk
...
also publish the `.in` file used by the build script
2016-06-02 01:47:39 +09:00
Oliver Schneider
5c2cf5778f
also publish the .in file used by the build script
2016-06-01 13:09:43 +02:00
Homu
b5c0406afe
Auto merge of #349 - oli-obk:undo, r=oli-obk
...
undo the breaking change introduced in 0.7.6
I should probably yank 0.7.6, too
cc @alexcrichton this should unbreak your setup, sorry about that.
2016-06-01 20:01:53 +09:00
Oliver Schneider
96cd910c92
undo the breaking change introduced in 0.7.6
2016-06-01 11:08:59 +02:00
Homu
e0bd57d63c
Auto merge of #347 - erickt:master, r=erickt
...
Add "include" to Cargo.toml files
This filters out junk files from the crates.
Closes #331 .
2016-05-30 23:23:57 +09:00
Erick Tryzelaar
7c784f592e
Add a changelog
2016-05-30 07:23:18 -07:00
Erick Tryzelaar
2c69ccdca4
Add the build script to the Cargo include section
2016-05-30 07:23:09 -07:00
Erick Tryzelaar
66eddd4d9b
Add "include" to Cargo.toml files
...
This filters out junk files from the crates.
Closes #331 .
2016-05-30 07:00:13 -07:00
Homu
1485f0a448
Auto merge of #346 - serde-rs:rustup, r=erickt
...
Rustup too rustc 1.11.0-nightly (7746a334d 2016-05-28)
cc @erickt
2016-05-30 22:45:47 +09:00
Manish Goregaokar
379c9e7148
Rustup too rustc 1.11.0-nightly (7746a334d 2016-05-28)
2016-05-30 14:01:57 +05:30
Homu
6c2af4da7a
Auto merge of #343 - pyfisch:patch-1, r=oli-obk
...
Better documentation for de::Error::invalid_length
Closes #342
2016-05-24 20:32:57 +09:00
Pyfisch
2ff7d003ee
Better documentation for de::Error::invalid_length
...
Closes #342
2016-05-24 13:07:26 +02:00
David Tolnay
ea182e2561
Merge pull request #335 from dtolnay/tuples
...
Support (de)serialize_with in tuples
2016-05-23 13:33:58 -07:00
David Tolnay
938f42faf6
Support (de)serialize_with in tuples
2016-05-19 10:53:38 -07:00
Homu
cc115ca43a
Auto merge of #338 - dtolnay:refs, r=oli-obk
...
Strip more references
Fixes #337 .
2016-05-20 02:45:31 +09:00
David Tolnay
f1b4072444
Strip more references
2016-05-18 23:48:56 -07:00
Homu
16d3e96b77
Auto merge of #334 - dtolnay:dupl, r=oli-obk
...
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-16 19:41:59 +09: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
9865ec23c7
Merge pull request #322 from dtolnay/unused
...
Remove unused imports and needless borrows
2016-05-13 11:23:15 -07:00
David Tolnay
76a321db5c
Simplify redundant closure
2016-05-13 10:53:03 -07:00
David Tolnay
004dcaec3b
Remove unused imports and needless borrows
2016-05-13 10:47:09 -07:00
Homu
74eb2f52b8
Auto merge of #316 - cmr:no_std, r=oli-obk
...
Enable use in no_std environments
Re-opening of #302 after bust merge.
2016-05-13 17:13:08 +09:00
Corey Richardson
9b7317fbb1
Address nits
2016-05-13 11:17:17 +10:00
Erick Tryzelaar
41142d41ee
Merge pull request #319 from dtolnay/release
...
Release 0.7.5
2016-05-12 09:30:41 -07:00
Homu
fd328c2f2a
Auto merge of #320 - dtolnay:syntexv, r=oli-obk
...
Do not depend on multiple syntex versions
serde_codegen has syntex 0.32 under dependencies, but syntex 0.31 under build-dependencies...
2016-05-12 04:05:47 +09:00
David Tolnay
3ad276944a
Do not depend on multiple syntex versions
2016-05-11 09:52:28 -07:00
David Tolnay
bb20796e9d
Bump version numbers in serde-syntex-example
2016-05-11 09:46:16 -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
Oliver Schneider
6596f77e91
Merge pull request #315 from dtolnay/underscore
...
Prefix type parameters and lifetimes with double underscore
2016-05-11 11:06:25 +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
Corey Richardson
ae806af644
Enable use in no_std environments
...
These changes are fairly invasive to imports and uses of non-libcore types,
but allow for some or none of the freestanding crates (core, rustc_unicode,
alloc, collections) to be supported by serde.
2016-05-10 10:23:41 +10:00
Homu
7aa0b6ce27
Auto merge of #314 - dtolnay:revert, r=erickt
...
Revert "Enable use in no_std environments"
This commit failed to build even before it was merged. See #313 .
2016-05-09 12:47:09 +09:00
David Tolnay
efdbf5795f
Fix version in serde/Cargo.toml
2016-05-08 20:43:46 -07:00
David Tolnay
55355b6680
Revert "Enable use in no_std environments"
...
This reverts commit 9c0140968d .
2016-05-08 20:30:21 -07:00
Erick Tryzelaar
f8a91e5176
Merge pull request #302 from cmr/no_std
...
Enable use in no_std environments
2016-05-08 19:24:48 -07:00
Erick Tryzelaar
aa0cd9b3dc
Merge pull request #308 from dtolnay/inference
...
Reduce dependence on type inference
2016-05-08 19:21:45 -07:00
Erick Tryzelaar
1f82cd6e3d
Merge pull request #310 from dtolnay/withdoc
...
Clarify serialize_with and deserialize_with documentation
2016-05-08 19:20:12 -07:00
David Tolnay
3caac4e6f3
Clarify serialize_with and deserialize_with documentation
2016-05-08 10:52:23 -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
Corey Richardson
9c0140968d
Enable use in no_std environments
...
These changes are fairly invasive to imports and uses of non-libcore types,
but allow for some or none of the freestanding crates (core, rustc_unicode,
alloc, collections) to be supported by serde.
2016-05-04 01:26:43 +10:00
Erick Tryzelaar
5716e8c508
Merge pull request #298 from dtolnay/scope
...
fix(codegen): Support `extern crate serde` not in toplevel module
2016-05-02 20:09:04 -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
https://github.com/rust-lang/rust/commit/6c44bea64435fd3859439a6ecab7758855a13f07
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
...
https://github.com/rust-lang/rust/commit/9108fb7bae11f18715d971eeae1e5ca84662e1ee
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
2f0fc6e6f1
Merge pull request #295 from dtolnay/defaults
...
fix(codegen): Discard type defaults from impl generics
2016-04-25 07:58:03 -07:00
Erick Tryzelaar
7bd87feb62
Fix a warning, bump the versions
2016-04-19 12:43:57 -05:00
Erick Tryzelaar
bff2301ac3
Document that skip_deserializing uses the default=... attribute if present
2016-04-19 12:35:16 -05:00
David Tolnay
fd3c15fb68
fix(codegen): Discard type defaults from impl generics
2016-04-19 10:28:43 -07:00
Erick Tryzelaar
808b06940e
Merge pull request #285 from dtolnay/bounds
...
feat(codegen): Infer Default and Deserialize bounds correctly
2016-04-19 12:25:13 -05:00
Erick Tryzelaar
8cce6ecf15
Merge pull request #290 from dtolnay/boxslice
...
fix(impls): Deserialize impl for Box<[T]>
2016-04-19 12:21:11 -05:00
Erick Tryzelaar
ef97f87b96
Merge pull request #291 from dtolnay/docskip
...
Fix documentation of skip_serializing_if
2016-04-19 12:20:45 -05:00
David Tolnay
93a7568ff6
Fix documentation of skip_serializing_if
2016-04-17 21:31:18 -07:00
David Tolnay
0439bb9d02
Deserialize impl for Box<[T]>
2016-04-17 20:59:26 -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
51fdb0e4ef
Merge pull request #284 from erickt/master
...
Fix doc links
2016-04-13 08:41:52 -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
84b289dd7b
1.5 is unhappy that this private module is undocumented
2016-04-12 09:24:32 -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
451700d3d2
Add more tests for renaming missing field
2016-04-12 08:26:56 -07:00
Erick Tryzelaar
1c5d83889c
Merge remote-tracking branch 'remotes/origin/master' into renamed_missing_field
2016-04-12 08:24:34 -07:00
Oliver Schneider
f659fa8919
add a test
2016-04-12 12:42:07 +02: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
Erick Tryzelaar
ac98a25291
Merge pull request #275 from dtolnay/brackets
...
Add missing close brackets in readme
2016-04-06 07:20:41 -07:00
Erick Tryzelaar
48dd47b2b7
Merge pull request #279 from jwilm/fix-deserialize-with-result
...
Fix `deserialize_with` in module with Result alias
2016-04-05 19:25:48 -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
Oliver Schneider
95c5e8681e
Merge pull request #273 from serde-rs/void-unused-variables
...
Silence unused_variables warning with empty enums
2016-04-03 14:49:38 +02: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
David Tolnay
a8509a1d03
Add missing close brackets in readme
2016-04-01 09:55:54 -07:00
Oliver Schneider
d9b6feef19
pass the renamed deserialize field name to missing_field
2016-03-30 17:29:27 +02:00
Erick Tryzelaar
b526404707
Merge pull request #266 from serde-rs/clippy-badge
...
add clippy badge
2016-03-27 10:13:30 -07:00
Erick Tryzelaar
9785646246
feat(cargo): Update syntex
2016-03-16 23:52:21 -07:00
Oliver Schneider
332b51f58a
add clippy badge
2016-03-09 13:51:26 +01:00
David Tolnay
fb18a5cc56
Fix broken documentation links in Cargo.toml
2016-03-06 19:28:26 -08:00
Erick Tryzelaar
b1cab411d6
Merge pull request #263 from dtolnay/docs/quotes
...
Missing quotes in upgrading-from-0.6 section of readme
2016-03-06 21:28:48 -05:00
David Tolnay
b01fc032fd
Missing quotes in upgrading-from-0.6 section of readme
2016-03-06 18:26:38 -08:00
Erick Tryzelaar
f771eea6e6
doc(readme): Document new 0.7 skip-serializing approach
2016-03-06 21:20:04 -05:00
Erick Tryzelaar
6b127cb8d0
Update travis travis token
2016-03-06 21:14:23 -05:00
Erick Tryzelaar
d0a63b451c
Update README.md
2016-03-06 21:06:11 -05:00
Erick Tryzelaar
8296ff4bad
Merge pull request #257 from frewsxcv/patch-1
...
Remove now default 'sudo: false'
2016-03-02 03:11:39 -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
Corey Farwell
4d4b85318f
Remove now default 'sudo: false'
...
`sudo: false` is now default on Travis CI
2016-02-27 15:36:29 -05:00
Erick Tryzelaar
708a310ab0
Merge pull request #254 from erickt/error-custom
...
feat(errors): Switch Error::custom to use Into<String>
2016-02-26 21:25:01 -08:00
Erick Tryzelaar
ec75f22396
feat(errors): Switch Error::custom to use Into<String>
2016-02-26 21:12:16 -08:00
Erick Tryzelaar
6ea632e98b
doc(readme): Update readme to compile with latest serde
2016-02-26 11:17:43 -08:00
Erick Tryzelaar
4117b1c054
refactor(de): Minor shuffling of methods
2016-02-24 09:11:23 -08:00
Erick Tryzelaar
761284932b
doc(readme): Remove reference to old serde_json docs
2016-02-24 09:00:21 -08:00
Erick Tryzelaar
c244535f9b
Merge remote-tracking branch 'remotes/origin/v0.6.x'
2016-02-24 08:49:22 -08:00
Erick Tryzelaar
577c7657dc
Merge pull request #252 from ReadmeCritic/v0.6.x
...
Update README URLs based on HTTP redirects
2016-02-24 08:48:44 -08:00
Erick Tryzelaar
f05875e49a
Merge pull request #250 from dtolnay/yaml
...
YAML serde based on yaml-rust
2016-02-24 08:48:14 -08:00
Erick Tryzelaar
56400ac0ff
Merge remote-tracking branch 'remotes/origin/v0.6.x'
2016-02-24 08:31:17 -08:00
ReadmeCritic
a18d8fbc09
Update README URLs based on HTTP redirects
2016-02-24 06:33:14 -08:00
David Tolnay
a0eb235f0a
YAML serde based on yaml-rust
2016-02-24 00:22:48 -08:00
Erick Tryzelaar
c6cd8a09c0
Merge pull request #249 from erickt/master
...
Rename error trait methods, optimize bytes, don't expose primitive
2016-02-23 20:51:59 -08:00
Erick Tryzelaar
3e94bf2d13
fix(warnings): Fix clippy warnings
2016-02-23 20:38:06 -08:00
Erick Tryzelaar
f4c8ad6c3a
feat(de): Don't expose primitive
2016-02-23 20:38:06 -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
6caf8a0074
fix(error): Report UnknownVariant and InvalidValue
...
Don't unify it with syntax errors.
2016-02-23 20:21:07 -08:00
Erick Tryzelaar
96483ee54f
Merge pull request #246 from erickt/master
...
feat(cargo): Version bump to 0.7!
2016-02-23 20:20:52 -08:00
Erick Tryzelaar
6a9216f26a
Merge pull request #248 from Yoric/v0.6.x
...
Resolves #183 - Serialize and Deserialize for PhantomData
2016-02-23 20:20:23 -08:00
David Rajchenbach-Teller
4bba342e42
Resolves #183 - Serialize and Deserialize for PhantomData
2016-02-23 21:43:50 +01:00
Erick Tryzelaar
2987b0d10a
Merge pull request #245 from erickt/master
...
feat(serde): Add hooks for fixed-sized arrays
2016-02-23 05:32:56 -08:00
Erick Tryzelaar
d6a50b8977
feat(cargo): Version bump to 0.7!
2016-02-23 05:26:07 -08:00
Erick Tryzelaar
76b3dead9b
feat(serde): Add hooks for fixed-sized arrays
...
Closes #244
2016-02-23 05:15:44 -08:00
Erick Tryzelaar
d24b2c86f2
Merge tag 'v0.6.15'
...
Tagging for release
2016-02-22 08:32:05 -08:00
Erick Tryzelaar
b6965ecde8
feat(cargo): Version bump
2016-02-22 08:15:17 -08:00
Erick Tryzelaar
b3d5de3b92
Merge pull request #243 from erickt/master
...
feat(de): Remove dependency on the `num` crate.
2016-02-22 08:08:23 -08:00
Erick Tryzelaar
49b0bfd257
feat(de): Remove dependency on the num crate.
2016-02-21 21:22:58 -08:00
Erick Tryzelaar
1132c0b0e1
Merge pull request #242 from erickt/master
...
feat(impls): Add impls for std::net::Ip{,v4,v6}Addr
2016-02-21 20:47:38 -08:00
Erick Tryzelaar
4cb5ee0678
feat(impls): Add impls for std::net::SocketAddr{,V4,V6}
2016-02-21 20:21:21 -08:00
Erick Tryzelaar
b257084f3a
feat(impls): Add impls for std::net::Ip{,v4,v6}Addr
2016-02-21 20:21:21 -08:00
Erick Tryzelaar
c03587f0bf
Merge remote-tracking branch 'remotes/origin/v0.6.x'
2016-02-21 20:05:38 -08:00
Erick Tryzelaar
96526dfd66
Merge pull request #241 from erickt/master
...
feat(de): Add an Error::unknown_variant error.
2016-02-21 17:42:02 -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
4d10eef55d
doc(serde): Document the visit_string method
...
Closes #184
2016-02-21 16:03:33 -08:00
Erick Tryzelaar
7adf624dee
Merge pull request #238 from erickt/skip4
...
Add codegen expr magic for default, skip serializing, and alternative serializers
2016-02-21 15:38:31 -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
3f3cffe317
Merge pull request #240 from kevinmehall/nightly
...
Fix cargo `nightly` feature
2016-02-21 13:28:54 -08:00
Kevin Mehall
4e7b0ac089
Fix cargo nightly feature
...
517c2f79b7 renamed the `nightly` feature to `nightly-testing` to
reflect that the `clippy` dependency is only required when testing.
However, the code also uses `#[cfg(feature = "nightly")]` to enable
trait impls for feature-gated types. This commit restores that
functionality and fixes a few `cfg_attr`s that refer to clippy lints.
2016-02-21 13:01:04 -08:00
Erick Tryzelaar
0c35ce0a4f
feat(codegen): Improve error messages in annotations
2016-02-21 09:54:03 -08:00
Erick Tryzelaar
dbd05ae9cc
doc(annotations): Add docs for the latest documentation
2016-02-18 19:32:10 -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
Erick Tryzelaar
de89f95f31
feat(codegen): Add support for #![serde(skip_serialize_if="$expr")]
...
This allows end users to use an arbitrary expression to decide whether
or not to serialize some field. This expression has access to all the
fields in the struct, but none of the internal state of the Serialize
implementation. For structs, serde implements this by creating a
temporary trait and implementing the struct for it. For struct variants,
the fields are copied by reference into a temporary struct first
before implementing the temporary trait.
This also fixes a bug where the serde_codegen wasn't making calls to
Serializer::serialize_{tuple,struct}_variant{,_elt}.
2016-02-18 19:13:55 -08:00
Erick Tryzelaar
9812a4c9c6
feat(codegen): Allow #[serde(default="123")]
...
This feature adds support for the default to be specified to be
some expression (which unfortunately needs to be parsed from
a string) without needing this value to have an implementation
of `Default`, or for a new-type wrapper in order to provide an
alternative implementation. This expression is run in a function,
and therefore has no access to any of the internal state of
the deserializer.
2016-02-18 19:13:55 -08:00
Erick Tryzelaar
8ea6c66cf7
refactor(tests): Rename and move some structs and enums
2016-02-18 19:13:55 -08:00
Erick Tryzelaar
17bf789708
Merge branch 'v0.6.x'
2016-02-18 09:46:46 -08:00
Erick Tryzelaar
f6a66a5537
feat(cargo): Rustup to latest nightly
2016-02-18 09:27:41 -08:00
Erick Tryzelaar
1236889664
Merge branch 'v0.6.x'
...
# Conflicts:
# serde_codegen/src/de.rs
2016-02-14 16:45:59 -08:00
Erick Tryzelaar
fd5ab8c5c8
feat(cargo): Version bump
2016-02-13 22:06:08 -08:00
Erick Tryzelaar
39fa78e2ec
Merge pull request #236 from debris/rustup3
...
Update serde_codegen for rustc 1.8.0-nightly (ce4b75f25 2016-02-12)
2016-02-13 21:56:07 -08:00
debris
e18416ac7f
updated serde_tests deps
2016-02-14 03:43:37 +01:00
debris
b63cc13f3a
updated clippy to 0.0.41
2016-02-14 03:33:58 +01:00
debris
74b230c183
Update serde_codegen for rustc 1.8.0-nightly (ce4b75f25 2016-02-12)
2016-02-14 03:27:20 +01:00
Erick Tryzelaar
561a373d19
Merge branch 'v0.6.x'
...
# Conflicts:
# serde/src/de/mod.rs
# serde_codegen/src/attr.rs
# serde_codegen/src/de.rs
# serde_codegen/src/lib.rs
2016-02-12 21:43:23 -08:00
Erick Tryzelaar
064241f03c
fix(serde): Rename visit_struct_key to visit_struct_field
...
This is more consistent with the rest of the serde naming patterns.
2016-02-12 21:22:42 -08:00
Erick Tryzelaar
32163cd53b
feat(cargo): Version bump
2016-02-12 21:06:47 -08:00
Erick Tryzelaar
3a5aa00262
fix(codegen): Fix clippy cfg_attr
2016-02-12 20:21:52 -08:00
Erick Tryzelaar
c3f15fd7f8
Merge pull request #234 from jwilm/fix-clippy-feature
...
plugin(clippy) now relies on feature = "clippy"
2016-02-10 11:44:51 -08:00
Joe Wilm
9985d2ebfc
plugin(clippy) now relies on feature = "clippy"
...
Was previously nightly. This resulted in compilation error when the
clippy feature was not enabled because the clippy crate could not be
found.
2016-02-10 11:42:33 -08:00
Erick Tryzelaar
46f88037db
Merge branch 'v0.6.x'
2016-02-08 14:17:26 -08:00
Erick Tryzelaar
7a3e3a61f4
chore(tests): Silence some warnings
2016-02-08 13:37:03 -08:00
Erick Tryzelaar
517c2f79b7
chore(cargo): Only depend on clippy when testing
2016-02-08 13:35:26 -08:00
Erick Tryzelaar
4de59494e6
Merge pull request #233 from erickt/remove-format2
...
Remove support for format-specific renames, replace with ser or de specific renames
2016-02-08 13:25:41 -08:00
Erick Tryzelaar
3cde6fa333
Merge pull request #228 from compressed/clippy
...
fix(clippy): make clippy optional
2016-02-08 11:20:54 -08:00
Erick Tryzelaar
0224e212f9
feat(codegen): Allow containers to be renamed
...
Closes #218
2016-02-08 11:11:36 -08:00
Erick Tryzelaar
5ad784f6c6
refactor(tests): Improve test names
2016-02-08 10:43:41 -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
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
Christopher Brickley
da7bb8e109
fix(clippy): make clippy optional
2016-02-07 13:59:15 -05: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
Erick Tryzelaar
718822449f
Merge pull request #227 from serde-rs/oli-obk-patch-1
...
add a build.rs file to the stable-only syntex example
2016-02-05 07:54:56 -08:00
Oliver Schneider
43624e8e7f
add a build.rs file to the stable-only syntex example
2016-02-05 12:30:28 +01: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
Erick Tryzelaar
59285f627b
Merge branch 'v0.6.x'
...
# Conflicts:
# serde_codegen/Cargo.toml
2016-01-10 11:54:46 -08:00
Erick Tryzelaar
dd3233ac85
fix(cargo): Fix typos
2016-01-10 11:50:35 -08:00
Erick Tryzelaar
9b57f60c2a
fix(cargo): Version bump
2016-01-07 14:50:18 -08:00
Erick Tryzelaar
8038832a79
fix(cargo): Version bump
2016-01-07 14:48:40 -08:00
Erick Tryzelaar
4ce0dfc91d
Merge pull request #199 from Starefossen/patch-1
...
Use SVG version of Travis CI build status badge
2016-01-06 12:24:04 -08:00
Hans Kristian Flaatten
3aba2b79b8
docs(readme): Use SVG version of Travis CI build status badge
2016-01-04 09:19:23 +01:00
Erick Tryzelaar
072ff149f5
fix(rustup): Update to latest rust; silence some warnings
2015-12-24 12:12:03 -05:00
Erick Tryzelaar
14802e9666
fix(value): Handle the new value::Error variants when implementing Display
2015-12-09 15:40:45 -05:00
Erick Tryzelaar
e1a44293c0
Merge pull request #162 from skade/std-error
...
Have serde::de::Error require std::error::Error
2015-12-08 14:10:45 -05:00
Erick Tryzelaar
8f08baf43a
feat(cargo): Version bump
2015-12-08 09:57:33 -05:00
Erick Tryzelaar
188425ffe5
Merge branch 'v0.6.x' into master
...
# Conflicts:
# serde_codegen/Cargo.toml
2015-12-08 09:50:10 -05:00
Erick Tryzelaar
daf015799b
Merge pull request #193 from killix/master
...
feat(cargo): Quasi version to 0.3.9
2015-12-08 09:42:37 -05:00
Erick Tryzelaar
b3b3b7d565
fix(rustup): Sync serde_macros with latest nightly, aster, and quasi
2015-12-08 09:41:57 -05:00
Issam Hakimi aka Killix
566af5df9d
feat(cargo): quasi_macro & quasi_codegen version to 0.3.9
2015-12-01 21:36:06 -05:00
Erick Tryzelaar
1a8a11e924
feat(impls): Add impls for num::{BigInt,BigUint,Complex,Ratio}
2015-12-01 09:03:08 -08:00
Erick Tryzelaar
25bebe76b6
Merge pull request #190 from thorbenk/master
...
fix typo
2015-11-29 15:54:45 -08:00
thorbenk
e5beef4004
build: fix typo
2015-11-29 16:53:57 +01: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
f3f098e7f5
feat(cargo): Version bump
2015-11-28 20:30:36 -08:00
Erick Tryzelaar
09822c99cc
fix(rustup): Update serde_codegen to reflect Registry move
2015-11-28 20:17:21 -08:00
Erick Tryzelaar
966b104d48
fix(rustup): nightly rust moved Registry into rustc_plugin
2015-11-28 20:09:54 -08:00
Erick Tryzelaar
59e0d5e081
fix(warning): #[automatically_derived] was removed
2015-11-28 20:09:31 -08:00
Erick Tryzelaar
c687ee60ff
feat(example): Add an example
2015-11-28 20:09:03 -08:00
Erick Tryzelaar
2c0a4e7669
Merge pull request #189 from Ms2ger/typos
...
Fix typos.
2015-11-28 16:31:48 -08:00
Ms2ger
1ba6ff41f6
Fix typos.
2015-11-28 12:28:48 +01:00
Erick Tryzelaar
af6fbba9b8
feat(cargo): Bump syntex, aster, and quasi versions
2015-11-22 21:56:44 -08:00
Erick Tryzelaar
a577574cfe
feat(cargo): Bump syntex, aster, and quasi versions
2015-11-09 13:50:53 -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
Erick Tryzelaar
4bdabea639
Merge pull request #170 from oli-obk/master
...
fix(#151 ): renaming Deserializer::visit_* to Deserializer::deserialize_*
2015-10-31 16:56:06 -07:00
Erick Tryzelaar
27c933a865
Merge pull request #174 from erickt/ignore
...
chore(git): Ignore swap files
2015-10-31 16:55:23 -07:00
Oliver Schneider
51912e6197
test( #151 ): update tests and benchmarks: visit -> (de)serialize
2015-10-20 09:30:15 +02:00
Oliver Schneider
56c42a907f
fix( #151 ): renaming Deserializer::visit_* to Deserializer::deserialize_*
2015-10-20 09:30:15 +02:00
Erick Tryzelaar
e96a213720
chore(git): Ignore swap files
...
Closes #172
2015-10-19 09:46:04 -07:00
Erick Tryzelaar
bf31feebc4
chore(cleanup): Fix some warnings
2015-10-19 08:37:22 -07:00
Erick Tryzelaar
55de7bd99b
fix(tests): Get tests to compile with new value deserializer scheme
2015-10-19 08:33:57 -07:00
Erick Tryzelaar
cc67c97224
Merge remote-tracking branch 'remotes/origin/master' into error-take-2
2015-10-18 19:43:32 -07:00
Erick Tryzelaar
bd87485251
Merge pull request #168 from pwoolcoc/num-no-default-features
...
Opt-out of `num`s `default-features`
2015-10-17 20:52:31 -07:00
Paul Woolcock
7ef2205f80
fix(dependencies): Opt-out of default features of num
2015-10-17 23:31:36 -04:00
Erick Tryzelaar
72de877ec3
Merge pull request #173 from erickt/update
...
Update aster, quasi, and syntex
2015-10-17 20:03:15 -07:00
Erick Tryzelaar
f872b3fb4b
fix(cargo): Update aster, quasi, and syntex
2015-10-17 19:44:07 -07:00
Erick Tryzelaar
ddc33ee747
cleanup(whitespace): Fix some whitespace issues
2015-10-14 08:52:25 -07:00
Erick Tryzelaar
612e384b03
Merge pull request #171 from oli-obk/fix_skip_empty_field_ser
...
$value_expr starting with a & took address of resulting bool
2015-10-12 13:41:23 -07:00
Oliver Schneider
1c88856fc8
$value_expr starting with a & took address of resulting bool
2015-10-12 11:04:50 +02:00
Thomas Bahn
0b5e91d430
feat: Add deserializers that use visitors.
...
This deserializers can be used to delegate deserialization to another
type's visitor.
Example:
```json
fn visit_map<V>(&mut self, visitor: V) -> Result<Self::Value, V::Error>
where V: de::MapVisitor
{
let mut deserializer = de::value::MapVisitorDeserializer::new(visitor);
try!(Deserialize::deserialize(&mut deserializer))
}
```
2015-10-08 15:22:02 +02:00
Erick Tryzelaar
534e6d1f4c
Merge pull request #167 from pwoolcoc/patch-1
...
Fix code block end marker
2015-10-06 11:50:54 -07:00
Paul Woolcock
7ad31a01dd
Fix code block end marker
...
Looks like someone accidentally removed the `\`\`\`` from the end of a code block, causing the `Serialization without Macros` section to be formatted like code
2015-10-06 14:04:54 -04:00
Thomas Bahn
e0429cdd96
style: remove the redundant Error suffix
2015-10-06 01:37:39 +02:00
Thomas Bahn
7413bbb7bf
feat: ValueDeserializers are generic over the error type
...
This makes it possible to remove the `From<de::value::Error>` trait
bound from the `de::Error` trait.
An example for using a `ValueDeserializer` to forward deserializing to
another type's visitor:
```rust
fn visit_u8<E>(&mut self, value: u8) -> Result<Self::Value, E>
where E: de::Error
{
try!(Deserialize::deserialize(&mut value.into_deserializer()))
}
```
Please note that there is an regression in serde-rs/json which needs to
be fixed.
2015-10-06 01:37:39 +02:00
Erick Tryzelaar
00cd2900e7
Merge pull request #155 from erickt/skip
...
Add skip serializing fields if empty or none
2015-10-05 14:51:46 -07:00
Erick Tryzelaar
05a238fac4
Merge pull request #164 from serde-rs/oli-obk-patch-1
...
add link to the README from the docs
2015-10-05 14:49:46 -07:00
Thomas Bahn
0a65153634
fix: forward more errors in de::value::Error
...
When using a `ValueDeserializer` errors produced with the methods
`type_mismatch`, `length_mismatch` and `syntax` were not forwarded
correctly. These methods now store all information in the enum
`de::value::Error`.
2015-10-05 23:40:36 +02:00
Oliver Schneider
310db21d64
add link to the README from the docs
...
The small starting page in the docs was noted at https://users.rust-lang.org/t/lets-talk-about-ecosystem-documentation/2791/25
2015-10-05 15:57:01 +02:00
Florian Gilcher
fc19895237
Have serde::de::Error require std::error::Error
2015-09-24 07:03:36 -07:00
Erick Tryzelaar
72af0896e8
docs(codegen): Document annotations
2015-09-07 16:59:11 -07: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
c68ab508c0
refactor(codegen): Simplify parsing attributes
2015-09-07 16:58:52 -07:00
Erick Tryzelaar
76cca814f0
docs(readme): Improve the readme
2015-09-07 16:58:46 -07:00
Erick Tryzelaar
22b69fc5c9
docs(serde): Fix typo
2015-09-07 13:02:53 -07:00
Homu
a1bd0c1667
Auto merge of #153 - erickt:doc, r=erickt
...
Start documenting everything
2015-09-03 00:54:55 +09:00
Erick Tryzelaar
48ea75fddc
Bump version
...
This is because I removed some public, but unused things
2015-09-02 08:54:01 -07:00
Erick Tryzelaar
4b49f716b9
Document serde::de::impls.
2015-09-02 08:36:14 -07:00
Erick Tryzelaar
55f5f397d7
Document serde::de::value
2015-09-02 08:36:14 -07:00
Erick Tryzelaar
4be4f60f21
Document serde::de::mod.
2015-09-02 08:36:14 -07:00
Erick Tryzelaar
9a8037bbf2
Remove unused Enum{Seq,Map}Visitor
2015-09-02 08:36:14 -07:00
Erick Tryzelaar
c7f1af90b2
Document serde::iter
2015-09-02 08:36:14 -07:00
Erick Tryzelaar
902d3a0aa5
Document serde::bytes.
2015-09-02 08:36:14 -07:00
Erick Tryzelaar
c14eb28223
Remove unused buf module.
2015-09-02 08:36:14 -07:00
Erick Tryzelaar
2722a04e52
Document serde::ser::impls
2015-09-02 08:36:14 -07:00
Erick Tryzelaar
5dbcd7957a
Start documenting everything, starting with serde::ser.
2015-09-01 08:02:17 -07:00
Erick Tryzelaar
7511eeae7b
Version bump
...
Closes #149
2015-08-31 10:04:34 -07:00
Erick Tryzelaar
5f4a7e54bc
Fix README deserialization-without-macros example
...
Closes #150 .
2015-08-31 09:23:33 -07:00
Erick Tryzelaar
b7e3058078
Add coverage badge
2015-08-29 21:09:20 -07:00
Erick Tryzelaar
f3358cc377
Merge pull request #144 from erickt/master
...
Factor serde_json out into it's own module
2015-08-29 21:06:21 -07:00
Erick Tryzelaar
fa3460e0a7
Migrate serde_json into it's own repo
...
New location is https://github.com/serde-rs/json .
2015-08-29 18:09:51 -07:00
Erick Tryzelaar
42069ca669
Refactor tests to not use serde_json
2015-08-29 17:29:42 -07:00
Homu
acc7141b64
Auto merge of #145 - erickt:travis, r=erickt
...
Travis work
2015-08-30 08:31:25 +09:00
Erick Tryzelaar
3e1b950b14
Merge pull request #147 from jmesmon/fix-readme
...
readme: fix example code so it builds
2015-08-28 08:31:17 -07:00
Cody P Schafer
b50b702d1c
readme: fix example code so it builds
...
Might be worthwhile to look at trying to automate testing the code in
the README (perhaps by generating the README from some special tests).
2015-08-28 11:27:03 -04:00
Erick Tryzelaar
caddd11c15
Travis work
2015-08-27 22:51:11 -07:00
Erick Tryzelaar
5711e3d860
Merge pull request #143 from 3Hren/master
...
Add a Sized requirement to the Deserialize trait.
2015-08-24 21:41:58 -07:00
Evgeny Safronov
8b1058b8ec
Add a Sized requirement to the Deserialize trait.
2015-08-24 18:44:19 +03:00
Erick Tryzelaar
092ba6dae2
Merge pull request #139 from erickt/str-keys
...
Reject serializing maps to JSON with non-string keys
2015-08-19 09:01:27 -07:00
Erick Tryzelaar
cab653e7c7
Version bump
2015-08-18 12:50:39 -07:00
Erick Tryzelaar
8d999a8edd
VecMap was removed from libcollections
2015-08-18 12:49:50 -07:00
Erick Tryzelaar
7b773ac088
Merge pull request #138 from erickt/master
...
Expose serde_json::from_{iter,reader,slice}
2015-08-13 22:32:34 -07:00
Erick Tryzelaar
4f6b27eec1
Black box json benchmark numbers
...
This prevents the optimizer from optimizing away the thing
we're benchmarking.
2015-08-13 22:30:02 -07:00
Erick Tryzelaar
fe20852b2c
Reject serializing maps to JSON with non-string keys
...
Closes #122 . This is a breaking change since it modifies the
return type of serde_json::to_vec{,pretty}, so it'll require a major
version bump of serde_json.
2015-08-13 22:29:13 -07:00
Erick Tryzelaar
fc58ea7487
Expose serde_json::from_{iter,reader,slice}
2015-08-13 21:19:27 -07:00
Erick Tryzelaar
c61cea0eb1
Merge pull request #136 from erickt/visit
...
Have deserializer numeric visits chain
2015-08-13 21:19:19 -07:00
Erick Tryzelaar
764b25bd07
Have Deserializer::visit_{usize,u8,...,isize,i8,...,f32} call visit_{u64,i64,f64}
...
This cuts down the amount of overloading needed by a format like
toml which wants to prevent casting a float to an integer and
vice versa.
2015-08-13 08:40:19 -07:00
Erick Tryzelaar
a66cd25787
Merge pull request #135 from erickt/doc
...
Add a table pointing to the serializers that support serde
2015-08-11 07:02:22 -07:00
Erick Tryzelaar
0e8d94750b
Add a table pointing to the serializers that support serde
2015-08-11 07:00:59 -07:00
Erick Tryzelaar
3c915189f4
version bump
2015-08-10 10:09:37 -07:00
Erick Tryzelaar
c5541cddeb
Merge pull request #134 from erickt/err
...
Add Error::length_mismatch, Error::type_mismatch, and de::Type
2015-08-10 10:07:51 -07:00
Erick Tryzelaar
63561609a6
Add Error::length_mismatch, Error::type_mismatch, and de::Type
...
This improves error handling to match the needs of msgpack
2015-08-09 21:42:42 -07:00
Erick Tryzelaar
5dc356ddb0
Merge pull request #133 from erickt/fixup
...
Fix doc links, recover some json deserialization speed
2015-08-09 18:17:02 -07:00
Erick Tryzelaar
dc36fd38d6
Gain back 10MB/s on the json deserialization benchmark
2015-08-09 16:45:55 -07:00
Erick Tryzelaar
26873bf3d5
Don't use sudo in the travis
2015-08-09 16:40:35 -07:00
Erick Tryzelaar
ff53323790
Correct the documentation links in the crates
2015-08-09 16:38:10 -07:00
Erick Tryzelaar
fd3869d380
Update the README
2015-08-09 16:37:21 -07:00
Erick Tryzelaar
1d538bc59d
Merge pull request #132 from Byron/fix-codegen
...
Use fully qualified `Result` type
2015-08-08 15:48:49 -07:00
Sebastian Thiel
784cfcd49e
Use fully qualified Result type
...
If that is not the case, the generated code might attempt to use a
custom `Result` type with incompatible type parameters.
2015-08-08 12:33:29 +02:00
Erick Tryzelaar
a142d319e7
Point the serde_json readme at the root readme
2015-08-07 12:05:01 -07:00
Erick Tryzelaar
da3bf3c20a
Merge pull request #130 from oli-obk/fix
...
json deser from Value adjusted to be equal to deser from strings
2015-08-07 09:45:37 -07:00
Erick Tryzelaar
1672306fa1
Merge pull request #129 from erickt/remove-error
...
Remove "_error" from de::Error methods, add string argument to Error::syntax()
2015-08-07 09:45:11 -07:00
Oliver Schneider
7fc780ba1b
json deser from Value adjusted to be equal to deser from strings
2015-08-07 18:31:42 +02:00
Erick Tryzelaar
7fb2bd50bf
Add a string argument to Error::syntax()
2015-08-07 08:08:56 -07:00
Erick Tryzelaar
2aeb51ad51
Remove "_error" from de::Error::*_error
2015-08-07 07:53:22 -07:00
Erick Tryzelaar
0482b756e8
Merge pull request #127 from erickt/json3
...
Rewrite json parser to not require consuming the full stream
2015-08-07 07:52:52 -07:00
Erick Tryzelaar
1d9c707a76
Rewrite json parser to not require consuming the full stream
...
Closes #89
2015-08-06 11:12:37 -07:00
Erick Tryzelaar
199ed417bd
Merge pull request #126 from erickt/json-f64
...
Update json number parsing to switch to floats if the number gets too big
2015-08-06 10:08:31 -07:00
Erick Tryzelaar
199a02cb68
i64::wrapping_neg is not stable yet
2015-08-06 09:31:37 -07:00
Erick Tryzelaar
b6371f045f
Simplify parsing a number
2015-08-06 07:12:00 -07:00
Erick Tryzelaar
fd84aec485
Fix parsing min, max, and epsilon f64 values
2015-08-05 08:15:47 -07:00
Erick Tryzelaar
ed6777e59f
Fix json parsing i64::MIN, add tests for min and max i64 and u64 values
2015-08-03 09:09:44 -07:00
Erick Tryzelaar
22024a2b71
Simplify parsing floating point decimals and exponents
2015-08-01 14:26:53 -07:00
Erick Tryzelaar
8eff38b6f6
Eliminate some code duplication parsing an exponent as an integer
2015-08-01 13:50:42 -07:00
Erick Tryzelaar
fa562d449d
Minor optimization to not check if JSON number starts with '-' twice
2015-08-01 13:50:24 -07:00
Erick Tryzelaar
c9d55362d6
Add a serde_json::Result helper type
2015-08-01 13:49:57 -07:00
Erick Tryzelaar
23031d057f
Add test for parsing json "0" and "0.0"
2015-07-31 07:33:23 -07:00
Erick Tryzelaar
882d394352
Remove a debug comment
2015-07-31 07:28:07 -07:00
Erick Tryzelaar
fbdede68a4
Build the serde_json docs
2015-07-31 07:24:05 -07:00
Erick Tryzelaar
e88ef4715c
Explicitly make the visit_struct_{,variant}_elt key a &'static str
2015-07-31 07:22:14 -07:00
Erick Tryzelaar
94f3dd25d8
Allow VariantVisitor::visit_newtype to default to calling visit_tuple
2015-07-31 07:22:13 -07:00
Erick Tryzelaar
2c58a9c11d
Expose TupleVisitor*::new
2015-07-31 07:22:13 -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
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
Erick Tryzelaar
60ab494226
Fix cd serde_macros && cargo build
2015-07-16 13:48:15 -04:00
Erick Tryzelaar
ac758ed3c8
Version bump
2015-07-16 11:28:18 -04:00
Erick Tryzelaar
236d40d73e
Add Serializer hooks for sequence elements
2015-07-16 10:51:01 -04:00
Erick Tryzelaar
92029a05c6
Add Deserializer type hints
...
This allows file formats like bincode, which do not encode it's values
with a type tag, to deserialize values.
2015-07-16 10:50:54 -04:00
Erick Tryzelaar
c7b9997dd1
Add all of the stdlib collection deserialization implementations
2015-07-16 10:42:34 -04:00
Erick Tryzelaar
48309bfdd0
Add all of the stdlib collection serialization implementations
2015-07-16 10:00:22 -04:00
Erick Tryzelaar
f76d1ab10d
Compile serde_macros tests with the nightly features
2015-07-16 10:00:22 -04:00
Erick Tryzelaar
45f552f006
Fix feature flag use for NonZero
2015-07-16 10:00:21 -04:00
Erick Tryzelaar
4d42cfea53
Fix warnings
2015-07-16 09:36:14 -04:00
Erick Tryzelaar
7109e2d379
Fix the tests
2015-07-16 09:35:09 -04:00
Erick Tryzelaar
ff214643ce
Merge remote-tracking branch 'remotes/origin/master' into nonzero
...
# Conflicts:
# serde/src/de/impls.rs
2015-07-16 09:34:45 -04:00
Erick Tryzelaar
04918a52eb
Merge pull request #105 from jnicholls/boolvisitor
...
Make BoolVisitor public so it is documented as being in existence
2015-07-16 07:41:49 -04:00
Erick Tryzelaar
5dd71600f7
Merge pull request #102 from pcwalton/result
...
Implement serialization for `Result`.
2015-07-16 07:29:28 -04:00
Patrick Walton
ea9ed22e3e
Implement serialization for NonZero values in nightly.
2015-07-14 12:00:46 -07:00
Jarred Nicholls
1611daf802
Make BoolVisitor public so it is documented as being in existence
2015-07-13 12:13:00 -04:00
Patrick Walton
e24f52d3ae
Implement serialization for Result.
...
Servo wants this.
2015-07-10 15:08:59 -07:00
Erick Tryzelaar
bcc9e15b05
Merge pull request #94 from cmbrandenburg/master
...
Fix spelling in README.md
2015-07-01 10:38:13 -07:00
Craig M. Brandenburg
af835a2699
Fix spelling in README.md
2015-06-29 07:18:48 -07:00
Erick Tryzelaar
5f2d306f9b
Merge pull request #92 from SkylerLipthay/cow-impls
...
Add impls for Cow
2015-06-21 10:07:00 -07:00
Skyler Lipthay
36fb49b522
Add impls for Cow
2015-06-19 22:50:16 -07: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
b09c0fc653
Fix an indent typo
2015-06-18 07:49:13 -07:00
Erick Tryzelaar
ab3e40ca45
Version bump
2015-06-08 07:12:27 -07:00
Erick Tryzelaar
8f67e9c048
Switch exponent bounds checking back to using powi
2015-06-08 07:07:09 -07:00
Erick Tryzelaar
7dc1a64f03
Merge pull request #80 from ProtectedMode/master
...
Fix #77 , integer overflow when parsing JSON scientific notation number.
2015-06-08 06:57:33 -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
4e50c56542
Merge pull request #87 from Manishearth/patch-1
...
Use correct attribute syntax
2015-06-07 20:46:44 -07:00
Manish Goregaokar
26b1ed79c0
!!!!!!
2015-06-06 18:08:33 +05:30
ProtectedMode
2e8ef0f768
Add test for #77 , integer overflow when parsing JSON scientific notation number.
2015-05-21 09:59:14 +02:00
Erick Tryzelaar
c993414b92
serde_tests tests doesn't need the test crate
2015-05-20 22:57:19 -07:00
Erick Tryzelaar
ed6ef4e149
Travis work
2015-05-20 22:44:50 -07:00
Erick Tryzelaar
859cdcc815
Remove unnecessary lifetime
2015-05-20 09:02:38 -07:00
ProtectedMode
745a95b607
Fix #77 , integer overflow when parsing JSON scientific notation number.
2015-05-20 16:32:10 +02:00
Erick Tryzelaar
81d617bd93
The README is in a different location
2015-05-18 23:36:46 -07:00
Erick Tryzelaar
3396388222
Remove redundant import
2015-05-18 23:34:17 -07:00
Erick Tryzelaar
ff8c3b3d51
Initial support for syntex
2015-05-18 23:34:17 -07:00
Erick Tryzelaar
3d0efd123f
Minor cleanup
2015-05-18 22:49:50 -07:00
Erick Tryzelaar
8ca1b9ac3c
default_value doesn't need to be public
2015-05-18 22:49:49 -07:00
Erick Tryzelaar
2c24be90d2
Switch to using MultiDecorator
2015-05-18 22:49:49 -07:00
Erick Tryzelaar
482f92af61
Add a single driver for tests and benchmarks
2015-05-18 22:47:36 -07:00
Erick Tryzelaar
24ac61f9f2
Pull codegen into it's own crate
2015-05-18 22:47:35 -07:00
Erick Tryzelaar
426394cd7b
Version bump
2015-05-18 22:47:35 -07:00
Erick Tryzelaar
7c3e95a7c7
Ignore all target and Cargo.lock files
2015-05-18 22:47:35 -07:00
Erick Tryzelaar
9dd5f9dc7a
Restructure directories to prep for syntex
2015-05-18 22:47:35 -07:00
Erick Tryzelaar
e6776ffc37
Protect against json integer overflow
...
Closes #75
2015-05-18 22:40:29 -07:00
Erick Tryzelaar
adae2bd3c5
Merge pull request #72 from borman/bytestrings
...
Improved support for byte strings
2015-05-18 22:28:37 -07:00
Erick Tryzelaar
14ca260c26
Merge pull request #70 from oli-obk/xml_requirements
...
changes needed for xml parsing
2015-05-18 22:25:15 -07:00
Erick Tryzelaar
64588f0cb6
Merge pull request #74 from tomprogrammer/array
...
Add serialization/deserialization for fixed size arrays
2015-05-18 22:21:59 -07:00
Erick Tryzelaar
50cac7f985
Rewrite Value::lookup to not require an allocation
2015-05-18 22:19:30 -07:00
Erick Tryzelaar
5fe85128c2
Merge pull request #76 from blaenk/json-lookup
...
implement lookup method for json::Value
2015-05-18 21:50:55 -07:00
Jorge Israel Peña
bc236bde34
implement lookup method for json::Value
2015-05-17 21:24:00 -07:00
Thomas Bahn
15794a5ed6
Improve build time
2015-05-16 14:36:28 +02:00
Thomas Bahn
62058962de
Add deserialiation implementations for fixed size arrays
2015-05-16 14:19:22 +02:00
Thomas Bahn
7d52366403
Add serialization implementations for fixed size arrays
2015-05-16 14:18:32 +02:00
Erick Tryzelaar
ee45eb8340
Merge pull request #69 from hugoduncan/feature/format-specific-field-names
...
Adds serializer format specific field names
2015-05-14 21:59:05 -07:00
Hugo Duncan
801f37b305
Fix visitors for generic structs
2015-05-14 17:35:21 -04:00
Hugo Duncan
bdec0b3e63
Update commas and blocks in match arms
2015-05-14 17:35:16 -04:00
Mikhail Borisov
5c631f3e58
WIP
2015-05-12 15:16:06 +03:00
Mikhail Borisov
5fd9daa865
WIP
2015-05-12 15:03:26 +03:00
Oliver Schneider
0485702a68
update benchmarks
2015-05-11 10:34:58 +02:00
Mikhail Borisov
875610044f
Improved support for byte strings
2015-05-09 03:18:13 +03:00
Hugo Duncan
ec483fc07d
Add doc string for format method
2015-05-08 12:43:12 -04:00
Hugo Duncan
53e6e29571
Fix whitespace
2015-05-08 12:43:12 -04:00
Hugo Duncan
c5eed99c6a
Make forwarded trait name global
2015-05-08 12:43:12 -04:00
Hugo Duncan
fe5176113b
Add missing attr.rs file
2015-05-08 12:43:12 -04:00
Hugo Duncan
0f7c67efa7
Factor default attribute lookup into FieldAttrs
2015-05-08 12:43:12 -04:00
Hugo Duncan
cd0ee64892
Add constructor functions for FieldAttrs
2015-05-08 12:43:12 -04:00
Hugo Duncan
ec3af2cb6a
Factor out attr module
...
Factors out field attribute code into the attr module.
2015-05-08 12:43:12 -04:00
Hugo Duncan
960b68937d
Remove commented code and extra newline
2015-05-08 12:43:12 -04:00
Hugo Duncan
a1e101b513
Make Value use the 'json' format string
2015-05-08 12:43:11 -04:00
Hugo Duncan
c30311153c
Rename fmt to format
2015-05-08 12:43:11 -04:00
Hugo Duncan
a935ebe8b9
Adds serializer format specific field names
...
Allows different field names to be used for different external formats.
Field names are specified using the `rename` field attribute, e.g:
#[serde(rename(xml= "a4", json="a5"))]
Reverts #62
Addresses #61
2015-05-08 12:43:11 -04:00
Oliver Schneider
83ee86122b
address comments by erickt
2015-05-08 16:32:46 +02:00
Erick Tryzelaar
af752ddcb5
Merge pull request #71 from lifthrasiir/json-split-branch
...
Replace a redundant `escape` variable with nested matches.
2015-05-07 10:51:57 -07:00
Kang Seonghoon
9550063275
Replace a redundant escape variable with nested matches.
...
This has a non-trivial performance effect due to the branch prediction,
but is expected to be no slower than the older code and, at least in
some cases, is slightly faster for a string-heavy JSON.
2015-05-08 01:53:24 +09:00
Oliver Schneider
c117a680cf
changes needed for xml parsing
2015-05-04 16:07:19 +02:00
Erick Tryzelaar
206e19edb4
Fix unquoting arms with latest quasi
2015-05-02 10:44:57 -07:00
Erick Tryzelaar
f0c87fbd4c
Format flats with Debug to properly print "-0.0".
2015-05-01 07:43:48 -07:00
Erick Tryzelaar
c3fe6c9c67
Update the README to point at https://github.com/serde-rs
2015-04-26 18:37:18 -07:00
Erick Tryzelaar
e5df4b6653
Simplify PrettyFormatter::new
2015-04-26 12:05:38 -07:00
Erick Tryzelaar
12cf2f0b0b
Simplify the return types
2015-04-26 11:01:55 -07:00
Erick Tryzelaar
8d4de2b3db
Rename Serializer::new_with_formatter to with_formatter
2015-04-26 10:29:28 -07:00
Erick Tryzelaar
e509adcac5
Allow the pretty printer character to be changed
...
This unfortunately loses the simd-ish whitespace printer, but since
pretty printing shouldn't be on a hot path, this shouldn't really
matter.
Partially addresses #65 .
2015-04-26 09:29:06 -07:00