about summary refs log tree commit diff
path: root/tests/ui/for-loop-while/foreach-external-iterators-hashmap.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/for-loop-while/foreach-external-iterators-hashmap.rs')
-rw-r--r--tests/ui/for-loop-while/foreach-external-iterators-hashmap.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/ui/for-loop-while/foreach-external-iterators-hashmap.rs b/tests/ui/for-loop-while/foreach-external-iterators-hashmap.rs
new file mode 100644
index 00000000000..9f2ca05cdb6
--- /dev/null
+++ b/tests/ui/for-loop-while/foreach-external-iterators-hashmap.rs
@@ -0,0 +1,19 @@
+// run-pass
+
+use std::collections::HashMap;
+
+pub fn main() {
+    let mut h = HashMap::new();
+    let kvs = [(1, 10), (2, 20), (3, 30)];
+    for &(k,v) in &kvs {
+        h.insert(k,v);
+    }
+    let mut x = 0;
+    let mut y = 0;
+    for (&k,&v) in &h {
+        x += k;
+        y += v;
+    }
+    assert_eq!(x, 6);
+    assert_eq!(y, 60);
+}