Make imap panic free
qsdgy opened this issue · comments
qsdgy commented
There's a lot of pain in dealing with panic from lib, especially working with background services.
At least I'd like to remove panics came across with tag asserts (#229 #211).
How about turn assert_eq!(tag.as_bytes(), match_tag.as_bytes());
to a new imap::error::Error variant Fatal(FatalError)
with some fatal error flag like FatalErrorOccurred: bool
, and check FatalErrorOccurred
flag before any run_command()
?
FatalError
could be like this:
enum FatalError{
TagBroken,
Other,
}