Skip to content

Commit 4b8adc6

Browse files
committed
Rewrite
1 parent 695e348 commit 4b8adc6

File tree

1 file changed

+8
-17
lines changed

1 file changed

+8
-17
lines changed

src/resp.rs

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -194,23 +194,14 @@ impl<K: FromResp + Hash + Eq, T: FromResp> FromResp for HashMap<K, T> {
194194
match resp {
195195
RespValue::Array(ary) => {
196196
let mut map = HashMap::new();
197-
let mut items = ary.into_iter().peekable();
198-
199-
loop {
200-
if items.peek().is_none() {
201-
break;
202-
}
203-
204-
let key = K::from_resp(
205-
items
206-
.next()
207-
.ok_or(error::resp("Cannot be converted into a hashmap", "".into()))?,
208-
)?;
209-
let value = T::from_resp(
210-
items
211-
.next()
212-
.ok_or(error::resp("Cannot be converted into a hashmap", "".into()))?,
213-
)?;
197+
let mut items = ary.into_iter();
198+
199+
while let Some(k) = items.next() {
200+
let key = K::from_resp(k)?;
201+
let value = T::from_resp(items.next().ok_or(error::resp(
202+
"Cannot convert odd number of elements into a hashmap",
203+
"".into(),
204+
))?)?;
214205

215206
map.insert(key, value);
216207
}

0 commit comments

Comments
 (0)