想使此函数成为泛型函数,但在指定参数T的边界时遇到问题
错误:1)“在此作用域中找不到类型DB
在此作用域中找不到”
我不知道我是否应该包括::bind
。我从铁 rust 分析仪那里得到的
pub async fn set_db_value<
'q,
T: std::marker::Sync
+ std::marker::Send
+ sqlx::query::Query<'q, DB, <DB as HasArguments<'q>>::Arguments>::bind,
>(
key: &str,
b: T,
) {
let statement = format!("update preferences set {} = $1 where key = 'p'", &key);
sqlx::query(&statement)
.bind(&b)
.execute(&pg)
.await
.unwrap();
}
1条答案
按热度按时间gr8qqesn1#
假设
pg
是sqlx::Pool<sqlx::Postgres>
类型,以下是正确的边界: