From f6c9e2572278ff3998fcc426b8a097e3f743f3cb Mon Sep 17 00:00:00 2001
From: Chris Wong <lambda.fairy@gmail.com>
Date: Sat, 7 Oct 2017 14:45:06 +1300
Subject: [PATCH] Enable lints on tests and extras; fix `maud_doctype` lint not
 firing

---
 maud/Cargo.toml                  | 3 +++
 maud/tests/basic_syntax.rs       | 3 +++
 maud/tests/control_structures.rs | 6 +++++-
 maud/tests/misc.rs               | 3 +++
 maud/tests/splices.rs            | 3 +++
 maud_extras/Cargo.toml           | 1 +
 maud_extras/lib.rs               | 3 +++
 maud_lints/src/doctype.rs        | 2 +-
 8 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/maud/Cargo.toml b/maud/Cargo.toml
index 15d1c1b..3b95015 100644
--- a/maud/Cargo.toml
+++ b/maud/Cargo.toml
@@ -18,6 +18,9 @@ maud_macros = { version = "0.17.1", path = "../maud_macros" }
 iron = { version = "0.5.1", optional = true }
 rocket = { version = "0.3", optional = true }
 
+[dev-dependencies]
+maud_lints = { path = "../maud_lints" }
+
 [badges]
 travis-ci = { repository = "lfairy/maud" }
 
diff --git a/maud/tests/basic_syntax.rs b/maud/tests/basic_syntax.rs
index a8ee0f6..177fe23 100644
--- a/maud/tests/basic_syntax.rs
+++ b/maud/tests/basic_syntax.rs
@@ -1,5 +1,8 @@
+#![feature(plugin)]
 #![feature(proc_macro)]
 
+#![plugin(maud_lints)]
+
 extern crate maud;
 
 use maud::{Markup, html};
diff --git a/maud/tests/control_structures.rs b/maud/tests/control_structures.rs
index a59cebc..7719354 100644
--- a/maud/tests/control_structures.rs
+++ b/maud/tests/control_structures.rs
@@ -1,4 +1,8 @@
-#![feature(conservative_impl_trait, proc_macro)]
+#![feature(conservative_impl_trait)]
+#![feature(plugin)]
+#![feature(proc_macro)]
+
+#![plugin(maud_lints)]
 
 extern crate maud;
 
diff --git a/maud/tests/misc.rs b/maud/tests/misc.rs
index a6de780..e6800e0 100644
--- a/maud/tests/misc.rs
+++ b/maud/tests/misc.rs
@@ -1,5 +1,8 @@
+#![feature(plugin)]
 #![feature(proc_macro)]
 
+#![plugin(maud_lints)]
+
 extern crate maud;
 
 use maud::html;
diff --git a/maud/tests/splices.rs b/maud/tests/splices.rs
index 4a221f0..7cf1517 100644
--- a/maud/tests/splices.rs
+++ b/maud/tests/splices.rs
@@ -1,5 +1,8 @@
+#![feature(plugin)]
 #![feature(proc_macro)]
 
+#![plugin(maud_lints)]
+
 extern crate maud;
 
 use maud::html;
diff --git a/maud_extras/Cargo.toml b/maud_extras/Cargo.toml
index a733309..ffd0b40 100644
--- a/maud_extras/Cargo.toml
+++ b/maud_extras/Cargo.toml
@@ -10,6 +10,7 @@ description = "Extra bits and pieces for use in Maud templates."
 
 [dependencies]
 maud = { path = "../maud", features = ["iron"] }
+maud_lints = { path = "../maud_lints" }
 
 [lib]
 path = "lib.rs"
diff --git a/maud_extras/lib.rs b/maud_extras/lib.rs
index cf2fb5e..8aab4d3 100644
--- a/maud_extras/lib.rs
+++ b/maud_extras/lib.rs
@@ -1,5 +1,8 @@
+#![feature(plugin)]
 #![feature(proc_macro)]
 
+#![plugin(maud_lints)]
+
 extern crate maud;
 
 use maud::{Markup, Render, html};
diff --git a/maud_lints/src/doctype.rs b/maud_lints/src/doctype.rs
index 82f12fc..3ccdea7 100644
--- a/maud_lints/src/doctype.rs
+++ b/maud_lints/src/doctype.rs
@@ -31,7 +31,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Doctype {
             // ... and the callee is `maud::PreEscaped`
             if let ExprPath(ref qpath) = path_expr.node;
             let def_id = cx.tables.qpath_def(qpath, path_expr.hir_id).def_id();
-            if match_def_path(cx, def_id, &["maud", "PreEscaped", "{{constructor}}"]);
+            if match_def_path(cx, def_id, &["maud", "PreEscaped"]);
             then {
                 cx.struct_span_lint(MAUD_DOCTYPE, expr.span,
                                     "use `maud::DOCTYPE` instead").emit();