| //@ compile-flags: -Copt-level=3 | |
| #![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_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-COUNT-1: slice_index_fail | |
| *a = &a[2..]; | |
| } | |
| } |