Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 0d6e80b

Browse files
committedJul 20, 2024·
cargo fmt
1 parent 7bb282b commit 0d6e80b

File tree

4 files changed

+168
-176
lines changed

4 files changed

+168
-176
lines changed
 

‎examples/array_refs.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22
extern crate arrayref;
33

44
fn main() {
5-
let x = [0,1,2,3,4,5,6,7,8,9];
6-
let (a,b,c) = array_refs!(&x, 2, 3, 5);
5+
let x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
6+
let (a, b, c) = array_refs!(&x, 2, 3, 5);
77
assert_eq!(2, a.len());
88
assert_eq!(3, b.len());
99
assert_eq!(5, c.len());
10-
assert_eq!(*a, [0,1]);
11-
assert_eq!(*b, [2,3,4]);
12-
assert_eq!(*c, [5,6,7,8,9]);
10+
assert_eq!(*a, [0, 1]);
11+
assert_eq!(*b, [2, 3, 4]);
12+
assert_eq!(*c, [5, 6, 7, 8, 9]);
1313
}

‎examples/array_refs_with_const.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ const SIZE_B: usize = 3;
77
const SIZE_C: usize = 5;
88

99
fn main() {
10-
let x: [u8; SIZE] = [0,1,2,3,4,5,6,7,8,9];
11-
let (a,b,c) = array_refs!(&x, SIZE_A, SIZE_B, SIZE_C);
10+
let x: [u8; SIZE] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
11+
let (a, b, c) = array_refs!(&x, SIZE_A, SIZE_B, SIZE_C);
1212
assert_eq!(SIZE_A, a.len());
1313
assert_eq!(SIZE_B, b.len());
1414
assert_eq!(SIZE_C, c.len());
15-
assert_eq!(*a, [0,1]);
16-
assert_eq!(*b, [2,3,4]);
17-
assert_eq!(*c, [5,6,7,8,9]);
15+
assert_eq!(*a, [0, 1]);
16+
assert_eq!(*b, [2, 3, 4]);
17+
assert_eq!(*c, [5, 6, 7, 8, 9]);
1818
}

‎examples/simple-case.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@ fn main() {
1010
x[20] = 1;
1111
x[21] = 4;
1212
x[24] = 3;
13-
x[0] = add_three(array_mut_ref![x,20,3]);
13+
x[0] = add_three(array_mut_ref![x, 20, 3]);
1414
assert_eq!(x[0], 8);
1515
}

‎src/lib.rs

Lines changed: 157 additions & 165 deletions
Original file line numberDiff line numberDiff line change
@@ -62,13 +62,13 @@ macro_rules! array_ref {
6262
&*(slice.as_ptr() as *const [_; $len])
6363
}
6464
let offset = $offset;
65-
let slice = & $arr[offset..offset + $len];
65+
let slice = &$arr[offset..offset + $len];
6666
#[allow(unused_unsafe)]
6767
unsafe {
6868
as_array(slice)
6969
}
7070
}
71-
}}
71+
}};
7272
}
7373

7474
/// You can use `array_refs` to generate a series of array references
@@ -174,7 +174,6 @@ macro_rules! array_refs {
174174
}}
175175
}
176176

177-
178177
/// You can use `mut_array_refs` to generate a series of mutable array
179178
/// references to an input mutable array reference. The idea is if
180179
/// you want to break an array into a series of contiguous and
@@ -327,210 +326,203 @@ macro_rules! array_mut_ref {
327326
as_array(slice)
328327
}
329328
}
330-
}}
329+
}};
331330
}
332331

