From 15c26e549b53b2f94ad2d90e19bfa62c427ebed8 Mon Sep 17 00:00:00 2001 From: Justus Winter Date: Tue, 7 Jan 2020 11:32:47 +0100 Subject: openpgp: Mark enum MessageParserError non-exhaustive. - See #405. --- openpgp/src/message/mod.rs | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'openpgp/src/message/mod.rs') diff --git a/openpgp/src/message/mod.rs b/openpgp/src/message/mod.rs index 0839d482..5e1c2fba 100644 --- a/openpgp/src/message/mod.rs +++ b/openpgp/src/message/mod.rs @@ -36,12 +36,19 @@ use lalrpop_util::ParseError; use self::grammar::MessageParser; /// Errors that MessageValidator::check may return. +/// +/// Note: This enum cannot be exhaustively matched to allow future +/// extensions. #[derive(Debug, Clone)] pub enum MessageParserError { /// A parser error. Parser(ParseError), /// An OpenPGP error. OpenPGP(Error), + + /// This marks this enum as non-exhaustive. Do not use this + /// variant. + #[doc(hidden)] __Nonexhaustive, } impl From for failure::Error { @@ -49,6 +56,7 @@ impl From for failure::Error { match err { MessageParserError::Parser(p) => p.into(), MessageParserError::OpenPGP(p) => p.into(), + MessageParserError::__Nonexhaustive => unreachable!(), } } } -- cgit v1.2.3