diff options
| author | Guillaume Gomez <guillaume.gomez@huawei.com> | 2022-03-28 15:08:47 +0200 |
|---|---|---|
| committer | Guillaume Gomez <guillaume.gomez@huawei.com> | 2022-04-18 20:59:09 +0200 |
| commit | 1f5c4c2b306689347d12627bae9895624ee8eae1 (patch) | |
| tree | 1fc36a9fd648f543cab59aaadcebaa3ceb85a983 | |
| parent | 8e29ed43d9943b2cf705e3511e54ba01d2feaa93 (diff) | |
| download | rust-1f5c4c2b306689347d12627bae9895624ee8eae1.tar.gz rust-1f5c4c2b306689347d12627bae9895624ee8eae1.zip | |
Forbid rustdoc search query to end with ->
| -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 `->`", + }, ]; |
