async fn await_auth_or_surface_exit<F, T>(
auth: F,
shutdown_rx: &mut Receiver<bool>,
surface_tasks: &mut SurfaceTasks,
) -> Result<T>where
F: Future<Output = Result<T>>,async fn await_auth_or_surface_exit<F, T>(
auth: F,
shutdown_rx: &mut Receiver<bool>,
surface_tasks: &mut SurfaceTasks,
) -> Result<T>where
F: Future<Output = Result<T>>,