blob: 46565f61ca9a4b01de90b15c719af21dedbe22a8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
// edition:2021
type TranslateFn = Box<dyn Fn(String, String) -> String>;
pub struct DeviceCluster {
devices: Vec<Device>,
}
impl DeviceCluster {
pub async fn do_something(&mut self) -> Result<String, Box<dyn std::error::Error>> {
let mut last_error: Box<dyn std::error::Error>;
for device in &mut self.devices {
match device.do_something().await {
Ok(info) => {
return Ok(info);
}
Err(e) => {}
}
}
Err(last_error)
//~^ ERROR used binding `last_error` isn't initialized
}
}
pub struct Device {
translate_fn: Option<TranslateFn>,
}
impl Device {
pub async fn do_something(&mut self) -> Result<String, Box<dyn std::error::Error>> {
Ok(String::from(""))
}
}
fn main() {}
|