Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

incompatible_msrv false positive: tests #12257

Closed
dtolnay opened this issue Feb 10, 2024 · 1 comment · Fixed by #12261
Closed

incompatible_msrv false positive: tests #12257

dtolnay opened this issue Feb 10, 2024 · 1 comment · Fixed by #12261
Labels
C-bug Category: Clippy is not doing the correct thing I-false-positive Issue: The lint was triggered on code it shouldn't have

Comments

@dtolnay
Copy link
Member

dtolnay commented Feb 10, 2024

Summary

I believe the warn-by-default incompatible_msrv lint should not apply to tests.

The "Why is this bad?" description of the lint says:

It would prevent the crate to be actually used with the specified MSRV.

However, test-only code does not prevent the crate from being used with the specified MSRV, as a library. Tests are not compiled when a crate is used as a dependency.

#![cfg_attr(test, allow(clippy::incompatible_msrv))] is possible as a workaround but I believe this should not be necessary: the default behavior of the warn-by-default lint should be that tests are not considered. If MSRV enforcement for tests is valuable to some users, that should be a separate restriction lint.

Lint Name

incompatible_msrv

Reproducer

# Cargo.toml

[package]
name = "repro"
edition = "2018"
rust-version = "1.31"
// src/lib.rs

#[test]
fn repro() {
    assert_ne!(f32::NAN.copysign(1.0), f32::NAN);
}
$ cargo clippy --tests

warning: current MSRV (Minimum Supported Rust Version) is `1.31.0` but this item is stable since `1.35.0`
 --> src/lib.rs:5:25
  |
5 |     assert_ne!(f32::NAN.copysign(1.0), f32::NAN);
  |                         ^^^^^^^^^^^^^
  |
  = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
  = note: `#[warn(clippy::incompatible_msrv)]` on by default

Version

rustc 1.78.0-nightly (d44e3b95c 2024-02-09)
binary: rustc
commit-hash: d44e3b95cb9d410d89cb8ab3233906a33f43756a
commit-date: 2024-02-09
host: x86_64-unknown-linux-gnu
release: 1.78.0-nightly
LLVM version: 17.0.6

Additional Labels

No response

@dtolnay dtolnay added C-bug Category: Clippy is not doing the correct thing I-false-positive Issue: The lint was triggered on code it shouldn't have labels Feb 10, 2024
dtolnay added a commit to dtolnay/anyhow that referenced this issue Feb 10, 2024
rust-lang/rust-clippy#12257

    warning: current MSRV (Minimum Supported Rust Version) is `1.39.0` but this item is stable since `1.64.0`
      --> tests/test_macros.rs:64:39
       |
    64 |         future::ready(anyhow!("...")).await;
       |                                       ^^^^^
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
       = note: `-W clippy::incompatible-msrv` implied by `-W clippy::all`
       = help: to override `-W clippy::all` add `#[allow(clippy::incompatible_msrv)]`

    warning: current MSRV (Minimum Supported Rust Version) is `1.39.0` but this item is stable since `1.48.0`
      --> tests/test_macros.rs:64:9
       |
    64 |         future::ready(anyhow!("...")).await;
       |         ^^^^^^^^^^^^^
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.39.0` but this item is stable since `1.64.0`
      --> tests/test_macros.rs:72:59
       |
    72 |         future::ready(anyhow!(message(Cell::new("...")))).await;
       |                                                           ^^^^^
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.39.0` but this item is stable since `1.48.0`
      --> tests/test_macros.rs:72:9
       |
    72 |         future::ready(anyhow!(message(Cell::new("...")))).await;
       |         ^^^^^^^^^^^^^
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
dtolnay added a commit to serde-rs/json that referenced this issue Feb 10, 2024
rust-lang/rust-clippy#12257

    warning: current MSRV (Minimum Supported Rust Version) is `1.56.0` but this item is stable since `1.71.0`
        --> tests/test.rs:2500:25
         |
    2500 |         assert_ne!(rand.hash_one(k1), rand.hash_one(k2));
         |                         ^^^^^^^^^^^^
         |
         = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
         = note: `-W clippy::incompatible-msrv` implied by `-W clippy::all`
         = help: to override `-W clippy::all` add `#[allow(clippy::incompatible_msrv)]`

    warning: current MSRV (Minimum Supported Rust Version) is `1.56.0` but this item is stable since `1.71.0`
        --> tests/test.rs:2500:44
         |
    2500 |         assert_ne!(rand.hash_one(k1), rand.hash_one(k2));
         |                                            ^^^^^^^^^^^^
         |
         = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.56.0` but this item is stable since `1.71.0`
        --> tests/test.rs:2503:25
         |
    2503 |         assert_eq!(rand.hash_one(k1), rand.hash_one(k2));
         |                         ^^^^^^^^^^^^
         |
         = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.56.0` but this item is stable since `1.71.0`
        --> tests/test.rs:2503:44
         |
    2503 |         assert_eq!(rand.hash_one(k1), rand.hash_one(k2));
         |                                            ^^^^^^^^^^^^
         |
         = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
