error: temporary with significant `Drop` in `match` scrutinee will live until the end of the `match` expression
  --> $DIR/significant_drop_in_scrutinee.rs:55:11
   |
LL |     match mutex.lock().unwrap().foo() {
   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
LL |         true => {
LL |             mutex.lock().unwrap().bar();
   |             --------------------- another value with significant `Drop` created here
...
LL |     };
   |      - temporary lives until here
   |
   = note: this might lead to deadlocks or other unexpected behavior
   = note: `-D clippy::significant-drop-in-scrutinee` implied by `-D warnings`
help: try moving the temporary above the match
   |
LL ~     let value = mutex.lock().unwrap().foo();
LL ~     match value {
   |

error: temporary with significant `Drop` in `match` scrutinee will live until the end of the `match` expression
  --> $DIR/significant_drop_in_scrutinee.rs:141:11
   |
LL |     match s.lock_m().get_the_value() {
   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
...
LL |             println!("{}", s.lock_m().get_the_value());
   |                            ---------- another value with significant `Drop` created here
...
LL |     }
   |      - temporary lives until here
   |
   = note: this might lead to deadlocks or other unexpected behavior
help: try moving the temporary above the match
   |
LL ~     let value = s.lock_m().get_the_value();
LL ~     match value {
   |

error: temporary with significant `Drop` in `match` scrutinee will live until the end of the `match` expression
  --> $DIR/significant_drop_in_scrutinee.rs:162:11
   |
LL |     match s.lock_m_m().get_the_value() {
   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
LL |             println!("{}", s.lock_m().get_the_value());
   |                            ---------- another value with significant `Drop` created here
...
LL |     }
   |      - temporary lives until here
   |
   = note: this might lead to deadlocks or other unexpected behavior
help: try moving the temporary above the match
   |
LL ~     let value = s.lock_m_m().get_the_value();
LL ~     match value {
   |

error: temporary with significant `Drop` in `match` scrutinee will live until the end of the `match` expression
  --> $DIR/significant_drop_in_scrutinee.rs:210:11
   |
LL |     match counter.temp_increment().len() {
   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
LL |     };
   |      - temporary lives until here
   |
   = note: this might lead to deadlocks or other unexpected behavior
help: try moving the temporary above the match
   |
LL ~     let value = counter.temp_increment().len();
LL ~     match value {
   |

error: temporary with significant `Drop` in `match` scrutinee will live until the end of the `match` expression
  --> $DIR/significant_drop_in_scrutinee.rs:233:16
   |
LL |         match (mutex1.lock().unwrap().s.len(), true) {
   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
LL |                 mutex1.lock().unwrap().s.len();
   |                 ---------------------- another value with significant `Drop` created here
...
LL |         };
   |          - temporary lives until here
   |
   = note: this might lead to deadlocks or other unexpected behavior
help: try moving the temporary above the match
   |
LL ~         let value = mutex1.lock().unwrap().s.len();
LL ~         match (value, true) {
   |

error: temporary with significant `Drop` in `match` scrutinee will live until the end of the `match` expression
  --> $DIR/significant_drop_in_scrutinee.rs:242:22
   |
LL |         match (true, mutex1.lock().unwrap().s.len(), true) {
   |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
LL |                 mutex1.lock().unwrap().s.len();
   |                 ---------------------- another value with significant `Drop` created here
...
LL |         };
   |          - temporary lives until here
   |
   = note: this might lead to deadlocks or other unexpected behavior
help: try moving the temporary above the match
   |
LL ~         let value = mutex1.lock().unwrap().s.len();
LL ~         match (true, value, true) {
   |

error: temporary with significant `Drop` in `match` scrutinee will live until the end of the `match` expression
  --> $DIR/significant_drop_in_scrutinee.rs:252:16
   |
LL |         match (mutex1.lock().unwrap().s.len(), true, mutex2.lock().unwrap().s.len()) {
   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
LL |                 mutex1.lock().unwrap().s.len();
   |                 ---------------------- another value with significant `Drop` created here
LL |                 mutex2.lock().unwrap().s.len();
   |                 ---------------------- another value with significant `Drop` created here
...
LL |         };
   |          - temporary lives until here
   |
   = note: this might lead to deadlocks or other unexpected behavior
help: try moving the temporary above the match
   |
LL ~         let value = mutex1.lock().unwrap().s.len();
LL ~         match (value, true, mutex2.lock().unwrap().s.len()) {
   |

error: temporary with significant `Drop` in `match` scrutinee will live until the end of the `match` expression
  --> $DIR/significant_drop_in_scrutinee.rs:252:54
   |
LL |         match (mutex1.lock().unwrap().s.len(), true, mutex2.lock().unwrap().s.len()) {
   |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
LL |                 mutex1.lock().unwrap().s.len();
   |                 ---------------------- another value with significant `Drop` created here
LL |                 mutex2.lock().unwrap().s.len();
   |                 ---------------------- another value with significant `Drop` created here
...
LL |         };
   |          - temporary lives until here
   |
   = note: this might lead to deadlocks or other unexpected behavior
help: try moving the temporary above the match
   |
LL ~         let value = mutex2.lock().unwrap().s.len();
LL ~         match (mutex1.lock().unwrap().s.len(), true, value) {
   |

error: temporary with significant `Drop` in `match` scrutinee will live until the end of the `match` expression
  --> $DIR/significant_drop_in_scrutinee.rs:263:15
   |
LL |         match mutex3.lock().unwrap().s.as_str() {
   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
LL |                 mutex1.lock().unwrap().s.len();
   |                 ---------------------- another value with significant `Drop` created here
LL |                 mutex2.lock().unwrap().s.len();
   |                 ---------------------- another value with significant `Drop` created here
...
LL |         };
   |          - temporary lives until here
   |
   = note: this might lead to deadlocks or other unexpected behavior

error: temporary with significant `Drop` in `match` scrutinee will live until the end of the `match` expression
  --> $DIR/significant_drop_in_scrutinee.rs:273:22
   |
LL |         match (true, mutex3.lock().unwrap().s.as_str()) {
   |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
LL |                 mutex1.lock().unwrap().s.len();
   |                 ---------------------- another value with significant `Drop` created here
LL |                 mutex2.lock().unwrap().s.len();
   |                 ---------------------- another value with significant `Drop` created here
...
LL |         };
   |          - temporary lives until here
   |
   = note: this might lead to deadlocks or other unexpected behavior

error: temporary with significant `Drop` in `match` scrutinee will live until the end of the `match` expression
  --> $DIR/significant_drop_in_scrutinee.rs:292:11
   |
LL |     match mutex.lock().unwrap().s.len() > 1 {
   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
LL |         true => {
LL |             mutex.lock().unwrap().s.len();
   |             --------------------- another value with significant `Drop` created here
...
LL |     };
   |      - temporary lives until here
   |
   = note: this might lead to deadlocks or other unexpected behavior
help: try moving the temporary above the match
   |
LL ~     let value = mutex.lock().unwrap().s.len() > 1;
LL ~     match value {
   |

error: temporary with significant `Drop` in `match` scrutinee will live until the end of the `match` expression
  --> $DIR/significant_drop_in_scrutinee.rs:299:11
   |
LL |     match 1 < mutex.lock().unwrap().s.len() {
   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
LL |         true => {
LL |             mutex.lock().unwrap().s.len();
   |             --------------------- another value with significant `Drop` created here
...
LL |     };
   |      - temporary lives until here
   |
   = note: this might lead to deadlocks or other unexpected behavior
help: try moving the temporary above the match
   |
LL ~     let value = 1 < mutex.lock().unwrap().s.len();
LL ~     match value {
   |

error: temporary with significant `Drop` in `match` scrutinee will live until the end of the `match` expression
  --> $DIR/significant_drop_in_scrutinee.rs:317:11
   |
LL |     match mutex1.lock().unwrap().s.len() < mutex2.lock().unwrap().s.len() {
   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
LL |                 mutex1.lock().unwrap().s.len(),
   |                 ---------------------- another value with significant `Drop` created here
LL |                 mutex2.lock().unwrap().s.len()
   |                 ---------------------- another value with significant `Drop` created here
...
LL |     };
   |      - temporary lives until here
   |
   = note: this might lead to deadlocks or other unexpected behavior
help: try moving the temporary above the match
   |
LL ~     let value = mutex1.lock().unwrap().s.len() < mutex2.lock().unwrap().s.len();
LL ~     match value {
   |

error: temporary with significant `Drop` in `match` scrutinee will live until the end of the `match` expression
  --> $DIR/significant_drop_in_scrutinee.rs:328:11
   |
LL |     match mutex1.lock().unwrap().s.len() >= mutex2.lock().unwrap().s.len() {
   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
LL |                 mutex1.lock().unwrap().s.len(),
   |                 ---------------------- another value with significant `Drop` created here
LL |                 mutex2.lock().unwrap().s.len()
   |                 ---------------------- another value with significant `Drop` created here
...
LL |     };
   |      - temporary lives until here
   |
   = note: this might lead to deadlocks or other unexpected behavior
help: try moving the temporary above the match
   |
LL ~     let value = mutex1.lock().unwrap().s.len() >= mutex2.lock().unwrap().s.len();
LL ~     match value {
   |

error: temporary with significant `Drop` in `match` scrutinee will live until the end of the `match` expression
  --> $DIR/significant_drop_in_scrutinee.rs:363:11
   |
LL |     match get_mutex_guard().s.len() > 1 {
   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
LL |         true => {
LL |             mutex1.lock().unwrap().s.len();
   |             ---------------------- another value with significant `Drop` created here
...
LL |     };
   |      - temporary lives until here
   |
   = note: this might lead to deadlocks or other unexpected behavior
help: try moving the temporary above the match
   |
LL ~     let value = get_mutex_guard().s.len() > 1;
LL ~     match value {
   |

error: temporary with significant `Drop` in `match` scrutinee will live until the end of the `match` expression
  --> $DIR/significant_drop_in_scrutinee.rs:380:11
   |
LL |       match match i {
   |  ___________^
LL | |         100 => mutex1.lock().unwrap(),
LL | |         _ => mutex2.lock().unwrap(),
LL | |     }
LL | |     .s
LL | |     .len()
LL | |         > 1
   | |___________^
...
LL |               mutex1.lock().unwrap().s.len();
   |               ---------------------- another value with significant `Drop` created here
...
LL |       };
   |        - temporary lives until here
   |
   = note: this might lead to deadlocks or other unexpected behavior
help: try moving the temporary above the match
   |
LL ~     let value = match i {
LL +         100 => mutex1.lock().unwrap(),
LL +         _ => mutex2.lock().unwrap(),
LL +     }
LL +     .s
LL +     .len()
LL +         > 1;
LL ~     match value
   |

error: temporary with significant `Drop` in `match` scrutinee will live until the end of the `match` expression
  --> $DIR/significant_drop_in_scrutinee.rs:406:11
   |
LL |       match if i > 1 {
   |  ___________^
LL | |         mutex1.lock().unwrap()
LL | |     } else {
LL | |         mutex2.lock().unwrap()
...  |
LL | |     .len()
LL | |         > 1
   | |___________^
...
LL |               mutex1.lock().unwrap().s.len();
   |               ---------------------- another value with significant `Drop` created here
...
LL |       };
   |        - temporary lives until here
   |
   = note: this might lead to deadlocks or other unexpected behavior
help: try moving the temporary above the match
   |
LL ~     let value = if i > 1 {
LL +         mutex1.lock().unwrap()
LL +     } else {
LL +         mutex2.lock().unwrap()
LL +     }
LL +     .s
LL +     .len()
LL +         > 1;
LL ~     match value
   |

error: temporary with significant `Drop` in `match` scrutinee will live until the end of the `match` expression
  --> $DIR/significant_drop_in_scrutinee.rs:460:11
   |
LL |     match s.lock().deref().deref() {
   |           ^^^^^^^^^^^^^^^^^^^^^^^^
LL |         0 | 1 => println!("Value was less than 2"),
LL |         _ => println!("Value is {}", s.lock().deref()),
   |                                      ---------------- another value with significant `Drop` created here
LL |     };
   |      - temporary lives until here
   |
   = note: this might lead to deadlocks or other unexpected behavior
help: try moving the temporary above the match and create a copy
   |
LL ~     let value = *s.lock().deref().deref();
LL ~     match value {
   |

error: temporary with significant `Drop` in `match` scrutinee will live until the end of the `match` expression
  --> $DIR/significant_drop_in_scrutinee.rs:488:11
   |
LL |     match s.lock().deref().deref() {
   |           ^^^^^^^^^^^^^^^^^^^^^^^^
LL |         matcher => println!("Value is {}", s.lock().deref()),
   |                                            ---------------- another value with significant `Drop` created here
LL |         _ => println!("Value was not a match"),
LL |     };
   |      - temporary lives until here
   |
   = note: this might lead to deadlocks or other unexpected behavior

error: temporary with significant `Drop` in `match` scrutinee will live until the end of the `match` expression
  --> $DIR/significant_drop_in_scrutinee.rs:507:11
   |
LL |     match mutex.lock().unwrap().i = i {
   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
LL |         _ => {
LL |             println!("{}", mutex.lock().unwrap().i);
   |                            --------------------- another value with significant `Drop` created here
LL |         },
LL |     };
   |      - temporary lives until here
   |
   = note: this might lead to deadlocks or other unexpected behavior
help: try moving the temporary above the match
   |
LL ~     mutex.lock().unwrap().i = i;
LL ~     match () {
   |

error: temporary with significant `Drop` in `match` scrutinee will live until the end of the `match` expression
  --> $DIR/significant_drop_in_scrutinee.rs:513:11
   |
LL |     match i = mutex.lock().unwrap().i {
   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
LL |         _ => {
LL |             println!("{}", mutex.lock().unwrap().i);
   |                            --------------------- another value with significant `Drop` created here
LL |         },
LL |     };
   |      - temporary lives until here
   |
   = note: this might lead to deadlocks or other unexpected behavior
help: try moving the temporary above the match
   |
LL ~     i = mutex.lock().unwrap().i;
LL ~     match () {
   |

error: temporary with significant `Drop` in `match` scrutinee will live until the end of the `match` expression
  --> $DIR/significant_drop_in_scrutinee.rs:519:11
   |
LL |     match mutex.lock().unwrap().i += 1 {
   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
LL |         _ => {
LL |             println!("{}", mutex.lock().unwrap().i);
   |                            --------------------- another value with significant `Drop` created here
LL |         },
LL |     };
   |      - temporary lives until here
   |
   = note: this might lead to deadlocks or other unexpected behavior
help: try moving the temporary above the match
   |
LL ~     mutex.lock().unwrap().i += 1;
LL ~     match () {
   |

error: temporary with significant `Drop` in `match` scrutinee will live until the end of the `match` expression
  --> $DIR/significant_drop_in_scrutinee.rs:525:11
   |
LL |     match i += mutex.lock().unwrap().i {
   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
LL |         _ => {
LL |             println!("{}", mutex.lock().unwrap().i);
   |                            --------------------- another value with significant `Drop` created here
LL |         },
LL |     };
   |      - temporary lives until here
   |
   = note: this might lead to deadlocks or other unexpected behavior
help: try moving the temporary above the match
   |
LL ~     i += mutex.lock().unwrap().i;
LL ~     match () {
   |

error: temporary with significant `Drop` in `match` scrutinee will live until the end of the `match` expression
  --> $DIR/significant_drop_in_scrutinee.rs:588:11
   |
LL |     match rwlock.read().unwrap().to_number() {
   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
LL |     };
   |      - temporary lives until here
   |
   = note: this might lead to deadlocks or other unexpected behavior

error: temporary with significant `Drop` in `for` loop condition will live until the end of the `for` expression
  --> $DIR/significant_drop_in_scrutinee.rs:598:14
   |
LL |     for s in rwlock.read().unwrap().iter() {
   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
LL |         println!("{}", s);
LL |     }
   |      - temporary lives until here
   |
   = note: this might lead to deadlocks or other unexpected behavior

error: temporary with significant `Drop` in `match` scrutinee will live until the end of the `match` expression
  --> $DIR/significant_drop_in_scrutinee.rs:613:11
   |
LL |     match mutex.lock().unwrap().foo() {
   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
LL |     };
   |      - temporary lives until here
   |
   = note: this might lead to deadlocks or other unexpected behavior
help: try moving the temporary above the match
   |
LL ~     let value = mutex.lock().unwrap().foo();
LL ~     match value {
   |

error: aborting due to 26 previous errors