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;
)
}
+ 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),*,) => (
{$(
)
}
+ add_pre_expansion_builtin!(sess,
+ Async2018,
+ );
+
add_early_builtin!(sess,
UnusedParens,
UnusedImportBraces,
UNREACHABLE_PUB,
UNUSED_EXTERN_CRATES,
MACRO_USE_EXTERN_CRATE,
+ ELIDED_LIFETIMES_IN_PATHS,
ELLIPSIS_INCLUSIVE_RANGE_PATTERNS);
// Guidelines for creating a future incompatibility lint:
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>",
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