about summary refs log tree commit diff
path: root/src/librustdoc/externalfiles.rs
diff options
context:
space:
mode:
authorMark Rousskov <mark.simulacrum@gmail.com>2018-07-22 07:25:00 -0600
committerMark Rousskov <mark.simulacrum@gmail.com>2018-07-31 17:55:12 -0600
commit7bea518d3a792d9c8df508b0af83ceb857ce75b7 (patch)
tree340f650dcce53231b9de42ffcba447189cb12b02 /src/librustdoc/externalfiles.rs
parent2216db9de78f2da623bea80594f1d9a7b54ddb54 (diff)
downloadrust-7bea518d3a792d9c8df508b0af83ceb857ce75b7.tar.gz
rust-7bea518d3a792d9c8df508b0af83ceb857ce75b7.zip
Remove global derive_id and reset_ids functions
Previously these functions relied on TLS but we can instead thread the
relevant state through explicitly.
Diffstat (limited to 'src/librustdoc/externalfiles.rs')
-rw-r--r--src/librustdoc/externalfiles.rs12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/librustdoc/externalfiles.rs b/src/librustdoc/externalfiles.rs
index 67502ab8e15..9631ea059cc 100644
--- a/src/librustdoc/externalfiles.rs
+++ b/src/librustdoc/externalfiles.rs
@@ -13,7 +13,8 @@ use std::path::Path;
 use std::str;
 use errors;
 use syntax::feature_gate::UnstableFeatures;
-use html::markdown::{ErrorCodes, Markdown};
+use html::markdown::{IdMap, ErrorCodes, Markdown};
+use std::cell::RefCell;
 
 #[derive(Clone)]
 pub struct ExternalHtml {
@@ -30,7 +31,8 @@ pub struct ExternalHtml {
 
 impl ExternalHtml {
     pub fn load(in_header: &[String], before_content: &[String], after_content: &[String],
-                md_before_content: &[String], md_after_content: &[String], diag: &errors::Handler)
+                md_before_content: &[String], md_after_content: &[String], diag: &errors::Handler,
+                id_map: &mut IdMap)
             -> Option<ExternalHtml> {
         let codes = ErrorCodes::from(UnstableFeatures::from_environment().is_nightly_build());
         load_external_files(in_header, diag)
@@ -40,7 +42,8 @@ impl ExternalHtml {
             )
             .and_then(|(ih, bc)|
                 load_external_files(md_before_content, diag)
-                    .map(|m_bc| (ih, format!("{}{}", bc, Markdown(&m_bc, &[], codes))))
+                    .map(|m_bc| (ih,
+                            format!("{}{}", bc, Markdown(&m_bc, &[], RefCell::new(id_map), codes))))
             )
             .and_then(|(ih, bc)|
                 load_external_files(after_content, diag)
@@ -48,7 +51,8 @@ impl ExternalHtml {
             )
             .and_then(|(ih, bc, ac)|
                 load_external_files(md_after_content, diag)
-                    .map(|m_ac| (ih, bc, format!("{}{}", ac, Markdown(&m_ac, &[], codes))))
+                    .map(|m_ac| (ih, bc,
+                            format!("{}{}", ac, Markdown(&m_ac, &[], RefCell::new(id_map), codes))))
             )
             .map(|(ih, bc, ac)|
                 ExternalHtml {