1223 Commits

Author SHA1 Message Date
David Tolnay
5c4f8b2254 Release 1.0.69 v1.0.69 2021-11-05 12:38:49 -07:00
David Tolnay
0035947522 Touch up PR 814 2021-11-05 12:25:12 -07:00
David Tolnay
a28b1b1934 Merge pull request #814 from timothee-haudebourg/hash-numbers-only
Implement `Hash` for `Number`.
2021-11-05 12:11:42 -07:00
Timothée Haudebourg
f53ae31df6 Use the same hash for +0 and -0. 2021-11-05 12:57:41 +01:00
David Tolnay
8b35517540 Revert "Disable broken fuzz build in CI"
This reverts commit 5bae82d2d2.
2021-10-22 19:19:15 -07:00
Timothée Haudebourg
d12fbb9520 Fix NaN typo. 2021-10-20 14:25:51 +02:00
Timothée Haudebourg
48393aba40 Better justification for the use of f64::to_bits 2021-10-20 14:24:58 +02:00
Timothée Haudebourg
9046e3fa86 Avoid Self:: for older Rust versions.
Also fix a clippy warning.
2021-10-20 14:16:49 +02:00
Timothée Haudebourg
c3ac6c0077 Manual implementation of Number's PartialEq.
To please clippy.
2021-10-20 14:13:14 +02:00
Timothée Haudebourg
10655c7639 Use core::hash instead of std::hash. 2021-10-20 14:05:45 +02:00
Timothée Haudebourg
d153b886e8 Discard ordered_float, use custom Hash impl. 2021-10-20 14:02:21 +02:00
Timothée Haudebourg
eec4e9d272 Do not import ordered_float default features. 2021-10-20 13:42:01 +02:00
Timothée Haudebourg
b59c0c0e55 Do not import always NotNan.
Skip it when `arbitrary_precision` is enabled.
2021-10-20 13:41:42 +02:00
Timothée Haudebourg
be2f5738ba Do not show NotNan in Number's Debug impl. 2021-10-20 13:31:18 +02:00
Timothée Haudebourg
40ace5add9 ImplEq+Hash for Number using ordered_float. 2021-10-20 13:19:37 +02:00
David Tolnay
2e1c46c895 Update ui test suite to nightly-2021-10-17 2021-10-16 19:20:52 -07:00
David Tolnay
019b179cf7 Ui test changes for trybuild 1.0.49 2021-10-08 03:00:04 -04:00
David Tolnay
733b353394 Update ui test files 2021-10-07 00:19:07 -04:00
David Tolnay
f7a25e062a Declare minimum Rust version in Cargo metadata 2021-10-02 02:31:21 -04:00
David Tolnay
552a6ee83e Resolve semicolon_if_nothing_returned pedantic clippy lint
error: consider adding a `;` to the last statement for consistent formatting
       --> src/read.rs:680:9
        |
    680 |         self.delegate.begin_raw_buffering()
        |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add a `;` here: `self.delegate.begin_raw_buffering();`
        |
        = note: `-D clippy::semicolon-if-nothing-returned` implied by `-D 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
       --> src/read.rs:756:9
        |
    756 |         R::begin_raw_buffering(self)
        |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add a `;` here: `R::begin_raw_buffering(self);`
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned
2021-10-01 01:18:17 -04:00
David Tolnay
9a6dcf03de Resolve redundant_closure_for_method_calls pedantic clippy lint
error: redundant closure
       --> src/number.rs:133:69
        |
    133 |                     return self.n.parse::<f64>().ok().map_or(false, |f| f.is_finite());
        |                                                                     ^^^^^^^^^^^^^^^^^ help: replace the closure with the method itself: `f64::is_finite`
        |
        = note: `-D clippy::redundant-closure-for-method-calls` implied by `-D clippy::pedantic`
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure_for_method_calls
2021-10-01 01:17:35 -04:00
David Tolnay
f5f23f9b7f Resolve needless_borrow clippy lint
error: this expression borrows a reference (`&mut ser::Serializer<W, F>`) that is immediately dereferenced by the compiler
       --> src/ser.rs:759:59
        |
    759 |                     tri!(value.serialize(NumberStrEmitter(&mut *ser)));
        |                                                           ^^^^^^^^^ help: change this to: `*ser`
        |
        = note: `-D clippy::needless-borrow` implied by `-D 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 (`&mut ser::Serializer<W, F>`) that is immediately dereferenced by the compiler
       --> src/ser.rs:768:61
        |
    768 |                     tri!(value.serialize(RawValueStrEmitter(&mut *ser)));
        |                                                             ^^^^^^^^^ help: change this to: `*ser`
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
2021-10-01 01:16:56 -04:00
David Tolnay
28fc9b4ddf Run clippy also with features enabled 2021-10-01 01:15:43 -04:00
David Tolnay
9298f54ace Resolve manual_str_repeat clippy lint 2021-10-01 01:11:06 -04:00
David Tolnay
019041e4d5 Resolve semicolon_if_nothing_returned pedantic clippy lint
error: consider adding a `;` to the last statement for consistent formatting
       --> tests/../src/lexical/float.rs:111:9
        |
    111 |         round_to_native::<F, _>(self, algorithm)
        |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add a `;` here: `round_to_native::<F, _>(self, algorithm);`
        |
        = note: `-D clippy::semicolon-if-nothing-returned` implied by `-D 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
       --> tests/../src/lexical/math.rs:616:9
        |
    616 |         iadd_impl(x, y, 0)
        |         ^^^^^^^^^^^^^^^^^^ help: add a `;` here: `iadd_impl(x, y, 0);`
        |
        = 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
       --> tests/../src/lexical/math.rs:862:9
        |
    862 |         self.ishl(n as usize)
        |         ^^^^^^^^^^^^^^^^^^^^^ help: add a `;` here: `self.ishl(n as usize);`
        |
        = 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
       --> tests/../src/lexical/math.rs:868:9
        |
    868 |         small::imul_pow5(self.data_mut(), n)
        |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add a `;` here: `small::imul_pow5(self.data_mut(), n);`
        |
        = 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
       --> tests/lexical/float.rs:184:5
        |
    184 |     check_round_to_f64(10234494226754558294, -1086, 2498655817078750, -1074)
        |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add a `;` here: `check_round_to_f64(10234494226754558294, -1086, 2498655817078750, -1074);`
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned
2021-10-01 01:09:12 -04:00
David Tolnay
0b5931550a Resolve needless_borrow clippy lint
error: this expression borrows a reference (`&lexical::float::ExtendedFloat`) that is immediately dereferenced by the compiler
       --> tests/../src/lexical/algorithm.rs:136:45
        |
    136 |         u64::error_is_accurate::<F>(errors, &fp)
        |                                             ^^^ help: change this to: `fp`
        |
        = note: `-D clippy::needless-borrow` implied by `-D clippy::all`
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
2021-10-01 01:07:42 -04:00
David Tolnay
fc4db0306a Run clippy on test suite too 2021-10-01 00:46:45 -04:00
David Tolnay
cf15614994 Move clippy lint level to CI job 2021-10-01 00:40:33 -04:00
David Tolnay
5a6af19aae Skip clippy job on pull requests 2021-10-01 00:39:06 -04:00
David Tolnay
5bae82d2d2 Disable broken fuzz build in CI
https://github.com/rust-fuzz/cargo-fuzz/issues/276
2021-09-25 21:17:56 -07:00
David Tolnay
9420d3a0a4 Release 1.0.68 v1.0.68 2021-09-14 13:12:44 -07:00
David Tolnay
d86e353575 Merge pull request #801 from dtolnay/negative0
Parse -0 as float -0.0 instead of integer 0
2021-09-14 13:12:07 -07:00
David Tolnay
51a4db1631 Parse -0 as float -0.0 instead of integer 0 2021-09-14 13:01:38 -07:00
David Tolnay
f5219be867 Add test parsing -0 2021-09-14 12:52:55 -07:00
David Tolnay
b419f2e065 Test negative zero parsing to f32 2021-09-14 12:51:27 -07:00
David Tolnay
ef823af7d5 Suppress unused field in test_borrow_in_map_key
warning: field is never read: `map`
        --> tests/test.rs:2233:9
         |
    2233 |         map: BTreeMap<MyMapKey, ()>,
         |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
         |
         = note: `#[warn(dead_code)]` on by default
