diff options
Diffstat (limited to 'src/errors.rs')
-rw-r--r-- | src/errors.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/errors.rs b/src/errors.rs index 4fc2144..ddc6a1a 100644 --- a/src/errors.rs +++ b/src/errors.rs @@ -1,8 +1,18 @@ pub struct PatternError; +/// Error type returned by the matcher. #[derive(Clone)] pub enum MatchError { + /// Returned if the pattern nests too deeply. StackOverflow, + /// Returned if the pattern rejects the input. ValidationError, + /// Returned if the pattern attempts an unsupported operation. + /// + /// In particular, if the PatternTypes doesn't support get or pairs for a + /// given value, this error will be returned. It can be treated as a + /// ValidationError, or as a bug in the pattern, at the user's discretion. + UnsupportedOperation, + /// Returned if an unspecified non-critical error occurred. Other } |