// TODO: don't use String error messages, pass relevant data
//! Contains the error-reporting enum for mesher.
/// Every possible way a [`Mesher`](../struct.Mesher.html) can fail to do something.
///
/// Generally split into two categories, mesher and transport errors.
/// The transports can error out in any stage of their lifetime except dropping: setup, sending, listening, or receiving.
///
/// This enum is `#[non_exhaustive]` because future releases are all but guaranteed to add more specific, and therefore more helpful, error states.
/// A `Result` alias with [`MesherFail`](enum.MesherFail.html) as the Err type to make some code a little less repetitive.
pub type Result<TOk> = Result;