diff options
| author | Michael Howell <michael@notriddle.com> | 2024-04-18 22:20:08 -0700 |
|---|---|---|
| committer | Michael Howell <michael@notriddle.com> | 2024-04-18 22:21:29 -0700 |
| commit | 2e7d9e9acbdb48620e347529796bf1e35fd97c19 (patch) | |
| tree | 7928486119f5808e3c917d89f8ac1e4385f9222e | |
| parent | fa0068b5412baecc932772dda72c0621bfa7ab00 (diff) | |
| download | rust-2e7d9e9acbdb48620e347529796bf1e35fd97c19.tar.gz rust-2e7d9e9acbdb48620e347529796bf1e35fd97c19.zip | |
rustdoc-search: fix description on aliases in results
This needs to start downloading the descriptions after aliases have been added to the result set.
| -rw-r--r-- | src/librustdoc/html/static/js/search.js | 21 | ||||
| -rw-r--r-- | tests/rustdoc-js-std/alias-1.js | 6 |
2 files changed, 16 insertions, 11 deletions
diff --git a/src/librustdoc/html/static/js/search.js b/src/librustdoc/html/static/js/search.js index 0a43e9765e2..41a9897de6d 100644 --- a/src/librustdoc/html/static/js/search.js +++ b/src/librustdoc/html/static/js/search.js @@ -1464,16 +1464,7 @@ function initSearch(rawSearchIndex) { return 0; }); - const transformed = transformResults(result_list); - const descs = await Promise.all(transformed.map(result => { - return searchIndexEmptyDesc.get(result.crate).contains(result.bitIndex) ? - "" : - searchState.loadDesc(result); - })); - for (const [i, result] of transformed.entries()) { - result.desc = descs[i]; - } - return transformed; + return transformResults(result_list); } /** @@ -2517,6 +2508,16 @@ function initSearch(rawSearchIndex) { sorted_others, parsedQuery); handleAliases(ret, parsedQuery.original.replace(/"/g, ""), filterCrates, currentCrate); + await Promise.all([ret.others, ret.returned, ret.in_args].map(async list => { + const descs = await Promise.all(list.map(result => { + return searchIndexEmptyDesc.get(result.crate).contains(result.bitIndex) ? + "" : + searchState.loadDesc(result); + })); + for (const [i, result] of list.entries()) { + result.desc = descs[i]; + } + })); if (parsedQuery.error !== null && ret.others.length !== 0) { // It means some doc aliases were found so let's "remove" the error! ret.query.error = null; diff --git a/tests/rustdoc-js-std/alias-1.js b/tests/rustdoc-js-std/alias-1.js index b27b3da2179..c31d1a3b1ad 100644 --- a/tests/rustdoc-js-std/alias-1.js +++ b/tests/rustdoc-js-std/alias-1.js @@ -1,6 +1,10 @@ const EXPECTED = { 'query': '&', 'others': [ - { 'path': 'std', 'name': 'reference' }, + { + 'path': 'std', + 'name': 'reference', + 'desc': "References, <code>&T</code> and <code>&mut T</code>.", + }, ], }; |
