mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-26 06:30:32 +00:00
239 lines
5.3 KiB
Text
239 lines
5.3 KiB
Text
error: usage of `contains_key` followed by `insert` on a `HashMap`
|
|
--> tests/ui/entry.rs:24:5
|
|
|
|
|
LL | / if !m.contains_key(&k) {
|
|
LL | | m.insert(k, v);
|
|
LL | | }
|
|
| |_____^ help: try: `m.entry(k).or_insert(v);`
|
|
|
|
|
= note: `-D clippy::map-entry` implied by `-D warnings`
|
|
= help: to override `-D warnings` add `#[allow(clippy::map_entry)]`
|
|
|
|
error: usage of `contains_key` followed by `insert` on a `HashMap`
|
|
--> tests/ui/entry.rs:29:5
|
|
|
|
|
LL | / if !m.contains_key(&k) {
|
|
LL | | if true {
|
|
LL | | m.insert(k, v);
|
|
LL | | } else {
|
|
LL | | m.insert(k, v2);
|
|
LL | | }
|
|
LL | | }
|
|
| |_____^
|
|
|
|
|
help: try
|
|
|
|
|
LL ~ m.entry(k).or_insert_with(|| {
|
|
LL + if true {
|
|
LL + v
|
|
LL + } else {
|
|
LL + v2
|
|
LL + }
|
|
LL + });
|
|
|
|
|
|
|
error: usage of `contains_key` followed by `insert` on a `HashMap`
|
|
--> tests/ui/entry.rs:38:5
|
|
|
|
|
LL | / if !m.contains_key(&k) {
|
|
LL | | if true {
|
|
LL | | m.insert(k, v)
|
|
LL | | } else {
|
|
LL | | m.insert(k, v2)
|
|
LL | | };
|
|
LL | | }
|
|
| |_____^
|
|
|
|
|
help: try
|
|
|
|
|
LL ~ m.entry(k).or_insert_with(|| {
|
|
LL + if true {
|
|
LL + v
|
|
LL + } else {
|
|
LL + v2
|
|
LL + }
|
|
LL + });
|
|
|
|
|
|
|
error: usage of `contains_key` followed by `insert` on a `HashMap`
|
|
--> tests/ui/entry.rs:47:5
|
|
|
|
|
LL | / if !m.contains_key(&k) {
|
|
LL | | if true {
|
|
LL | | m.insert(k, v);
|
|
LL | | } else {
|
|
... |
|
|
LL | | }
|
|
LL | | }
|
|
| |_____^
|
|
|
|
|
help: try
|
|
|
|
|
LL ~ if let std::collections::hash_map::Entry::Vacant(e) = m.entry(k) {
|
|
LL + if true {
|
|
LL + e.insert(v);
|
|
LL + } else {
|
|
LL + e.insert(v2);
|
|
LL + return;
|
|
LL + }
|
|
LL + }
|
|
|
|
|
|
|
error: usage of `contains_key` followed by `insert` on a `HashMap`
|
|
--> tests/ui/entry.rs:57:5
|
|
|
|
|
LL | / if !m.contains_key(&k) {
|
|
LL | | foo();
|
|
LL | | m.insert(k, v);
|
|
LL | | }
|
|
| |_____^
|
|
|
|
|
help: try
|
|
|
|
|
LL ~ m.entry(k).or_insert_with(|| {
|
|
LL + foo();
|
|
LL + v
|
|
LL + });
|
|
|
|
|
|
|
error: usage of `contains_key` followed by `insert` on a `HashMap`
|
|
--> tests/ui/entry.rs:63:5
|
|
|
|
|
LL | / if !m.contains_key(&k) {
|
|
LL | | match 0 {
|
|
LL | | 1 if true => {
|
|
LL | | m.insert(k, v);
|
|
... |
|
|
LL | | };
|
|
LL | | }
|
|
| |_____^
|
|
|
|
|
help: try
|
|
|
|
|
LL ~ m.entry(k).or_insert_with(|| {
|
|
LL + match 0 {
|
|
LL + 1 if true => {
|
|
LL + v
|
|
LL + },
|
|
LL + _ => {
|
|
LL + v2
|
|
LL + },
|
|
LL + }
|
|
LL + });
|
|
|
|
|
|
|
error: usage of `contains_key` followed by `insert` on a `HashMap`
|
|
--> tests/ui/entry.rs:75:5
|
|
|
|
|
LL | / if !m.contains_key(&k) {
|
|
LL | | match 0 {
|
|
LL | | 0 => foo(),
|
|
LL | | _ => {
|
|
... |
|
|
LL | | };
|
|
LL | | }
|
|
| |_____^
|
|
|
|
|
help: try
|
|
|
|
|
LL ~ if let std::collections::hash_map::Entry::Vacant(e) = m.entry(k) {
|
|
LL + match 0 {
|
|
LL + 0 => foo(),
|
|
LL + _ => {
|
|
LL + e.insert(v2);
|
|
LL + },
|
|
LL + };
|
|
LL + }
|
|
|
|
|
|
|
error: usage of `contains_key` followed by `insert` on a `HashMap`
|
|
--> tests/ui/entry.rs:85:5
|
|
|
|
|
LL | / if !m.contains_key(&k) {
|
|
LL | | foo();
|
|
LL | | match 0 {
|
|
LL | | 0 if false => {
|
|
... |
|
|
LL | | }
|
|
LL | | }
|
|
| |_____^
|
|
|
|
|
help: try
|
|
|
|
|
LL ~ m.entry(k).or_insert_with(|| {
|
|
LL + foo();
|
|
LL + match 0 {
|
|
LL + 0 if false => {
|
|
LL + v
|
|
LL + },
|
|
LL + 1 => {
|
|
LL + foo();
|
|
LL + v
|
|
LL + },
|
|
LL + 2 | 3 => {
|
|
LL + for _ in 0..2 {
|
|
LL + foo();
|
|
LL + }
|
|
LL + if true {
|
|
LL + v
|
|
LL + } else {
|
|
LL + v2
|
|
LL + }
|
|
LL + },
|
|
LL + _ => {
|
|
LL + v2
|
|
LL + },
|
|
LL + }
|
|
LL + });
|
|
|
|
|
|
|
error: usage of `contains_key` followed by `insert` on a `HashMap`
|
|
--> tests/ui/entry.rs:119:5
|
|
|
|
|
LL | / if !m.contains_key(&m!(k)) {
|
|
LL | | m.insert(m!(k), m!(v));
|
|
LL | | }
|
|
| |_____^ help: try: `m.entry(m!(k)).or_insert_with(|| m!(v));`
|
|
|
|
error: usage of `contains_key` followed by `insert` on a `HashMap`
|
|
--> tests/ui/entry.rs:151:5
|
|
|
|
|
LL | / if !m.contains_key(&k) {
|
|
LL | | let x = (String::new(), String::new());
|
|
LL | | let _ = x.0;
|
|
LL | | m.insert(k, v);
|
|
LL | | }
|
|
| |_____^
|
|
|
|
|
help: try
|
|
|
|
|
LL ~ m.entry(k).or_insert_with(|| {
|
|
LL + let x = (String::new(), String::new());
|
|
LL + let _ = x.0;
|
|
LL + v
|
|
LL + });
|
|
|
|
|
|
|
error: usage of `contains_key` followed by `insert` on a `HashMap`
|
|
--> tests/ui/entry.rs:184:5
|
|
|
|
|
LL | / if !map.contains_key(&1) {
|
|
LL | | let Some(1) = Some(2) else {
|
|
LL | | return None;
|
|
LL | | };
|
|
LL | | map.insert(1, 42);
|
|
LL | | }
|
|
| |_____^
|
|
|
|
|
help: try
|
|
|
|
|
LL ~ if let std::collections::hash_map::Entry::Vacant(e) = map.entry(1) {
|
|
LL + let Some(1) = Some(2) else {
|
|
LL + return None;
|
|
LL + };
|
|
LL + e.insert(42);
|
|
LL + }
|
|
|
|
|
|
|
error: aborting due to 11 previous errors
|
|
|