Skip to content

Commit 074594f

Browse files
committed
histogram/bins.rs: Added lints
- Added `missing_docs` lints from `rustc` - Added `clippy::all` and `clippy::pedantic` lints - Marked methods with `must_use` - Improved code style according to clippy
1 parent 332b0a6 commit 074594f

File tree

1 file changed

+23
-13
lines changed

1 file changed

+23
-13
lines changed

src/histogram/bins.rs

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
#![warn(missing_docs, clippy::all, clippy::pedantic)]
2+
13
use ndarray::prelude::*;
24
use 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)]
424433
mod 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)]
495504
mod 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

Comments
 (0)