了解 sqlx FromRow 宏扩展中的 where 子句

Understanding the where clause in sqlx FromRow Macro Expansion

我不明白下面代码中的第 3 行。它是 sqlx 中 FromRow 特征的宏扩展。我通过那个'a表示一辈子?似乎在这个扩展中它被视为一种类型并受到约束?这行是什么意思?

       impl<'a, R: ::sqlx::Row> ::sqlx::FromRow<'a, R> for LitRel
         where
         &'a ::std::primitive::str: ::sqlx::ColumnIndex<R>, //<--- ?
         String: ::sqlx::decode::Decode<'a, R::Database>,
         String: ::sqlx::types::Type<R::Database>,

在我看来&'a ::std::primitive::str一起是一个类型,字符串切片,'a是它的生命周期。