diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustdoc/html/static/js/search.js | 3 | ||||
| -rw-r--r-- | src/test/rustdoc-js-std/parser-errors.js | 10 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/librustdoc/html/static/js/search.js b/src/librustdoc/html/static/js/search.js index 8beb0768dcf..cb078b5134d 100644 --- a/src/librustdoc/html/static/js/search.js +++ b/src/librustdoc/html/static/js/search.js @@ -440,6 +440,9 @@ window.initSearch = function(rawSearchIndex) { // Get returned elements. getItemsBefore(query, parserState, query.returned, ""); // Nothing can come afterward! + if (query.returned.length === 0) { + throw new Error("Expected at least one item after `->`"); + } break; } else { parserState.pos += 1; diff --git a/src/test/rustdoc-js-std/parser-errors.js b/src/test/rustdoc-js-std/parser-errors.js index ae5145e8322..42d69ed3fe0 100644 --- a/src/test/rustdoc-js-std/parser-errors.js +++ b/src/test/rustdoc-js-std/parser-errors.js @@ -21,6 +21,7 @@ const QUERY = [ "a-bb", "a>bb", "ab'", + "a->", ]; const PARSED = [ @@ -222,4 +223,13 @@ const PARSED = [ userQuery: "ab'", error: "Unexpected `'`", }, + { + elems: [], + foundElems: 0, + original: "a->", + returned: [], + typeFilter: -1, + userQuery: "a->", + error: "Expected at least one item after `->`", + }, ]; |
