diff --git a/maud_macros/Cargo.toml b/maud_macros/Cargo.toml index 87b6082..075328b 100644 --- a/maud_macros/Cargo.toml +++ b/maud_macros/Cargo.toml @@ -12,9 +12,9 @@ description = """ Compile-time HTML templates. """ -[dependencies.maud] -path = "../maud" -version = "0.14.0" +[dependencies] +if_chain = "0.1" +maud = { path = "../maud", version = "0.14.0" } [lib] name = "maud_macros" diff --git a/maud_macros/src/lib.rs b/maud_macros/src/lib.rs index 6db3dc5..1bc6d75 100644 --- a/maud_macros/src/lib.rs +++ b/maud_macros/src/lib.rs @@ -2,7 +2,10 @@ #![feature(plugin_registrar, quote)] #![feature(slice_patterns)] #![feature(rustc_private)] +#![recursion_limit = "1000"] // if_chain +#[macro_use] +extern crate if_chain; #[macro_use] extern crate rustc; extern crate rustc_plugin; diff --git a/maud_macros/src/lints/doctype_html.rs b/maud_macros/src/lints/doctype_html.rs index 3e1f5b3..20c1874 100644 --- a/maud_macros/src/lints/doctype_html.rs +++ b/maud_macros/src/lints/doctype_html.rs @@ -31,7 +31,8 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for DoctypeHtml { // ... and the callee is `maud::PreEscaped` if let ExprPath(ref qpath) = path_expr.node; let def_id = cx.tcx.tables().qpath_def(qpath, path_expr.id).def_id(); - if match_def_path(cx, def_id, &["maud", "PreEscaped", "{{constructor}}"]) { + if match_def_path(cx, def_id, &["maud", "PreEscaped", "{{constructor}}"]); + then { cx.struct_span_lint(MAUD_DOCTYPE_HTML, expr.span, "use `maud::DOCTYPE_HTML` instead").emit(); } diff --git a/maud_macros/src/lints/util.rs b/maud_macros/src/lints/util.rs index dd11dca..9877b30 100644 --- a/maud_macros/src/lints/util.rs +++ b/maud_macros/src/lints/util.rs @@ -7,29 +7,6 @@ use rustc::lint::LateContext; use rustc::ty; use syntax::symbol::{InternedString, Symbol}; -#[macro_export] -macro_rules! if_chain { - (let $pat:pat = $expr:expr; $($tt:tt)+) => { - { - let $pat = $expr; - if_chain! { $($tt)+ } - } - }; - (if let $pat:pat = $expr:expr; $($tt:tt)+) => { - if let $pat = $expr { - if_chain! { $($tt)+ } - } - }; - (if $expr:expr; $($tt:tt)+) => { - if $expr { - if_chain! { $($tt)+ } - } - }; - ($expr:expr) => { - $expr - }; -} - /// Check if a `DefId`'s path matches the given absolute type path usage. /// /// # Examples