2021-09-14 12:50:03 -07:00
David Tolnay
f4fc150c45 Fix dead code warning in issue 795 regression test
warning: field is never read: `x`
     --> tests/regression/issue795.rs:9:15
      |
    9 |     Variant { x: u8 },
      |               ^^^^^
      |
      = note: `#[warn(dead_code)]` on by default
2021-09-14 12:49:18 -07:00
David Tolnay
133bb61574 Ignore derivable_impls clippy false positive
https://github.com/rust-lang/rust-clippy/issues/7655

    error: this `impl` can be derived
       --> src/map.rs:254:1
        |
    254 | / impl Default for Map<String, Value> {
    255 | |     #[inline]
    256 | |     fn default() -> Self {
    257 | |         Map {
    ...   |
    260 | |     }
    261 | | }
        | |_^
        |
        = note: `#[deny(clippy::derivable_impls)]` implied by `#[deny(clippy::all)]`
        = help: try annotating `map::Map` with `#[derive(Default)]`
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls
2021-09-09 19:26:17 -07:00
David Tolnay
f6bbab4835 Release 1.0.67 v1.0.67 2021-08-28 11:36:59 -07:00
David Tolnay
55efb3f0f2 Merge pull request #796 from dtolnay/visitobject
Detect unknown struct variant fields deserializing from Value
2021-08-28 11:30:39 -07:00
David Tolnay
c7b7186957 Detect unknown struct variant fields deserializing from Value 2021-08-28 11:21:54 -07:00
David Tolnay
12207ed2a3 Add regression test for issue 795 2021-08-28 11:21:40 -07:00
David Tolnay
7b4585fbff Merge pull request #794 from dtolnay/visitarray
Use existing helpers for running visit_seq over a Vec/slice
2021-08-28 11:12:02 -07:00
David Tolnay
89cfb456ff Use existing helpers for running visit_seq over a Vec/slice 2021-08-28 11:03:27 -07:00
David Tolnay
604d5cf6fe Merge pull request #793 from dtolnay/valuede
Delete several other superfluous Deserializer impls
2021-08-28 10:49:34 -07:00
David Tolnay
cdc2ad3781 Delete Deserializer impl from value::de::MapRefDeserializer 2021-08-28 10:40:49 -07:00
David Tolnay
cb1e7301d6 Delete Deserializer impl from value::de::SeqRefDeserializer 2021-08-28 10:39:55 -07:00
David Tolnay
fcd94f0a90 Delete Deserializer impl from value::de::SeqDeserializer 2021-08-28 10:37:47 -07:00
David Tolnay
ac9078e977 Merge pull request #792 from dtolnay/valuemapde
Delete Deserializer impl from value::‍de::MapDeserializer
2021-08-28 10:37:14 -07:00
David Tolnay
acfd0a7419 Delete Deserializer impl from value::de::MapDeserializer 2021-08-28 10:27:30 -07:00