From e3031462c1e71f2e2364f02d8f169102e2750b43 Mon Sep 17 00:00:00 2001 From: Alexander Krotov Date: Mon, 16 Dec 2019 14:24:43 +0300 Subject: [PATCH] Replace expect() in select_with_uidvalidity with an Error --- src/imap/mod.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/imap/mod.rs b/src/imap/mod.rs index b685a663f..dd3ab6964 100644 --- a/src/imap/mod.rs +++ b/src/imap/mod.rs @@ -63,6 +63,9 @@ pub enum Error { #[fail(display = "IMAP select folder error")] SelectFolderError(#[cause] select_folder::Error), + #[fail(display = "No mailbox selected, folder: {:?}", _0)] + NoMailbox(String), + #[fail(display = "IMAP other error: {:?}", _0)] Other(String), } @@ -478,7 +481,10 @@ impl Imap { let (uid_validity, last_seen_uid) = self.get_config_last_seen_uid(context, &folder); let config = self.config.read().await; - let mailbox = config.selected_mailbox.as_ref().expect("just selected"); + let mailbox = config + .selected_mailbox + .as_ref() + .ok_or_else(|| Error::NoMailbox(folder.to_string()))?; let new_uid_validity = match mailbox.uid_validity { Some(v) => v,