//@ check-pass // Regression test for #112832. pub trait QueryDb { type Db; } pub struct QueryTable { db: DB, storage: Q, } // We normalize `::Db` to `>::SendDb` // using the where-bound. 'd is an unconstrained region variable which previously // triggered an assert. impl QueryTable::Db> where Q: for<'d> AsyncQueryFunction<'d> {} pub trait AsyncQueryFunction<'d>: QueryDb>::SendDb> { type SendDb: 'd; } pub trait QueryStorageOpsAsync where Q: for<'d> AsyncQueryFunction<'d>, { } fn main() {}