1+ #![ warn( missing_docs, clippy:: all, clippy:: pedantic) ]
2+
13use ndarray:: prelude:: * ;
24use std:: ops:: { Index , Range } ;
35
@@ -144,6 +146,7 @@ impl<A: Ord> Edges<A> {
144146 /// 3
145147 /// );
146148 /// ```
149+ #[ must_use]
147150 pub fn len ( & self ) -> usize {
148151 self . edges . len ( )
149152 }
@@ -162,6 +165,7 @@ impl<A: Ord> Edges<A> {
162165 /// let edges = Edges::from(vec![n64(0.), n64(2.), n64(5.)]);
163166 /// assert_eq!(edges.is_empty(), false);
164167 /// ```
168+ #[ must_use]
165169 pub fn is_empty ( & self ) -> bool {
166170 self . edges . is_empty ( )
167171 }
@@ -180,6 +184,7 @@ impl<A: Ord> Edges<A> {
180184 /// array![0, 3, 5].view()
181185 /// );
182186 /// ```
187+ #[ must_use]
183188 pub fn as_array_view ( & self ) -> ArrayView1 < ' _ , A > {
184189 ArrayView1 :: from ( & self . edges )
185190 }
@@ -262,6 +267,7 @@ impl<A: Ord> Bins<A> {
262267 /// [`Edges`], consuming the edges.
263268 ///
264269 /// [`Edges`]: struct.Edges.html
270+ #[ must_use]
265271 pub fn new ( edges : Edges < A > ) -> Self {
266272 Bins { edges }
267273 }
@@ -281,6 +287,7 @@ impl<A: Ord> Bins<A> {
281287 /// 2
282288 /// );
283289 /// ```
290+ #[ must_use]
284291 pub fn len ( & self ) -> usize {
285292 match self . edges . len ( ) {
286293 0 => 0 ,
@@ -309,6 +316,7 @@ impl<A: Ord> Bins<A> {
309316 /// let bins = Bins::new(edges);
310317 /// assert_eq!(bins.is_empty(), true);
311318 /// ```
319+ #[ must_use]
312320 pub fn is_empty ( & self ) -> bool {
313321 self . len ( ) == 0
314322 }
@@ -405,6 +413,7 @@ impl<A: Ord> Bins<A> {
405413 /// 5..10
406414 /// );
407415 /// ```
416+ #[ must_use]
408417 pub fn index ( & self , index : usize ) -> Range < A >
409418 where
410419 A : Clone ,
@@ -422,7 +431,7 @@ impl<A: Ord> Bins<A> {
422431
423432#[ cfg( test) ]
424433mod edges_tests {
425- use super :: * ;
434+ use super :: { Array1 , Edges } ;
426435 use quickcheck_macros:: quickcheck;
427436 use std:: collections:: BTreeSet ;
428437 use std:: iter:: FromIterator ;
@@ -456,7 +465,7 @@ mod edges_tests {
456465 fn edges_are_right_open ( v : Vec < i32 > ) -> bool {
457466 let edges = Edges :: from ( v) ;
458467 let view = edges. as_array_view ( ) ;
459- if view. len ( ) == 0 {
468+ if view. is_empty ( ) {
460469 true
461470 } else {
462471 let last = view[ view. len ( ) - 1 ] ;
@@ -467,21 +476,21 @@ mod edges_tests {
467476 #[ quickcheck]
468477 fn edges_are_left_closed ( v : Vec < i32 > ) -> bool {
469478 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 ( )
480488 }
481489 }
482490 }
483491
484492 #[ quickcheck]
493+ #[ allow( clippy:: needless_pass_by_value) ]
485494 fn edges_are_deduped ( v : Vec < i32 > ) -> bool {
486495 let unique_elements = BTreeSet :: from_iter ( v. iter ( ) ) ;
487496 let edges = Edges :: from ( v. clone ( ) ) ;
@@ -493,10 +502,11 @@ mod edges_tests {
493502
494503#[ cfg( test) ]
495504mod bins_tests {
496- use super :: * ;
505+ use super :: { Bins , Edges } ;
497506
498507 #[ test]
499508 #[ should_panic]
509+ #[ allow( unused_must_use) ]
500510 fn get_panics_for_out_of_bounds_indexes ( ) {
501511 let edges = Edges :: from ( vec ! [ 0 ] ) ;
502512 let bins = Bins :: new ( edges) ;
0 commit comments