blob: 7e84ec50ff449832e5b215030469941ec34cd3e2 [file] [edit]
#![warn(clippy::chunks_exact_to_as_chunks)]
#![allow(unused, clippy::deref_addrof)]
fn main() {
let mut arr = [1, 2, 3, 4, 5, 6, 7, 8];
for _ in arr.as_chunks::<4>().0 {}
//~^ chunks_exact_to_as_chunks
for _ in arr.as_chunks_mut::<4>().0 {}
//~^ chunks_exact_to_as_chunks
for chunk in arr.as_chunks_mut::<4>().0.iter_mut().take(2) {
//~^ chunks_exact_to_as_chunks
chunk[0] += 1; // mutate chunks
}
// All const expressions should produce valid Rust code
for _ in arr.as_chunks::<{ 1 + 1 }>().0 {}
//~^ chunks_exact_to_as_chunks
const CHUNK_SIZE: usize = 4;
for _ in arr.as_chunks::<{ CHUNK_SIZE + 1 }>().0 {}
//~^ chunks_exact_to_as_chunks
for _ in arr.as_chunks::<{ size_of::<u32>() }>().0 {}
//~^ chunks_exact_to_as_chunks
for _ in arr.as_chunks::<{ const { 1 } }>().0 {}
//~^ chunks_exact_to_as_chunks
for _ in arr.as_chunks::<{ unsafe { 1 } }>().0 {}
//~^ chunks_exact_to_as_chunks
struct A;
impl A {
const A: usize = 4;
}
for _ in arr.as_chunks::<{ A::A }>().0 {}
//~^ chunks_exact_to_as_chunks
}