diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3669b70..3b73510 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,8 @@
 ## [Unreleased]
 
 - [Fixed] Allow braces in the boolean expression for a toggled class
+- [Fixed] Update to rustc 1.21.0-nightly (f25c2283b 2017-08-15)
+  [#99](https://github.com/lfairy/maud/issues/99)
 
 ## [0.17.1] - 2017-08-11
 
diff --git a/maud_lints/src/doctype.rs b/maud_lints/src/doctype.rs
index e61ccb0..82f12fc 100644
--- a/maud_lints/src/doctype.rs
+++ b/maud_lints/src/doctype.rs
@@ -30,7 +30,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Doctype {
             if s.as_str().eq_ignore_ascii_case("<!doctype html>");
             // ... and the callee is `maud::PreEscaped`
             if let ExprPath(ref qpath) = path_expr.node;
-            let def_id = cx.tables.qpath_def(qpath, path_expr.id).def_id();
+            let def_id = cx.tables.qpath_def(qpath, path_expr.hir_id).def_id();
             if match_def_path(cx, def_id, &["maud", "PreEscaped", "{{constructor}}"]);
             then {
                 cx.struct_span_lint(MAUD_DOCTYPE, expr.span,