Skip to content

Commit

Permalink
Reduce nesting in externalfiles implementation
Browse files Browse the repository at this point in the history
Utilize `?` instead of and_then/map operators
  • Loading branch information
Mark-Simulacrum committed Aug 11, 2019
1 parent 1aa0964 commit 3b8a24d
Showing 1 changed file with 14 additions and 28 deletions.
42 changes: 14 additions & 28 deletions src/librustdoc/externalfiles.rs
Original file line number Diff line number Diff line change
Expand Up @@ -25,34 +25,20 @@ impl ExternalHtml {
id_map: &mut IdMap, edition: Edition, playground: &Option<Playground>)
-> Option<ExternalHtml> {
let codes = ErrorCodes::from(UnstableFeatures::from_environment().is_nightly_build());
load_external_files(in_header, diag)
.and_then(|ih|
load_external_files(before_content, diag)
.map(|bc| (ih, bc))
)
.and_then(|(ih, bc)|
load_external_files(md_before_content, diag)
.map(|m_bc| (ih,
format!("{}{}", bc, Markdown(&m_bc, &[], id_map,
codes, edition, playground).to_string())))
)
.and_then(|(ih, bc)|
load_external_files(after_content, diag)
.map(|ac| (ih, bc, ac))
)
.and_then(|(ih, bc, ac)|
load_external_files(md_after_content, diag)
.map(|m_ac| (ih, bc,
format!("{}{}", ac, Markdown(&m_ac, &[], id_map,
codes, edition, playground).to_string())))
)
.map(|(ih, bc, ac)|
ExternalHtml {
in_header: ih,
before_content: bc,
after_content: ac,
}
)
let ih = load_external_files(in_header, diag)?;
let bc = load_external_files(before_content, diag)?;
let m_bc = load_external_files(md_before_content, diag)?;
let bc = format!("{}{}", bc, Markdown(&m_bc, &[], id_map,
codes, edition, playground).to_string());
let ac = load_external_files(after_content, diag)?;
let m_ac = load_external_files(md_after_content, diag)?;
let ac = format!("{}{}", ac, Markdown(&m_ac, &[], id_map,
codes, edition, playground).to_string());
Some(ExternalHtml {
in_header: ih,
before_content: bc,
after_content: ac,
})
}
}

Expand Down

0 comments on commit 3b8a24d

Please sign in to comment.