]> git.lizzy.rs Git - rust.git/blobdiff - src/librustc_lint/lib.rs
make it a migration lint
[rust.git] / src / librustc_lint / lib.rs
index 27c1578e8ed9402a996477a9d28c1cd81d3ae205..798c289ac2f9f4f824dafe2c2458304f291e2a99 100644 (file)
 
 use rustc::lint;
 use rustc::lint::{LateContext, LateLintPass, LintPass, LintArray};
-use rustc::lint::builtin::{BARE_TRAIT_OBJECTS, ABSOLUTE_PATHS_NOT_STARTING_WITH_CRATE};
-use rustc::lint::builtin::MACRO_USE_EXTERN_CRATE;
+use rustc::lint::builtin::{
+    BARE_TRAIT_OBJECTS,
+    ABSOLUTE_PATHS_NOT_STARTING_WITH_CRATE,
+    MACRO_USE_EXTERN_CRATE,
+    ELIDED_LIFETIMES_IN_PATHS,
+    parser::QUESTION_MARK_MACRO_SEP
+};
 use rustc::session;
 use rustc::util;
 use rustc::hir;
@@ -83,6 +88,14 @@ macro_rules! add_early_builtin {
             )
     }
 
+    macro_rules! add_pre_expansion_builtin {
+        ($sess:ident, $($name:ident),*,) => (
+            {$(
+                store.register_early_pass($sess, false, box $name);
+                )*}
+            )
+    }
+
     macro_rules! add_early_builtin_with_new {
         ($sess:ident, $($name:ident),*,) => (
             {$(
@@ -97,6 +110,10 @@ macro_rules! add_lint_group {
             )
     }
 
+    add_pre_expansion_builtin!(sess,
+        Async2018,
+    );
+
     add_early_builtin!(sess,
                        UnusedParens,
                        UnusedImportBraces,
@@ -183,6 +200,7 @@ macro_rules! add_lint_group {
                     UNREACHABLE_PUB,
                     UNUSED_EXTERN_CRATES,
                     MACRO_USE_EXTERN_CRATE,
+                    ELIDED_LIFETIMES_IN_PATHS,
                     ELLIPSIS_INCLUSIVE_RANGE_PATTERNS);
 
     // Guidelines for creating a future incompatibility lint:
@@ -215,6 +233,11 @@ macro_rules! add_lint_group {
             reference: "issue #35896 <https://github.com/rust-lang/rust/issues/35896>",
             edition: Some(Edition::Edition2018),
         },
+        FutureIncompatibleInfo {
+            id: LintId::of(ASYNC_IDENTS),
+            reference: "issue #49716 <https://github.com/rust-lang/rust/issues/49716>",
+            edition: Some(Edition::Edition2018),
+        },
         FutureIncompatibleInfo {
             id: LintId::of(SAFE_EXTERN_STATICS),
             reference: "issue #36247 <https://github.com/rust-lang/rust/issues/36247>",
@@ -302,6 +325,11 @@ macro_rules! add_lint_group {
             reference: "issue #50504 <https://github.com/rust-lang/rust/issues/50504>",
             edition: None,
         },
+        FutureIncompatibleInfo {
+            id: LintId::of(QUESTION_MARK_MACRO_SEP),
+            reference: "issue #48075 <https://github.com/rust-lang/rust/issues/48075>",
+            edition: Some(Edition::Edition2018),
+        }
         ]);
 
     // Register renamed and removed lints