Change:
sqlx was updated yesterday. and its search is now broken. compare: with:
Firefox prints those errors: with label -needs-triage +T-rustdoc +A-rustdoc-search +regression-untriaged cc

Discussion:
if (mgens && mgens.has(fnType.id) && mgens.get(fnType.id) !== 0) { return false; } <ins> // Where clauses can represent cyclical data. // `null` prevents it from trying to unbox in an infinite loop const mgensTmp = new Map(mgens); mgensTmp.set(fnType.id, null); </ins> // This is only a potential unbox if the search query appears in the where clause // for example, searching `Read -> usize` should find // `fn read_all<R: Read>(R) -> Result<usize>` // generic `R` is considered "unboxed" <del> return checkIfInList(whereClause[(-fnType.id) - 1], queryElem, whereClause); </del> <ins> return checkIfInList( whereClause[(-fnType.id) - 1], queryElem, whereClause, mgensTmp ); </ins> } else if (fnType.generics.length > 0 || fnType.bindings.size > 0) { const simplifiedGenerics = [ ...fnType.generics, ...Array.from(fnType.bindings.values()).flat(), ]; <del> return checkIfInList(simplifiedGenerics, queryElem, whereClause); </del> <ins> return checkIfInList(simplifiedGenerics, queryElem, whereClause, mgens); </ins> } return false; }

* @param {Array<FunctionType>} list * @param {QueryElement} elem          - The element from the parsed query. * @param {[FunctionType]} whereClause - Trait bounds for generic items. <ins> * @param {Map<number,number>|null} mgens - Map functions generics to query generics. </ins> * * @return {boolean} - Returns true if found, false otherwise. */ <del> function checkIfInList(list, elem, whereClause) { </del> <ins> function checkIfInList(list, elem, whereClause, mgens) { </ins> for (const entry of list) { <del> if (checkType(entry, elem, whereClause)) { </del> <ins> if (checkType(entry, elem, whereClause, mgens)) { </ins> return true; } }

* @param {Row} row * @param {QueryElement} elem          - The element from the parsed query. * @param {[FunctionType]} whereClause - Trait bounds for generic items. <ins> * @param {Map<number,number>|null} mgens - Map functions generics to query generics. </ins> * * @return {boolean} - Returns true if the type matches, false otherwise. */ <del> function checkType(row, elem, whereClause) { </del> <ins> function checkType(row, elem, whereClause, mgens) { </ins> if (row.bindings.size === 0 && elem.bindings.size === 0) { if (elem.id < 0) { <del> return row.id < 0 || checkIfInList(row.generics, elem, whereClause); </del> <ins> return row.id < 0 || checkIfInList(row.generics, elem, whereClause, mgens); </ins> } if (row.id > 0 && elem.id > 0 && elem.pathWithoutLast.length === 0 && typePassesFilter(elem.typeFilter, row.ty) && elem.generics.length === 0 && // special case elem.id !== typeNameIdOfArrayOrSlice ) { <del> return row.id === elem.id || checkIfInList(row.generics, elem, whereClause); </del> <ins> return row.id === elem.id || checkIfInList( row.generics, elem, whereClause, mgens ); </ins> } } <del> return unifyFunctionTypes([row], [elem], whereClause); </del> <ins> return unifyFunctionTypes([row], [elem], whereClause, mgens); </ins> } function checkPath(contains, ty, maxEditDistance) {

<ins> // Crash reduction of // https://github.com/rust-lang/rust/issues/118242 const EXPECTED = [ { 'query': 't', 'correction': null, }, ]; </ins>

<ins> #![crate_name="foo"] // reduced from sqlx 0.7.3 use std::future::Future; use std::pin::Pin; use std::ops::{Deref, DerefMut}; pub enum Error {} pub trait Acquire<'c> { type Database: Database; type Connection: Deref<Target = <Self::Database as Database>::Connection> + DerefMut + Send; } pub trait Database { type Connection: Connection<Database = Self>; } pub trait Connection { type Database: Database; type Options: ConnectionOptions<Connection = Self>; fn begin( &mut self ) -> Pin<Box<dyn Future<Output = Result<Transaction<'_, Self::Database>, Error>> + Send + '_>> where Self: Sized; } pub trait ConnectionOptions { type Connection: Connection; } pub struct Transaction<'c, DB: Database> { _db: &'c DB, } impl<'t, 'c, DB: Database> Acquire<'t> for &'t mut Transaction<'c, DB> where <DB as Database>::Connection: Send { type Database = DB; type Connection = &'t mut <DB as Database>::Connection; } </ins>