diff options
| author | Mica White <botahamec@outlook.com> | 2026-07-12 19:49:14 -0400 |
|---|---|---|
| committer | Mica White <botahamec@outlook.com> | 2026-07-12 19:49:14 -0400 |
| commit | 8399983fd45bc0f11eac9def280c0833ffb93c04 (patch) | |
| tree | f84173ca30a3c62db7abb92a0d869ff5d5199c51 /src/diagnostics/stray_equal_sign.rs | |
Diffstat (limited to 'src/diagnostics/stray_equal_sign.rs')
| -rw-r--r-- | src/diagnostics/stray_equal_sign.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/diagnostics/stray_equal_sign.rs b/src/diagnostics/stray_equal_sign.rs new file mode 100644 index 0000000..29674da --- /dev/null +++ b/src/diagnostics/stray_equal_sign.rs @@ -0,0 +1,22 @@ +use miette::Diagnostic; +use thiserror::Error; + +use crate::{diagnostics::AstDiagnostic, parse::Attribute, tokenize::Span}; + +#[derive(Error, Debug, Diagnostic)] +#[error("Stray equal sign found not attached to any attributes")] +#[diagnostic(code(StrayEqualSign), severity(Error))] +pub struct StrayEqualSign { + #[label(primary, "An equal sign is not a valid attribute")] + token: Span, +} + +impl AstDiagnostic for StrayEqualSign { + fn handle_attribute(attribute: &crate::parse::Attribute<'_>) -> Option<Self> { + let Attribute::StrayEqualSign(token) = attribute else { + return None; + }; + + Some(Self { token: token.span }) + } +} |
