【发布时间】:2023-03-15 14:49:01
【问题描述】:
我有以下代码:
let mut v2: Value;
let mut ts = v["response"]["ts"].as_str().unwrap();
...
loop {
v2 = longpoll_question(server.clone(),ts,key.clone());
if v2["ts"].as_str() == None {
continue;
}
ts = v2["ts"].as_str().unwrap();
...
}
在这里,我从服务器获取 JSON 格式的响应,然后从中检索下一个对服务器的请求所需的“ts”值。有时服务器返回的值是“None”(可能是网络问题或远程 API 问题),这会导致崩溃,所以我决定在展开之前检查该值是否为 None。然而,这拒绝用E0506 编译,我不知道为什么。你能解释一下吗?
【问题讨论】:
-
请向我们展示完整的错误信息,最好是重现问题的代码。根据给出的信息,这很难回答。
-
我们没有足够的信息。
v是什么?Value的类型是什么?价值在哪里下降,下降后的用途在哪里? IMO,解决方案是将v2的内容的所有权授予ts,但我没有足够的信息来确定这是一个好的解决方案
标签: rust compiler-errors borrow-checker