1
+ #![ warn( missing_docs, clippy:: all, clippy:: pedantic) ]
2
+
1
3
use ndarray:: prelude:: * ;
2
4
use std:: ops:: { Index , Range } ;
3
5
@@ -144,6 +146,7 @@ impl<A: Ord> Edges<A> {
144
146
/// 3
145
147
/// );
146
148
/// ```
149
+ #[ must_use]
147
150
pub fn len ( & self ) -> usize {
148
151
self . edges . len ( )
149
152
}
@@ -162,6 +165,7 @@ impl<A: Ord> Edges<A> {
162
165
/// let edges = Edges::from(vec![n64(0.), n64(2.), n64(5.)]);
163
166
/// assert_eq!(edges.is_empty(), false);
164
167
/// ```
168
+ #[ must_use]
165
169
pub fn is_empty ( & self ) -> bool {
166
170
self . edges . is_empty ( )
167
171
}
@@ -180,6 +184,7 @@ impl<A: Ord> Edges<A> {
180
184
/// array![0, 3, 5].view()
181
185
/// );
182
186
/// ```
187
+ #[ must_use]
183
188
pub fn as_array_view ( & self ) -> ArrayView1 < ' _ , A > {
184
189
ArrayView1 :: from ( & self . edges )
185
190
}
@@ -262,6 +267,7 @@ impl<A: Ord> Bins<A> {
262
267
/// [`Edges`], consuming the edges.
263
268
///
264
269
/// [`Edges`]: struct.Edges.html
270
+ #[ must_use]
265
271
pub fn new ( edges : Edges < A > ) -> Self {
266
272
Bins { edges }
267
273
}
@@ -281,6 +287,7 @@ impl<A: Ord> Bins<A> {
281
287
/// 2
282
288
/// );
283
289
/// ```
290
+ #[ must_use]
284
291
pub fn len ( & self ) -> usize {
285
292
match self . edges . len ( ) {
286
293
0 => 0 ,
@@ -309,6 +316,7 @@ impl<A: Ord> Bins<A> {
309
316
/// let bins = Bins::new(edges);
310
317
/// assert_eq!(bins.is_empty(), true);
311
318
/// ```
319
+ #[ must_use]
312
320
pub fn is_empty ( & self ) -> bool {
313
321
self . len ( ) == 0
314
322
}
@@ -405,6 +413,7 @@ impl<A: Ord> Bins<A> {
405
413
/// 5..10
406
414
/// );
407
415
/// ```
416
+ #[ must_use]
408
417
pub fn index ( & self , index : usize ) -> Range < A >
409
418
where
410
419
A : Clone ,
@@ -422,7 +431,7 @@ impl<A: Ord> Bins<A> {
422
431
423
432
#[ cfg( test) ]
424
433
mod edges_tests {
425
- use super :: * ;
434
+ use super :: { Array1 , Edges } ;
426
435
use quickcheck_macros:: quickcheck;
427
436
use std:: collections:: BTreeSet ;
428
437
use std:: iter:: FromIterator ;
@@ -456,7 +465,7 @@ mod edges_tests {
456
465
fn edges_are_right_open ( v : Vec < i32 > ) -> bool {
457
466
let edges = Edges :: from ( v) ;
458
467
let view = edges. as_array_view ( ) ;
459
- if view. len ( ) == 0 {
468
+ if view. is_empty ( ) {
460
469
true
461
470
} else {
462
471
let last = view[ view. len ( ) - 1 ] ;
@@ -467,21 +476,21 @@ mod edges_tests {
467
476
#[ quickcheck]
468
477
fn edges_are_left_closed ( v : Vec < i32 > ) -> bool {
469
478
let edges = Edges :: from ( v) ;
470
- match edges. len ( ) {
471
- 1 => true ,
472
- _ => {
473
- let view = edges. as_array_view ( ) ;
474
- if view. len ( ) == 0 {
475
- true
476
- } else {
477
- let first = view[ 0 ] ;
478
- edges. indices_of ( & first) . is_some ( )
479
- }
479
+ if let 1 = edges. len ( ) {
480
+ true
481
+ } else {
482
+ let view = edges. as_array_view ( ) ;
483
+ if view. is_empty ( ) {
484
+ true
485
+ } else {
486
+ let first = view[ 0 ] ;
487
+ edges. indices_of ( & first) . is_some ( )
480
488
}
481
489
}
482
490
}
483
491
484
492
#[ quickcheck]
493
+ #[ allow( clippy:: needless_pass_by_value) ]
485
494
fn edges_are_deduped ( v : Vec < i32 > ) -> bool {
486
495
let unique_elements = BTreeSet :: from_iter ( v. iter ( ) ) ;
487
496
let edges = Edges :: from ( v. clone ( ) ) ;
@@ -493,10 +502,11 @@ mod edges_tests {
493
502
494
503
#[ cfg( test) ]
495
504
mod bins_tests {
496
- use super :: * ;
505
+ use super :: { Bins , Edges } ;
497
506
498
507
#[ test]
499
508
#[ should_panic]
509
+ #[ allow( unused_must_use) ]
500
510
fn get_panics_for_out_of_bounds_indexes ( ) {
501
511
let edges = Edges :: from ( vec ! [ 0 ] ) ;
502
512
let bins = Bins :: new ( edges) ;
0 commit comments