diff options
author | SoniEx2 <endermoneymod@gmail.com> | 2021-01-13 11:20:21 -0300 |
---|---|---|
committer | SoniEx2 <endermoneymod@gmail.com> | 2021-01-13 11:20:21 -0300 |
commit | d26db33422b720822b9b24b99ddadc3ffd36d752 (patch) | |
tree | 4e43c3bfb1a20f7c8828bdf5c7bcd9b87c81729c /src/errors.rs | |
parent | bcdba3431c72cd0804d9a95972a907b828fb5fad (diff) |
Finalize Holder design (hopefully)
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 } |