diff --git a/src/librustc/hir/check_attr.rs b/src/librustc/hir/check_attr.rs index c6a996f84f4..5a99e796553 100644 --- a/src/librustc/hir/check_attr.rs +++ b/src/librustc/hir/check_attr.rs @@ -5,7 +5,6 @@ //! item. use crate::hir::map::Map; -use crate::lint::builtin::UNUSED_ATTRIBUTES; use crate::ty::query::Providers; use crate::ty::TyCtxt; @@ -16,6 +15,7 @@ use rustc_hir::def_id::DefId; use rustc_hir::intravisit::{self, NestedVisitorMap, Visitor}; use rustc_hir::DUMMY_HIR_ID; use rustc_hir::{self, HirId, Item, ItemKind, TraitItem, TraitItemKind}; +use rustc_session::lint::builtin::UNUSED_ATTRIBUTES; use rustc_span::symbol::sym; use rustc_span::Span; use syntax::ast::Attribute; diff --git a/src/librustc/lint/context.rs b/src/librustc/lint/context.rs index 3f18f4dbd1f..867eb5a1937 100644 --- a/src/librustc/lint/context.rs +++ b/src/librustc/lint/context.rs @@ -16,12 +16,11 @@ use self::TargetLint::*; -use crate::hir::map::{definitions::DisambiguatedDefPathData, DefPathData}; +use crate::hir::map::definitions::{DefPathData, DisambiguatedDefPathData}; use crate::lint::levels::{LintLevelSets, LintLevelsBuilder}; use crate::lint::{EarlyLintPassObject, LateLintPassObject}; use crate::middle::privacy::AccessLevels; use crate::middle::stability; -use crate::session::Session; use crate::ty::layout::{LayoutError, LayoutOf, TyLayout}; use crate::ty::{self, print::Printer, subst::GenericArg, Ty, TyCtxt}; use rustc_data_structures::fx::FxHashMap; @@ -32,6 +31,7 @@ use rustc_hir as hir; use rustc_hir::def_id::{CrateNum, DefId}; use rustc_session::lint::BuiltinLintDiagnostics; use rustc_session::lint::{FutureIncompatibleInfo, Level, Lint, LintBuffer, LintId}; +use rustc_session::Session; use rustc_span::{symbol::Symbol, MultiSpan, Span, DUMMY_SP}; use syntax::ast; use syntax::util::lev_distance::find_best_match_for_name; diff --git a/src/librustc/lint/levels.rs b/src/librustc/lint/levels.rs index e586ad1836c..fdd2a8d0778 100644 --- a/src/librustc/lint/levels.rs +++ b/src/librustc/lint/levels.rs @@ -1,14 +1,14 @@ use std::cmp; use crate::ich::StableHashingContext; -use crate::lint::builtin; use crate::lint::context::{CheckLintNameResult, LintStore}; -use crate::lint::{self, Level, Lint, LintId, LintSource}; -use crate::session::Session; +use crate::lint::{self, LintSource}; use rustc_data_structures::fx::FxHashMap; use rustc_data_structures::stable_hasher::{HashStable, StableHasher}; use rustc_errors::{struct_span_err, Applicability, DiagnosticBuilder}; use rustc_hir::HirId; +use rustc_session::lint::{builtin, Level, Lint, LintId}; +use rustc_session::Session; use rustc_span::source_map::MultiSpan; use rustc_span::symbol::{sym, Symbol}; use syntax::ast; diff --git a/src/librustc/middle/stability.rs b/src/librustc/middle/stability.rs index 17e84c24881..93fc09b4a2a 100644 --- a/src/librustc/middle/stability.rs +++ b/src/librustc/middle/stability.rs @@ -3,7 +3,7 @@ pub use self::StabilityLevel::*; -use crate::lint::{self, in_derive_expansion, Lint}; +use crate::lint::in_derive_expansion; use crate::session::{DiagnosticMessageId, Session}; use crate::ty::{self, TyCtxt}; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; @@ -13,7 +13,7 @@ use rustc_hir as hir; use rustc_hir::def::DefKind; use rustc_hir::def_id::{CrateNum, DefId, CRATE_DEF_INDEX}; use rustc_hir::{self, HirId}; -use rustc_session::lint::{BuiltinLintDiagnostics, LintBuffer}; +use rustc_session::lint::{self, BuiltinLintDiagnostics, Lint, LintBuffer}; use rustc_span::symbol::{sym, Symbol}; use rustc_span::{MultiSpan, Span}; use syntax::ast::CRATE_NODE_ID; diff --git a/src/librustc/query/mod.rs b/src/librustc/query/mod.rs index 9de46f86200..eca9df688c6 100644 --- a/src/librustc/query/mod.rs +++ b/src/librustc/query/mod.rs @@ -82,7 +82,7 @@ rustc_queries! { desc { "looking up the native libraries of a linked crate" } } - query lint_levels(_: CrateNum) -> &'tcx lint::LintLevelMap { + query lint_levels(_: CrateNum) -> &'tcx LintLevelMap { eval_always desc { "computing the lint levels for items in this crate" } } diff --git a/src/librustc/traits/object_safety.rs b/src/librustc/traits/object_safety.rs index bfbcb042e7a..e4309dd28f4 100644 --- a/src/librustc/traits/object_safety.rs +++ b/src/librustc/traits/object_safety.rs @@ -10,17 +10,18 @@ use super::elaborate_predicates; -use crate::lint; use crate::traits::{self, Obligation, ObligationCause}; use crate::ty::subst::{InternalSubsts, Subst}; use crate::ty::{self, Predicate, ToPredicate, Ty, TyCtxt, TypeFoldable}; use rustc_hir as hir; use rustc_hir::def_id::DefId; +use rustc_session::lint::builtin::WHERE_CLAUSES_OBJECT_SAFETY; use rustc_span::symbol::Symbol; use rustc_span::{Span, DUMMY_SP}; +use syntax::ast; + use std::borrow::Cow; use std::iter::{self}; -use syntax::ast::{self}; #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)] pub enum ObjectSafetyViolation { @@ -179,7 +180,7 @@ fn object_safety_violations_for_trait( // Using `CRATE_NODE_ID` is wrong, but it's hard to get a more precise id. // It's also hard to get a use site span, so we use the method definition span. tcx.lint_node_note( - lint::builtin::WHERE_CLAUSES_OBJECT_SAFETY, + WHERE_CLAUSES_OBJECT_SAFETY, hir::CRATE_HIR_ID, *span, &format!( diff --git a/src/librustc/traits/specialize/mod.rs b/src/librustc/traits/specialize/mod.rs index 7b66341ef1c..f5199dbdabb 100644 --- a/src/librustc/traits/specialize/mod.rs +++ b/src/librustc/traits/specialize/mod.rs @@ -12,7 +12,6 @@ pub mod specialization_graph; use crate::infer::{InferCtxt, InferOk}; -use crate::lint; use crate::traits::select::IntercrateAmbiguityCause; use crate::traits::{self, coherence, FutureCompatOverlapErrorKind, ObligationCause, TraitEngine}; use crate::ty::subst::{InternalSubsts, Subst, SubstsRef}; @@ -20,6 +19,7 @@ use crate::ty::{self, TyCtxt, TypeFoldable}; use rustc_data_structures::fx::FxHashSet; use rustc_errors::struct_span_err; use rustc_hir::def_id::DefId; +use rustc_session::lint::builtin::ORDER_DEPENDENT_TRAIT_OBJECTS; use rustc_span::DUMMY_SP; use super::util::impl_trait_ref_and_oblig; @@ -342,7 +342,7 @@ pub(super) fn specialization_graph_provider( unreachable!("converted to hard error above") } FutureCompatOverlapErrorKind::Issue33140 => { - lint::builtin::ORDER_DEPENDENT_TRAIT_OBJECTS + ORDER_DEPENDENT_TRAIT_OBJECTS } }; tcx.struct_span_lint_hir( diff --git a/src/librustc/ty/context.rs b/src/librustc/ty/context.rs index 1b0b5fc4d07..a97f33b31b7 100644 --- a/src/librustc/ty/context.rs +++ b/src/librustc/ty/context.rs @@ -8,7 +8,7 @@ use crate::hir::map as hir_map; use crate::hir::map::DefPathHash; use crate::ich::{NodeIdHashingMode, StableHashingContext}; use crate::infer::canonical::{Canonical, CanonicalVarInfo, CanonicalVarInfos}; -use crate::lint::{self, Lint}; +use crate::lint::{maybe_lint_level_root, struct_lint_level, LintSource, LintStore}; use crate::middle; use crate::middle::cstore::CrateStoreDyn; use crate::middle::cstore::EncodedMetadata; @@ -61,6 +61,7 @@ use rustc_data_structures::sync::{Lock, Lrc, WorkerLocal}; use rustc_errors::DiagnosticBuilder; use rustc_index::vec::{Idx, IndexVec}; use rustc_macros::HashStable; +use rustc_session::lint::{Level, Lint}; use rustc_session::node_id::NodeMap; use rustc_span::source_map::MultiSpan; use rustc_span::symbol::{kw, sym, Symbol}; @@ -946,7 +947,7 @@ pub struct GlobalCtxt<'tcx> { pub sess: &'tcx Session, - pub lint_store: Lrc, + pub lint_store: Lrc, pub dep_graph: DepGraph, @@ -1115,7 +1116,7 @@ impl<'tcx> TyCtxt<'tcx> { /// reference to the context, to allow formatting values that need it. pub fn create_global_ctxt( s: &'tcx Session, - lint_store: Lrc, + lint_store: Lrc, local_providers: ty::query::Providers<'tcx>, extern_providers: ty::query::Providers<'tcx>, arenas: &'tcx AllArenas, @@ -2551,21 +2552,21 @@ impl<'tcx> TyCtxt<'tcx> { iter.intern_with(|xs| self.intern_goals(xs)) } - pub fn lint_hir>( + pub fn lint_hir( self, lint: &'static Lint, hir_id: HirId, - span: S, + span: impl Into, msg: &str, ) { self.struct_span_lint_hir(lint, hir_id, span.into(), msg).emit() } - pub fn lint_hir_note>( + pub fn lint_hir_note( self, lint: &'static Lint, hir_id: HirId, - span: S, + span: impl Into, msg: &str, note: &str, ) { @@ -2574,11 +2575,11 @@ impl<'tcx> TyCtxt<'tcx> { err.emit() } - pub fn lint_node_note>( + pub fn lint_node_note( self, lint: &'static Lint, id: hir::HirId, - span: S, + span: impl Into, msg: &str, note: &str, ) { @@ -2598,7 +2599,7 @@ impl<'tcx> TyCtxt<'tcx> { if id == bound { return bound; } - if lint::maybe_lint_level_root(self, id) { + if maybe_lint_level_root(self, id) { return id; } let next = self.hir().get_parent_node(id); @@ -2613,7 +2614,7 @@ impl<'tcx> TyCtxt<'tcx> { self, lint: &'static Lint, mut id: hir::HirId, - ) -> (lint::Level, lint::LintSource) { + ) -> (Level, LintSource) { let sets = self.lint_levels(LOCAL_CRATE); loop { if let Some(pair) = sets.level_and_source(lint, id, self.sess) { @@ -2627,15 +2628,15 @@ impl<'tcx> TyCtxt<'tcx> { } } - pub fn struct_span_lint_hir>( + pub fn struct_span_lint_hir( self, lint: &'static Lint, hir_id: HirId, - span: S, + span: impl Into, msg: &str, ) -> DiagnosticBuilder<'tcx> { let (level, src) = self.lint_level_at_node(lint, hir_id); - lint::struct_lint_level(self.sess, lint, level, src, Some(span.into()), msg) + struct_lint_level(self.sess, lint, level, src, Some(span.into()), msg) } pub fn struct_lint_node( @@ -2645,7 +2646,7 @@ impl<'tcx> TyCtxt<'tcx> { msg: &str, ) -> DiagnosticBuilder<'tcx> { let (level, src) = self.lint_level_at_node(lint, id); - lint::struct_lint_level(self.sess, lint, level, src, None, msg) + struct_lint_level(self.sess, lint, level, src, None, msg) } pub fn in_scope_traits(self, id: HirId) -> Option<&'tcx StableVec> { diff --git a/src/librustc/ty/query/mod.rs b/src/librustc/ty/query/mod.rs index 6b272ab3d4a..1d41871bb33 100644 --- a/src/librustc/ty/query/mod.rs +++ b/src/librustc/ty/query/mod.rs @@ -1,7 +1,7 @@ use crate::dep_graph::{self, DepNode}; use crate::hir::exports::Export; use crate::infer::canonical::{self, Canonical}; -use crate::lint; +use crate::lint::LintLevelMap; use crate::middle::codegen_fn_attrs::CodegenFnAttrs; use crate::middle::cstore::{CrateSource, DepKind, NativeLibraryKind}; use crate::middle::cstore::{ExternCrate, ForeignModule, LinkagePreference, NativeLibrary}; diff --git a/src/librustc_ast_passes/Cargo.toml b/src/librustc_ast_passes/Cargo.toml index dced4a0d15b..2d45e280444 100644 --- a/src/librustc_ast_passes/Cargo.toml +++ b/src/librustc_ast_passes/Cargo.toml @@ -11,7 +11,7 @@ path = "lib.rs" [dependencies] log = "0.4" rustc_data_structures = { path = "../librustc_data_structures" } -rustc_errors = { path = "../librustc_errors", package = "rustc_errors" } +rustc_errors = { path = "../librustc_errors" } rustc_error_codes = { path = "../librustc_error_codes" } rustc_feature = { path = "../librustc_feature" } rustc_parse = { path = "../librustc_parse" }