From d3fd6bfd308f1cca010086e30e75daaee984beab Mon Sep 17 00:00:00 2001 From: Michael Howell Date: Thu, 12 May 2022 14:15:31 -0700 Subject: [PATCH] rustdoc: fix GUI crash when searching for magic JS property values --- src/librustdoc/html/static/js/search.js | 4 ++-- src/test/rustdoc-js/prototype.js | 16 ++++++++++++++++ src/test/rustdoc-js/prototype.rs | 4 ++++ 3 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 src/test/rustdoc-js/prototype.js create mode 100644 src/test/rustdoc-js/prototype.rs diff --git a/src/librustdoc/html/static/js/search.js b/src/librustdoc/html/static/js/search.js index 7754d626e209e..b596adf32c6fd 100644 --- a/src/librustdoc/html/static/js/search.js +++ b/src/librustdoc/html/static/js/search.js @@ -119,7 +119,7 @@ window.initSearch = rawSearchIndex => { */ let searchIndex; let currentResults; - const ALIASES = {}; + const ALIASES = Object.create(null); const params = searchState.getQueryStringParams(); // Populate search bar with query string search term when provided, @@ -1953,7 +1953,7 @@ window.initSearch = rawSearchIndex => { } if (aliases) { - ALIASES[crate] = {}; + ALIASES[crate] = Object.create(null); for (const alias_name in aliases) { if (!hasOwnPropertyRustdoc(aliases, alias_name)) { continue; diff --git a/src/test/rustdoc-js/prototype.js b/src/test/rustdoc-js/prototype.js new file mode 100644 index 0000000000000..2f1d841c3be19 --- /dev/null +++ b/src/test/rustdoc-js/prototype.js @@ -0,0 +1,16 @@ +// exact-check + +const QUERY = ['constructor', '__proto__']; + +const EXPECTED = [ + { + 'others': [], + 'returned': [], + 'in_args': [], + }, + { + 'others': [], + 'returned': [], + 'in_args': [], + }, +]; diff --git a/src/test/rustdoc-js/prototype.rs b/src/test/rustdoc-js/prototype.rs new file mode 100644 index 0000000000000..5f6d73cc19626 --- /dev/null +++ b/src/test/rustdoc-js/prototype.rs @@ -0,0 +1,4 @@ +// The alias needed to be there to reproduce the bug +// that used to be here. +#[doc(alias="other_alias")] +pub fn something_else() {}