Remove unwraps in alloc error handler
diff --git a/src/lang_items.rs b/src/lang_items.rs index 1d61e4c..197de47 100644 --- a/src/lang_items.rs +++ b/src/lang_items.rs
@@ -47,18 +47,22 @@ // Flash all LEDs (if available). executor::block_on(async { - let context = timer::DriverContext::create().ok().unwrap(); - let mut driver = context.create_timer_driver_unsafe(); - let timer_driver = driver.activate().ok().unwrap(); + let context = timer::DriverContext::create().ok(); + let mut driver = context.as_ref().map(|c| c.create_timer_driver_unsafe()); + let timer_driver = driver.as_mut().and_then(|d| d.activate().ok()); loop { for led in led::all() { let _ = led.on(); } - let _ = timer_driver.sleep(Duration::from_ms(100)).await; + if let Some(ref timer_driver) = timer_driver { + let _ = timer_driver.sleep(Duration::from_ms(100)).await; + } for led in led::all() { let _ = led.off(); } - let _ = timer_driver.sleep(Duration::from_ms(100)).await; + if let Some(ref timer_driver) = timer_driver { + let _ = timer_driver.sleep(Duration::from_ms(100)).await; + } } }); // Never type is not supported for T in Future