db277f5284
This feature extends rustdoc to support the syntax that most users will naturally attempt to use to search for diverging functions. Part of #60485 It's already possible to do this search with `primitive:never`, but that's not what the Rust language itself uses, so nobody will try it if they aren't told or helped along.
390 lines
8.8 KiB
JavaScript
390 lines
8.8 KiB
JavaScript
const PARSED = [
|
|
{
|
|
query: '<P>',
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: "<P>",
|
|
returned: [],
|
|
userQuery: "<p>",
|
|
error: "Found generics without a path",
|
|
},
|
|
{
|
|
query: '-> <P>',
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: "-> <P>",
|
|
returned: [],
|
|
userQuery: "-> <p>",
|
|
error: "Found generics without a path",
|
|
},
|
|
{
|
|
query: 'a<"P">',
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: "a<\"P\">",
|
|
returned: [],
|
|
userQuery: "a<\"p\">",
|
|
error: "Unexpected `\"` in generics",
|
|
},
|
|
{
|
|
query: '"P" "P"',
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: "\"P\" \"P\"",
|
|
returned: [],
|
|
userQuery: "\"p\" \"p\"",
|
|
error: "Cannot have more than one literal search element",
|
|
},
|
|
{
|
|
query: 'P "P"',
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: "P \"P\"",
|
|
returned: [],
|
|
userQuery: "p \"p\"",
|
|
error: "Cannot use literal search when there is more than one element",
|
|
},
|
|
{
|
|
query: '"p" p',
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: "\"p\" p",
|
|
returned: [],
|
|
userQuery: "\"p\" p",
|
|
error: "You cannot have more than one element if you use quotes",
|
|
},
|
|
{
|
|
query: '"const": p',
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: "\"const\": p",
|
|
returned: [],
|
|
userQuery: "\"const\": p",
|
|
error: "You cannot use quotes on type filter",
|
|
},
|
|
{
|
|
query: "a<:a>",
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: "a<:a>",
|
|
returned: [],
|
|
userQuery: "a<:a>",
|
|
error: "Expected type filter before `:`",
|
|
},
|
|
{
|
|
query: "a<::a>",
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: "a<::a>",
|
|
returned: [],
|
|
userQuery: "a<::a>",
|
|
error: "Unexpected `::`: paths cannot start with `::`",
|
|
},
|
|
{
|
|
query: "((a))",
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: "((a))",
|
|
returned: [],
|
|
userQuery: "((a))",
|
|
error: "Unexpected `(`",
|
|
},
|
|
{
|
|
query: "(p -> p",
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: "(p -> p",
|
|
returned: [],
|
|
userQuery: "(p -> p",
|
|
error: "Unexpected `(`",
|
|
},
|
|
{
|
|
query: "::a::b",
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: "::a::b",
|
|
returned: [],
|
|
userQuery: "::a::b",
|
|
error: "Paths cannot start with `::`",
|
|
},
|
|
{
|
|
query: "a::::b",
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: "a::::b",
|
|
returned: [],
|
|
userQuery: "a::::b",
|
|
error: "Unexpected `::::`",
|
|
},
|
|
{
|
|
query: "a::b::",
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: "a::b::",
|
|
returned: [],
|
|
userQuery: "a::b::",
|
|
error: "Paths cannot end with `::`",
|
|
},
|
|
{
|
|
query: ":a",
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: ":a",
|
|
returned: [],
|
|
userQuery: ":a",
|
|
error: "Expected type filter before `:`",
|
|
},
|
|
{
|
|
query: "a b:",
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: "a b:",
|
|
returned: [],
|
|
userQuery: "a b:",
|
|
error: "Unexpected `:` (expected path after type filter)",
|
|
},
|
|
{
|
|
query: "a (b:",
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: "a (b:",
|
|
returned: [],
|
|
userQuery: "a (b:",
|
|
error: "Unexpected `(`",
|
|
},
|
|
{
|
|
query: "_:",
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: "_:",
|
|
returned: [],
|
|
userQuery: "_:",
|
|
error: "Unexpected `:` (expected path after type filter)",
|
|
},
|
|
{
|
|
query: "_:a",
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: "_:a",
|
|
returned: [],
|
|
userQuery: "_:a",
|
|
error: "Unknown type filter `_`",
|
|
},
|
|
{
|
|
query: "a-bb",
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: "a-bb",
|
|
returned: [],
|
|
userQuery: "a-bb",
|
|
error: "Unexpected `-` (did you mean `->`?)",
|
|
},
|
|
{
|
|
query: "a>bb",
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: "a>bb",
|
|
returned: [],
|
|
userQuery: "a>bb",
|
|
error: "Unexpected `>` (did you mean `->`?)",
|
|
},
|
|
{
|
|
query: "ab'",
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: "ab'",
|
|
returned: [],
|
|
userQuery: "ab'",
|
|
error: "Unexpected `'`",
|
|
},
|
|
{
|
|
query: "a->",
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: "a->",
|
|
returned: [],
|
|
userQuery: "a->",
|
|
error: "Expected at least one item after `->`",
|
|
},
|
|
{
|
|
query: '"p" <a>',
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: '"p" <a>',
|
|
returned: [],
|
|
userQuery: '"p" <a>',
|
|
error: "Found generics without a path",
|
|
},
|
|
{
|
|
query: '"p" a<a>',
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: '"p" a<a>',
|
|
returned: [],
|
|
userQuery: '"p" a<a>',
|
|
error: "You cannot have more than one element if you use quotes",
|
|
},
|
|
{
|
|
query: "a,<",
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: 'a,<',
|
|
returned: [],
|
|
userQuery: 'a,<',
|
|
error: 'Found generics without a path',
|
|
},
|
|
{
|
|
query: "aaaaa<>b",
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: 'aaaaa<>b',
|
|
returned: [],
|
|
userQuery: 'aaaaa<>b',
|
|
error: 'Expected `,`, ` `, `:` or `->`, found `b`',
|
|
},
|
|
{
|
|
query: "fn:aaaaa<>b",
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: 'fn:aaaaa<>b',
|
|
returned: [],
|
|
userQuery: 'fn:aaaaa<>b',
|
|
error: 'Expected `,`, ` `, `:` or `->`, found `b`',
|
|
},
|
|
{
|
|
query: "->a<>b",
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: '->a<>b',
|
|
returned: [],
|
|
userQuery: '->a<>b',
|
|
error: 'Expected `,` or ` `, found `b`',
|
|
},
|
|
{
|
|
query: "a<->",
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: 'a<->',
|
|
returned: [],
|
|
userQuery: 'a<->',
|
|
error: 'Unexpected `-` after `<`',
|
|
},
|
|
{
|
|
query: "a:: a",
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: 'a:: a',
|
|
returned: [],
|
|
userQuery: 'a:: a',
|
|
error: 'Paths cannot end with `::`',
|
|
},
|
|
{
|
|
query: "a ::a",
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: 'a ::a',
|
|
returned: [],
|
|
userQuery: 'a ::a',
|
|
error: 'Paths cannot start with `::`',
|
|
},
|
|
{
|
|
query: "a<a>:",
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: "a<a>:",
|
|
returned: [],
|
|
userQuery: "a<a>:",
|
|
error: 'Unexpected `<` in type filter',
|
|
},
|
|
{
|
|
query: "a<>:",
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: "a<>:",
|
|
returned: [],
|
|
userQuery: "a<>:",
|
|
error: 'Unexpected `<` in type filter',
|
|
},
|
|
{
|
|
query: "a,:",
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: "a,:",
|
|
returned: [],
|
|
userQuery: "a,:",
|
|
error: 'Unexpected `,` in type filter',
|
|
},
|
|
{
|
|
query: " a<> :",
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: "a<> :",
|
|
returned: [],
|
|
userQuery: "a<> :",
|
|
error: 'Unexpected `<` in type filter',
|
|
},
|
|
{
|
|
query: "mod : :",
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: "mod : :",
|
|
returned: [],
|
|
userQuery: "mod : :",
|
|
error: 'Unexpected `:`',
|
|
},
|
|
{
|
|
query: "a!a",
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: "a!a",
|
|
returned: [],
|
|
userQuery: "a!a",
|
|
error: 'Unexpected `!`: it can only be at the end of an ident',
|
|
},
|
|
{
|
|
query: "a!!",
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: "a!!",
|
|
returned: [],
|
|
userQuery: "a!!",
|
|
error: 'Cannot have more than one `!` in an ident',
|
|
},
|
|
{
|
|
query: "mod:a!",
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: "mod:a!",
|
|
returned: [],
|
|
userQuery: "mod:a!",
|
|
error: 'Invalid search type: macro `!` and `mod` both specified',
|
|
},
|
|
{
|
|
query: "mod:!",
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: "mod:!",
|
|
returned: [],
|
|
userQuery: "mod:!",
|
|
error: 'Invalid search type: primitive never type `!` and `mod` both specified',
|
|
},
|
|
{
|
|
query: "a!::a",
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: "a!::a",
|
|
returned: [],
|
|
userQuery: "a!::a",
|
|
error: 'Cannot have associated items in macros',
|
|
},
|
|
{
|
|
query: "a<",
|
|
elems: [],
|
|
foundElems: 0,
|
|
original: "a<",
|
|
returned: [],
|
|
userQuery: "a<",
|
|
error: "Unclosed `<`",
|
|
},
|
|
];
|