diff options
author | Greg Brown <gmb60@cam.ac.uk> | 2021-01-14 11:42:55 +0000 |
---|---|---|
committer | Greg Brown <gmb60@cam.ac.uk> | 2021-01-14 11:42:55 +0000 |
commit | aac3549a72663c523a456b2f5d7c3b77f509cdd6 (patch) | |
tree | 562824f3cfa5feca791715c733f7749197bb7e7a /src/chomp/ast/error.rs | |
parent | 0d01692c97ea8ca6fc4b229e5b9678cb252bceda (diff) |
Add labelled expressions.
Restructure project (again).
Convert `Cat` and `Alt` from binary to n+2-ary.
Diffstat (limited to 'src/chomp/ast/error.rs')
-rw-r--r-- | src/chomp/ast/error.rs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/chomp/ast/error.rs b/src/chomp/ast/error.rs new file mode 100644 index 0000000..d2c49cd --- /dev/null +++ b/src/chomp/ast/error.rs @@ -0,0 +1,27 @@ +use std::{error::Error, fmt::{self, Display}}; + +use proc_macro2::Span; + +use crate::chomp::Name; + +use super::{Call, Parameter}; + +#[derive(Debug)] +pub enum SubstituteError { + FreeParameter { param: Parameter, span: Option<Span>, name: Option<Name> }, + WrongArgCount { call: Call, expected: usize, span: Option<Span> }, +} + +impl From<SubstituteError> for syn::Error { + fn from(e: SubstituteError) -> Self { + todo!() + } +} + +impl Display for SubstituteError { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + todo!() + } +} + +impl Error for SubstituteError {} |