Skip to content

Commit

Permalink
Auto merge of #118961 - notriddle:notriddle/varconst, r=GuillaumeGomez
Browse files Browse the repository at this point in the history
rustdoc-search: fix a race condition in search index loading

`var` declare it in the global scope, and `const` does not. It needs to be declared in global scope.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/var

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const

> const declarations do not create properties on [globalThis](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThis) when declared at the top level of a script.

Fixes a regression introduced by #118910
  • Loading branch information
bors committed Dec 15, 2023
2 parents d253bf6 + 09c8fd3 commit 96df494
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions src/librustdoc/html/render/write_shared.rs
Original file line number Diff line number Diff line change
Expand Up @@ -297,7 +297,10 @@ pub(super) fn write_shared(
.replace("\\\"", "\\\\\"")
));
all_sources.sort();
let mut v = String::from("const srcIndex = new Map(JSON.parse('[\\\n");
// This needs to be `var`, not `const`.
// This variable needs declared in the current global scope so that if
// src-script.js loads first, it can pick it up.
let mut v = String::from("var srcIndex = new Map(JSON.parse('[\\\n");
v.push_str(&all_sources.join(",\\\n"));
v.push_str("\\\n]'));\ncreateSrcSidebar();\n");
Ok(v.into_bytes())
Expand All @@ -317,7 +320,10 @@ pub(super) fn write_shared(
// with rustdoc running in parallel.
all_indexes.sort();
write_invocation_specific("search-index.js", &|| {
let mut v = String::from("const searchIndex = new Map(JSON.parse('[\\\n");
// This needs to be `var`, not `const`.
// This variable needs declared in the current global scope so that if
// search.js loads first, it can pick it up.
let mut v = String::from("var searchIndex = new Map(JSON.parse('[\\\n");
v.push_str(&all_indexes.join(",\\\n"));
v.push_str(
r#"\
Expand Down

0 comments on commit 96df494

Please sign in to comment.