| // exact-check |
| |
| const EXPECTED = [ |
| // if I just use generics, then the generics version |
| // and the type binding version both show up |
| { |
| 'query': 'iterator<something> -> u32', |
| 'correction': null, |
| 'others': [ |
| { |
| 'path': 'assoc_type::my', |
| 'name': 'other_fn', |
| 'displayType': 'X -> `u32`', |
| 'displayMappedNames': '', |
| 'displayWhereClause': 'X: `Iterator`<`Something`>', |
| }, |
| { |
| 'path': 'assoc_type', |
| 'name': 'my_fn', |
| 'displayType': 'X -> `u32`', |
| 'displayMappedNames': '', |
| 'displayWhereClause': 'X: `Iterator`<Item=`Something`>', |
| }, |
| ], |
| }, |
| { |
| 'query': 'iterator<something>', |
| 'correction': null, |
| 'in_args': [ |
| { |
| 'path': 'assoc_type::my', |
| 'name': 'other_fn', |
| 'displayType': 'X -> u32', |
| 'displayMappedNames': '', |
| 'displayWhereClause': 'X: `Iterator`<`Something`>', |
| }, |
| { |
| 'path': 'assoc_type', |
| 'name': 'my_fn', |
| 'displayType': 'X -> u32', |
| 'displayMappedNames': '', |
| 'displayWhereClause': 'X: `Iterator`<Item=`Something`>', |
| }, |
| ], |
| }, |
| { |
| 'query': 'something', |
| 'correction': null, |
| 'others': [ |
| { 'path': 'assoc_type', 'name': 'Something' }, |
| ], |
| 'in_args': [ |
| { |
| 'path': 'assoc_type::my', |
| 'name': 'other_fn', |
| 'displayType': '`X` -> u32', |
| 'displayMappedNames': '', |
| 'displayWhereClause': 'X: Iterator<`Something`>', |
| }, |
| { |
| 'path': 'assoc_type', |
| 'name': 'my_fn', |
| 'displayType': '`X` -> u32', |
| 'displayMappedNames': '', |
| 'displayWhereClause': 'X: Iterator<Item=`Something`>', |
| }, |
| ], |
| }, |
| // if I write an explicit binding, only it shows up |
| { |
| 'query': 'iterator<item=something> -> u32', |
| 'correction': null, |
| 'others': [ |
| { 'path': 'assoc_type', 'name': 'my_fn' }, |
| ], |
| }, |
| // case insensitivity |
| { |
| 'query': 'iterator<ItEm=sOmEtHiNg> -> u32', |
| 'correction': null, |
| 'others': [ |
| { 'path': 'assoc_type', 'name': 'my_fn' }, |
| ], |
| }, |
| // wrong binding name, no result |
| { |
| 'query': 'iterator<something=something> -> u32', |
| 'correction': null, |
| 'in_args': [], |
| 'others': [], |
| }, |
| ]; |