diff options
| author | Mark Rousskov <mark.simulacrum@gmail.com> | 2019-08-10 18:39:50 -0400 |
|---|---|---|
| committer | Mark Rousskov <mark.simulacrum@gmail.com> | 2019-08-11 10:47:58 -0400 |
| commit | 3b8a24d193a3b2d9e7a888338d0c2bb478892ec2 (patch) | |
| tree | 34a9ee89029e3ce375e86480b2553c81d82ddb46 | |
| parent | 1aa0964b543e0e21cadee2fed6a7725b594e92be (diff) | |
| download | rust-3b8a24d193a3b2d9e7a888338d0c2bb478892ec2.tar.gz rust-3b8a24d193a3b2d9e7a888338d0c2bb478892ec2.zip | |
Reduce nesting in externalfiles implementation
Utilize `?` instead of and_then/map operators
| -rw-r--r-- | src/librustdoc/externalfiles.rs | 42 |
1 files changed, 14 insertions, 28 deletions
diff --git a/src/librustdoc/externalfiles.rs b/src/librustdoc/externalfiles.rs index 8254bc800ca..56f1191feed 100644 --- a/src/librustdoc/externalfiles.rs +++ b/src/librustdoc/externalfiles.rs @@ -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, + }) } } |