333-
334332
#[allow(clippy::all)]
335333
#[cfg(test)]
336334
mod test {
337335

338-
extern crate quickcheck;
336+
extern crate quickcheck;
339337

340-
use std::vec::Vec;
338+
use std::vec::Vec;
341339

342-
// use super::*;
340+
// use super::*;
343341

344-
#[test]
345-
#[should_panic]
346-
fn checks_bounds() {
347-
let foo: [u8; 11] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
348-
let bar = array_ref!(foo, 1, 11);
349-
println!("I am checking that I can dereference bar[0] = {}", bar[0]);
350-
}
351-
352-
#[test]
353-
fn simple_case_works() {
354-
fn check(expected: [u8; 3], actual: &[u8; 3]) {
355-
for (e, a) in (&expected).iter().zip(actual.iter()) {
356-
assert_eq!(e, a)
357-
}
358-
}
359-
let mut foo: [u8; 11] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
360-
{
361-
let bar = array_ref!(foo, 2, 3);
362-
check([2, 3, 4], bar);
342+
#[test]
343+
#[should_panic]
344+
fn checks_bounds() {
345+
let foo: [u8; 11] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
346+
let bar = array_ref!(foo, 1, 11);
347+
println!("I am checking that I can dereference bar[0] = {}", bar[0]);
363348
}
364-
check([0, 1, 2], array_ref!(foo, 0, 3));
365-
fn zero2(x: &mut [u8; 2]) {
366-
x[0] = 0;
367-
x[1] = 0;
368-
}
369-
zero2(array_mut_ref!(foo, 8, 2));
370-
check([0, 0, 10], array_ref!(foo, 8, 3));
371-
}
372-
373349

374-
#[test]
375-
fn check_array_ref_5() {
376-
fn f(data: Vec<u8>, offset: usize) -> quickcheck::TestResult {
377-
if data.len() < offset + 5 {
378-
return quickcheck::TestResult::discard();
350+
#[test]
351+
fn simple_case_works() {
352+
fn check(expected: [u8; 3], actual: &[u8; 3]) {
353+
for (e, a) in (&expected).iter().zip(actual.iter()) {
354+
assert_eq!(e, a)
355+
}
379356
}
380-
let out = array_ref!(data, offset, 5);
381-
quickcheck::TestResult::from_bool(out.len() == 5)
382-
}
383-
quickcheck::quickcheck(f as fn(Vec<u8>, usize) -> quickcheck::TestResult);
384-
}
385-
386-
#[test]
387-
fn check_array_ref_out_of_bounds_5() {
388-
fn f(data: Vec<u8>, offset: usize) -> quickcheck::TestResult {
389-
if data.len() >= offset + 5 {
390-
return quickcheck::TestResult::discard();
357+
let mut foo: [u8; 11] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
358+
{
359+
let bar = array_ref!(foo, 2, 3);
360+
check([2, 3, 4], bar);
361+
}
362+
check([0, 1, 2], array_ref!(foo, 0, 3));
363+
fn zero2(x: &mut [u8; 2]) {
364+
x[0] = 0;
365+
x[1] = 0;
391366
}
392-
quickcheck::TestResult::must_fail(move || {
393-
array_ref!(data, offset, 5);
394-
})
367+
zero2(array_mut_ref!(foo, 8, 2));
368+
check([0, 0, 10], array_ref!(foo, 8, 3));
395369
}
396-
quickcheck::quickcheck(f as fn(Vec<u8>, usize) -> quickcheck::TestResult);
397-
}
398370

399-
#[test]
400-
fn check_array_mut_ref_7() {
401-
fn f(mut data: Vec<u8>, offset: usize) -> quickcheck::TestResult {
402-
if data.len() < offset + 7 {
403-
return quickcheck::TestResult::discard();
371+
#[test]
372+
fn check_array_ref_5() {
373+
fn f(data: Vec<u8>, offset: usize) -> quickcheck::TestResult {
374+
if data.len() < offset + 5 {
375+
return quickcheck::TestResult::discard();
376+
}
377+
let out = array_ref!(data, offset, 5);
378+
quickcheck::TestResult::from_bool(out.len() == 5)
404379
}
405-
let out = array_mut_ref!(data, offset, 7);
406-
out[6] = 3;
407-
quickcheck::TestResult::from_bool(out.len() == 7)
380+
quickcheck::quickcheck(f as fn(Vec<u8>, usize) -> quickcheck::TestResult);
408381
}
409-
quickcheck::quickcheck(f as fn(Vec<u8>, usize) -> quickcheck::TestResult);
410-
}
411382

412-
413-
#[test]
414-
fn check_array_mut_ref_out_of_bounds_32() {
415-
fn f(mut data: Vec<u8>, offset: usize) -> quickcheck::TestResult {
416-
if data.len() >= offset + 32 {
417-
return quickcheck::TestResult::discard();
383+
#[test]
384+
fn check_array_ref_out_of_bounds_5() {
385+
fn f(data: Vec<u8>, offset: usize) -> quickcheck::TestResult {
386+
if data.len() >= offset + 5 {
387+
return quickcheck::TestResult::discard();
388+
}
389+
quickcheck::TestResult::must_fail(move || {
390+
array_ref!(data, offset, 5);
391+
})
418392
}
419-
quickcheck::TestResult::must_fail(move || {
420-
array_mut_ref!(data, offset, 32);
421-
})
393+
quickcheck::quickcheck(f as fn(Vec<u8>, usize) -> quickcheck::TestResult);
422394
}
423-
quickcheck::quickcheck(f as fn(Vec<u8>, usize) -> quickcheck::TestResult);
424-
}
425395

426-
427-
#[test]
428-
fn test_5_array_refs() {
429-
let mut data: [usize; 128] = [0; 128];
430-
for i in 0..128 {
431-
data[i] = i;
396+
#[test]
397+
fn check_array_mut_ref_7() {
398+
fn f(mut data: Vec<u8>, offset: usize) -> quickcheck::TestResult {
399+
if data.len() < offset + 7 {
400+
return quickcheck::TestResult::discard();
401+
}
402+
let out = array_mut_ref!(data, offset, 7);
403+
out[6] = 3;
404+
quickcheck::TestResult::from_bool(out.len() == 7)
405+
}
406+
quickcheck::quickcheck(f as fn(Vec<u8>, usize) -> quickcheck::TestResult);
432407
}
433-
let data = data;
434-
let (a,b,c,d,e) = array_refs!(&data, 1, 14, 3, 100, 10);
435-
assert_eq!(a.len(), 1 as usize);
436-
assert_eq!(b.len(), 14 as usize);
437-
assert_eq!(c.len(), 3 as usize);
438-
assert_eq!(d.len(), 100 as usize);
439-
assert_eq!(e.len(), 10 as usize);
440-
assert_eq!(a, array_ref![data, 0, 1]);
441-
assert_eq!(b, array_ref![data, 1, 14]);
442-
assert_eq!(c, array_ref![data, 15, 3]);
443-
assert_eq!(e, array_ref![data, 118, 10]);
444-
}
445408

446-
#[test]
447-
fn test_5_array_refs_dotdot() {
448-
let mut data: [usize; 128] = [0; 128];
449-
for i in 0..128 {
450-
data[i] = i;
409+
#[test]
410+
fn check_array_mut_ref_out_of_bounds_32() {
411+
fn f(mut data: Vec<u8>, offset: usize) -> quickcheck::TestResult {
412+
if data.len() >= offset + 32 {
413+
return quickcheck::TestResult::discard();
414+
}
415+
quickcheck::TestResult::must_fail(move || {
416+
array_mut_ref!(data, offset, 32);
417+
})
418+
}
419+
quickcheck::quickcheck(f as fn(Vec<u8>, usize) -> quickcheck::TestResult);
451420
}
452-
let data = data;
453-
let (a,b,c,d,e) = array_refs!(&data, 1, 14, 3; ..; 10);
454-
assert_eq!(a.len(), 1 as usize);
455-
assert_eq!(b.len(), 14 as usize);
456-
assert_eq!(c.len(), 3 as usize);
457-
assert_eq!(d.len(), 100 as usize);
458-
assert_eq!(e.len(), 10 as usize);
459-
assert_eq!(a, array_ref![data, 0, 1]);
460-
assert_eq!(b, array_ref![data, 1, 14]);
461-
assert_eq!(c, array_ref![data, 15, 3]);
462-
assert_eq!(e, array_ref![data, 118, 10]);
463-
}
464-
465421

466-
#[test]
467-
fn test_5_mut_xarray_refs() {
468-
let mut data: [usize; 128] = [0; 128];
469-
{
470-
// temporarily borrow the data to modify it.
471-
let (a,b,c,d,e) = mut_array_refs!(&mut data, 1, 14, 3, 100, 10);
422+
#[test]
423+
fn test_5_array_refs() {
424+
let mut data: [usize; 128] = [0; 128];
425+
for i in 0..128 {
426+
data[i] = i;
427+
}
428+
let data = data;
429+
let (a, b, c, d, e) = array_refs!(&data, 1, 14, 3, 100, 10);
472430
assert_eq!(a.len(), 1 as usize);
473431
assert_eq!(b.len(), 14 as usize);
474432
assert_eq!(c.len(), 3 as usize);
475433
assert_eq!(d.len(), 100 as usize);
476434
assert_eq!(e.len(), 10 as usize);
477-
*a = [1; 1];
478-
*b = [14; 14];
479-
*c = [3; 3];
480-
*d = [100; 100];
481-
*e = [10; 10];
435+
assert_eq!(a, array_ref![data, 0, 1]);
436+
assert_eq!(b, array_ref![data, 1, 14]);
437+
assert_eq!(c, array_ref![data, 15, 3]);
438+
assert_eq!(e, array_ref![data, 118, 10]);
482439
}
483-
assert_eq!(&[1;1], array_ref![data, 0, 1]);
484-
assert_eq!(&[14;14], array_ref![data, 1, 14]);
485-
assert_eq!(&[3;3], array_ref![data, 15, 3]);
486-
assert_eq!(&[10;10], array_ref![data, 118, 10]);
487-
}
488440

489-
#[test]
490-
fn test_5_mut_xarray_refs_with_dotdot() {
491-
let mut data: [usize; 128] = [0; 128];
492-
{
493-
// temporarily borrow the data to modify it.
494-
let (a,b,c,d,e) = mut_array_refs!(&mut data, 1, 14, 3; ..; 10);
441+
#[test]
442+
fn test_5_array_refs_dotdot() {
443+
let mut data: [usize; 128] = [0; 128];
444+
for i in 0..128 {
445+
data[i] = i;
446+
}
447+
let data = data;
448+
let (a, b, c, d, e) = array_refs!(&data, 1, 14, 3; ..; 10);
495449
assert_eq!(a.len(), 1 as usize);
496450
assert_eq!(b.len(), 14 as usize);
497451
assert_eq!(c.len(), 3 as usize);
498452
assert_eq!(d.len(), 100 as usize);
499453
assert_eq!(e.len(), 10 as usize);
500-
*a = [1; 1];
501-
*b = [14; 14];
502-
*c = [3; 3];
503-
*e = [10; 10];
454+
assert_eq!(a, array_ref![data, 0, 1]);
455+
assert_eq!(b, array_ref![data, 1, 14]);
456+
assert_eq!(c, array_ref![data, 15, 3]);
457+
assert_eq!(e, array_ref![data, 118, 10]);
504458
}
505-
assert_eq!(&[1;1], array_ref![data, 0, 1]);
506-
assert_eq!(&[14;14], array_ref![data, 1, 14]);
507-
assert_eq!(&[3;3], array_ref![data, 15, 3]);
508-
assert_eq!(&[10;10], array_ref![data, 118, 10]);
509-
}
510459

511-
#[forbid(clippy::ptr_offset_with_cast)]
512-
#[test]
513-
fn forbidden_clippy_lints_do_not_fire() {
514-
let mut data = [0u8; 32];
515-
let _ = array_refs![&data, 8; .. ;];
516-
let _ = mut_array_refs![&mut data, 8; .. ; 10];
517-
}
460+
#[test]
461+
fn test_5_mut_xarray_refs() {
462+
let mut data: [usize; 128] = [0; 128];
463+
{
464+
// temporarily borrow the data to modify it.
465+
let (a, b, c, d, e) = mut_array_refs!(&mut data, 1, 14, 3, 100, 10);
466+
assert_eq!(a.len(), 1 as usize);
467+
assert_eq!(b.len(), 14 as usize);
468+
assert_eq!(c.len(), 3 as usize);
469+
assert_eq!(d.len(), 100 as usize);
470+
assert_eq!(e.len(), 10 as usize);
471+
*a = [1; 1];
472+
*b = [14; 14];
473+
*c = [3; 3];
474+
*d = [100; 100];
475+
*e = [10; 10];
476+
}
477+
assert_eq!(&[1; 1], array_ref![data, 0, 1]);
478+
assert_eq!(&[14; 14], array_ref![data, 1, 14]);
479+
assert_eq!(&[3; 3], array_ref![data, 15, 3]);
480+
assert_eq!(&[10; 10], array_ref![data, 118, 10]);
481+
}
482+
483+
#[test]
484+
fn test_5_mut_xarray_refs_with_dotdot() {
485+
let mut data: [usize; 128] = [0; 128];
486+
{
487+
// temporarily borrow the data to modify it.
488+
let (a, b, c, d, e) = mut_array_refs!(&mut data, 1, 14, 3; ..; 10);
489+
assert_eq!(a.len(), 1 as usize);
490+
assert_eq!(b.len(), 14 as usize);
491+
assert_eq!(c.len(), 3 as usize);
492+
assert_eq!(d.len(), 100 as usize);
493+
assert_eq!(e.len(), 10 as usize);
494+
*a = [1; 1];
495+
*b = [14; 14];
496+
*c = [3; 3];
497+
*e = [10; 10];
498+
}
499+
assert_eq!(&[1; 1], array_ref![data, 0, 1]);
500+
assert_eq!(&[14; 14], array_ref![data, 1, 14]);
501+
assert_eq!(&[3; 3], array_ref![data, 15, 3]);
502+
assert_eq!(&[10; 10], array_ref![data, 118, 10]);
503+
}
518504

519-
#[test]
520-
fn single_arg_refs() {
521-
let mut data = [0u8; 8];
522-
let (_, ) = array_refs![&data, 8];
523-
let (_, ) = mut_array_refs![&mut data, 8];
505+
#[forbid(clippy::ptr_offset_with_cast)]
506+
#[test]
507+
fn forbidden_clippy_lints_do_not_fire() {
508+
let mut data = [0u8; 32];
509+
let _ = array_refs![&data, 8; .. ;];
510+
let _ = mut_array_refs![&mut data, 8; .. ; 10];
511+
}
524512

525-
let (_, _) = array_refs![&data, 4; ..;];
526-
let (_, _) = mut_array_refs![&mut data, 4; ..;];
513+
#[test]
514+
fn single_arg_refs() {
515+
let mut data = [0u8; 8];
516+
let (_,) = array_refs![&data, 8];
517+
let (_,) = mut_array_refs![&mut data, 8];
527518

528-
let (_, _) = array_refs![&data,; ..; 4];
529-
let (_, _) = mut_array_refs![&mut data,; ..; 4];
519+
let (_, _) = array_refs![&data, 4; ..;];
520+
let (_, _) = mut_array_refs![&mut data, 4; ..;];
530521

531-
let (_,) = array_refs![&data,; ..;];
532-
let (_,) = mut_array_refs![&mut data,; ..;];
533-
}
522+
let (_, _) = array_refs![&data,; ..; 4];
523+
let (_, _) = mut_array_refs![&mut data,; ..; 4];
534524

525+
let (_,) = array_refs![&data,; ..;];
526+
let (_,) = mut_array_refs![&mut data,; ..;];
527+
}
535528
} // mod test
536-

0 commit comments

Comments
 (0)
Please sign in to comment.