summary refs log tree commit diff stats
path: root/src/errors.rs
diff options
context:
space:
mode:
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
 }