【发布时间】:2018-09-09 22:28:18
【问题描述】:
我有以下方法来检查String ID 是否存在。如果没有,生成然后返回它:
fn generate_id(&self) -> ID<'m> {
let id = nanoid::generate(15);
while self[&id].is_some() {
id = nanoid::generate(15);
};
id
}
ID 是一个类型别名:type ID<'id> = &'id String;
返回值必须是&'m std::string::String,但id是std::string::String。
我已经尝试过:
let id: ID<'m> = nanoid::generate(15);
但它给出的错误与该方法仅针对id 给出的错误相同。
【问题讨论】:
-
请提供minimal reproducible example。我们不知道
nanoid::generate的签名是什么,也不知道self[]的实现对于呈现的代码是什么。