dtolnay added a commit to dtolnay/dissimilar that referenced this issue Feb 10, 2024
https://github.com/rust-lang/rust-clippy/issues/12257

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
      --> src/tests.rs:7:27
       |
    7  |         let chars = CHARS.get_or_init(|| $text.chars().collect());
       |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    96 |     let text1 = range!("abc");
       |                 ------------- in this macro invocation
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
       = note: `-W clippy::incompatible-msrv` implied by `-W clippy::all`
       = help: to override `-W clippy::all` add `#[allow(clippy::incompatible_msrv)]`
       = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
      --> src/tests.rs:7:27
       |
    7  |         let chars = CHARS.get_or_init(|| $text.chars().collect());
       |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    97 |     let text2 = range!("xyz");
       |                 ------------- in this macro invocation
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
       = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    100 |     let text1 = range!("1234abcdef");
        |                 -------------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    101 |     let text2 = range!("1234xyz");
        |                 ----------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    104 |     let text1 = range!("1234");
        |                 -------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    105 |     let text2 = range!("1234xyz");
        |                 ----------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    111 |     let text1 = range!("abc");
        |                 ------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    112 |     let text2 = range!("xyz");
        |                 ------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    115 |     let text1 = range!("abcdef1234");
        |                 -------------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    116 |     let text2 = range!("xyz1234");
        |                 ----------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    119 |     let text1 = range!("1234");
        |                 -------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    120 |     let text2 = range!("xyz1234");
        |                 ----------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    127 |     let text2 = range!("abcd");
        |                 -------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    130 |     let text1 = range!("abc");
        |                 ------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    131 |     let text2 = range!("abcd");
        |                 -------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    134 |     let text1 = range!("123456");
        |                 ---------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    135 |     let text2 = range!("abcd");
        |                 -------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    138 |     let text1 = range!("123456xxx");
        |                 ------------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    139 |     let text2 = range!("xxxabcd");
        |                 ----------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    144 |     let text1 = range!("fi");
        |                 ------------ in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    145 |     let text2 = range!("\u{fb01}i");
        |                 ------------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    155 |     let mut solution = diff_list![Equal("a"), Delete("b"), Insert("c")];
        |                        ------------------------------------------------ in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` which comes from the expansion of the macro `diff_list` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    163 |     let mut solution = diff_list![Equal("a"), Equal("b"), Equal("c")];
        |                        ---------------------------------------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` which comes from the expansion of the macro `diff_list` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    167 |     let mut solution = diff_list![Delete("a"), Delete("b"), Delete("c")];
        |                        ------------------------------------------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` which comes from the expansion of the macro `diff_list` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    171 |     let mut solution = diff_list![Insert("a"), Insert("b"), Insert("c")];
        |                        ------------------------------------------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` which comes from the expansion of the macro `diff_list` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |           let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    175 |       let mut solution = diff_list![
        |  ________________________-
    176 | |         Delete("a"),
    177 | |         Insert("b"),
    178 | |         Delete("c"),
    ...   |
    181 | |         Equal("f"),
    182 | |     ];
        | |_____- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` which comes from the expansion of the macro `diff_list` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    190 |     let mut solution = diff_list![Delete("a"), Insert("abc"), Delete("dc")];
        |                        ---------------------------------------------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` which comes from the expansion of the macro `diff_list` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |           let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    198 |       let mut solution = diff_list![
        |  ________________________-
    199 | |         Equal("x"),
    200 | |         Delete("a"),
    201 | |         Insert("abc"),
    202 | |         Delete("dc"),
    203 | |         Equal("y"),
    204 | |     ];
        | |_____- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` which comes from the expansion of the macro `diff_list` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    212 |     let mut solution = diff_list![Equal("a"), Insert("ba"), Equal("c")];
        |                        ------------------------------------------------ in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` which comes from the expansion of the macro `diff_list` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    216 |     let mut solution = diff_list![Equal("c"), Insert("ab"), Equal("a")];
        |                        ------------------------------------------------ in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` which comes from the expansion of the macro `diff_list` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |           let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    220 |       let mut solution = diff_list![
        |  ________________________-
    221 | |         Equal("a"),
    222 | |         Delete("b"),
    223 | |         Equal("c"),
    224 | |         Delete("ac"),
    225 | |         Equal("x"),
    226 | |     ];
        | |_____- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` which comes from the expansion of the macro `diff_list` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |           let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    234 |       let mut solution = diff_list![
        |  ________________________-
    235 | |         Equal("x"),
    236 | |         Delete("ca"),
    237 | |         Equal("c"),
    238 | |         Delete("b"),
    239 | |         Equal("a"),
    240 | |     ];
        | |_____- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` which comes from the expansion of the macro `diff_list` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    248 |     let mut solution = diff_list![Delete("b"), Insert("ab"), Equal("c")];
        |                        ------------------------------------------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` which comes from the expansion of the macro `diff_list` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    252 |     let mut solution = diff_list![Equal(""), Insert("a"), Equal("b")];
        |                        ---------------------------------------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` which comes from the expansion of the macro `diff_list` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |           let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    263 |       let mut solution = diff_list![
        |  ________________________-
    264 | |         Equal("AAA\r\n\r\nBBB"),
    265 | |         Insert("\r\nDDD\r\n\r\nBBB"),
    266 | |         Equal("\r\nEEE"),
    267 | |     ];
        | |_____- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` which comes from the expansion of the macro `diff_list` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    279 |     let mut solution = diff_list![Equal("AAA\r\nBBB"), Insert(" DDD\r\nBBB"), Equal(" EEE")];
        |                        --------------------------------------------------------------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` which comes from the expansion of the macro `diff_list` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    287 |     let mut solution = diff_list![Equal("The c"), Insert("ow and the c"), Equal("at.")];
        |                        ---------------------------------------------------------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` which comes from the expansion of the macro `diff_list` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    295 |     let mut solution = diff_list![Equal("The-c"), Insert("ow-and-the-c"), Equal("at.")];
        |                        ---------------------------------------------------------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` which comes from the expansion of the macro `diff_list` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    303 |     let mut solution = diff_list![Equal("a"), Delete("a"), Equal("ax")];
        |                        ------------------------------------------------ in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` which comes from the expansion of the macro `diff_list` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    307 |     let mut solution = diff_list![Equal("xa"), Delete("a"), Equal("a")];
        |                        ------------------------------------------------ in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` which comes from the expansion of the macro `diff_list` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    311 |     let mut solution = diff_list![Equal("The xxx. The "), Insert("zzz. The "), Equal("yyy.")];
        |                        ---------------------------------------------------------------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` which comes from the expansion of the macro `diff_list` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    326 |     let mut solution = diff_list![Delete("ab"), Insert("cd"), Equal("12"), Delete("e")];
        |                        ---------------------------------------------------------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` which comes from the expansion of the macro `diff_list` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    334 |     let mut solution = diff_list![Delete("abc"), Insert("ABC"), Equal("1234"), Delete("wxyz")];
        |                        ----------------------------------------------------------------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` which comes from the expansion of the macro `diff_list` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    342 |     let mut solution = diff_list![Delete("a"), Equal("b"), Delete("c")];
        |                        ------------------------------------------------ in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` which comes from the expansion of the macro `diff_list` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |           let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    346 |       let mut solution = diff_list![
        |  ________________________-
    347 | |         Delete("ab"),
    348 | |         Equal("cd"),
    349 | |         Delete("e"),
    350 | |         Equal("f"),
    351 | |         Insert("g"),
    352 | |     ];
        | |_____- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` which comes from the expansion of the macro `diff_list` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |           let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    360 |       let mut solution = diff_list![
        |  ________________________-
    361 | |         Insert("1"),
    362 | |         Equal("A"),
    363 | |         Delete("B"),
    ...   |
    369 | |         Insert("2"),
    370 | |     ];
        | |_____- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` which comes from the expansion of the macro `diff_list` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    378 |     let mut solution = diff_list![Equal("The c"), Delete("ow and the c"), Equal("at.")];
        |                        ---------------------------------------------------------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` which comes from the expansion of the macro `diff_list` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    386 |     let mut solution = diff_list![Delete("abcxx"), Insert("xxdef")];
        |                        -------------------------------------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` which comes from the expansion of the macro `diff_list` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    394 |     let mut solution = diff_list![Delete("abcxxx"), Insert("xxxdef")];
        |                        ---------------------------------------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` which comes from the expansion of the macro `diff_list` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    402 |     let mut solution = diff_list![Delete("xxxabc"), Insert("defxxx")];
        |                        ---------------------------------------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` which comes from the expansion of the macro `diff_list` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |           let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    410 |       let mut solution = diff_list![
        |  ________________________-
    411 | |         Delete("abcd1212"),
    412 | |         Insert("1212efghi"),
    413 | |         Equal("----"),
    414 | |         Delete("A3"),
    415 | |         Insert("3BC"),
    416 | |     ];
        | |_____- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` which comes from the expansion of the macro `diff_list` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    435 |     let text1 = range!("cat");
        |                 ------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    436 |     let text2 = range!("map");
        |                 ------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    460 |     let solution = main(range!("abc"), range!("abc"));
        |                         ------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    460 |     let solution = main(range!("abc"), range!("abc"));
        |                                        ------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    463 |     let solution = main(range!("abc"), range!("ab123c"));
        |                         ------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    463 |     let solution = main(range!("abc"), range!("ab123c"));
        |                                        ---------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    470 |     let solution = main(range!("a123bc"), range!("abc"));
        |                         ---------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    470 |     let solution = main(range!("a123bc"), range!("abc"));
        |                                           ------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    477 |     let solution = main(range!("abc"), range!("a123b456c"));
        |                         ------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    477 |     let solution = main(range!("abc"), range!("a123b456c"));
        |                                        ------------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    490 |     let solution = main(range!("a123b456c"), range!("abc"));
        |                         ------------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    490 |     let solution = main(range!("a123b456c"), range!("abc"));
        |                                              ------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    503 |     let solution = main(range!("a"), range!("b"));
        |                         ----------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    503 |     let solution = main(range!("a"), range!("b"));
        |                                      ----------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    507 |         range!("Apples are a fruit."),
        |         ----------------------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    508 |         range!("Bananas are also fruit."),
        |         --------------------------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    522 |     let solution = main(range!("ax\t"), range!("\u{0680}x\000"));
        |                         -------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    522 |     let solution = main(range!("ax\t"), range!("\u{0680}x\000"));
        |                                         ----------------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    535 |     let solution = main(range!("1ayb2"), range!("abxab"));
        |                         --------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    535 |     let solution = main(range!("1ayb2"), range!("abxab"));
        |                                          --------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    549 |     let solution = main(range!("abcy"), range!("xaxcxabc"));
        |                         -------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    549 |     let solution = main(range!("abcy"), range!("xaxcxabc"));
        |                                         ------------------ in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    557 |         range!("ABCDa=bcd=efghijklmnopqrsEFGHIJKLMNOefg"),
        |         ------------------------------------------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    558 |         range!("a-bcd-efghijklmnopqrs"),
        |         ------------------------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    577 |         range!("a [[Pennsylvania]] and [[New"),
        |         -------------------------------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.36.0` but this item is stable since `1.70.0`
       --> src/tests.rs:7:27
        |
    7   |         let chars = CHARS.get_or_init(|| $text.chars().collect());
        |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...
    578 |         range!(" and [[Pennsylvania]]"),
        |         ------------------------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `range` (in Nightly builds, run with -Z macro-backtrace for more info)
dtolnay added a commit to dtolnay/async-trait that referenced this issue Feb 10, 2024
rust-lang/rust-clippy#12257

    warning: current MSRV (Minimum Supported Rust Version) is `1.56.0` but this item is stable since `1.64.0`
      --> tests/test.rs:49:24
       |
    49 |         self.selfref().await;
       |                        ^^^^^
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
       = note: `-W clippy::incompatible-msrv` implied by `-W clippy::all`
       = help: to override `-W clippy::all` add `#[allow(clippy::incompatible_msrv)]`

    warning: current MSRV (Minimum Supported Rust Version) is `1.56.0` but this item is stable since `1.64.0`
      --> tests/test.rs:50:35
       |
    50 |         Self::elided_lifetime("").await;
       |                                   ^^^^^
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.56.0` but this item is stable since `1.64.0`
      --> tests/test.rs:51:37
       |
    51 |         <Self>::elided_lifetime("").await;
       |                                     ^^^^^
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.56.0` but this item is stable since `1.64.0`
      --> tests/test.rs:55:24
       |
    55 |         self.selfmut().await;
       |                        ^^^^^
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.56.0` but this item is stable since `1.64.0`
      --> tests/test.rs:82:24
       |
    82 |         self.selfref().await;
       |                        ^^^^^
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.56.0` but this item is stable since `1.64.0`
      --> tests/test.rs:83:35
       |
    83 |         Self::elided_lifetime("").await;
       |                                   ^^^^^
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.56.0` but this item is stable since `1.64.0`
      --> tests/test.rs:84:37
       |
    84 |         <Self>::elided_lifetime("").await;
       |                                     ^^^^^
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.56.0` but this item is stable since `1.64.0`
      --> tests/test.rs:88:24
       |
    88 |         self.selfmut().await;
       |                        ^^^^^
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.56.0` but this item is stable since `1.64.0`
      --> tests/test.rs:94:17
       |
    94 |     s.selfref().await;
       |                 ^^^^^
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.56.0` but this item is stable since `1.64.0`
      --> tests/test.rs:95:17
       |
    95 |     s.selfmut().await;
       |                 ^^^^^
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.56.0` but this item is stable since `1.64.0`
      --> tests/test.rs:96:19
       |
    96 |     s.selfvalue().await;
       |                   ^^^^^
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.56.0` but this item is stable since `1.64.0`
      --> tests/test.rs:98:24
       |
    98 |     Struct::required().await;
       |                        ^^^^^
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.56.0` but this item is stable since `1.64.0`
      --> tests/test.rs:99:33
       |
    99 |     Struct::elided_lifetime("").await;
       |                                 ^^^^^
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.56.0` but this item is stable since `1.64.0`
       --> tests/test.rs:100:35
        |
    100 |     Struct::explicit_lifetime("").await;
        |                                   ^^^^^
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.56.0` but this item is stable since `1.64.0`
       --> tests/test.rs:101:46
        |
    101 |     Struct::generic_type_param(Box::new("")).await;
        |                                              ^^^^^
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.56.0` but this item is stable since `1.64.0`
       --> tests/test.rs:104:15
        |
    104 |     s.calls().await;
        |               ^^^^^
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.56.0` but this item is stable since `1.64.0`
       --> tests/test.rs:105:19
        |
    105 |     s.calls_mut().await;
        |                   ^^^^^
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.56.0` but this item is stable since `1.64.0`
       --> tests/test.rs:120:16
        |
    120 |     object.f().await;
        |                ^^^^^
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.56.0` but this item is stable since `1.64.0`
       --> tests/test.rs:135:16
        |
    135 |     object.f().await;
        |                ^^^^^
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.56.0` but this item is stable since `1.64.0`
       --> tests/test.rs:150:16
        |
    150 |     object.f().await;
        |                ^^^^^
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.56.0` but this item is stable since `1.64.0`
       --> tests/test.rs:281:38
        |
    281 |             let nested_future = self.await;
        |                                      ^^^^^
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.56.0` but this item is stable since `1.64.0`
       --> tests/test.rs:282:27
        |
    282 |             nested_future.await
        |                           ^^^^^
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.56.0` but this item is stable since `1.64.0`
       --> tests/test.rs:475:41
        |
    475 |             let str1 = Self::hello(one).await;
        |                                         ^^^^^
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.56.0` but this item is stable since `1.64.0`
       --> tests/test.rs:476:41
        |
    476 |             let str2 = Self::hello(two).await;
        |                                         ^^^^^
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.56.0` but this item is stable since `1.64.0`
       --> tests/test.rs:552:24
        |
    552 |             self.bar().await;
        |                        ^^^^^
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.56.0` but this item is stable since `1.64.0`
       --> tests/test.rs:549:9
        |
    549 |         #[instrument]
        |         ^^^^^^^^^^^^^
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.56.0` but this item is stable since `1.64.0`
       --> tests/test.rs:561:9
        |
    561 |         #[instrument(skip(self))]
        |         ^^^^^^^^^^^^^^^^^^^^^^^^^
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.56.0` but this item is stable since `1.64.0`
       --> tests/test.rs:667:31
        |
    667 |                     self.f(x).await
        |                               ^^^^^
    ...
    673 |     implement_commands_workaround!(K: Send);
        |     --------------------------------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `implement_commands_workaround` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.56.0` but this item is stable since `1.64.0`
       --> tests/test.rs:680:31
        |
    680 |                     self.f(x).await
        |                               ^^^^^
    ...
    686 |     implement_commands!(K: Send);
        |     ---------------------------- in this macro invocation
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
        = note: this warning originates in the macro `implement_commands` (in Nightly builds, run with -Z macro-backtrace for more info)

    warning: current MSRV (Minimum Supported Rust Version) is `1.56.0` but this item is stable since `1.64.0`
        --> tests/test.rs:1068:34
         |
    1068 |             (**self).spawn(work).await
         |                                  ^^^^^
         |
         = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.56.0` but this item is stable since `1.64.0`
        --> tests/test.rs:1370:13
         |
    1370 | /             futures::select! {
    1371 | |                 () = async {
    1372 | |                     println!("{}", self.0);
    1373 | |                 }.fuse() => {}
    1374 | |             }
         | |_____________^
         |
         = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
         = note: this warning originates in the macro `futures::select` (in Nightly builds, run with -Z macro-backtrace for more info)
dtolnay added a commit to dtolnay/precise that referenced this issue Feb 10, 2024
rust-lang/rust-clippy#12257

    warning: current MSRV (Minimum Supported Rust Version) is `1.31.0` but this item is stable since `1.35.0`
      --> tests/test.rs:32:26
       |
    32 |     pos_nan_f32(f32::NAN.copysign(1.0)) = "NaN";
       |                          ^^^^^^^^^^^^^
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
       = note: `-W clippy::incompatible-msrv` implied by `-W clippy::all`
       = help: to override `-W clippy::all` add `#[allow(clippy::incompatible_msrv)]`

    warning: current MSRV (Minimum Supported Rust Version) is `1.31.0` but this item is stable since `1.35.0`
      --> tests/test.rs:33:26
       |
    33 |     neg_nan_f32(f32::NAN.copysign(-1.0)) = "NaN";
       |                          ^^^^^^^^^^^^^^
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.31.0` but this item is stable since `1.35.0`
      --> tests/test.rs:51:26
       |
    51 |     pos_nan_f64(f64::NAN.copysign(1.0)) = "NaN";
       |                          ^^^^^^^^^^^^^
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.31.0` but this item is stable since `1.35.0`
      --> tests/test.rs:52:26
       |
    52 |     neg_nan_f64(f64::NAN.copysign(-1.0)) = "NaN";
       |                          ^^^^^^^^^^^^^^
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
dtolnay added a commit to dtolnay/unicode-ident that referenced this issue Feb 10, 2024
rust-lang/rust-clippy#12257

    warning: current MSRV (Minimum Supported Rust Version) is `1.31.0` but this item is stable since `1.57.0`
     --> tests/fst/mod.rs:5:44
      |
    5 |     fst::Set::from(fst::raw::Fst::new(data.as_slice()).unwrap())
      |                                            ^^^^^^^^^^
      |
      = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
      = note: `-W clippy::incompatible-msrv` implied by `-W clippy::all`
      = help: to override `-W clippy::all` add `#[allow(clippy::incompatible_msrv)]`

    warning: current MSRV (Minimum Supported Rust Version) is `1.31.0` but this item is stable since `1.57.0`
      --> tests/fst/mod.rs:10:44
       |
    10 |     fst::Set::from(fst::raw::Fst::new(data.as_slice()).unwrap())
       |                                            ^^^^^^^^^^
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.31.0` but this item is stable since `1.32.0`
      --> tests/compare.rs:46:48
       |
    46 |             xid_start_fst.contains((ch as u32).to_be_bytes()),
       |                                                ^^^^^^^^^^^^^
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.31.0` but this item is stable since `1.32.0`
      --> tests/compare.rs:51:51
       |
    51 |             xid_continue_fst.contains((ch as u32).to_be_bytes()),
       |                                                   ^^^^^^^^^^^^^
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

    warning: current MSRV (Minimum Supported Rust Version) is `1.31.0` but this item is stable since `1.32.0`
      --> benches/xid.rs:88:44
       |
    88 |                 let ch_bytes = (ch as u32).to_be_bytes();
       |                                            ^^^^^^^^^^^^^
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
dtolnay added a commit to dtolnay/cxx that referenced this issue Feb 10, 2024
rust-lang/rust-clippy#12257

    warning: current MSRV (Minimum Supported Rust Version) is `1.60.0` but this item is stable since `1.64.0`
      --> tests/cxx_string.rs:16:15
       |
    16 |         g(&s).await;
       |               ^^^^^
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
       = note: `-W clippy::incompatible-msrv` implied by `-W clippy::all`
       = help: to override `-W clippy::all` add `#[allow(clippy::incompatible_msrv)]`
@bors bors closed this as completed in d29f2ee Feb 11, 2024
@ctz
Copy link

ctz commented May 3, 2024

I think maybe the fix for this is incomplete: test code isn't uniquely characterised by a #[test] attribute on the immediate function. In our case we have false positives on this for a benchmark using bencher, but also I guess this will trigger on test helper functions inside a '#[cfg(test)] mod tests { }`?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: Clippy is not doing the correct thing I-false-positive Issue: The lint was triggered on code it shouldn't have
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants