diff options
| author | Michael Howell <michael@notriddle.com> | 2023-08-05 11:22:21 -0700 |
|---|---|---|
| committer | Michael Howell <michael@notriddle.com> | 2023-09-03 13:06:07 -0700 |
| commit | 89a4c7f552558c293b29437b4b79223786f1923d (patch) | |
| tree | a47303c3472f95d62667a2f4497530725c4f385d | |
| parent | b6bb06ca5d3a5edac2c72549101fd8f932f7bc04 (diff) | |
| download | rust-89a4c7f552558c293b29437b4b79223786f1923d.tar.gz rust-89a4c7f552558c293b29437b4b79223786f1923d.zip | |
rustdoc: bug fix for `-> option<t>`
| -rw-r--r-- | src/librustdoc/html/static/js/externs.js | 1 | ||||
| -rw-r--r-- | src/librustdoc/html/static/js/search.js | 5 | ||||
| -rw-r--r-- | tests/rustdoc-js-std/option-type-signatures.js | 6 |
3 files changed, 11 insertions, 1 deletions
diff --git a/src/librustdoc/html/static/js/externs.js b/src/librustdoc/html/static/js/externs.js index 9595aae4020..c7811b43d16 100644 --- a/src/librustdoc/html/static/js/externs.js +++ b/src/librustdoc/html/static/js/externs.js @@ -37,6 +37,7 @@ let ParserState; * args: Array<QueryElement>, * returned: Array<QueryElement>, * foundElems: number, + * totalElems: number, * literalSearch: boolean, * corrections: Array<{from: string, to: integer}>, * }} diff --git a/src/librustdoc/html/static/js/search.js b/src/librustdoc/html/static/js/search.js index 6301dd728af..fb478cbff3c 100644 --- a/src/librustdoc/html/static/js/search.js +++ b/src/librustdoc/html/static/js/search.js @@ -973,6 +973,8 @@ function initSearch(rawSearchIndex) { returned: [], // Total number of "top" elements (does not include generics). foundElems: 0, + // Total number of elements (includes generics). + totalElems: 0, literalSearch: false, error: null, correction: null, @@ -1074,6 +1076,7 @@ function initSearch(rawSearchIndex) { query.literalSearch = parserState.totalElems > 1; } query.foundElems = query.elems.length + query.returned.length; + query.totalElems = parserState.totalElems; return query; } @@ -1980,7 +1983,7 @@ function initSearch(rawSearchIndex) { } elem.id = match; } - if ((elem.id === null && parsedQuery.foundElems > 1 && elem.typeFilter === -1) + if ((elem.id === null && parsedQuery.totalElems > 1 && elem.typeFilter === -1) || elem.typeFilter === TY_GENERIC) { if (genericSymbols.has(elem.name)) { elem.id = genericSymbols.get(elem.name); diff --git a/tests/rustdoc-js-std/option-type-signatures.js b/tests/rustdoc-js-std/option-type-signatures.js index c5cd6b1d2ef..37bb3b14ab3 100644 --- a/tests/rustdoc-js-std/option-type-signatures.js +++ b/tests/rustdoc-js-std/option-type-signatures.js @@ -72,4 +72,10 @@ const EXPECTED = [ { 'path': 'std::option::Option', 'name': 'flatten' }, ], }, + { + 'query': 'option<t>', + 'returned': [ + { 'path': 'std::result::Result', 'name': 'ok' }, + ], + }, ]; |
