Skip to content

Commit 3be13d4

Browse files
committed
test: add test to ensure HeaderMap::iter safety
1 parent 8fa5787 commit 3be13d4

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

tests/header_map.rs

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ fn drain_entry() {
190190
assert_eq!(vals[1], "world2");
191191
}
192192

193-
assert_eq!(5-2+1, headers.len());
193+
assert_eq!(5 - 2 + 1, headers.len());
194194
}
195195

196196
#[test]
@@ -427,7 +427,6 @@ fn value_htab() {
427427
HeaderValue::from_str("hello\tworld").unwrap();
428428
}
429429

430-
431430
#[test]
432431
fn remove_multiple_a() {
433432
let mut headers = HeaderMap::new();
@@ -570,7 +569,8 @@ fn remove_entry_multi_3_others() {
570569
}
571570

572571
fn remove_all_values<K>(headers: &mut HeaderMap, key: K) -> Vec<HeaderValue>
573-
where K: IntoHeaderName
572+
where
573+
K: IntoHeaderName,
574574
{
575575
match headers.entry(key) {
576576
Entry::Occupied(e) => e.remove_entry_mult().1.collect(),
@@ -629,10 +629,22 @@ fn remove_entry_3_others_b() {
629629
}
630630

631631
fn remove_values<K>(headers: &mut HeaderMap, key: K) -> Option<HeaderValue>
632-
where K: IntoHeaderName
632+
where
633+
K: IntoHeaderName,
633634
{
634635
match headers.entry(key) {
635636
Entry::Occupied(e) => Some(e.remove_entry().1),
636637
Entry::Vacant(_) => None,
637638
}
638639
}
640+
641+
#[test]
642+
fn ensure_miri_sharedreadonly_not_violated() {
643+
let mut headers = HeaderMap::new();
644+
headers.insert(
645+
HeaderName::from_static("chunky-trailer"),
646+
HeaderValue::from_static("header data"),
647+
);
648+
649+
let _foo = &headers.iter().next();
650+
}

0 commit comments

Comments
 (0)