mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-24 21:53:23 +00:00
152 lines
3.7 KiB
Text
152 lines
3.7 KiB
Text
error: usage of `contains_key` followed by `insert` on a `HashMap`
|
|
--> tests/ui/entry_with_else.rs:14:5
|
|
|
|
|
LL | / if !m.contains_key(&k) {
|
|
LL | | m.insert(k, v);
|
|
LL | | } else {
|
|
LL | | m.insert(k, v2);
|
|
LL | | }
|
|
| |_____^
|
|
|
|
|
= note: `-D clippy::map-entry` implied by `-D warnings`
|
|
= help: to override `-D warnings` add `#[allow(clippy::map_entry)]`
|
|
help: try
|
|
|
|
|
LL ~ match m.entry(k) {
|
|
LL + std::collections::hash_map::Entry::Vacant(e) => {
|
|
LL + e.insert(v);
|
|
LL + }
|
|
LL + std::collections::hash_map::Entry::Occupied(mut e) => {
|
|
LL + e.insert(v2);
|
|
LL + }
|
|
LL + }
|
|
|
|
|
|
|
error: usage of `contains_key` followed by `insert` on a `HashMap`
|
|
--> tests/ui/entry_with_else.rs:20:5
|
|
|
|
|
LL | / if m.contains_key(&k) {
|
|
LL | | m.insert(k, v);
|
|
LL | | } else {
|
|
LL | | m.insert(k, v2);
|
|
LL | | }
|
|
| |_____^
|
|
|
|
|
help: try
|
|
|
|
|
LL ~ match m.entry(k) {
|
|
LL + std::collections::hash_map::Entry::Occupied(mut e) => {
|
|
LL + e.insert(v);
|
|
LL + }
|
|
LL + std::collections::hash_map::Entry::Vacant(e) => {
|
|
LL + e.insert(v2);
|
|
LL + }
|
|
LL + }
|
|
|
|
|
|
|
error: usage of `contains_key` followed by `insert` on a `HashMap`
|
|
--> tests/ui/entry_with_else.rs:26:5
|
|
|
|
|
LL | / if !m.contains_key(&k) {
|
|
LL | | m.insert(k, v);
|
|
LL | | } else {
|
|
LL | | foo();
|
|
LL | | }
|
|
| |_____^
|
|
|
|
|
help: try
|
|
|
|
|
LL ~ if let std::collections::hash_map::Entry::Vacant(e) = m.entry(k) {
|
|
LL + e.insert(v);
|
|
LL + } else {
|
|
LL + foo();
|
|
LL + }
|
|
|
|
|
|
|
error: usage of `contains_key` followed by `insert` on a `HashMap`
|
|
--> tests/ui/entry_with_else.rs:32:5
|
|
|
|
|
LL | / if !m.contains_key(&k) {
|
|
LL | | foo();
|
|
LL | | } else {
|
|
LL | | m.insert(k, v);
|
|
LL | | }
|
|
| |_____^
|
|
|
|
|
help: try
|
|
|
|
|
LL ~ if let std::collections::hash_map::Entry::Occupied(mut e) = m.entry(k) {
|
|
LL + e.insert(v);
|
|
LL + } else {
|
|
LL + foo();
|
|
LL + }
|
|
|
|
|
|
|
error: usage of `contains_key` followed by `insert` on a `HashMap`
|
|
--> tests/ui/entry_with_else.rs:38:5
|
|
|
|
|
LL | / if !m.contains_key(&k) {
|
|
LL | | m.insert(k, v);
|
|
LL | | } else {
|
|
LL | | m.insert(k, v2);
|
|
LL | | }
|
|
| |_____^
|
|
|
|
|
help: try
|
|
|
|
|
LL ~ match m.entry(k) {
|
|
LL + std::collections::hash_map::Entry::Vacant(e) => {
|
|
LL + e.insert(v);
|
|
LL + }
|
|
LL + std::collections::hash_map::Entry::Occupied(mut e) => {
|
|
LL + e.insert(v2);
|
|
LL + }
|
|
LL + }
|
|
|
|
|
|
|
error: usage of `contains_key` followed by `insert` on a `HashMap`
|
|
--> tests/ui/entry_with_else.rs:44:5
|
|
|
|
|
LL | / if m.contains_key(&k) {
|
|
LL | | if true { m.insert(k, v) } else { m.insert(k, v2) }
|
|
LL | | } else {
|
|
LL | | m.insert(k, v)
|
|
LL | | };
|
|
| |_____^
|
|
|
|
|
help: try
|
|
|
|
|
LL ~ match m.entry(k) {
|
|
LL + std::collections::hash_map::Entry::Occupied(mut e) => {
|
|
LL + if true { Some(e.insert(v)) } else { Some(e.insert(v2)) }
|
|
LL + }
|
|
LL + std::collections::hash_map::Entry::Vacant(e) => {
|
|
LL + e.insert(v);
|
|
LL + None
|
|
LL + }
|
|
LL ~ };
|
|
|
|
|
|
|
error: usage of `contains_key` followed by `insert` on a `HashMap`
|
|
--> tests/ui/entry_with_else.rs:50:5
|
|
|
|
|
LL | / if m.contains_key(&k) {
|
|
LL | | foo();
|
|
LL | | m.insert(k, v)
|
|
LL | | } else {
|
|
LL | | None
|
|
LL | | };
|
|
| |_____^
|
|
|
|
|
help: try
|
|
|
|
|
LL ~ if let std::collections::hash_map::Entry::Occupied(mut e) = m.entry(k) {
|
|
LL + foo();
|
|
LL + Some(e.insert(v))
|
|
LL + } else {
|
|
LL + None
|
|
LL ~ };
|
|
|
|
|
|
|
error: aborting due to 7 previous errors
|
|
|