summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJovansonlee Cesar <ivanceras@gmail.com>2022-09-23 17:30:45 +0800
committerJovansonlee Cesar <ivanceras@gmail.com>2022-09-23 17:30:45 +0800
commitd23bbf96c8f3eddfe39e279b4a31dabc4e03c120 (patch)
tree2c161466fe76f55c06cd99d7b88f8c3b07900102
parent850c00f83bc7cd2e53239e5d97eb404e6afad553 (diff)
refactor: run clippy fix
-rw-r--r--packages/svgbob/src/buffer/cell_buffer/contacts.rs2
-rw-r--r--packages/svgbob/src/buffer/cell_buffer/endorse.rs16
-rw-r--r--packages/svgbob/src/buffer/fragment_buffer/fragment.rs22
-rw-r--r--packages/svgbob/src/buffer/fragment_buffer/fragment/rect.rs4
-rw-r--r--packages/svgbob/src/buffer/fragment_buffer/fragment/text.rs2
-rw-r--r--packages/svgbob/src/buffer/fragment_buffer/fragment_span.rs2
-rw-r--r--packages/svgbob/src/buffer/fragment_buffer/fragment_tree.rs4
-rw-r--r--packages/svgbob/src/buffer/property_buffer.rs2
-rw-r--r--packages/svgbob/src/buffer/property_buffer/property.rs2
-rw-r--r--packages/svgbob/src/map/circle_map.rs8
-rw-r--r--packages/svgbob_cli/src/main.rs52
-rw-r--r--packages/svgbob_server/src/main.rs3
12 files changed, 53 insertions, 66 deletions
diff --git a/packages/svgbob/src/buffer/cell_buffer/contacts.rs b/packages/svgbob/src/buffer/cell_buffer/contacts.rs
index 7805b78..559e8ac 100644
--- a/packages/svgbob/src/buffer/cell_buffer/contacts.rs
+++ b/packages/svgbob/src/buffer/cell_buffer/contacts.rs
@@ -6,7 +6,7 @@ use std::fmt;
/// Contains a group of fragments that are touching each other
/// The purpose of Contacts is to group fragments together
-#[derive(Debug, Clone, PartialEq)]
+#[derive(Debug, Clone, PartialEq, Eq)]
pub struct Contacts(pub Vec<FragmentSpan>);
impl AsRef<Vec<FragmentSpan>> for Contacts {
diff --git a/packages/svgbob/src/buffer/cell_buffer/endorse.rs b/packages/svgbob/src/buffer/cell_buffer/endorse.rs
index 8e93a64..ad8a5d9 100644
--- a/packages/svgbob/src/buffer/cell_buffer/endorse.rs
+++ b/packages/svgbob/src/buffer/cell_buffer/endorse.rs
@@ -182,19 +182,19 @@ mod tests {
let line_au = line(a, u);
let line_ey = line(e, y);
let group = parallel_aabb_group(&[
- &line_ae.clone(),
- &line_au.clone(),
- &line_uy.clone(),
- &line_ey.clone(),
+ &line_ae,
+ &line_au,
+ &line_uy,
+ &line_ey,
]);
println!("group: {:#?}", group);
assert_eq!(group, vec![(0, 2), (1, 3)]);
let rect = endorse_rect(&[
- &line_ae.clone(),
- &line_au.clone(),
- &line_uy.clone(),
- &line_ey.clone(),
+ &line_ae,
+ &line_au,
+ &line_uy,
+ &line_ey,
]);
assert!(rect.is_some());
assert_eq!(rect, Some(Rect::new(a, y, false, false)));
diff --git a/packages/svgbob/src/buffer/fragment_buffer/fragment.rs b/packages/svgbob/src/buffer/fragment_buffer/fragment.rs
index 1bf235d..2899572 100644
--- a/packages/svgbob/src/buffer/fragment_buffer/fragment.rs
+++ b/packages/svgbob/src/buffer/fragment_buffer/fragment.rs
@@ -76,7 +76,7 @@ impl Fragment {
let mut sorted_shapes = fragments.clone();
sorted_shapes.sort();
//assert!(sorted_shapes.is_sorted());
- FRAGMENTS_UNICODE.get(&sorted_shapes).map(|c| *c)
+ FRAGMENTS_UNICODE.get(&sorted_shapes).copied()
}
/// check to see if this fragment is a line and that line
@@ -360,7 +360,7 @@ impl Fragment {
};
if let Some(input_text) = input_text {
- if let Ok(tags) = crate::util::parser::parse_css_tag(&input_text) {
+ if let Ok(tags) = crate::util::parser::parse_css_tag(input_text) {
tags
} else {
vec![]
@@ -421,11 +421,7 @@ impl Merge for Fragment {
match (self, other) {
// line and line
(Fragment::Line(line), Fragment::Line(other_line)) => {
- if let Some(merged_line) = line.merge(other_line) {
- Some(Fragment::Line(merged_line))
- } else {
- None
- }
+ line.merge(other_line).map(Fragment::Line)
}
// line and polygon
@@ -460,11 +456,7 @@ impl Merge for Fragment {
}
// cell_text and cell_text
(Fragment::CellText(ctext), Fragment::CellText(other_ctext)) => {
- if let Some(merged_ctext) = ctext.merge(other_ctext) {
- Some(Fragment::CellText(merged_ctext))
- } else {
- None
- }
+ ctext.merge(other_ctext).map(Fragment::CellText)
}
_ => None,
}
@@ -596,7 +588,7 @@ pub fn text(s: String) -> Fragment {
}
pub fn lines_to_fragments(lines: Vec<Line>) -> Vec<Fragment> {
- lines.into_iter().map(|line| Fragment::Line(line)).collect()
+ lines.into_iter().map(Fragment::Line).collect()
}
impl From<Line> for Fragment {
@@ -734,8 +726,8 @@ mod tests {
let j = CellGrid::j();
assert!(line(k, m).merge(&line(m, o),).is_some()); // collinear and connected
- assert!(!line(k, l).merge(&line(n, o),).is_some()); //collinear but not connected
- assert!(!line(k, o).merge(&line(o, j),).is_some()); // connected but not collinear
+ assert!(line(k, l).merge(&line(n, o),).is_none()); //collinear but not connected
+ assert!(line(k, o).merge(&line(o, j),).is_none()); // connected but not collinear
}
#[test]
diff --git a/packages/svgbob/src/buffer/fragment_buffer/fragment/rect.rs b/packages/svgbob/src/buffer/fragment_buffer/fragment/rect.rs
index 2942991..7ae8f21 100644
--- a/packages/svgbob/src/buffer/fragment_buffer/fragment/rect.rs
+++ b/packages/svgbob/src/buffer/fragment_buffer/fragment/rect.rs
@@ -61,9 +61,7 @@ impl Rect {
/// start < end
pub(in crate) fn sort_reorder_end_points(&mut self) {
if self.start > self.end {
- let tmp_start = self.start;
- self.start = self.end;
- self.end = tmp_start;
+ std::mem::swap(&mut self.start, &mut self.end);
}
}
diff --git a/packages/svgbob/src/buffer/fragment_buffer/fragment/text.rs b/packages/svgbob/src/buffer/fragment_buffer/fragment/text.rs
index 1504b55..924d1bf 100644
--- a/packages/svgbob/src/buffer/fragment_buffer/fragment/text.rs
+++ b/packages/svgbob/src/buffer/fragment_buffer/fragment/text.rs
@@ -170,7 +170,7 @@ fn replace_html_char<'a>(ch: char) -> Cow<'a, str> {
}
fn escape_html_text(s: &str) -> String {
- s.chars().map(|ch| replace_html_char(ch)).collect()
+ s.chars().map(replace_html_char).collect()
}
impl fmt::Display for Text {
diff --git a/packages/svgbob/src/buffer/fragment_buffer/fragment_span.rs b/packages/svgbob/src/buffer/fragment_buffer/fragment_span.rs
index cbac181..4efeae9 100644
--- a/packages/svgbob/src/buffer/fragment_buffer/fragment_span.rs
+++ b/packages/svgbob/src/buffer/fragment_buffer/fragment_span.rs
@@ -5,7 +5,7 @@ use crate::Merge;
use crate::Settings;
use std::fmt;
-#[derive(Debug, Clone, PartialEq)]
+#[derive(Debug, Clone, PartialEq, Eq)]
pub struct FragmentSpan {
pub span: Span,
pub fragment: Fragment,
diff --git a/packages/svgbob/src/buffer/fragment_buffer/fragment_tree.rs b/packages/svgbob/src/buffer/fragment_buffer/fragment_tree.rs
index 8e88fb5..e713325 100644
--- a/packages/svgbob/src/buffer/fragment_buffer/fragment_tree.rs
+++ b/packages/svgbob/src/buffer/fragment_buffer/fragment_tree.rs
@@ -33,7 +33,7 @@ impl FragmentTree {
fn enclose(&mut self, other: &Self) -> bool {
if self.can_fit(other) {
self.enclosing.push(other.clone());
- return true;
+ true
} else {
for child in &mut self.enclosing {
if child.enclose(other) {
@@ -69,7 +69,7 @@ impl FragmentTree {
pub(crate) fn enclose_fragments(fragments: Vec<FragmentSpan>) -> Vec<Self> {
let fragment_trees: Vec<Self> = fragments
.into_iter()
- .map(|frag| FragmentTree::new(frag))
+ .map(FragmentTree::new)
.collect();
Self::enclose_recursive(fragment_trees)
}
diff --git a/packages/svgbob/src/buffer/property_buffer.rs b/packages/svgbob/src/buffer/property_buffer.rs
index 89cc2df..155ceeb 100644
--- a/packages/svgbob/src/buffer/property_buffer.rs
+++ b/packages/svgbob/src/buffer/property_buffer.rs
@@ -56,7 +56,7 @@ impl<'p> PropertyBuffer<'p> {
self.as_ref().get(&cell.bottom_right()).unwrap_or(empty);
Self::match_char_with_surrounding_properties(
- &fragments,
+ fragments,
top_left,
top,
top_right,
diff --git a/packages/svgbob/src/buffer/property_buffer/property.rs b/packages/svgbob/src/buffer/property_buffer/property.rs
index 7d51dae..45d957a 100644
--- a/packages/svgbob/src/buffer/property_buffer/property.rs
+++ b/packages/svgbob/src/buffer/property_buffer/property.rs
@@ -22,7 +22,7 @@ use std::{cmp, fmt, sync::Arc};
/// At least sum = 6
/// Medium + Medium connects (3 + 3)
/// Strong + Weak connects ( 4 + 2 )
-#[derive(PartialEq, Clone)]
+#[derive(PartialEq, Eq, Clone)]
pub enum Signal {
Faint,
Weak,
diff --git a/packages/svgbob/src/map/circle_map.rs b/packages/svgbob/src/map/circle_map.rs
index b878a51..3266e9b 100644
--- a/packages/svgbob/src/map/circle_map.rs
+++ b/packages/svgbob/src/map/circle_map.rs
@@ -11,7 +11,7 @@ use std::{collections::BTreeMap, collections::HashMap, iter::FromIterator};
/// skip the first 3 circles for constructing our arcs, otherwise it will just be a mess
pub const CIRCLES_TO_SKIP_FOR_ARC: usize = 3;
-#[derive(PartialEq, Debug, Clone, Copy)]
+#[derive(PartialEq, Eq, Debug, Clone, Copy)]
/// edge cases of the circle art
pub enum Horizontal {
/// circle arc is touching the left edge of the first cell
@@ -754,7 +754,7 @@ pub fn endorse_circle_span(search: &Span) -> Option<(&Circle, Span)> {
.enumerate()
.filter_map(|(i, cell_char)| {
if unmatched.contains(&i) {
- Some(cell_char.clone())
+ Some(*cell_char)
} else {
None
}
@@ -778,7 +778,7 @@ pub fn endorse_quarter_arc_span(search: &Span) -> Option<(&Arc, Span)> {
.enumerate()
.filter_map(|(i, cell_char)| {
if unmatched.contains(&i) {
- Some(cell_char.clone())
+ Some(*cell_char)
} else {
None
}
@@ -805,7 +805,7 @@ pub fn endorse_half_arc_span(search: &Span) -> Option<(&Arc, Span)> {
.enumerate()
.filter_map(|(i, cell_char)| {
if unmatched.contains(&i) {
- Some(cell_char.clone())
+ Some(*cell_char)
} else {
None
}
diff --git a/packages/svgbob_cli/src/main.rs b/packages/svgbob_cli/src/main.rs
index 0773354..3659354 100644
--- a/packages/svgbob_cli/src/main.rs
+++ b/packages/svgbob_cli/src/main.rs
@@ -81,30 +81,28 @@ fn main() {
.value_of("input")
.unwrap()
.replace("\\n", "\n")
- .to_string();
- } else {
- if let Some(file) = args.value_of("input") {
- match File::open(file) {
- Ok(mut f) => {
- f.read_to_string(&mut bob).unwrap();
- }
- Err(e) => {
- use std::io::Write;
-
- writeln!(
- &mut std::io::stderr(),
- "Failed to open input file {}: {}",
- file,
- e
- )
- .unwrap();
- exit(1);
- }
+ ;
+ } else if let Some(file) = args.value_of("input") {
+ match File::open(file) {
+ Ok(mut f) => {
+ f.read_to_string(&mut bob).unwrap();
+ }
+ Err(e) => {
+ use std::io::Write;
+
+ writeln!(
+ &mut std::io::stderr(),
+ "Failed to open input file {}: {}",
+ file,
+ e
+ )
+ .unwrap();
+ exit(1);
}
- } else {
- use std::io;
- io::stdin().read_to_string(&mut bob).unwrap();
}
+ } else {
+ use std::io;
+ io::stdin().read_to_string(&mut bob).unwrap();
}
let mut settings = Settings::default();
@@ -161,8 +159,8 @@ where
{
return args
.value_of(arg_name)
- .and_then(|arg| match arg.parse::<T>() {
- Ok(a) => Some(a),
+ .map(|arg| match arg.parse::<T>() {
+ Ok(a) => a,
Err(e) => {
use std::io::Write;
@@ -186,7 +184,7 @@ fn build(args: &ArgMatches) -> Result<(), Box<dyn Error>> {
let input_path = Path::new(files_pattern);
let ext = input_path
.extension()
- .unwrap_or(&"bob".as_ref())
+ .unwrap_or("bob".as_ref())
.to_str()
.unwrap();
@@ -204,7 +202,7 @@ fn build(args: &ArgMatches) -> Result<(), Box<dyn Error>> {
}
let mut out_path = PathBuf::new();
- if outdir == "" {
+ if outdir.is_empty() {
out_path = input_dir.to_path_buf();
} else {
out_path.push(outdir)
@@ -220,7 +218,7 @@ fn build(args: &ArgMatches) -> Result<(), Box<dyn Error>> {
if tmp_path.is_file() {
let tmp_ext = tmp_path
.extension()
- .unwrap_or(&"".as_ref())
+ .unwrap_or("".as_ref())
.to_str()
.unwrap();
if tmp_ext == ext {
diff --git a/packages/svgbob_server/src/main.rs b/packages/svgbob_server/src/main.rs
index 4eca564..88bab48 100644
--- a/packages/svgbob_server/src/main.rs
+++ b/packages/svgbob_server/src/main.rs
@@ -24,8 +24,7 @@ async fn text_to_svgbob(body: Bytes) -> Result<String, StatusCode> {
async fn main() {
let port = std::env::var("PORT")
.ok()
- .map(|port| port.parse::<u16>().ok())
- .flatten()
+ .and_then(|port| port.parse::<u16>().ok())
.unwrap_or(DEFAULT_PORT);
let app = Router::new().route("/", get(hello).post(text_to_svgbob));