Skip to content

Commit 951ac65

Browse files
committed
regression test for reverse() unsoundness
1 parent 694846f commit 951ac65

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

tests/run-pass/vec.rs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,16 @@ fn swap_remove() {
148148
vec.swap_remove(1);
149149
}
150150

151+
fn reverse() {
152+
#[repr(align(2))]
153+
#[derive(Debug)]
154+
struct Foo(u8);
155+
156+
let mut v: Vec<_> = (0..50).map(Foo).collect();
157+
v.reverse();
158+
assert!(v[0].0 == 49);
159+
}
160+
151161
fn main() {
152162
assert_eq!(vec_reallocate().len(), 5);
153163

@@ -176,4 +186,5 @@ fn main() {
176186
sort();
177187
swap();
178188
swap_remove();
189+
reverse();
179190
}

0 commit comments

Comments
 (0)