error[E0478]: lifetime bound not satisfied --> $DIR/issue-91883.rs:30:24 | LL | type Cursor<'tx>: Cursor<'tx> | ----------------------------- definition of `Cursor` from trait ... LL | type Cursor<'tx> = CursorImpl<'tx>; | ^^^^^^^^^^^^^^^ | note: lifetime parameter instantiated with the lifetime `'db` as defined here --> $DIR/issue-91883.rs:29:6 | LL | impl<'db> Transaction<'db> for TransactionImpl<'db> { | ^^^ note: but lifetime parameter must outlive the lifetime `'tx` as defined here --> $DIR/issue-91883.rs:30:17 | LL | type Cursor<'tx> = CursorImpl<'tx>; | ^^^ help: copy the `where` clause predicates from the trait | LL | type Cursor<'tx> = CursorImpl<'tx> where 'db: 'tx, Self: 'tx; | +++++++++++++++++++++++++ error: aborting due to previous error For more information about this error, try `rustc --explain E0478`.