summary refs log tree commit diff stats
path: root/src/errors.rs
diff options
context:
space:
mode:
authorSoniEx2 <endermoneymod@gmail.com>2021-01-13 11:20:21 -0300
committerSoniEx2 <endermoneymod@gmail.com>2021-01-13 11:20:21 -0300
commitd26db33422b720822b9b24b99ddadc3ffd36d752 (patch)
tree4e43c3bfb1a20f7c8828bdf5c7bcd9b87c81729c /src/errors.rs
parentbcdba3431c72cd0804d9a95972a907b828fb5fad (diff)
Finalize Holder design (hopefully)
Diffstat (limited to 'src/errors.rs')
-rw-r--r--src/errors.rs10
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
 }