Skip to content

Commit 883b5cf

Browse files
committed
Auto merge of #28255 - nrc:fmt4, r=pnkfelix
r? @pnkfelix
2 parents 01024c9 + 309ee93 commit 883b5cf

File tree

1 file changed

+103
-77
lines changed

1 file changed

+103
-77
lines changed

src/libgraphviz/lib.rs

+103-77
Original file line numberDiff line numberDiff line change
@@ -413,8 +413,8 @@ impl<'a> Id<'a> {
413413
{
414414
let mut chars = name.chars();
415415
match chars.next() {
416-
Some(c) if is_letter_or_underscore(c) => { ; },
417-
_ => return Err(())
416+
Some(c) if is_letter_or_underscore(c) => {}
417+
_ => return Err(()),
418418
}
419419
if !chars.all(is_constituent) {
420420
return Err(())
@@ -505,24 +505,28 @@ pub fn escape_html(s: &str) -> String {
505505
}
506506

507507
impl<'a> LabelText<'a> {
508-
pub fn label<S:IntoCow<'a, str>>(s: S) -> LabelText<'a> {
508+
pub fn label<S: IntoCow<'a, str>>(s: S) -> LabelText<'a> {
509509
LabelStr(s.into_cow())
510510
}
511511

512-
pub fn escaped<S:IntoCow<'a, str>>(s: S) -> LabelText<'a> {
512+
pub fn escaped<S: IntoCow<'a, str>>(s: S) -> LabelText<'a> {
513513
EscStr(s.into_cow())
514514
}
515515

516-
pub fn html<S:IntoCow<'a, str>>(s: S) -> LabelText<'a> {
516+
pub fn html<S: IntoCow<'a, str>>(s: S) -> LabelText<'a> {
517517
HtmlStr(s.into_cow())
518518
}
519519

520-
fn escape_char<F>(c: char, mut f: F) where F: FnMut(char) {
520+
fn escape_char<F>(c: char, mut f: F)
521+
where F: FnMut(char)
522+
{
521523
match c {
522524
// not escaping \\, since Graphviz escString needs to
523525
// interpret backslashes; see EscStr above.
524526
'\\' => f(c),
525-
_ => for c in c.escape_default() { f(c) }
527+
_ => for c in c.escape_default() {
528+
f(c)
529+
},
526530
}
527531
}
528532
fn escape_str(s: &str) -> String {
@@ -613,29 +617,42 @@ pub enum RenderOption {
613617
}
614618

615619
/// Returns vec holding all the default render options.
616-
pub fn default_options() -> Vec<RenderOption> { vec![] }
620+
pub fn default_options() -> Vec<RenderOption> {
621+
vec![]
622+
}
617623

618624
/// Renders directed graph `g` into the writer `w` in DOT syntax.
619625
/// (Simple wrapper around `render_opts` that passes a default set of options.)
620-
pub fn render<'a, N:Clone+'a, E:Clone+'a, G:Labeller<'a,N,E>+GraphWalk<'a,N,E>, W:Write>(
621-
g: &'a G,
622-
w: &mut W) -> io::Result<()> {
626+
pub fn render<'a,
627+
N: Clone + 'a,
628+
E: Clone + 'a,
629+
G: Labeller<'a, N, E> + GraphWalk<'a, N, E>,
630+
W: Write>
631+
(g: &'a G,
632+
w: &mut W)
633+
-> io::Result<()> {
623634
render_opts(g, w, &[])
624635
}
625636

626637
/// Renders directed graph `g` into the writer `w` in DOT syntax.
627638
/// (Main entry point for the library.)
628-
pub fn render_opts<'a, N:Clone+'a, E:Clone+'a, G:Labeller<'a,N,E>+GraphWalk<'a,N,E>, W:Write>(
629-
g: &'a G,
630-
w: &mut W,
631-
options: &[RenderOption]) -> io::Result<()>
632-
{
633-
fn writeln<W:Write>(w: &mut W, arg: &[&str]) -> io::Result<()> {
634-
for &s in arg { try!(w.write_all(s.as_bytes())); }
639+
pub fn render_opts<'a,
640+
N: Clone + 'a,
641+
E: Clone + 'a,
642+
G: Labeller<'a, N, E> + GraphWalk<'a, N, E>,
643+
W: Write>
644+
(g: &'a G,
645+
w: &mut W,
646+
options: &[RenderOption])
647+
-> io::Result<()> {
648+
fn writeln<W: Write>(w: &mut W, arg: &[&str]) -> io::Result<()> {
649+
for &s in arg {
650+
try!(w.write_all(s.as_bytes()));
651+
}
635652
write!(w, "\n")
636653
}
637654

638-
fn indent<W:Write>(w: &mut W) -> io::Result<()> {
655+
fn indent<W: Write>(w: &mut W) -> io::Result<()> {
639656
w.write_all(b" ")
640657
}
641658

@@ -748,7 +765,7 @@ mod tests {
748765
// A simple wrapper around LabelledGraph that forces the labels to
749766
// be emitted as EscStr.
750767
struct LabelledGraphWithEscStrs {
751-
graph: LabelledGraph
768+
graph: LabelledGraph,
752769
}
753770

754771
enum NodeLabels<L> {
@@ -762,13 +779,9 @@ mod tests {
762779
impl NodeLabels<&'static str> {
763780
fn to_opt_strs(self) -> Vec<Option<&'static str>> {
764781
match self {
765-
UnlabelledNodes(len)
766-
=> vec![None; len],
767-
AllNodesLabelled(lbls)
768-
=> lbls.into_iter().map(
769-
|l|Some(l)).collect(),
770-
SomeNodesLabelled(lbls)
771-
=> lbls.into_iter().collect(),
782+
UnlabelledNodes(len) => vec![None; len],
783+
AllNodesLabelled(lbls) => lbls.into_iter().map(|l| Some(l)).collect(),
784+
SomeNodesLabelled(lbls) => lbls.into_iter().collect(),
772785
}
773786
}
774787

@@ -785,7 +798,8 @@ mod tests {
785798
fn new(name: &'static str,
786799
node_labels: Trivial,
787800
edges: Vec<Edge>,
788-
node_styles: Option<Vec<Style>>) -> LabelledGraph {
801+
node_styles: Option<Vec<Style>>)
802+
-> LabelledGraph {
789803
let count = node_labels.len();
790804
LabelledGraph {
791805
name: name,
@@ -794,21 +808,17 @@ mod tests {
794808
node_styles: match node_styles {
795809
Some(nodes) => nodes,
796810
None => vec![Style::None; count],
797-
}
811+
},
798812
}
799813
}
800814
}
801815

802816
impl LabelledGraphWithEscStrs {
803817
fn new(name: &'static str,
804818
node_labels: Trivial,
805-
edges: Vec<Edge>) -> LabelledGraphWithEscStrs {
806-
LabelledGraphWithEscStrs {
807-
graph: LabelledGraph::new(name,
808-
node_labels,
809-
edges,
810-
None)
811-
}
819+
edges: Vec<Edge>)
820+
-> LabelledGraphWithEscStrs {
821+
LabelledGraphWithEscStrs { graph: LabelledGraph::new(name, node_labels, edges, None) }
812822
}
813823
}
814824

@@ -826,61 +836,65 @@ mod tests {
826836
fn node_label(&'a self, n: &Node) -> LabelText<'a> {
827837
match self.node_labels[*n] {
828838
Some(ref l) => LabelStr(l.into_cow()),
829-
None => LabelStr(id_name(n).name()),
839+
None => LabelStr(id_name(n).name()),
830840
}
831841
}
832-
fn edge_label(&'a self, e: & &'a Edge) -> LabelText<'a> {
842+
fn edge_label(&'a self, e: &&'a Edge) -> LabelText<'a> {
833843
LabelStr(e.label.into_cow())
834844
}
835845
fn node_style(&'a self, n: &Node) -> Style {
836846
self.node_styles[*n]
837847
}
838-
fn edge_style(&'a self, e: & &'a Edge) -> Style {
848+
fn edge_style(&'a self, e: &&'a Edge) -> Style {
839849
e.style
840850
}
841851
}
842852

843853
impl<'a> Labeller<'a, Node, &'a Edge> for LabelledGraphWithEscStrs {
844-
fn graph_id(&'a self) -> Id<'a> { self.graph.graph_id() }
845-
fn node_id(&'a self, n: &Node) -> Id<'a> { self.graph.node_id(n) }
854+
fn graph_id(&'a self) -> Id<'a> {
855+
self.graph.graph_id()
856+
}
857+
fn node_id(&'a self, n: &Node) -> Id<'a> {
858+
self.graph.node_id(n)
859+
}
846860
fn node_label(&'a self, n: &Node) -> LabelText<'a> {
847861
match self.graph.node_label(n) {
848862
LabelStr(s) | EscStr(s) | HtmlStr(s) => EscStr(s),
849863
}
850864
}
851-
fn edge_label(&'a self, e: & &'a Edge) -> LabelText<'a> {
865+
fn edge_label(&'a self, e: &&'a Edge) -> LabelText<'a> {
852866
match self.graph.edge_label(e) {
853867
LabelStr(s) | EscStr(s) | HtmlStr(s) => EscStr(s),
854868
}
855869
}
856870
}
857871

858872
impl<'a> GraphWalk<'a, Node, &'a Edge> for LabelledGraph {
859-
fn nodes(&'a self) -> Nodes<'a,Node> {
873+
fn nodes(&'a self) -> Nodes<'a, Node> {
860874
(0..self.node_labels.len()).collect()
861875
}
862-
fn edges(&'a self) -> Edges<'a,&'a Edge> {
876+
fn edges(&'a self) -> Edges<'a, &'a Edge> {
863877
self.edges.iter().collect()
864878
}
865-
fn source(&'a self, edge: & &'a Edge) -> Node {
879+
fn source(&'a self, edge: &&'a Edge) -> Node {
866880
edge.from
867881
}
868-
fn target(&'a self, edge: & &'a Edge) -> Node {
882+
fn target(&'a self, edge: &&'a Edge) -> Node {
869883
edge.to
870884
}
871885
}
872886

873887
impl<'a> GraphWalk<'a, Node, &'a Edge> for LabelledGraphWithEscStrs {
874-
fn nodes(&'a self) -> Nodes<'a,Node> {
888+
fn nodes(&'a self) -> Nodes<'a, Node> {
875889
self.graph.nodes()
876890
}
877-
fn edges(&'a self) -> Edges<'a,&'a Edge> {
891+
fn edges(&'a self) -> Edges<'a, &'a Edge> {
878892
self.graph.edges()
879893
}
880-
fn source(&'a self, edge: & &'a Edge) -> Node {
894+
fn source(&'a self, edge: &&'a Edge) -> Node {
881895
edge.from
882896
}
883-
fn target(&'a self, edge: & &'a Edge) -> Node {
897+
fn target(&'a self, edge: &&'a Edge) -> Node {
884898
edge.to
885899
}
886900
}
@@ -899,7 +913,7 @@ mod tests {
899913

900914
#[test]
901915
fn empty_graph() {
902-
let labels : Trivial = UnlabelledNodes(0);
916+
let labels: Trivial = UnlabelledNodes(0);
903917
let r = test_input(LabelledGraph::new("empty_graph", labels, vec![], None));
904918
assert_eq!(r.unwrap(),
905919
r#"digraph empty_graph {
@@ -909,7 +923,7 @@ r#"digraph empty_graph {
909923

910924
#[test]
911925
fn single_node() {
912-
let labels : Trivial = UnlabelledNodes(1);
926+
let labels: Trivial = UnlabelledNodes(1);
913927
let r = test_input(LabelledGraph::new("single_node", labels, vec![], None));
914928
assert_eq!(r.unwrap(),
915929
r#"digraph single_node {
@@ -920,7 +934,7 @@ r#"digraph single_node {
920934

921935
#[test]
922936
fn single_node_with_style() {
923-
let labels : Trivial = UnlabelledNodes(1);
937+
let labels: Trivial = UnlabelledNodes(1);
924938
let styles = Some(vec![Style::Dashed]);
925939
let r = test_input(LabelledGraph::new("single_node", labels, vec![], styles));
926940
assert_eq!(r.unwrap(),
@@ -932,9 +946,11 @@ r#"digraph single_node {
932946

933947
#[test]
934948
fn single_edge() {
935-
let labels : Trivial = UnlabelledNodes(2);
936-
let result = test_input(LabelledGraph::new("single_edge", labels,
937-
vec![edge(0, 1, "E", Style::None)], None));
949+
let labels: Trivial = UnlabelledNodes(2);
950+
let result = test_input(LabelledGraph::new("single_edge",
951+
labels,
952+
vec![edge(0, 1, "E", Style::None)],
953+
None));
938954
assert_eq!(result.unwrap(),
939955
r#"digraph single_edge {
940956
N0[label="N0"];
@@ -946,9 +962,11 @@ r#"digraph single_edge {
946962

947963
#[test]
948964
fn single_edge_with_style() {
949-
let labels : Trivial = UnlabelledNodes(2);
950-
let result = test_input(LabelledGraph::new("single_edge", labels,
951-
vec![edge(0, 1, "E", Style::Bold)], None));
965+
let labels: Trivial = UnlabelledNodes(2);
966+
let result = test_input(LabelledGraph::new("single_edge",
967+
labels,
968+
vec![edge(0, 1, "E", Style::Bold)],
969+
None));
952970
assert_eq!(result.unwrap(),
953971
r#"digraph single_edge {
954972
N0[label="N0"];
@@ -960,10 +978,12 @@ r#"digraph single_edge {
960978

961979
#[test]
962980
fn test_some_labelled() {
963-
let labels : Trivial = SomeNodesLabelled(vec![Some("A"), None]);
981+
let labels: Trivial = SomeNodesLabelled(vec![Some("A"), None]);
964982
let styles = Some(vec![Style::None, Style::Dotted]);
965-
let result = test_input(LabelledGraph::new("test_some_labelled", labels,
966-
vec![edge(0, 1, "A-1", Style::None)], styles));
983+
let result = test_input(LabelledGraph::new("test_some_labelled",
984+
labels,
985+
vec![edge(0, 1, "A-1", Style::None)],
986+
styles));
967987
assert_eq!(result.unwrap(),
968988
r#"digraph test_some_labelled {
969989
N0[label="A"];
@@ -975,9 +995,11 @@ r#"digraph test_some_labelled {
975995

976996
#[test]
977997
fn single_cyclic_node() {
978-
let labels : Trivial = UnlabelledNodes(1);
979-
let r = test_input(LabelledGraph::new("single_cyclic_node", labels,
980-
vec![edge(0, 0, "E", Style::None)], None));
998+
let labels: Trivial = UnlabelledNodes(1);
999+
let r = test_input(LabelledGraph::new("single_cyclic_node",
1000+
labels,
1001+
vec![edge(0, 0, "E", Style::None)],
1002+
None));
9811003
assert_eq!(r.unwrap(),
9821004
r#"digraph single_cyclic_node {
9831005
N0[label="N0"];
@@ -989,11 +1011,13 @@ r#"digraph single_cyclic_node {
9891011
#[test]
9901012
fn hasse_diagram() {
9911013
let labels = AllNodesLabelled(vec!("{x,y}", "{x}", "{y}", "{}"));
992-
let r = test_input(LabelledGraph::new(
993-
"hasse_diagram", labels,
994-
vec![edge(0, 1, "", Style::None), edge(0, 2, "", Style::None),
995-
edge(1, 3, "", Style::None), edge(2, 3, "", Style::None)],
996-
None));
1014+
let r = test_input(LabelledGraph::new("hasse_diagram",
1015+
labels,
1016+
vec![edge(0, 1, "", Style::None),
1017+
edge(0, 2, "", Style::None),
1018+
edge(1, 3, "", Style::None),
1019+
edge(2, 3, "", Style::None)],
1020+
None));
9971021
assert_eq!(r.unwrap(),
9981022
r#"digraph hasse_diagram {
9991023
N0[label="{x,y}"];
@@ -1024,10 +1048,12 @@ r#"digraph hasse_diagram {
10241048

10251049
let mut writer = Vec::new();
10261050

1027-
let g = LabelledGraphWithEscStrs::new(
1028-
"syntax_tree", labels,
1029-
vec![edge(0, 1, "then", Style::None), edge(0, 2, "else", Style::None),
1030-
edge(1, 3, ";", Style::None), edge(2, 3, ";", Style::None)]);
1051+
let g = LabelledGraphWithEscStrs::new("syntax_tree",
1052+
labels,
1053+
vec![edge(0, 1, "then", Style::None),
1054+
edge(0, 2, "else", Style::None),
1055+
edge(1, 3, ";", Style::None),
1056+
edge(2, 3, ";", Style::None)]);
10311057

10321058
render(&g, &mut writer).unwrap();
10331059
let mut r = String::new();
@@ -1051,8 +1077,8 @@ r#"digraph syntax_tree {
10511077
fn simple_id_construction() {
10521078
let id1 = Id::new("hello");
10531079
match id1 {
1054-
Ok(_) => {;},
1055-
Err(..) => panic!("'hello' is not a valid value for id anymore")
1080+
Ok(_) => {}
1081+
Err(..) => panic!("'hello' is not a valid value for id anymore"),
10561082
}
10571083
}
10581084

@@ -1061,7 +1087,7 @@ r#"digraph syntax_tree {
10611087
let id2 = Id::new("Weird { struct : ure } !!!");
10621088
match id2 {
10631089
Ok(_) => panic!("graphviz id suddenly allows spaces, brackets and stuff"),
1064-
Err(..) => {;}
1090+
Err(..) => {}
10651091
}
10661092
}
10671093
}

0 commit comments

Comments
 (0)