Use if_chain from crates.io
This commit is contained in:
parent
b2ff33fea6
commit
c849d9efdf
4 changed files with 8 additions and 27 deletions
maud_macros
|
@ -12,9 +12,9 @@ description = """
|
||||||
Compile-time HTML templates.
|
Compile-time HTML templates.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
[dependencies.maud]
|
[dependencies]
|
||||||
path = "../maud"
|
if_chain = "0.1"
|
||||||
version = "0.14.0"
|
maud = { path = "../maud", version = "0.14.0" }
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
name = "maud_macros"
|
name = "maud_macros"
|
||||||
|
|
|
@ -2,7 +2,10 @@
|
||||||
#![feature(plugin_registrar, quote)]
|
#![feature(plugin_registrar, quote)]
|
||||||
#![feature(slice_patterns)]
|
#![feature(slice_patterns)]
|
||||||
#![feature(rustc_private)]
|
#![feature(rustc_private)]
|
||||||
|
#![recursion_limit = "1000"] // if_chain
|
||||||
|
|
||||||
|
#[macro_use]
|
||||||
|
extern crate if_chain;
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
extern crate rustc;
|
extern crate rustc;
|
||||||
extern crate rustc_plugin;
|
extern crate rustc_plugin;
|
||||||
|
|
|
@ -31,7 +31,8 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for DoctypeHtml {
|
||||||
// ... and the callee is `maud::PreEscaped`
|
// ... and the callee is `maud::PreEscaped`
|
||||||
if let ExprPath(ref qpath) = path_expr.node;
|
if let ExprPath(ref qpath) = path_expr.node;
|
||||||
let def_id = cx.tcx.tables().qpath_def(qpath, path_expr.id).def_id();
|
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,
|
cx.struct_span_lint(MAUD_DOCTYPE_HTML, expr.span,
|
||||||
"use `maud::DOCTYPE_HTML` instead").emit();
|
"use `maud::DOCTYPE_HTML` instead").emit();
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,29 +7,6 @@ use rustc::lint::LateContext;
|
||||||
use rustc::ty;
|
use rustc::ty;
|
||||||
use syntax::symbol::{InternedString, Symbol};
|
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.
|
/// Check if a `DefId`'s path matches the given absolute type path usage.
|
||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
|
|
Loading…
Add table
Reference in a new issue