109 Commits

Author SHA1 Message Date
David Tolnay
7bcb7c7621
Relase 1.0.15 2018-04-17 11:35:06 -07:00
David Tolnay
ee196dfbab
Fix non-reference pattern for old compilers 2018-04-17 00:29:12 -07:00
David Tolnay
1a9d024e5f
Format with rustfmt 0.4.2 2018-04-17 00:19:50 -07:00
David Tolnay
a66a00b0f6
Struct deserialization from array Value 2018-04-16 22:36:49 -07:00
David Tolnay
aab9ebf788
Implement all &Value deserializer hints 2018-04-16 22:19:21 -07:00
David Tolnay
4357f26801
Implement all Value deserializer hints
This makes the behavior of serde_json::from_value consistent with
serde_json::from_str when dealing with the same Deserialize impls.
2018-04-16 22:18:05 -07:00
David Tolnay
aeed62d5bd
Release 1.0.14 2018-04-14 20:22:07 -07:00
David Tolnay
28ea01fbb9
Cleaner Debug representation of Error 2018-03-28 15:08:47 +02:00
David Tolnay
be29e749d3
Spell out pos -> position 2018-03-28 14:51:42 +02:00
David Tolnay
2dd0b6edce
Spell out pos -> positive 2018-03-28 14:50:24 +02:00
David Tolnay
654e6e8349
Format with rustfmt 0.4.1 2018-03-27 10:24:10 +02:00
David Tolnay
f4e06d1d86
Link to serde-json-core crate 2018-03-24 19:48:55 +01:00
David Tolnay
415dead816
Merge pull request #426 from mtn/exp_pos
Replace instances of "exp_pos" with "exp_positive"
2018-03-21 12:16:33 -07:00
David Tolnay
8c5d5e45d4
Release 1.0.13 2018-03-21 12:11:17 -07:00
Alexander Regueiro
31bba4b5a1 Arbitrary-precision numerics support (#416)
Added support for arbitrary-precision numerics, in a similar way that the toml crate does for date-times (using an internal special struct).
2018-03-21 12:09:36 -07:00
Michael Noronha
467f755ec9
Replace instances of "exp_pos" with "exp_positive" 2018-03-20 12:23:28 -04:00
Michael Noronha
9f540bbf8e
Replace relevant instance of "pos" with "positive"
Addresses issue #420
2018-03-19 22:07:18 -04:00
David Tolnay
cc8e0b5dce
Release 1.0.12 2018-03-18 22:36:54 -07:00
David Tolnay
42a5d689ca
Release 1.0.11 2018-03-10 20:14:37 -08:00
Daiki Mizukami
5b605b204d Add Value::take method 2018-03-11 11:28:59 +09:00
David Tolnay
f2c385fed7
Release 1.0.10 2018-02-27 17:04:04 -08:00
David Tolnay
9de293da39
Merge pull request #414 from boxofrox/fix/issue-364
Improve error when json strings contain control characters
2018-02-27 17:03:14 -08:00
Justin Charette
cc6304ee06 Improve error when json strings contain control characters
Signed-off-by: Justin Charette <charetjc@gmail.com>
2018-02-27 19:23:23 -05:00
David Tolnay
c6db606357
Ignore redundant_field_names lint 2018-02-27 10:55:12 -08:00
Matt Kraai
ead6d6e6e9
Simplify the implementation of str's index_or_insert 2018-02-27 09:35:16 -08:00
David Tolnay
d78b23548e
Note that eager_json depends on private API 2018-02-15 10:47:35 -08:00
David Tolnay
3ac0362e33
Ignore a new clippy lint 2018-02-05 10:27:50 -08:00
Árpád Goretity
4864795d5c Simplify impl FromIterator for Value::Array, and make it look consistent with the rest of the From<Collection> impls 2018-01-21 09:21:44 +01:00
Árpád Goretity
75ffe41476 Remove unnecessary copy in Value::from(Cow::Owned) 2018-01-21 09:20:15 +01:00
David Tolnay
1e69e83049
Follow clippy's replace_consts lint 2018-01-15 11:49:26 -08:00
David Tolnay
c9cf70da46
Release 1.0.9 2017-12-30 13:31:38 -05:00
David Tolnay
bfd4562d74
Hide Number implementation details from Debug representation 2017-12-30 13:28:30 -05:00
David Tolnay
a51990c272
Fewer instantiations of Option::map_or
This lowers us from 59 instantiations of Option::map_or to just 6. On my
computer this improves serde_json compile time by about 5%. Pretty wild!
2017-12-24 00:47:44 -05:00
David Tolnay
b4e061fa3a
Release 1.0.8 2017-12-08 08:59:27 -08:00
Bouke van der Bijl
53b5ddbdcd
Fix falsey typo 2017-12-07 17:36:36 +01:00
David Tolnay
788e431fde
Encountering an error is the cold path 2017-12-04 23:51:13 -08:00
David Tolnay
0048e76100
Decrease size of ErrorCode from 32 bytes to 24 bytes 2017-12-04 23:47:31 -08:00
David Tolnay
561b0dbe4d
Make deserialize_bytes work more like deserialize_str 2017-12-04 23:43:50 -08:00
David Tolnay
86cb0b9493
Override the try macro to eliminate From calls
We only use our own error type; no need for From conversions provided
by the standard library's try! macro. This reduces lines of LLVM IR by
4%.
2017-12-03 22:08:24 -08:00
David Tolnay
0961dbe9e7
Implement all the deserializer hints
This is a way to avoid instantiating all the Visitor methods on every
Visitor that is used with serde_json. If the Deserialize impl hints
that a boolean is required by invoking deserialize_bool, we don't also
need to instantiate its visit_u64 and visit_i64 and visit_f64 and
visit_str and visit_borrowed_str and visit_unit and visit_seq and
visit_map methods if the input contains some other type. Instead we
render the invalid_type error in a central place in the serde_json
Deserializer that is instantiated just once.

Improves compile time of json-benchmark by 30%.
2017-12-03 21:50:23 -08:00
David Tolnay
08b00d1855
Stop instantiating parse_value in MapKey::deserialize_any
The parse_value method is the most expensive method in serde_json in
terms of compile time. Before this change, we were instantiating it
twice for every derive(Deserialize) struct because every struct has
two different Visitor impls -- one for the key type and one for the
struct overall -- see https://serde.rs/deserialize-struct.html.

This improves compile time of json-benchmark by 20%.
2017-12-03 16:04:54 -08:00
David Tolnay
c8f0eb8bf9
Stop instantiating fix_position so many times 2017-12-03 15:00:50 -08:00
David Tolnay
da044527fc
Release 1.0.7 2017-12-01 10:43:53 -08:00
Bouke van der Bijl
8b486189b7
Support top-level primitives in StreamDeserializer 2017-12-01 18:41:25 +01:00
Konrad Borowski
17ef410097
Warn about enum_variant_names violations in enum N
Clippy fixed the bug in question.
2017-11-22 17:34:09 +01:00
David Tolnay
c5f30c3eb8
Release 1.0.6 2017-11-09 09:38:13 -08:00
David Tolnay
2453f51e6c
Whitelist needless_pass_by_value lint 2017-11-06 22:13:48 -08:00
David Tolnay
33021c460e
Suppress lint about fallible From<Error> for io::Error
The unreachable is actually unreachable.
2017-10-29 22:00:53 -07:00
David Tolnay
8b3f37aef7
Release 1.0.5 2017-10-28 23:39:20 -04:00
David Tolnay
683470ab2b
More detailed documentation of Index trait 2017-10-28 23:38:15 -04:00