mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-30 20:44:34 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			345 lines
		
	
	
		
			8.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			345 lines
		
	
	
		
			8.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| const PARSED = [
 | |
|     {
 | |
|         query: '(((D, ()))',
 | |
|         elems: [],
 | |
|         foundElems: 0,
 | |
|         userQuery: '(((D, ()))',
 | |
|         returned: [],
 | |
|         error: 'Unclosed `(`',
 | |
|     },
 | |
|     {
 | |
|         query: '(((D, ())))',
 | |
|         elems: [
 | |
|             {
 | |
|                 name: "()",
 | |
|                 fullPath: ["()"],
 | |
|                 pathWithoutLast: [],
 | |
|                 pathLast: "()",
 | |
|                 generics: [
 | |
|                     {
 | |
|                         name: "D",
 | |
|                         fullPath: ["d"],
 | |
|                         pathWithoutLast: [],
 | |
|                         pathLast: "d",
 | |
|                         generics: [],
 | |
|                         typeFilter: -1,
 | |
|                     },
 | |
|                     {
 | |
|                         name: "()",
 | |
|                         fullPath: ["()"],
 | |
|                         pathWithoutLast: [],
 | |
|                         pathLast: "()",
 | |
|                         generics: [],
 | |
|                         typeFilter: 1,
 | |
|                     },
 | |
|                 ],
 | |
|                 typeFilter: 1,
 | |
|             }
 | |
|         ],
 | |
|         foundElems: 1,
 | |
|         userQuery: '(((D, ())))',
 | |
|         returned: [],
 | |
|         error: null,
 | |
|     },
 | |
|     {
 | |
|         query: '(),u8',
 | |
|         elems: [
 | |
|             {
 | |
|                 name: "()",
 | |
|                 fullPath: ["()"],
 | |
|                 pathWithoutLast: [],
 | |
|                 pathLast: "()",
 | |
|                 generics: [],
 | |
|                 typeFilter: 1,
 | |
|             },
 | |
|             {
 | |
|                 name: "u8",
 | |
|                 fullPath: ["u8"],
 | |
|                 pathWithoutLast: [],
 | |
|                 pathLast: "u8",
 | |
|                 generics: [],
 | |
|                 typeFilter: -1,
 | |
|             },
 | |
|         ],
 | |
|         foundElems: 2,
 | |
|         userQuery: "(),u8",
 | |
|         returned: [],
 | |
|         error: null,
 | |
|     },
 | |
|     // Parens act as grouping operators when:
 | |
|     // - there's no commas directly nested within
 | |
|     // - there's at least two child types (zero means unit)
 | |
|     // - it's not tagged with a type filter
 | |
|     // Otherwise, they represent unit and/or tuple. To search for
 | |
|     // unit or tuple specifically, use `primitive:unit` or `primitive:tuple<...>`.
 | |
|     {
 | |
|         query: '(u8)',
 | |
|         elems: [
 | |
|             {
 | |
|                 name: "u8",
 | |
|                 fullPath: ["u8"],
 | |
|                 pathWithoutLast: [],
 | |
|                 pathLast: "u8",
 | |
|                 generics: [],
 | |
|                 typeFilter: -1,
 | |
|             },
 | |
|         ],
 | |
|         foundElems: 1,
 | |
|         userQuery: "(u8)",
 | |
|         returned: [],
 | |
|         error: null,
 | |
|     },
 | |
|     {
 | |
|         query: '(u8,)',
 | |
|         elems: [
 | |
|             {
 | |
|                 name: "()",
 | |
|                 fullPath: ["()"],
 | |
|                 pathWithoutLast: [],
 | |
|                 pathLast: "()",
 | |
|                 generics: [
 | |
|                     {
 | |
|                         name: "u8",
 | |
|                         fullPath: ["u8"],
 | |
|                         pathWithoutLast: [],
 | |
|                         pathLast: "u8",
 | |
|                         generics: [],
 | |
|                         typeFilter: -1,
 | |
|                     },
 | |
|                 ],
 | |
|                 typeFilter: 1,
 | |
|             },
 | |
|         ],
 | |
|         foundElems: 1,
 | |
|         userQuery: "(u8,)",
 | |
|         returned: [],
 | |
|         error: null,
 | |
|     },
 | |
|     {
 | |
|         query: '(,u8)',
 | |
|         elems: [
 | |
|             {
 | |
|                 name: "()",
 | |
|                 fullPath: ["()"],
 | |
|                 pathWithoutLast: [],
 | |
|                 pathLast: "()",
 | |
|                 generics: [
 | |
|                     {
 | |
|                         name: "u8",
 | |
|                         fullPath: ["u8"],
 | |
|                         pathWithoutLast: [],
 | |
|                         pathLast: "u8",
 | |
|                         generics: [],
 | |
|                         typeFilter: -1,
 | |
|                     },
 | |
|                 ],
 | |
|                 typeFilter: 1,
 | |
|             },
 | |
|         ],
 | |
|         foundElems: 1,
 | |
|         userQuery: "(,u8)",
 | |
|         returned: [],
 | |
|         error: null,
 | |
|     },
 | |
|     {
 | |
|         query: 'primitive:(u8)',
 | |
|         elems: [
 | |
|             {
 | |
|                 name: "()",
 | |
|                 fullPath: ["()"],
 | |
|                 pathWithoutLast: [],
 | |
|                 pathLast: "()",
 | |
|                 generics: [
 | |
|                     {
 | |
|                         name: "u8",
 | |
|                         fullPath: ["u8"],
 | |
|                         pathWithoutLast: [],
 | |
|                         pathLast: "u8",
 | |
|                         generics: [],
 | |
|                         typeFilter: -1,
 | |
|                     },
 | |
|                 ],
 | |
|                 typeFilter: 1,
 | |
|             },
 | |
|         ],
 | |
|         foundElems: 1,
 | |
|         userQuery: "primitive:(u8)",
 | |
|         returned: [],
 | |
|         error: null,
 | |
|     },
 | |
|     {
 | |
|         query: '(primitive:u8)',
 | |
|         elems: [
 | |
|             {
 | |
|                 name: "u8",
 | |
|                 fullPath: ["u8"],
 | |
|                 pathWithoutLast: [],
 | |
|                 pathLast: "u8",
 | |
|                 generics: [],
 | |
|                 typeFilter: 1,
 | |
|             },
 | |
|         ],
 | |
|         foundElems: 1,
 | |
|         userQuery: "(primitive:u8)",
 | |
|         returned: [],
 | |
|         error: null,
 | |
|     },
 | |
|     {
 | |
|         query: '(u8,u8)',
 | |
|         elems: [
 | |
|             {
 | |
|                 name: "()",
 | |
|                 fullPath: ["()"],
 | |
|                 pathWithoutLast: [],
 | |
|                 pathLast: "()",
 | |
|                 generics: [
 | |
|                     {
 | |
|                         name: "u8",
 | |
|                         fullPath: ["u8"],
 | |
|                         pathWithoutLast: [],
 | |
|                         pathLast: "u8",
 | |
|                         generics: [],
 | |
|                         typeFilter: -1,
 | |
|                     },
 | |
|                     {
 | |
|                         name: "u8",
 | |
|                         fullPath: ["u8"],
 | |
|                         pathWithoutLast: [],
 | |
|                         pathLast: "u8",
 | |
|                         generics: [],
 | |
|                         typeFilter: -1,
 | |
|                     },
 | |
|                 ],
 | |
|                 typeFilter: 1,
 | |
|             },
 | |
|         ],
 | |
|         foundElems: 1,
 | |
|         userQuery: "(u8,u8)",
 | |
|         returned: [],
 | |
|         error: null,
 | |
|     },
 | |
|     {
 | |
|         query: '(u8<u8>)',
 | |
|         elems: [
 | |
|             {
 | |
|                 name: "u8",
 | |
|                 fullPath: ["u8"],
 | |
|                 pathWithoutLast: [],
 | |
|                 pathLast: "u8",
 | |
|                 generics: [
 | |
|                     {
 | |
|                         name: "u8",
 | |
|                         fullPath: ["u8"],
 | |
|                         pathWithoutLast: [],
 | |
|                         pathLast: "u8",
 | |
|                         generics: [],
 | |
|                         typeFilter: -1,
 | |
|                     },
 | |
|                 ],
 | |
|                 typeFilter: -1,
 | |
|             },
 | |
|         ],
 | |
|         foundElems: 1,
 | |
|         userQuery: "(u8<u8>)",
 | |
|         returned: [],
 | |
|         error: null,
 | |
|     },
 | |
|     {
 | |
|         query: '()',
 | |
|         elems: [
 | |
|             {
 | |
|                 name: "()",
 | |
|                 fullPath: ["()"],
 | |
|                 pathWithoutLast: [],
 | |
|                 pathLast: "()",
 | |
|                 generics: [],
 | |
|                 typeFilter: 1,
 | |
|             },
 | |
|         ],
 | |
|         foundElems: 1,
 | |
|         userQuery: "()",
 | |
|         returned: [],
 | |
|         error: null,
 | |
|     },
 | |
|     {
 | |
|         query: '(>',
 | |
|         elems: [],
 | |
|         foundElems: 0,
 | |
|         userQuery: "(>",
 | |
|         returned: [],
 | |
|         error: "Unexpected `>` after `(`",
 | |
|     },
 | |
|     {
 | |
|         query: '(<',
 | |
|         elems: [],
 | |
|         foundElems: 0,
 | |
|         userQuery: "(<",
 | |
|         returned: [],
 | |
|         error: "Found generics without a path",
 | |
|     },
 | |
|     {
 | |
|         query: '(a>',
 | |
|         elems: [],
 | |
|         foundElems: 0,
 | |
|         userQuery: "(a>",
 | |
|         returned: [],
 | |
|         error: "Unexpected `>` after `(`",
 | |
|     },
 | |
|     {
 | |
|         query: '(a<',
 | |
|         elems: [],
 | |
|         foundElems: 0,
 | |
|         userQuery: "(a<",
 | |
|         returned: [],
 | |
|         error: "Unclosed `<`",
 | |
|     },
 | |
|     {
 | |
|         query: '(a',
 | |
|         elems: [],
 | |
|         foundElems: 0,
 | |
|         userQuery: "(a",
 | |
|         returned: [],
 | |
|         error: "Unclosed `(`",
 | |
|     },
 | |
|     {
 | |
|         query: '(',
 | |
|         elems: [],
 | |
|         foundElems: 0,
 | |
|         userQuery: "(",
 | |
|         returned: [],
 | |
|         error: "Unclosed `(`",
 | |
|     },
 | |
|     {
 | |
|         query: ')',
 | |
|         elems: [],
 | |
|         foundElems: 0,
 | |
|         userQuery: ")",
 | |
|         returned: [],
 | |
|         error: "Unexpected `)`",
 | |
|     },
 | |
|     {
 | |
|         query: '(a<b>',
 | |
|         elems: [],
 | |
|         foundElems: 0,
 | |
|         userQuery: "(a<b>",
 | |
|         returned: [],
 | |
|         error: "Unclosed `(`",
 | |
|     },
 | |
|     {
 | |
|         query: 'a<b>)',
 | |
|         elems: [],
 | |
|         foundElems: 0,
 | |
|         userQuery: "a<b>)",
 | |
|         returned: [],
 | |
|         error: "Unexpected `)` after `>`",
 | |
|     },
 | |
|     {
 | |
|         query: 'macro:(u8)',
 | |
|         elems: [],
 | |
|         foundElems: 0,
 | |
|         userQuery: "macro:(u8)",
 | |
|         returned: [],
 | |
|         error: "Invalid search type: primitive `()` and `macro` both specified",
 | |
|     },
 | |
| ];
 | 
