Skip to content

Commit 89c968e

Browse files
committed
interval: Update for 2nd edition.
1 parent 5cf5a6e commit 89c968e

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

interval/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@
22
name = "interval"
33
version = "0.1.0"
44
authors = ["You <[email protected]>"]
5+
edition = "2018"
56

67
[dependencies]

interval/src/lib.rs

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,25 @@
1+
#![warn(rust_2018_idioms)]
2+
#![allow(elided_lifetimes_in_paths)]
3+
14
#[derive(Debug, PartialEq)]
25
struct Interval<T> {
36
lower: T, // inclusive
4-
upper: T // exclusive
7+
upper: T, // exclusive
58
}
69

710
use std::cmp::{Ordering, PartialOrd};
811

912
impl<T: PartialOrd> PartialOrd<Interval<T>> for Interval<T> {
1013
fn partial_cmp(&self, other: &Interval<T>) -> Option<Ordering> {
11-
if self == other { Some(Ordering::Equal) }
12-
else if self.lower >= other.upper { Some(Ordering::Greater) }
13-
else if self.upper <= other.lower { Some(Ordering::Less) }
14-
else { None }
14+
if self == other {
15+
Some(Ordering::Equal)
16+
} else if self.lower >= other.upper {
17+
Some(Ordering::Greater)
18+
} else if self.upper <= other.lower {
19+
Some(Ordering::Less)
20+
} else {
21+
None
22+
}
1523
}
1624
}
1725

0 commit comments

Comments
 (0)