Commit Graph

2606 Commits

Author SHA1 Message Date
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