// exact-check const EXPECTED = [ // pinkie with explicit names { 'query': 'usize, usize -> ()', 'others': [ { 'path': 'reference', 'name': 'pinky' }, ], }, { 'query': 'reference, usize -> ()', 'others': [ { 'path': 'reference', 'name': 'pinky' }, ], }, { 'query': 'reference, reference -> ()', 'others': [], }, { 'query': 'reference, usize -> ()', 'others': [], }, // thumb with explicit names { 'query': 'thumb, thumb -> ()', 'others': [ { 'path': 'reference::Thumb', 'name': 'up' }, ], }, { 'query': 'reference, thumb -> ()', 'others': [ { 'path': 'reference::Thumb', 'name': 'up' }, ], }, { 'query': 'reference, reference -> ()', 'others': [], }, { 'query': 'reference, thumb -> ()', 'others': [], }, // index with explicit names { 'query': 'index, index -> ()', 'others': [ { 'path': 'reference::Index', 'name': 'point' }, ], }, { 'query': 'reference, index -> ()', 'others': [ { 'path': 'reference::Index', 'name': 'point' }, ], }, { 'query': 'reference, reference -> ()', 'others': [], }, { 'query': 'reference, index -> ()', 'others': [], }, // ring with explicit names { 'query': 'ring, ring -> ()', 'others': [ { 'path': 'reference::Ring', 'name': 'wear' }, ], }, { 'query': 'reference, ring -> ()', 'others': [ { 'path': 'reference::Ring', 'name': 'wear' }, ], }, { 'query': 'reference, reference -> ()', // can't leave out the `mut`, because can't reorder like that 'others': [], }, { 'query': 'reference, reference -> ()', 'others': [ { 'path': 'reference::Ring', 'name': 'wear' }, ], }, { 'query': 'reference, reference -> ()', 'others': [], }, // middle with explicit names { 'query': 'middle, middle -> ()', 'others': [ { 'path': 'reference', 'name': 'show' }, ], }, { 'query': 'reference, reference -> ()', // can't leave out the mut 'others': [], }, { 'query': 'reference, reference -> ()', 'others': [ { 'path': 'reference', 'name': 'show' }, ], }, { 'query': 'reference>, reference> -> ()', 'others': [ { 'path': 'reference', 'name': 'show' }, ], }, { 'query': 'reference>, reference> -> ()', 'others': [ { 'path': 'reference', 'name': 'show' }, ], }, { 'query': 'reference>, reference> -> ()', 'others': [], }, { 'query': 'reference>, reference> -> ()', 'others': [], }, // pinkie with shorthand { 'query': '&usize, usize -> ()', 'others': [ { 'path': 'reference', 'name': 'pinky' }, ], }, { 'query': '&usize, &usize -> ()', 'others': [], }, { 'query': '&mut usize, usize -> ()', 'others': [], }, // thumb with shorthand { 'query': '&thumb, thumb -> ()', 'others': [ { 'path': 'reference::Thumb', 'name': 'up' }, ], }, { 'query': '&thumb, &thumb -> ()', 'others': [], }, { 'query': '&mut thumb, thumb -> ()', 'others': [], }, // index with explicit names { 'query': '&index, index -> ()', 'others': [ { 'path': 'reference::Index', 'name': 'point' }, ], }, { 'query': '&index, &index -> ()', 'others': [], }, { 'query': '&mut index, index -> ()', 'others': [], }, // ring with shorthand { 'query': '&ring, ring -> ()', 'others': [ { 'path': 'reference::Ring', 'name': 'wear' }, ], }, { 'query': '&ring, ring -> ()', 'others': [ { 'path': 'reference::Ring', 'name': 'wear' }, ], }, { 'query': '&mut ring, &ring -> ()', 'others': [ { 'path': 'reference::Ring', 'name': 'wear' }, ], }, { 'query': '&mut ring, &mut ring -> ()', 'others': [], }, // middle with shorthand { 'query': '&middle, &middle -> ()', // can't leave out the mut 'others': [], }, { 'query': '&mut middle, &mut middle -> ()', 'others': [ { 'path': 'reference', 'name': 'show' }, ], }, { 'query': '&&mut middle, &mut &middle -> ()', 'others': [ { 'path': 'reference', 'name': 'show' }, ], }, { 'query': '&mut &middle, &&mut middle -> ()', 'others': [ { 'path': 'reference', 'name': 'show' }, ], }, { 'query': '&&mut middle, &&mut middle -> ()', 'others': [], }, { 'query': '&mut &middle, &mut &middle -> ()', 'others': [], }, ];