diff options
Diffstat (limited to 'tests/codegen/issue-27130.rs')
-rw-r--r-- | tests/codegen/issue-27130.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/codegen/issue-27130.rs b/tests/codegen/issue-27130.rs new file mode 100644 index 000000000..e5ee94e1f --- /dev/null +++ b/tests/codegen/issue-27130.rs @@ -0,0 +1,21 @@ +// compile-flags: -O + +#![crate_type = "lib"] + +// CHECK-LABEL: @trim_in_place +#[no_mangle] +pub fn trim_in_place(a: &mut &[u8]) { + while a.first() == Some(&42) { + // CHECK-NOT: slice_index_order_fail + *a = &a[1..]; + } +} + +// CHECK-LABEL: @trim_in_place2 +#[no_mangle] +pub fn trim_in_place2(a: &mut &[u8]) { + while let Some(&42) = a.first() { + // CHECK-NOT: slice_index_order_fail + *a = &a[2..]; + } +} |