Skip to content

Commit ebf866f

Browse files
committed
Fix code formatting issues to pass rustfmt checks
1 parent 1e85c52 commit ebf866f

File tree

1 file changed

+17
-19
lines changed

1 file changed

+17
-19
lines changed

src/main.rs

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
use std::io::{self, BufRead};
21
use std::fmt::Display;
32
use std::fmt::Formatter;
4-
use std::net::Ipv4Addr;
3+
use std::io::{self, BufRead};
54
use std::net::AddrParseError;
6-
use std::str::FromStr;
5+
use std::net::Ipv4Addr;
76
use std::num::ParseIntError;
7+
use std::str::FromStr;
88

99
enum MyError {
1010
ParseIntError(ParseIntError),
@@ -14,8 +14,8 @@ enum MyError {
1414
impl Display for MyError {
1515
fn fmt(&self, _: &mut Formatter) -> std::fmt::Result {
1616
match *self {
17-
MyError::ParseIntError(ref e) => print!("Parse int error {}",e),
18-
MyError::ParseIpv4Error(ref e) => print!("Parse Ipv4 address error {}",e)
17+
MyError::ParseIntError(ref e) => print!("Parse int error {}", e),
18+
MyError::ParseIpv4Error(ref e) => print!("Parse Ipv4 address error {}", e),
1919
}
2020
Ok(())
2121
}
@@ -33,7 +33,6 @@ impl std::convert::From<AddrParseError> for MyError {
3333
}
3434
}
3535

36-
3736
#[derive(Debug, Copy, Clone, Eq, PartialEq)]
3837
struct Ipv4Cidr {
3938
address: Ipv4Addr,
@@ -46,7 +45,7 @@ impl Ipv4Cidr {
4645
return Self {
4746
address: cidr.network_addr(),
4847
mask: cidr.network_mask(),
49-
}
48+
};
5049
}
5150
fn to_string(&self) -> String {
5251
format!("{}/{}", self.address, self.mask)
@@ -64,10 +63,7 @@ impl Ipv4Cidr {
6463
self.mask
6564
}
6665
fn generate_wrap_cidr(&self) -> Ipv4Cidr {
67-
Ipv4Cidr::new(
68-
self.address,
69-
self.mask - 1
70-
)
66+
Ipv4Cidr::new(self.address, self.mask - 1)
7167
}
7268
}
7369

@@ -77,19 +73,22 @@ impl FromStr for Ipv4Cidr {
7773
let v: Vec<&str> = cidr.split('/').collect();
7874
Ok(Ipv4Cidr::new(
7975
Ipv4Addr::from_str(v[0]).unwrap(),
80-
v[1].parse::<u8>()?
76+
v[1].parse::<u8>()?,
8177
))
8278
}
8379
}
8480

85-
8681
// Merge two CIDR blocks
8782
fn merge(cidr1: Ipv4Cidr, cidr2: Ipv4Cidr) -> Option<Ipv4Cidr> {
8883
// Check wether cidr1 includes cidr2 vice versa
89-
if cidr1.network_addr() <= cidr2.network_addr() && cidr2.broadcast_addr() <= cidr1.broadcast_addr() {
84+
if cidr1.network_addr() <= cidr2.network_addr()
85+
&& cidr2.broadcast_addr() <= cidr1.broadcast_addr()
86+
{
9087
return Some(cidr1);
9188
}
92-
if cidr2.network_addr() <= cidr1.network_addr() && cidr1.broadcast_addr() <= cidr2.broadcast_addr() {
89+
if cidr2.network_addr() <= cidr1.network_addr()
90+
&& cidr1.broadcast_addr() <= cidr2.broadcast_addr()
91+
{
9392
return Some(cidr2);
9493
}
9594

@@ -108,7 +107,6 @@ fn is_adjascent(cidr1: Ipv4Cidr, cidr2: Ipv4Cidr) -> bool {
108107
return u32::from(cidr1.broadcast_addr()) + 1 == u32::from(cidr2.network_addr());
109108
}
110109

111-
112110
fn main() {
113111
let stdin = io::stdin();
114112
let mut cidrs = Vec::new();
@@ -139,18 +137,18 @@ fn main() {
139137
match merged {
140138
Some(merged) => {
141139
stack.push(merged);
142-
},
140+
}
143141
None => {
144142
stack.push(cidr1);
145-
if ! is_adjascent(cidr1, cidr2) {
143+
if !is_adjascent(cidr1, cidr2) {
146144
for x in stack {
147145
println!("{}", x.to_string());
148146
}
149147
stack = Vec::new();
150148
}
151149
stack.push(cidr2);
152150
break;
153-
},
151+
}
154152
}
155153
}
156154
}

0 commit comments

Comments
 (0)