about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMazdak Farrokhzad <twingoow@gmail.com>2020-01-01 19:30:57 +0100
committerMazdak Farrokhzad <twingoow@gmail.com>2020-01-02 13:57:04 +0100
commit4ff12ce4c14d348dfe53d1f74ab53c878f4fb4f8 (patch)
tree610a0ed613e84277b693d6ee485dfb3867e7ebda
parent75e4783f63fc7a788d8dff47504b29dcd63d97fe (diff)
downloadrust-4ff12ce4c14d348dfe53d1f74ab53c878f4fb4f8.tar.gz
rust-4ff12ce4c14d348dfe53d1f74ab53c878f4fb4f8.zip
Normalize `syntax::symbol` imports.
-rw-r--r--src/librustc/arena.rs4
-rw-r--r--src/librustc/hir/check_attr.rs7
-rw-r--r--src/librustc/hir/print.rs2
-rw-r--r--src/librustc/ich/hcx.rs2
-rw-r--r--src/librustc/ich/mod.rs2
-rw-r--r--src/librustc/infer/error_reporting/need_type_info.rs2
-rw-r--r--src/librustc/infer/type_variable.rs2
-rw-r--r--src/librustc/infer/unify_key.rs2
-rw-r--r--src/librustc/lint/builtin.rs2
-rw-r--r--src/librustc/lint/internal.rs2
-rw-r--r--src/librustc/lint/levels.rs2
-rw-r--r--src/librustc/lint/mod.rs2
-rw-r--r--src/librustc/middle/cstore.rs2
-rw-r--r--src/librustc/middle/lang_items.rs2
-rw-r--r--src/librustc/middle/mod.rs2
-rw-r--r--src/librustc/middle/recursion_limit.rs2
-rw-r--r--src/librustc/middle/stability.rs2
-rw-r--r--src/librustc/middle/weak_lang_items.rs2
-rw-r--r--src/librustc/mir/interpret/error.rs2
-rw-r--r--src/librustc/mir/mod.rs2
-rw-r--r--src/librustc/mir/mono.rs2
-rw-r--r--src/librustc/traits/coherence.rs2
-rw-r--r--src/librustc/traits/error_reporting.rs2
-rw-r--r--src/librustc/traits/object_safety.rs2
-rw-r--r--src/librustc/traits/on_unimplemented.rs2
-rw-r--r--src/librustc/traits/project.rs2
-rw-r--r--src/librustc/traits/select.rs2
-rw-r--r--src/librustc/traits/structural_impls.rs2
-rw-r--r--src/librustc/ty/context.rs2
-rw-r--r--src/librustc/ty/print/pretty.rs2
-rw-r--r--src/librustc/ty/query/mod.rs2
-rw-r--r--src/librustc/ty/query/values.rs2
-rw-r--r--src/librustc/ty/sty.rs2
-rw-r--r--src/librustc/ty/wf.rs2
-rw-r--r--src/librustc/util/common.rs2
-rw-r--r--src/librustc_builtin_macros/asm.rs2
-rw-r--r--src/librustc_builtin_macros/assert.rs2
-rw-r--r--src/librustc_builtin_macros/concat.rs2
-rw-r--r--src/librustc_builtin_macros/deriving/clone.rs2
-rw-r--r--src/librustc_builtin_macros/deriving/cmp/eq.rs2
-rw-r--r--src/librustc_builtin_macros/deriving/cmp/ord.rs2
-rw-r--r--src/librustc_builtin_macros/deriving/cmp/partial_eq.rs2
-rw-r--r--src/librustc_builtin_macros/deriving/cmp/partial_ord.rs2
-rw-r--r--src/librustc_builtin_macros/deriving/debug.rs2
-rw-r--r--src/librustc_builtin_macros/deriving/decodable.rs2
-rw-r--r--src/librustc_builtin_macros/deriving/default.rs2
-rw-r--r--src/librustc_builtin_macros/deriving/encodable.rs2
-rw-r--r--src/librustc_builtin_macros/deriving/generic/mod.rs2
-rw-r--r--src/librustc_builtin_macros/deriving/hash.rs2
-rw-r--r--src/librustc_builtin_macros/deriving/mod.rs2
-rw-r--r--src/librustc_builtin_macros/env.rs2
-rw-r--r--src/librustc_builtin_macros/format.rs2
-rw-r--r--src/librustc_builtin_macros/global_allocator.rs2
-rw-r--r--src/librustc_builtin_macros/lib.rs2
-rw-r--r--src/librustc_builtin_macros/proc_macro_harness.rs2
-rw-r--r--src/librustc_builtin_macros/source_util.rs2
-rw-r--r--src/librustc_builtin_macros/standard_library_imports.rs2
-rw-r--r--src/librustc_builtin_macros/test.rs2
-rw-r--r--src/librustc_builtin_macros/test_harness.rs2
-rw-r--r--src/librustc_builtin_macros/trace_macros.rs2
-rw-r--r--src/librustc_codegen_llvm/back/archive.rs2
-rw-r--r--src/librustc_codegen_llvm/common.rs2
-rw-r--r--src/librustc_codegen_llvm/consts.rs2
-rw-r--r--src/librustc_codegen_llvm/context.rs2
-rw-r--r--src/librustc_codegen_llvm/debuginfo/gdb.rs2
-rw-r--r--src/librustc_codegen_llvm/debuginfo/metadata.rs2
-rw-r--r--src/librustc_codegen_llvm/debuginfo/mod.rs2
-rw-r--r--src/librustc_codegen_llvm/llvm_util.rs2
-rw-r--r--src/librustc_codegen_ssa/back/archive.rs2
-rw-r--r--src/librustc_codegen_ssa/back/command.rs2
-rw-r--r--src/librustc_codegen_ssa/back/link.rs2
-rw-r--r--src/librustc_codegen_ssa/back/linker.rs2
-rw-r--r--src/librustc_codegen_ssa/mir/debuginfo.rs2
-rw-r--r--src/librustc_codegen_ssa/mir/rvalue.rs2
-rw-r--r--src/librustc_codegen_utils/codegen_backend.rs2
-rw-r--r--src/librustc_codegen_utils/lib.rs2
-rw-r--r--src/librustc_codegen_utils/link.rs2
-rw-r--r--src/librustc_codegen_utils/symbol_names_test.rs2
-rw-r--r--src/librustc_expand/base.rs2
-rw-r--r--src/librustc_expand/build.rs2
-rw-r--r--src/librustc_expand/expand.rs2
-rw-r--r--src/librustc_expand/mbe/macro_check.rs2
-rw-r--r--src/librustc_expand/mbe/macro_parser.rs2
-rw-r--r--src/librustc_expand/mbe/macro_rules.rs2
-rw-r--r--src/librustc_expand/mbe/quoted.rs2
-rw-r--r--src/librustc_expand/parse/tests.rs2
-rw-r--r--src/librustc_expand/proc_macro.rs2
-rw-r--r--src/librustc_incremental/assert_dep_graph.rs4
-rw-r--r--src/librustc_incremental/assert_module_sources.rs2
-rw-r--r--src/librustc_incremental/persist/dirty_clean.rs2
-rw-r--r--src/librustc_interface/passes.rs2
-rw-r--r--src/librustc_interface/proc_macro_decls.rs2
-rw-r--r--src/librustc_interface/tests.rs2
-rw-r--r--src/librustc_interface/util.rs2
-rw-r--r--src/librustc_lint/array_into_iter.rs3
-rw-r--r--src/librustc_lint/builtin.rs2
-rw-r--r--src/librustc_lint/nonstandard_style.rs2
-rw-r--r--src/librustc_lint/unused.rs4
-rw-r--r--src/librustc_metadata/creader.rs2
-rw-r--r--src/librustc_metadata/link_args.rs2
-rw-r--r--src/librustc_metadata/locator.rs2
-rw-r--r--src/librustc_metadata/native_libs.rs2
-rw-r--r--src/librustc_metadata/rmeta/decoder/cstore_impl.rs2
-rw-r--r--src/librustc_metadata/rmeta/encoder.rs2
-rw-r--r--src/librustc_metadata/rmeta/mod.rs2
-rw-r--r--src/librustc_mir/borrow_check/diagnostics/region_errors.rs2
-rw-r--r--src/librustc_mir/borrow_check/diagnostics/region_name.rs2
-rw-r--r--src/librustc_mir/borrow_check/nll.rs2
-rw-r--r--src/librustc_mir/build/mod.rs2
-rw-r--r--src/librustc_mir/dataflow/generic.rs2
-rw-r--r--src/librustc_mir/dataflow/mod.rs2
-rw-r--r--src/librustc_mir/hair/cx/mod.rs2
-rw-r--r--src/librustc_mir/interpret/cast.rs2
-rw-r--r--src/librustc_mir/monomorphize/partitioning.rs2
-rw-r--r--src/librustc_mir/transform/check_consts/ops.rs2
-rw-r--r--src/librustc_mir/transform/check_consts/validation.rs2
-rw-r--r--src/librustc_mir/transform/check_unsafety.rs2
-rw-r--r--src/librustc_mir/transform/promote_consts.rs2
-rw-r--r--src/librustc_mir/transform/qualify_min_const_fn.rs2
-rw-r--r--src/librustc_mir/transform/rustc_peek.rs2
-rw-r--r--src/librustc_passes/ast_validation.rs2
-rw-r--r--src/librustc_passes/dead.rs2
-rw-r--r--src/librustc_passes/diagnostic_items.rs2
-rw-r--r--src/librustc_passes/entry.rs2
-rw-r--r--src/librustc_passes/layout_test.rs2
-rw-r--r--src/librustc_passes/lib_features.rs2
-rw-r--r--src/librustc_passes/liveness.rs2
-rw-r--r--src/librustc_passes/stability.rs2
-rw-r--r--src/librustc_plugin_impl/build.rs2
-rw-r--r--src/librustc_plugin_impl/load.rs2
-rw-r--r--src/librustc_privacy/lib.rs2
-rw-r--r--src/librustc_resolve/build_reduced_graph.rs2
-rw-r--r--src/librustc_resolve/def_collector.rs2
-rw-r--r--src/librustc_resolve/diagnostics.rs2
-rw-r--r--src/librustc_resolve/imports.rs2
-rw-r--r--src/librustc_resolve/late.rs2
-rw-r--r--src/librustc_resolve/late/diagnostics.rs2
-rw-r--r--src/librustc_resolve/lib.rs2
-rw-r--r--src/librustc_resolve/lifetimes.rs2
-rw-r--r--src/librustc_traits/lowering/mod.rs2
-rw-r--r--src/librustc_typeck/astconv.rs2
-rw-r--r--src/librustc_typeck/check/coercion.rs2
-rw-r--r--src/librustc_typeck/check/expr.rs2
-rw-r--r--src/librustc_typeck/check/intrinsic.rs2
-rw-r--r--src/librustc_typeck/check/mod.rs2
-rw-r--r--src/librustc_typeck/check/wfcheck.rs2
-rw-r--r--src/librustc_typeck/check/writeback.rs2
-rw-r--r--src/librustc_typeck/collect.rs2
-rw-r--r--src/librustc_typeck/outlives/mod.rs2
-rw-r--r--src/librustc_typeck/outlives/test.rs2
-rw-r--r--src/librustc_typeck/variance/test.rs2
-rw-r--r--src/librustdoc/clean/cfg.rs2
-rw-r--r--src/librustdoc/clean/cfg/tests.rs2
-rw-r--r--src/librustdoc/clean/inline.rs2
-rw-r--r--src/librustdoc/core.rs2
-rw-r--r--src/librustdoc/html/highlight.rs2
-rw-r--r--src/librustdoc/html/render.rs2
-rw-r--r--src/librustdoc/html/render/cache.rs2
-rw-r--r--src/librustdoc/passes/calculate_doc_coverage.rs2
-rw-r--r--src/librustdoc/passes/collect_intra_doc_links.rs2
-rw-r--r--src/librustdoc/passes/collect_trait_impls.rs2
-rw-r--r--src/librustdoc/passes/strip_hidden.rs2
-rw-r--r--src/librustdoc/test.rs2
-rw-r--r--src/librustdoc/visit_ast.rs2
-rw-r--r--src/librustdoc/visit_lib.rs2
-rw-r--r--src/libsyntax/attr/mod.rs4
-rw-r--r--src/libsyntax/entry.rs2
-rw-r--r--src/libsyntax/feature_gate/check.rs2
-rw-r--r--src/libsyntax/lib.rs1
-rw-r--r--src/libsyntax/print/pprust.rs2
-rw-r--r--src/libsyntax/token.rs7
-rw-r--r--src/libsyntax/util/lev_distance.rs4
-rw-r--r--src/libsyntax/util/literal.rs4
-rw-r--r--src/libsyntax/util/parser.rs2
174 files changed, 187 insertions, 183 deletions
diff --git a/src/librustc/arena.rs b/src/librustc/arena.rs
index f551d9e31a6..c576c5af31e 100644
--- a/src/librustc/arena.rs
+++ b/src/librustc/arena.rs
@@ -94,7 +94,7 @@ macro_rules! arena_types {
                     >
                 >,
             [few] diagnostic_items: rustc_data_structures::fx::FxHashMap<
-                syntax::symbol::Symbol,
+                rustc_span::symbol::Symbol,
                 rustc::hir::def_id::DefId,
             >,
             [few] resolve_lifetimes: rustc::middle::resolve_lifetime::ResolveLifetimes,
@@ -105,7 +105,7 @@ macro_rules! arena_types {
             [few] privacy_access_levels: rustc::middle::privacy::AccessLevels,
             [few] target_features_whitelist: rustc_data_structures::fx::FxHashMap<
                 String,
-                Option<syntax::symbol::Symbol>
+                Option<rustc_span::symbol::Symbol>
             >,
             [few] wasm_import_module_map: rustc_data_structures::fx::FxHashMap<
                 rustc::hir::def_id::DefId,
diff --git a/src/librustc/hir/check_attr.rs b/src/librustc/hir/check_attr.rs
index 2b201cfe0a9..a7d7dddf580 100644
--- a/src/librustc/hir/check_attr.rs
+++ b/src/librustc/hir/check_attr.rs
@@ -12,11 +12,12 @@ use crate::lint::builtin::UNUSED_ATTRIBUTES;
 use crate::ty::query::Providers;
 use crate::ty::TyCtxt;
 
+use rustc_error_codes::*;
+use rustc_span::symbol::sym;
 use rustc_span::Span;
-use std::fmt::{self, Display};
-use syntax::{attr, symbol::sym};
+use syntax::attr;
 
-use rustc_error_codes::*;
+use std::fmt::{self, Display};
 
 #[derive(Copy, Clone, PartialEq)]
 pub(crate) enum MethodKind {
diff --git a/src/librustc/hir/print.rs b/src/librustc/hir/print.rs
index 10b8b5fe390..c457fc657a1 100644
--- a/src/librustc/hir/print.rs
+++ b/src/librustc/hir/print.rs
@@ -1,4 +1,5 @@
 use rustc_span::source_map::{SourceMap, Spanned};
+use rustc_span::symbol::kw;
 use rustc_span::{self, BytePos, FileName};
 use rustc_target::spec::abi::Abi;
 use syntax::ast;
@@ -6,7 +7,6 @@ use syntax::print::pp::Breaks::{Consistent, Inconsistent};
 use syntax::print::pp::{self, Breaks};
 use syntax::print::pprust::{self, Comments, PrintState};
 use syntax::sess::ParseSess;
-use syntax::symbol::kw;
 use syntax::util::parser::{self, AssocOp, Fixity};
 
 use crate::hir;
diff --git a/src/librustc/ich/hcx.rs b/src/librustc/ich/hcx.rs
index 2c314e6935f..44230fa0a44 100644
--- a/src/librustc/ich/hcx.rs
+++ b/src/librustc/ich/hcx.rs
@@ -10,9 +10,9 @@ use crate::ty::{fast_reject, TyCtxt};
 use std::cmp::Ord;
 
 use rustc_span::source_map::SourceMap;
+use rustc_span::symbol::Symbol;
 use rustc_span::{BytePos, SourceFile};
 use syntax::ast;
-use syntax::symbol::Symbol;
 
 use rustc_data_structures::fx::{FxHashMap, FxHashSet};
 use rustc_data_structures::stable_hasher::{HashStable, StableHasher, ToStableHashKey};
diff --git a/src/librustc/ich/mod.rs b/src/librustc/ich/mod.rs
index f07e8f38734..2c4618dcd42 100644
--- a/src/librustc/ich/mod.rs
+++ b/src/librustc/ich/mod.rs
@@ -4,8 +4,8 @@ pub use self::hcx::{
     hash_stable_trait_impls, NodeIdHashingMode, StableHashingContext, StableHashingContextProvider,
 };
 crate use rustc_data_structures::fingerprint::Fingerprint;
+use rustc_span::symbol::{sym, Symbol};
 pub use rustc_span::CachingSourceMapView;
-use syntax::symbol::{sym, Symbol};
 
 mod hcx;
 
diff --git a/src/librustc/infer/error_reporting/need_type_info.rs b/src/librustc/infer/error_reporting/need_type_info.rs
index 41a492751e7..889b7b4db33 100644
--- a/src/librustc/infer/error_reporting/need_type_info.rs
+++ b/src/librustc/infer/error_reporting/need_type_info.rs
@@ -7,9 +7,9 @@ use crate::ty::print::Print;
 use crate::ty::{self, DefIdTree, Infer, Ty, TyVar};
 use errors::{Applicability, DiagnosticBuilder};
 use rustc_span::source_map::DesugaringKind;
+use rustc_span::symbol::kw;
 use rustc_span::Span;
 use std::borrow::Cow;
-use syntax::symbol::kw;
 
 use rustc_error_codes::*;
 
diff --git a/src/librustc/infer/type_variable.rs b/src/librustc/infer/type_variable.rs
index 43ded26b422..27bcb63fe15 100644
--- a/src/librustc/infer/type_variable.rs
+++ b/src/librustc/infer/type_variable.rs
@@ -1,7 +1,7 @@
 use crate::hir::def_id::DefId;
 use crate::ty::{self, Ty, TyVid};
+use rustc_span::symbol::Symbol;
 use rustc_span::Span;
-use syntax::symbol::Symbol;
 
 use rustc_data_structures::snapshot_vec as sv;
 use rustc_data_structures::unify as ut;
diff --git a/src/librustc/infer/unify_key.rs b/src/librustc/infer/unify_key.rs
index cc05f4ee7a5..c5ec0ba73e4 100644
--- a/src/librustc/infer/unify_key.rs
+++ b/src/librustc/infer/unify_key.rs
@@ -1,8 +1,8 @@
 use crate::ty::{self, FloatVarValue, InferConst, IntVarValue, Ty, TyCtxt};
 use rustc_data_structures::unify::InPlace;
 use rustc_data_structures::unify::{EqUnifyValue, NoError, UnificationTable, UnifyKey, UnifyValue};
+use rustc_span::symbol::Symbol;
 use rustc_span::{Span, DUMMY_SP};
-use syntax::symbol::Symbol;
 
 use std::cell::RefMut;
 use std::cmp;
diff --git a/src/librustc/lint/builtin.rs b/src/librustc/lint/builtin.rs
index bdc2b216449..aab0db4e4e3 100644
--- a/src/librustc/lint/builtin.rs
+++ b/src/librustc/lint/builtin.rs
@@ -10,10 +10,10 @@ use crate::session::Session;
 use errors::{pluralize, Applicability, DiagnosticBuilder};
 use rustc_session::declare_lint;
 use rustc_span::source_map::Span;
+use rustc_span::symbol::Symbol;
 use syntax::ast;
 use syntax::early_buffered_lints::{ILL_FORMED_ATTRIBUTE_INPUT, META_VARIABLE_MISUSE};
 use syntax::edition::Edition;
-use syntax::symbol::Symbol;
 
 declare_lint! {
     pub EXCEEDING_BITSHIFTS,
diff --git a/src/librustc/lint/internal.rs b/src/librustc/lint/internal.rs
index bd75eda1879..f7dfbab92e6 100644
--- a/src/librustc/lint/internal.rs
+++ b/src/librustc/lint/internal.rs
@@ -8,8 +8,8 @@ use crate::lint::{
 use errors::Applicability;
 use rustc_data_structures::fx::FxHashMap;
 use rustc_session::declare_tool_lint;
+use rustc_span::symbol::{sym, Symbol};
 use syntax::ast::{Ident, Item, ItemKind};
-use syntax::symbol::{sym, Symbol};
 
 declare_tool_lint! {
     pub rustc::DEFAULT_HASH_TYPES,
diff --git a/src/librustc/lint/levels.rs b/src/librustc/lint/levels.rs
index 86e6bfb5979..87847cdf8c7 100644
--- a/src/librustc/lint/levels.rs
+++ b/src/librustc/lint/levels.rs
@@ -10,11 +10,11 @@ use crate::util::nodemap::FxHashMap;
 use errors::{Applicability, DiagnosticBuilder};
 use rustc_data_structures::stable_hasher::{HashStable, StableHasher};
 use rustc_span::source_map::MultiSpan;
+use rustc_span::symbol::{sym, Symbol};
 use syntax::ast;
 use syntax::attr;
 use syntax::feature_gate;
 use syntax::print::pprust;
-use syntax::symbol::{sym, Symbol};
 
 use rustc_error_codes::*;
 
diff --git a/src/librustc/lint/mod.rs b/src/librustc/lint/mod.rs
index 0286a174c68..9769835a674 100644
--- a/src/librustc/lint/mod.rs
+++ b/src/librustc/lint/mod.rs
@@ -34,9 +34,9 @@ use crate::util::nodemap::NodeMap;
 use errors::{DiagnosticBuilder, DiagnosticId};
 use rustc_span::hygiene::MacroKind;
 use rustc_span::source_map::{DesugaringKind, ExpnKind, MultiSpan};
+use rustc_span::symbol::Symbol;
 use rustc_span::Span;
 use syntax::ast;
-use syntax::symbol::Symbol;
 
 pub use crate::lint::context::{
     check_ast_crate, check_crate, late_lint_mod, BufferedEarlyLint, CheckLintNameResult,
diff --git a/src/librustc/middle/cstore.rs b/src/librustc/middle/cstore.rs
index 93c8ad77070..be7603f258a 100644
--- a/src/librustc/middle/cstore.rs
+++ b/src/librustc/middle/cstore.rs
@@ -12,13 +12,13 @@ use rustc_data_structures::svh::Svh;
 
 use rustc_data_structures::sync::{self, MetadataRef};
 use rustc_macros::HashStable;
+use rustc_span::symbol::Symbol;
 use rustc_span::Span;
 use rustc_target::spec::Target;
 use std::any::Any;
 use std::path::{Path, PathBuf};
 use syntax::ast;
 use syntax::expand::allocator::AllocatorKind;
-use syntax::symbol::Symbol;
 
 pub use self::NativeLibraryKind::*;
 pub use rustc_session::utils::NativeLibraryKind;
diff --git a/src/librustc/middle/lang_items.rs b/src/librustc/middle/lang_items.rs
index c07b65acff2..98e48ca0e4d 100644
--- a/src/librustc/middle/lang_items.rs
+++ b/src/librustc/middle/lang_items.rs
@@ -19,9 +19,9 @@ use crate::util::nodemap::FxHashMap;
 use crate::hir;
 use crate::hir::itemlikevisit::ItemLikeVisitor;
 use rustc_macros::HashStable;
+use rustc_span::symbol::{sym, Symbol};
 use rustc_span::Span;
 use syntax::ast;
-use syntax::symbol::{sym, Symbol};
 
 use rustc_error_codes::*;
 
diff --git a/src/librustc/middle/mod.rs b/src/librustc/middle/mod.rs
index 030bcf3bf42..96b14eae8ea 100644
--- a/src/librustc/middle/mod.rs
+++ b/src/librustc/middle/mod.rs
@@ -5,7 +5,7 @@ pub mod free_region;
 pub mod lang_items;
 pub mod lib_features {
     use rustc_data_structures::fx::{FxHashMap, FxHashSet};
-    use syntax::symbol::Symbol;
+    use rustc_span::symbol::Symbol;
 
     #[derive(HashStable)]
     pub struct LibFeatures {
diff --git a/src/librustc/middle/recursion_limit.rs b/src/librustc/middle/recursion_limit.rs
index 8f19494d388..b33cde8e2af 100644
--- a/src/librustc/middle/recursion_limit.rs
+++ b/src/librustc/middle/recursion_limit.rs
@@ -6,8 +6,8 @@
 // just peeks and looks for that attribute.
 
 use crate::session::Session;
+use rustc_span::symbol::{sym, Symbol};
 use syntax::ast;
-use syntax::symbol::{sym, Symbol};
 
 use rustc_data_structures::sync::Once;
 
diff --git a/src/librustc/middle/stability.rs b/src/librustc/middle/stability.rs
index 5ef4942ac3b..a6a49864a95 100644
--- a/src/librustc/middle/stability.rs
+++ b/src/librustc/middle/stability.rs
@@ -13,12 +13,12 @@ use crate::ty::{self, TyCtxt};
 use crate::util::nodemap::{FxHashMap, FxHashSet};
 use errors::DiagnosticBuilder;
 use rustc_feature::GateIssue;
+use rustc_span::symbol::{sym, Symbol};
 use rustc_span::{MultiSpan, Span};
 use syntax::ast::CRATE_NODE_ID;
 use syntax::attr::{self, ConstStability, Deprecation, RustcDeprecation, Stability};
 use syntax::errors::Applicability;
 use syntax::feature_gate::feature_err_issue;
-use syntax::symbol::{sym, Symbol};
 
 use std::num::NonZeroU32;
 
diff --git a/src/librustc/middle/weak_lang_items.rs b/src/librustc/middle/weak_lang_items.rs
index 011c9fc27e0..bdf34e8d765 100644
--- a/src/librustc/middle/weak_lang_items.rs
+++ b/src/librustc/middle/weak_lang_items.rs
@@ -9,10 +9,10 @@ use crate::hir::intravisit;
 use crate::hir::intravisit::{NestedVisitorMap, Visitor};
 use crate::ty::TyCtxt;
 use rustc_data_structures::fx::FxHashSet;
+use rustc_span::symbol::{sym, Symbol};
 use rustc_span::Span;
 use rustc_target::spec::PanicStrategy;
 use syntax::ast;
-use syntax::symbol::{sym, Symbol};
 
 use rustc_error_codes::*;
 
diff --git a/src/librustc/mir/interpret/error.rs b/src/librustc/mir/interpret/error.rs
index 2308da5d610..dddc3cf9f5b 100644
--- a/src/librustc/mir/interpret/error.rs
+++ b/src/librustc/mir/interpret/error.rs
@@ -11,10 +11,10 @@ use backtrace::Backtrace;
 use errors::DiagnosticBuilder;
 use hir::GeneratorKind;
 use rustc_macros::HashStable;
+use rustc_span::symbol::Symbol;
 use rustc_span::{Pos, Span};
 use rustc_target::spec::abi::Abi;
 use std::{any::Any, env, fmt};
-use syntax::symbol::Symbol;
 
 use rustc_error_codes::*;
 
diff --git a/src/librustc/mir/mod.rs b/src/librustc/mir/mod.rs
index bb1afdd877f..a293fd128bd 100644
--- a/src/librustc/mir/mod.rs
+++ b/src/librustc/mir/mod.rs
@@ -27,6 +27,7 @@ use rustc_index::bit_set::BitMatrix;
 use rustc_index::vec::{Idx, IndexVec};
 use rustc_macros::HashStable;
 use rustc_serialize::{Decodable, Encodable};
+use rustc_span::symbol::Symbol;
 use rustc_span::{Span, DUMMY_SP};
 use smallvec::SmallVec;
 use std::borrow::Cow;
@@ -36,7 +37,6 @@ use std::slice;
 use std::{iter, mem, option, u32};
 pub use syntax::ast::Mutability;
 use syntax::ast::Name;
-use syntax::symbol::Symbol;
 
 pub use crate::mir::cache::{BodyAndCache, ReadOnlyBodyAndCache};
 pub use crate::mir::interpret::AssertMessage;
diff --git a/src/librustc/mir/mono.rs b/src/librustc/mir/mono.rs
index bf5cc58b118..bec98221e5a 100644
--- a/src/librustc/mir/mono.rs
+++ b/src/librustc/mir/mono.rs
@@ -9,10 +9,10 @@ use crate::util::nodemap::FxHashMap;
 use rustc_data_structures::base_n;
 use rustc_data_structures::stable_hasher::{HashStable, StableHasher};
 use rustc_span::source_map::Span;
+use rustc_span::symbol::Symbol;
 use std::fmt;
 use std::hash::Hash;
 use syntax::attr::InlineAttr;
-use syntax::symbol::Symbol;
 
 /// Describes how a monomorphization will be instantiated in object files.
 #[derive(PartialEq)]
diff --git a/src/librustc/traits/coherence.rs b/src/librustc/traits/coherence.rs
index 9be18f45de6..16bf69f9ad0 100644
--- a/src/librustc/traits/coherence.rs
+++ b/src/librustc/traits/coherence.rs
@@ -12,8 +12,8 @@ use crate::traits::{self, Normalized, Obligation, ObligationCause, SelectionCont
 use crate::ty::fold::TypeFoldable;
 use crate::ty::subst::Subst;
 use crate::ty::{self, Ty, TyCtxt};
+use rustc_span::symbol::sym;
 use rustc_span::DUMMY_SP;
-use syntax::symbol::sym;
 
 /// Whether we do the orphan check relative to this crate or
 /// to some remote crate.
diff --git a/src/librustc/traits/error_reporting.rs b/src/librustc/traits/error_reporting.rs
index 8a5a92fcfa6..dbc872a51bf 100644
--- a/src/librustc/traits/error_reporting.rs
+++ b/src/librustc/traits/error_reporting.rs
@@ -26,10 +26,10 @@ use crate::util::nodemap::{FxHashMap, FxHashSet};
 use errors::{pluralize, Applicability, DiagnosticBuilder, Style};
 use rustc::hir::def_id::LOCAL_CRATE;
 use rustc_span::source_map::SourceMap;
+use rustc_span::symbol::{kw, sym};
 use rustc_span::{ExpnKind, MultiSpan, Span, DUMMY_SP};
 use std::fmt;
 use syntax::ast;
-use syntax::symbol::{kw, sym};
 
 use rustc_error_codes::*;
 
diff --git a/src/librustc/traits/object_safety.rs b/src/librustc/traits/object_safety.rs
index 97f75056f80..30ffdc23d98 100644
--- a/src/librustc/traits/object_safety.rs
+++ b/src/librustc/traits/object_safety.rs
@@ -16,11 +16,11 @@ 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_span::symbol::Symbol;
 use rustc_span::{Span, DUMMY_SP};
 use std::borrow::Cow;
 use std::iter::{self};
 use syntax::ast::{self};
-use syntax::symbol::Symbol;
 
 #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)]
 pub enum ObjectSafetyViolation {
diff --git a/src/librustc/traits/on_unimplemented.rs b/src/librustc/traits/on_unimplemented.rs
index 5d90018e80a..9097cbf0c22 100644
--- a/src/librustc/traits/on_unimplemented.rs
+++ b/src/librustc/traits/on_unimplemented.rs
@@ -5,10 +5,10 @@ use crate::ty::{self, GenericParamDefKind, TyCtxt};
 use crate::util::common::ErrorReported;
 use crate::util::nodemap::FxHashMap;
 
+use rustc_span::symbol::{kw, sym, Symbol};
 use rustc_span::Span;
 use syntax::ast::{MetaItem, NestedMetaItem};
 use syntax::attr;
-use syntax::symbol::{kw, sym, Symbol};
 
 use rustc_error_codes::*;
 
diff --git a/src/librustc/traits/project.rs b/src/librustc/traits/project.rs
index c604bf59cbd..a0a5ca04a8e 100644
--- a/src/librustc/traits/project.rs
+++ b/src/librustc/traits/project.rs
@@ -21,9 +21,9 @@ use crate::ty::{self, ToPolyTraitRef, ToPredicate, Ty, TyCtxt};
 use crate::util::common::FN_OUTPUT_NAME;
 use rustc_data_structures::snapshot_map::{Snapshot, SnapshotMap};
 use rustc_macros::HashStable;
+use rustc_span::symbol::sym;
 use rustc_span::DUMMY_SP;
 use syntax::ast::Ident;
-use syntax::symbol::sym;
 
 /// Depending on the stage of compilation, we want projection to be
 /// more or less conservative.
diff --git a/src/librustc/traits/select.rs b/src/librustc/traits/select.rs
index f11fcc4ebae..7e412eb0303 100644
--- a/src/librustc/traits/select.rs
+++ b/src/librustc/traits/select.rs
@@ -42,6 +42,7 @@ use crate::hir;
 use crate::util::nodemap::{FxHashMap, FxHashSet};
 use rustc_data_structures::sync::Lock;
 use rustc_index::bit_set::GrowableBitSet;
+use rustc_span::symbol::sym;
 use rustc_target::spec::abi::Abi;
 use std::cell::{Cell, RefCell};
 use std::cmp;
@@ -49,7 +50,6 @@ use std::fmt::{self, Display};
 use std::iter;
 use std::rc::Rc;
 use syntax::attr;
-use syntax::symbol::sym;
 
 pub struct SelectionContext<'cx, 'tcx> {
     infcx: &'cx InferCtxt<'cx, 'tcx>,
diff --git a/src/librustc/traits/structural_impls.rs b/src/librustc/traits/structural_impls.rs
index c439f20d640..58204a460d7 100644
--- a/src/librustc/traits/structural_impls.rs
+++ b/src/librustc/traits/structural_impls.rs
@@ -3,8 +3,8 @@ use crate::traits::project::Normalized;
 use crate::ty::fold::{TypeFoldable, TypeFolder, TypeVisitor};
 use crate::ty::{self, Lift, Ty, TyCtxt};
 use chalk_engine;
+use rustc_span::symbol::Symbol;
 use smallvec::SmallVec;
-use syntax::symbol::Symbol;
 
 use std::collections::{BTreeMap, BTreeSet};
 use std::fmt;
diff --git a/src/librustc/ty/context.rs b/src/librustc/ty/context.rs
index d1296bb1791..c26d68de181 100644
--- a/src/librustc/ty/context.rs
+++ b/src/librustc/ty/context.rs
@@ -60,6 +60,7 @@ use rustc_data_structures::sync::{Lock, Lrc, WorkerLocal};
 use rustc_index::vec::{Idx, IndexVec};
 use rustc_macros::HashStable;
 use rustc_span::source_map::MultiSpan;
+use rustc_span::symbol::{kw, sym, Symbol};
 use rustc_span::Span;
 use rustc_target::spec::abi;
 use smallvec::SmallVec;
@@ -76,7 +77,6 @@ use std::sync::Arc;
 use syntax::ast;
 use syntax::attr;
 use syntax::expand::allocator::AllocatorKind;
-use syntax::symbol::{kw, sym, Symbol};
 
 pub struct AllArenas {
     pub interner: SyncDroplessArena,
diff --git a/src/librustc/ty/print/pretty.rs b/src/librustc/ty/print/pretty.rs
index 9bd7701da1f..8dafe407ed9 100644
--- a/src/librustc/ty/print/pretty.rs
+++ b/src/librustc/ty/print/pretty.rs
@@ -11,10 +11,10 @@ use crate::ty::{self, DefIdTree, ParamConst, Ty, TyCtxt, TypeFoldable};
 
 use rustc_apfloat::ieee::{Double, Single};
 use rustc_apfloat::Float;
+use rustc_span::symbol::{kw, Symbol};
 use rustc_target::spec::abi::Abi;
 use syntax::ast;
 use syntax::attr::{SignedInt, UnsignedInt};
-use syntax::symbol::{kw, Symbol};
 
 use std::cell::Cell;
 use std::collections::BTreeMap;
diff --git a/src/librustc/ty/query/mod.rs b/src/librustc/ty/query/mod.rs
index 9a555ecf091..1907e6c82c6 100644
--- a/src/librustc/ty/query/mod.rs
+++ b/src/librustc/ty/query/mod.rs
@@ -47,6 +47,7 @@ use rustc_data_structures::sync::Lrc;
 use rustc_index::vec::IndexVec;
 use rustc_target::spec::PanicStrategy;
 
+use rustc_span::symbol::Symbol;
 use rustc_span::{Span, DUMMY_SP};
 use std::any::type_name;
 use std::borrow::Cow;
@@ -54,7 +55,6 @@ use std::ops::Deref;
 use std::sync::Arc;
 use syntax::ast;
 use syntax::attr;
-use syntax::symbol::Symbol;
 
 #[macro_use]
 mod plumbing;
diff --git a/src/librustc/ty/query/values.rs b/src/librustc/ty/query/values.rs
index 65298ed65d1..900a91fe5cf 100644
--- a/src/librustc/ty/query/values.rs
+++ b/src/librustc/ty/query/values.rs
@@ -1,7 +1,7 @@
 use crate::ty::util::NeedsDrop;
 use crate::ty::{self, AdtSizedConstraint, Ty, TyCtxt};
 
-use syntax::symbol::Symbol;
+use rustc_span::symbol::Symbol;
 
 pub(super) trait Value<'tcx>: Sized {
     fn from_cycle_error(tcx: TyCtxt<'tcx>) -> Self;
diff --git a/src/librustc/ty/sty.rs b/src/librustc/ty/sty.rs
index c17fff29810..346622530bd 100644
--- a/src/librustc/ty/sty.rs
+++ b/src/librustc/ty/sty.rs
@@ -20,6 +20,7 @@ use crate::util::captures::Captures;
 use polonius_engine::Atom;
 use rustc_index::vec::Idx;
 use rustc_macros::HashStable;
+use rustc_span::symbol::{kw, Symbol};
 use rustc_target::spec::abi;
 use smallvec::SmallVec;
 use std::borrow::Cow;
@@ -27,7 +28,6 @@ use std::cmp::Ordering;
 use std::marker::PhantomData;
 use std::ops::Range;
 use syntax::ast::{self, Ident};
-use syntax::symbol::{kw, Symbol};
 
 #[derive(
     Clone,
diff --git a/src/librustc/ty/wf.rs b/src/librustc/ty/wf.rs
index 1440813f47a..4969e7211ce 100644
--- a/src/librustc/ty/wf.rs
+++ b/src/librustc/ty/wf.rs
@@ -5,9 +5,9 @@ use crate::middle::lang_items;
 use crate::traits::{self, AssocTypeBoundData};
 use crate::ty::subst::SubstsRef;
 use crate::ty::{self, ToPredicate, Ty, TyCtxt, TypeFoldable};
+use rustc_span::symbol::{kw, Ident};
 use rustc_span::Span;
 use std::iter::once;
-use syntax::symbol::{kw, Ident};
 
 /// Returns the set of obligations needed to make `ty` well-formed.
 /// If `ty` contains unresolved inference variables, this may include
diff --git a/src/librustc/util/common.rs b/src/librustc/util/common.rs
index 581f1c0ab6a..011b70c04d5 100644
--- a/src/librustc/util/common.rs
+++ b/src/librustc/util/common.rs
@@ -7,7 +7,7 @@ use std::fmt::Debug;
 use std::time::{Duration, Instant};
 
 use crate::session::Session;
-use syntax::symbol::{sym, Symbol};
+use rustc_span::symbol::{sym, Symbol};
 
 #[cfg(test)]
 mod tests;
diff --git a/src/librustc_builtin_macros/asm.rs b/src/librustc_builtin_macros/asm.rs
index 71d6d058d90..a136a07a40c 100644
--- a/src/librustc_builtin_macros/asm.rs
+++ b/src/librustc_builtin_macros/asm.rs
@@ -5,10 +5,10 @@ use State::*;
 use errors::{DiagnosticBuilder, PResult};
 use rustc_expand::base::*;
 use rustc_parse::parser::Parser;
+use rustc_span::symbol::{kw, sym, Symbol};
 use rustc_span::Span;
 use syntax::ast::{self, AsmDialect};
 use syntax::ptr::P;
-use syntax::symbol::{kw, sym, Symbol};
 use syntax::token::{self, Token};
 use syntax::tokenstream::{self, TokenStream};
 use syntax::{span_err, struct_span_err};
diff --git a/src/librustc_builtin_macros/assert.rs b/src/librustc_builtin_macros/assert.rs
index c32263a6a0f..9043db4742b 100644
--- a/src/librustc_builtin_macros/assert.rs
+++ b/src/librustc_builtin_macros/assert.rs
@@ -2,11 +2,11 @@ use errors::{Applicability, DiagnosticBuilder};
 
 use rustc_expand::base::*;
 use rustc_parse::parser::Parser;
+use rustc_span::symbol::{sym, Symbol};
 use rustc_span::{Span, DUMMY_SP};
 use syntax::ast::{self, *};
 use syntax::print::pprust;
 use syntax::ptr::P;
-use syntax::symbol::{sym, Symbol};
 use syntax::token::{self, TokenKind};
 use syntax::tokenstream::{DelimSpan, TokenStream, TokenTree};
 
diff --git a/src/librustc_builtin_macros/concat.rs b/src/librustc_builtin_macros/concat.rs
index c768402b479..ed65611da61 100644
--- a/src/librustc_builtin_macros/concat.rs
+++ b/src/librustc_builtin_macros/concat.rs
@@ -1,6 +1,6 @@
 use rustc_expand::base::{self, DummyResult};
+use rustc_span::symbol::Symbol;
 use syntax::ast;
-use syntax::symbol::Symbol;
 use syntax::tokenstream::TokenStream;
 
 use std::string::String;
diff --git a/src/librustc_builtin_macros/deriving/clone.rs b/src/librustc_builtin_macros/deriving/clone.rs
index 0b79ee13132..0df5ef3c9d8 100644
--- a/src/librustc_builtin_macros/deriving/clone.rs
+++ b/src/librustc_builtin_macros/deriving/clone.rs
@@ -3,10 +3,10 @@ use crate::deriving::generic::*;
 use crate::deriving::path_std;
 
 use rustc_expand::base::{Annotatable, ExtCtxt};
+use rustc_span::symbol::{kw, sym, Symbol};
 use rustc_span::Span;
 use syntax::ast::{self, Expr, GenericArg, Generics, ItemKind, MetaItem, VariantData};
 use syntax::ptr::P;
-use syntax::symbol::{kw, sym, Symbol};
 
 pub fn expand_deriving_clone(
     cx: &mut ExtCtxt<'_>,
diff --git a/src/librustc_builtin_macros/deriving/cmp/eq.rs b/src/librustc_builtin_macros/deriving/cmp/eq.rs
index 72c3be23654..cb8933c1475 100644
--- a/src/librustc_builtin_macros/deriving/cmp/eq.rs
+++ b/src/librustc_builtin_macros/deriving/cmp/eq.rs
@@ -3,10 +3,10 @@ use crate::deriving::generic::*;
 use crate::deriving::path_std;
 
 use rustc_expand::base::{Annotatable, ExtCtxt};
+use rustc_span::symbol::{sym, Symbol};
 use rustc_span::Span;
 use syntax::ast::{self, Expr, GenericArg, Ident, MetaItem};
 use syntax::ptr::P;
-use syntax::symbol::{sym, Symbol};
 
 pub fn expand_deriving_eq(
     cx: &mut ExtCtxt<'_>,
diff --git a/src/librustc_builtin_macros/deriving/cmp/ord.rs b/src/librustc_builtin_macros/deriving/cmp/ord.rs
index c16f8015950..fa430983806 100644
--- a/src/librustc_builtin_macros/deriving/cmp/ord.rs
+++ b/src/librustc_builtin_macros/deriving/cmp/ord.rs
@@ -3,10 +3,10 @@ use crate::deriving::generic::*;
 use crate::deriving::path_std;
 
 use rustc_expand::base::{Annotatable, ExtCtxt};
+use rustc_span::symbol::sym;
 use rustc_span::Span;
 use syntax::ast::{self, Expr, MetaItem};
 use syntax::ptr::P;
-use syntax::symbol::sym;
 
 pub fn expand_deriving_ord(
     cx: &mut ExtCtxt<'_>,
diff --git a/src/librustc_builtin_macros/deriving/cmp/partial_eq.rs b/src/librustc_builtin_macros/deriving/cmp/partial_eq.rs
index daf518242d5..dc2912895a8 100644
--- a/src/librustc_builtin_macros/deriving/cmp/partial_eq.rs
+++ b/src/librustc_builtin_macros/deriving/cmp/partial_eq.rs
@@ -3,10 +3,10 @@ use crate::deriving::generic::*;
 use crate::deriving::{path_local, path_std};
 
 use rustc_expand::base::{Annotatable, ExtCtxt};
+use rustc_span::symbol::sym;
 use rustc_span::Span;
 use syntax::ast::{BinOpKind, Expr, MetaItem};
 use syntax::ptr::P;
-use syntax::symbol::sym;
 
 pub fn expand_deriving_partial_eq(
     cx: &mut ExtCtxt<'_>,
diff --git a/src/librustc_builtin_macros/deriving/cmp/partial_ord.rs b/src/librustc_builtin_macros/deriving/cmp/partial_ord.rs
index 5313b829ca8..a54d8c56f75 100644
--- a/src/librustc_builtin_macros/deriving/cmp/partial_ord.rs
+++ b/src/librustc_builtin_macros/deriving/cmp/partial_ord.rs
@@ -5,10 +5,10 @@ use crate::deriving::generic::*;
 use crate::deriving::{path_local, path_std, pathvec_std};
 
 use rustc_expand::base::{Annotatable, ExtCtxt};
+use rustc_span::symbol::{sym, Symbol};
 use rustc_span::Span;
 use syntax::ast::{self, BinOpKind, Expr, MetaItem};
 use syntax::ptr::P;
-use syntax::symbol::{sym, Symbol};
 
 pub fn expand_deriving_partial_ord(
     cx: &mut ExtCtxt<'_>,
diff --git a/src/librustc_builtin_macros/deriving/debug.rs b/src/librustc_builtin_macros/deriving/debug.rs
index e9c5c7ff9cc..f68fddee71b 100644
--- a/src/librustc_builtin_macros/deriving/debug.rs
+++ b/src/librustc_builtin_macros/deriving/debug.rs
@@ -3,11 +3,11 @@ use crate::deriving::generic::*;
 use crate::deriving::path_std;
 
 use rustc_expand::base::{Annotatable, ExtCtxt};
+use rustc_span::symbol::sym;
 use rustc_span::{Span, DUMMY_SP};
 use syntax::ast::{self, Ident};
 use syntax::ast::{Expr, MetaItem};
 use syntax::ptr::P;
-use syntax::symbol::sym;
 
 pub fn expand_deriving_debug(
     cx: &mut ExtCtxt<'_>,
diff --git a/src/librustc_builtin_macros/deriving/decodable.rs b/src/librustc_builtin_macros/deriving/decodable.rs
index 8706535cd3f..3b20ebbbab4 100644
--- a/src/librustc_builtin_macros/deriving/decodable.rs
+++ b/src/librustc_builtin_macros/deriving/decodable.rs
@@ -5,11 +5,11 @@ use crate::deriving::generic::*;
 use crate::deriving::pathvec_std;
 
 use rustc_expand::base::{Annotatable, ExtCtxt};
+use rustc_span::symbol::Symbol;
 use rustc_span::Span;
 use syntax::ast;
 use syntax::ast::{Expr, MetaItem, Mutability};
 use syntax::ptr::P;
-use syntax::symbol::Symbol;
 
 pub fn expand_deriving_rustc_decodable(
     cx: &mut ExtCtxt<'_>,
diff --git a/src/librustc_builtin_macros/deriving/default.rs b/src/librustc_builtin_macros/deriving/default.rs
index 43185f924e7..f40d6d7e424 100644
--- a/src/librustc_builtin_macros/deriving/default.rs
+++ b/src/librustc_builtin_macros/deriving/default.rs
@@ -3,11 +3,11 @@ use crate::deriving::generic::*;
 use crate::deriving::path_std;
 
 use rustc_expand::base::{Annotatable, DummyResult, ExtCtxt};
+use rustc_span::symbol::{kw, sym};
 use rustc_span::Span;
 use syntax::ast::{Expr, MetaItem};
 use syntax::ptr::P;
 use syntax::span_err;
-use syntax::symbol::{kw, sym};
 
 use rustc_error_codes::*;
 
diff --git a/src/librustc_builtin_macros/deriving/encodable.rs b/src/librustc_builtin_macros/deriving/encodable.rs
index 496e5e3058d..b330f00939f 100644
--- a/src/librustc_builtin_macros/deriving/encodable.rs
+++ b/src/librustc_builtin_macros/deriving/encodable.rs
@@ -90,10 +90,10 @@ use crate::deriving::generic::*;
 use crate::deriving::pathvec_std;
 
 use rustc_expand::base::{Annotatable, ExtCtxt};
+use rustc_span::symbol::Symbol;
 use rustc_span::Span;
 use syntax::ast::{Expr, ExprKind, MetaItem, Mutability};
 use syntax::ptr::P;
-use syntax::symbol::Symbol;
 
 pub fn expand_deriving_rustc_encodable(
     cx: &mut ExtCtxt<'_>,
diff --git a/src/librustc_builtin_macros/deriving/generic/mod.rs b/src/librustc_builtin_macros/deriving/generic/mod.rs
index 44b30118f5a..7092483843f 100644
--- a/src/librustc_builtin_macros/deriving/generic/mod.rs
+++ b/src/librustc_builtin_macros/deriving/generic/mod.rs
@@ -183,13 +183,13 @@ use std::vec;
 
 use rustc_expand::base::{Annotatable, ExtCtxt};
 use rustc_span::source_map::respan;
+use rustc_span::symbol::{kw, sym, Symbol};
 use rustc_span::Span;
 use syntax::ast::{self, BinOpKind, EnumDef, Expr, Generics, Ident, PatKind};
 use syntax::ast::{GenericArg, GenericParamKind, VariantData};
 use syntax::attr;
 use syntax::ptr::P;
 use syntax::sess::ParseSess;
-use syntax::symbol::{kw, sym, Symbol};
 use syntax::util::map_in_place::MapInPlace;
 
 use ty::{LifetimeBounds, Path, Ptr, PtrTy, Self_, Ty};
diff --git a/src/librustc_builtin_macros/deriving/hash.rs b/src/librustc_builtin_macros/deriving/hash.rs
index bb83c0449c7..e620711aa2b 100644
--- a/src/librustc_builtin_macros/deriving/hash.rs
+++ b/src/librustc_builtin_macros/deriving/hash.rs
@@ -3,10 +3,10 @@ use crate::deriving::generic::*;
 use crate::deriving::{self, path_std, pathvec_std};
 
 use rustc_expand::base::{Annotatable, ExtCtxt};
+use rustc_span::symbol::sym;
 use rustc_span::Span;
 use syntax::ast::{Expr, MetaItem, Mutability};
 use syntax::ptr::P;
-use syntax::symbol::sym;
 
 pub fn expand_deriving_hash(
     cx: &mut ExtCtxt<'_>,
diff --git a/src/librustc_builtin_macros/deriving/mod.rs b/src/librustc_builtin_macros/deriving/mod.rs
index 6f1b3adfb46..4d83a6635ab 100644
--- a/src/librustc_builtin_macros/deriving/mod.rs
+++ b/src/librustc_builtin_macros/deriving/mod.rs
@@ -1,10 +1,10 @@
 //! The compiler code necessary to implement the `#[derive]` extensions.
 
 use rustc_expand::base::{Annotatable, ExtCtxt, MultiItemModifier};
+use rustc_span::symbol::{sym, Symbol};
 use rustc_span::Span;
 use syntax::ast::{self, ItemKind, MetaItem};
 use syntax::ptr::P;
-use syntax::symbol::{sym, Symbol};
 
 macro path_local($x:ident) {
     generic::ty::Path::new_local(stringify!($x))
diff --git a/src/librustc_builtin_macros/env.rs b/src/librustc_builtin_macros/env.rs
index 17489295ff6..896bb8ca053 100644
--- a/src/librustc_builtin_macros/env.rs
+++ b/src/librustc_builtin_macros/env.rs
@@ -4,9 +4,9 @@
 //
 
 use rustc_expand::base::{self, *};
+use rustc_span::symbol::{kw, sym, Symbol};
 use rustc_span::Span;
 use syntax::ast::{self, GenericArg, Ident};
-use syntax::symbol::{kw, sym, Symbol};
 use syntax::tokenstream::TokenStream;
 
 use std::env;
diff --git a/src/librustc_builtin_macros/format.rs b/src/librustc_builtin_macros/format.rs
index 6e7853c85ad..e2662faab6c 100644
--- a/src/librustc_builtin_macros/format.rs
+++ b/src/librustc_builtin_macros/format.rs
@@ -8,10 +8,10 @@ use errors::Applicability;
 use errors::DiagnosticBuilder;
 
 use rustc_expand::base::{self, *};
+use rustc_span::symbol::{sym, Symbol};
 use rustc_span::{MultiSpan, Span};
 use syntax::ast;
 use syntax::ptr::P;
-use syntax::symbol::{sym, Symbol};
 use syntax::token;
 use syntax::tokenstream::TokenStream;
 
diff --git a/src/librustc_builtin_macros/global_allocator.rs b/src/librustc_builtin_macros/global_allocator.rs
index 58e1c0fc2b1..957d34b7d89 100644
--- a/src/librustc_builtin_macros/global_allocator.rs
+++ b/src/librustc_builtin_macros/global_allocator.rs
@@ -1,12 +1,12 @@
 use crate::util::check_builtin_macro_attribute;
 
 use rustc_expand::base::{Annotatable, ExtCtxt};
+use rustc_span::symbol::{kw, sym, Symbol};
 use rustc_span::Span;
 use syntax::ast::{self, Attribute, Expr, FnHeader, FnSig, Generics, Ident, Param};
 use syntax::ast::{ItemKind, Mutability, Stmt, Ty, TyKind, Unsafety};
 use syntax::expand::allocator::{AllocatorKind, AllocatorMethod, AllocatorTy, ALLOCATOR_METHODS};
 use syntax::ptr::P;
-use syntax::symbol::{kw, sym, Symbol};
 
 pub fn expand(
     ecx: &mut ExtCtxt<'_>,
diff --git a/src/librustc_builtin_macros/lib.rs b/src/librustc_builtin_macros/lib.rs
index e9709d981fe..066e3a26445 100644
--- a/src/librustc_builtin_macros/lib.rs
+++ b/src/librustc_builtin_macros/lib.rs
@@ -15,9 +15,9 @@ use crate::deriving::*;
 
 use rustc_expand::base::{MacroExpanderFn, Resolver, SyntaxExtension, SyntaxExtensionKind};
 use rustc_expand::proc_macro::BangProcMacro;
+use rustc_span::symbol::sym;
 use syntax::ast::Ident;
 use syntax::edition::Edition;
-use syntax::symbol::sym;
 
 mod asm;
 mod assert;
diff --git a/src/librustc_builtin_macros/proc_macro_harness.rs b/src/librustc_builtin_macros/proc_macro_harness.rs
index f2e3414588b..44968d6df96 100644
--- a/src/librustc_builtin_macros/proc_macro_harness.rs
+++ b/src/librustc_builtin_macros/proc_macro_harness.rs
@@ -3,6 +3,7 @@ use std::mem;
 use rustc_expand::base::{ExtCtxt, Resolver};
 use rustc_expand::expand::{AstFragment, ExpansionConfig};
 use rustc_span::hygiene::AstPass;
+use rustc_span::symbol::{kw, sym};
 use rustc_span::{Span, DUMMY_SP};
 use smallvec::smallvec;
 use syntax::ast::{self, Ident};
@@ -11,7 +12,6 @@ use syntax::expand::is_proc_macro_attr;
 use syntax::print::pprust;
 use syntax::ptr::P;
 use syntax::sess::ParseSess;
-use syntax::symbol::{kw, sym};
 use syntax::visit::{self, Visitor};
 
 struct ProcMacroDerive {
diff --git a/src/librustc_builtin_macros/source_util.rs b/src/librustc_builtin_macros/source_util.rs
index e24f49909ce..19a766de1f4 100644
--- a/src/librustc_builtin_macros/source_util.rs
+++ b/src/librustc_builtin_macros/source_util.rs
@@ -1,11 +1,11 @@
 use rustc_expand::base::{self, *};
 use rustc_expand::panictry;
 use rustc_parse::{self, new_sub_parser_from_file, parser::Parser, DirectoryOwnership};
+use rustc_span::symbol::Symbol;
 use syntax::ast;
 use syntax::early_buffered_lints::INCOMPLETE_INCLUDE;
 use syntax::print::pprust;
 use syntax::ptr::P;
-use syntax::symbol::Symbol;
 use syntax::token;
 use syntax::tokenstream::TokenStream;
 
diff --git a/src/librustc_builtin_macros/standard_library_imports.rs b/src/librustc_builtin_macros/standard_library_imports.rs
index e7f6c59e889..b56a2f5254a 100644
--- a/src/librustc_builtin_macros/standard_library_imports.rs
+++ b/src/librustc_builtin_macros/standard_library_imports.rs
@@ -1,11 +1,11 @@
 use rustc_expand::base::{ExtCtxt, Resolver};
 use rustc_expand::expand::ExpansionConfig;
 use rustc_span::hygiene::AstPass;
+use rustc_span::symbol::{kw, sym, Ident, Symbol};
 use rustc_span::DUMMY_SP;
 use syntax::edition::Edition;
 use syntax::ptr::P;
 use syntax::sess::ParseSess;
-use syntax::symbol::{kw, sym, Ident, Symbol};
 use syntax::{ast, attr};
 
 pub fn inject(
diff --git a/src/librustc_builtin_macros/test.rs b/src/librustc_builtin_macros/test.rs
index 758f8516e0e..0eee212108e 100644
--- a/src/librustc_builtin_macros/test.rs
+++ b/src/librustc_builtin_macros/test.rs
@@ -4,11 +4,11 @@ use crate::util::check_builtin_macro_attribute;
 
 use rustc_expand::base::*;
 use rustc_span::source_map::respan;
+use rustc_span::symbol::{sym, Symbol};
 use rustc_span::Span;
 use syntax::ast;
 use syntax::attr;
 use syntax::print::pprust;
-use syntax::symbol::{sym, Symbol};
 
 use std::iter;
 
diff --git a/src/librustc_builtin_macros/test_harness.rs b/src/librustc_builtin_macros/test_harness.rs
index fa3a4c2ad2d..eddf4927203 100644
--- a/src/librustc_builtin_macros/test_harness.rs
+++ b/src/librustc_builtin_macros/test_harness.rs
@@ -6,6 +6,7 @@ use rustc_expand::expand::{AstFragment, ExpansionConfig};
 use rustc_feature::Features;
 use rustc_span::hygiene::{AstPass, SyntaxContext, Transparency};
 use rustc_span::source_map::respan;
+use rustc_span::symbol::{sym, Symbol};
 use rustc_span::{Span, DUMMY_SP};
 use rustc_target::spec::PanicStrategy;
 use smallvec::{smallvec, SmallVec};
@@ -15,7 +16,6 @@ use syntax::entry::{self, EntryPointType};
 use syntax::mut_visit::{ExpectOne, *};
 use syntax::ptr::P;
 use syntax::sess::ParseSess;
-use syntax::symbol::{sym, Symbol};
 
 use std::{iter, mem};
 
diff --git a/src/librustc_builtin_macros/trace_macros.rs b/src/librustc_builtin_macros/trace_macros.rs
index 577a1d690c1..c0b373f1370 100644
--- a/src/librustc_builtin_macros/trace_macros.rs
+++ b/src/librustc_builtin_macros/trace_macros.rs
@@ -1,6 +1,6 @@
 use rustc_expand::base::{self, ExtCtxt};
+use rustc_span::symbol::kw;
 use rustc_span::Span;
-use syntax::symbol::kw;
 use syntax::tokenstream::{TokenStream, TokenTree};
 
 pub fn expand_trace_macros(
diff --git a/src/librustc_codegen_llvm/back/archive.rs b/src/librustc_codegen_llvm/back/archive.rs
index d4652070c7c..455b7086212 100644
--- a/src/librustc_codegen_llvm/back/archive.rs
+++ b/src/librustc_codegen_llvm/back/archive.rs
@@ -12,7 +12,7 @@ use crate::llvm::{self, ArchiveKind};
 use rustc::session::Session;
 use rustc_codegen_ssa::back::archive::{find_library, ArchiveBuilder};
 use rustc_codegen_ssa::{looks_like_rust_object_file, METADATA_FILENAME, RLIB_BYTECODE_EXTENSION};
-use syntax::symbol::Symbol;
+use rustc_span::symbol::Symbol;
 
 struct ArchiveConfig<'a> {
     pub sess: &'a Session,
diff --git a/src/librustc_codegen_llvm/common.rs b/src/librustc_codegen_llvm/common.rs
index 525b3af29f8..76f6eeb3f79 100644
--- a/src/librustc_codegen_llvm/common.rs
+++ b/src/librustc_codegen_llvm/common.rs
@@ -18,8 +18,8 @@ use rustc_codegen_ssa::mir::place::PlaceRef;
 
 use libc::{c_char, c_uint};
 
+use rustc_span::symbol::Symbol;
 use syntax::ast::Mutability;
-use syntax::symbol::Symbol;
 
 pub use crate::context::CodegenCx;
 
diff --git a/src/librustc_codegen_llvm/consts.rs b/src/librustc_codegen_llvm/consts.rs
index 2f3be077ef5..318037b5bd8 100644
--- a/src/librustc_codegen_llvm/consts.rs
+++ b/src/librustc_codegen_llvm/consts.rs
@@ -14,9 +14,9 @@ use rustc::mir::mono::MonoItem;
 use rustc::ty::{self, Instance, Ty};
 use rustc::{bug, span_bug};
 use rustc_codegen_ssa::traits::*;
+use rustc_span::symbol::{sym, Symbol};
 use rustc_span::Span;
 use rustc_target::abi::HasDataLayout;
-use syntax::symbol::{sym, Symbol};
 
 use rustc::ty::layout::{self, Align, LayoutOf, Size};
 
diff --git a/src/librustc_codegen_llvm/context.rs b/src/librustc_codegen_llvm/context.rs
index cfaa0cfdca1..c0a5e0089a9 100644
--- a/src/librustc_codegen_llvm/context.rs
+++ b/src/librustc_codegen_llvm/context.rs
@@ -28,12 +28,12 @@ use rustc_target::spec::{HasTargetSpec, Target};
 
 use crate::abi::Abi;
 use rustc_span::source_map::{Span, DUMMY_SP};
+use rustc_span::symbol::Symbol;
 use std::cell::{Cell, RefCell};
 use std::ffi::CStr;
 use std::iter;
 use std::str;
 use std::sync::Arc;
-use syntax::symbol::Symbol;
 
 /// There is one `CodegenCx` per compilation unit. Each one has its own LLVM
 /// `llvm::Context` so that several compilation units may be optimized in parallel.
diff --git a/src/librustc_codegen_llvm/debuginfo/gdb.rs b/src/librustc_codegen_llvm/debuginfo/gdb.rs
index f68b7b2cfb9..eae461a575f 100644
--- a/src/librustc_codegen_llvm/debuginfo/gdb.rs
+++ b/src/librustc_codegen_llvm/debuginfo/gdb.rs
@@ -9,8 +9,8 @@ use rustc::bug;
 use rustc::session::config::DebugInfo;
 use rustc_codegen_ssa::traits::*;
 
+use rustc_span::symbol::sym;
 use syntax::attr;
-use syntax::symbol::sym;
 
 /// Inserts a side-effect free instruction sequence that makes sure that the
 /// .debug_gdb_scripts global is referenced, so it isn't removed by the linker.
diff --git a/src/librustc_codegen_llvm/debuginfo/metadata.rs b/src/librustc_codegen_llvm/debuginfo/metadata.rs
index e752103c1d7..61ccd782010 100644
--- a/src/librustc_codegen_llvm/debuginfo/metadata.rs
+++ b/src/librustc_codegen_llvm/debuginfo/metadata.rs
@@ -42,10 +42,10 @@ use rustc_data_structures::small_c_str::SmallCStr;
 use rustc_data_structures::stable_hasher::{HashStable, StableHasher};
 use rustc_fs_util::path_to_c_string;
 use rustc_index::vec::{Idx, IndexVec};
+use rustc_span::symbol::{Interner, Symbol};
 use rustc_span::{self, FileName, Span};
 use rustc_target::abi::HasDataLayout;
 use syntax::ast;
-use syntax::symbol::{Interner, Symbol};
 
 use libc::{c_longlong, c_uint};
 use std::collections::hash_map::Entry;
diff --git a/src/librustc_codegen_llvm/debuginfo/mod.rs b/src/librustc_codegen_llvm/debuginfo/mod.rs
index 765643113f5..16ae3c95030 100644
--- a/src/librustc_codegen_llvm/debuginfo/mod.rs
+++ b/src/librustc_codegen_llvm/debuginfo/mod.rs
@@ -37,10 +37,10 @@ use std::ffi::CString;
 
 use rustc::ty::layout::{self, HasTyCtxt, LayoutOf, Size};
 use rustc_codegen_ssa::traits::*;
+use rustc_span::symbol::Symbol;
 use rustc_span::{self, BytePos, Pos, Span};
 use smallvec::SmallVec;
 use syntax::ast;
-use syntax::symbol::Symbol;
 
 mod create_scope_map;
 pub mod gdb;
diff --git a/src/librustc_codegen_llvm/llvm_util.rs b/src/librustc_codegen_llvm/llvm_util.rs
index b57ca0d09f9..b3c58b24020 100644
--- a/src/librustc_codegen_llvm/llvm_util.rs
+++ b/src/librustc_codegen_llvm/llvm_util.rs
@@ -6,10 +6,10 @@ use rustc::session::config::PrintRequest;
 use rustc::session::Session;
 use rustc_data_structures::fx::FxHashSet;
 use rustc_feature::UnstableFeatures;
+use rustc_span::symbol::sym;
 use rustc_span::symbol::Symbol;
 use rustc_target::spec::{MergeFunctions, PanicStrategy};
 use std::ffi::CString;
-use syntax::symbol::sym;
 
 use std::slice;
 use std::str;
diff --git a/src/librustc_codegen_ssa/back/archive.rs b/src/librustc_codegen_ssa/back/archive.rs
index 5f222311926..a357c350287 100644
--- a/src/librustc_codegen_ssa/back/archive.rs
+++ b/src/librustc_codegen_ssa/back/archive.rs
@@ -1,5 +1,5 @@
 use rustc::session::Session;
-use syntax::symbol::Symbol;
+use rustc_span::symbol::Symbol;
 
 use std::io;
 use std::path::{Path, PathBuf};
diff --git a/src/librustc_codegen_ssa/back/command.rs b/src/librustc_codegen_ssa/back/command.rs
index dcc16416e5e..30b055b3131 100644
--- a/src/librustc_codegen_ssa/back/command.rs
+++ b/src/librustc_codegen_ssa/back/command.rs
@@ -7,8 +7,8 @@ use std::io;
 use std::mem;
 use std::process::{self, Output};
 
+use rustc_span::symbol::Symbol;
 use rustc_target::spec::LldFlavor;
-use syntax::symbol::Symbol;
 
 #[derive(Clone)]
 pub struct Command {
diff --git a/src/librustc_codegen_ssa/back/link.rs b/src/librustc_codegen_ssa/back/link.rs
index c7a599a5749..8cdda5630ea 100644
--- a/src/librustc_codegen_ssa/back/link.rs
+++ b/src/librustc_codegen_ssa/back/link.rs
@@ -11,8 +11,8 @@ use rustc::session::{filesearch, Session};
 use rustc::util::common::{time, time_ext};
 use rustc_data_structures::fx::FxHashSet;
 use rustc_fs_util::fix_windows_verbatim_for_gcc;
+use rustc_span::symbol::Symbol;
 use rustc_target::spec::{LinkerFlavor, PanicStrategy, RelroLevel};
-use syntax::symbol::Symbol;
 
 use super::archive::ArchiveBuilder;
 use super::command::Command;
diff --git a/src/librustc_codegen_ssa/back/linker.rs b/src/librustc_codegen_ssa/back/linker.rs
index a3e60f86199..fb9ba2a1558 100644
--- a/src/librustc_codegen_ssa/back/linker.rs
+++ b/src/librustc_codegen_ssa/back/linker.rs
@@ -15,8 +15,8 @@ use rustc::session::config::{self, CrateType, DebugInfo, LinkerPluginLto, Lto, O
 use rustc::session::Session;
 use rustc::ty::TyCtxt;
 use rustc_serialize::{json, Encoder};
+use rustc_span::symbol::Symbol;
 use rustc_target::spec::{LinkerFlavor, LldFlavor};
-use syntax::symbol::Symbol;
 
 /// For all the linkers we support, and information they might
 /// need out of the shared crate context before we get rid of it.
diff --git a/src/librustc_codegen_ssa/mir/debuginfo.rs b/src/librustc_codegen_ssa/mir/debuginfo.rs
index 5d26b84b2c9..4b4a2f4b26d 100644
--- a/src/librustc_codegen_ssa/mir/debuginfo.rs
+++ b/src/librustc_codegen_ssa/mir/debuginfo.rs
@@ -6,8 +6,8 @@ use rustc::ty::layout::{LayoutOf, Size};
 use rustc::ty::TyCtxt;
 use rustc_index::vec::IndexVec;
 
+use rustc_span::symbol::kw;
 use rustc_span::{BytePos, Span};
-use syntax::symbol::kw;
 
 use super::OperandValue;
 use super::{FunctionCx, LocalRef};
diff --git a/src/librustc_codegen_ssa/mir/rvalue.rs b/src/librustc_codegen_ssa/mir/rvalue.rs
index 3637c72e1eb..39cb501b7aa 100644
--- a/src/librustc_codegen_ssa/mir/rvalue.rs
+++ b/src/librustc_codegen_ssa/mir/rvalue.rs
@@ -14,7 +14,7 @@ use rustc::ty::layout::{self, HasTyCtxt, LayoutOf};
 use rustc::ty::{self, adjustment::PointerCast, Instance, Ty, TyCtxt};
 use rustc_apfloat::{ieee, Float, Round, Status};
 use rustc_span::source_map::{Span, DUMMY_SP};
-use syntax::symbol::sym;
+use rustc_span::symbol::sym;
 
 use std::{i128, u128};
 
diff --git a/src/librustc_codegen_utils/codegen_backend.rs b/src/librustc_codegen_utils/codegen_backend.rs
index 0737fd6b5ca..fecb3986e7e 100644
--- a/src/librustc_codegen_utils/codegen_backend.rs
+++ b/src/librustc_codegen_utils/codegen_backend.rs
@@ -15,7 +15,7 @@ use rustc::session::Session;
 use rustc::ty::query::Providers;
 use rustc::ty::TyCtxt;
 use rustc::util::common::ErrorReported;
-use syntax::symbol::Symbol;
+use rustc_span::symbol::Symbol;
 
 pub use rustc_data_structures::sync::MetadataRef;
 
diff --git a/src/librustc_codegen_utils/lib.rs b/src/librustc_codegen_utils/lib.rs
index 578aa591b5c..399db7aafc7 100644
--- a/src/librustc_codegen_utils/lib.rs
+++ b/src/librustc_codegen_utils/lib.rs
@@ -18,7 +18,7 @@ extern crate rustc;
 use rustc::hir::def_id::{DefId, LOCAL_CRATE};
 use rustc::ty::query::Providers;
 use rustc::ty::TyCtxt;
-use syntax::symbol::sym;
+use rustc_span::symbol::sym;
 
 pub mod codegen_backend;
 pub mod link;
diff --git a/src/librustc_codegen_utils/link.rs b/src/librustc_codegen_utils/link.rs
index d56027f4608..4dab4545b42 100644
--- a/src/librustc_codegen_utils/link.rs
+++ b/src/librustc_codegen_utils/link.rs
@@ -1,8 +1,8 @@
 use rustc::session::config::{self, Input, OutputFilenames, OutputType};
 use rustc::session::Session;
+use rustc_span::symbol::sym;
 use rustc_span::Span;
 use std::path::{Path, PathBuf};
-use syntax::symbol::sym;
 use syntax::{ast, attr};
 
 pub fn out_filename(
diff --git a/src/librustc_codegen_utils/symbol_names_test.rs b/src/librustc_codegen_utils/symbol_names_test.rs
index 7cb3050576c..0a76093a9a9 100644
--- a/src/librustc_codegen_utils/symbol_names_test.rs
+++ b/src/librustc_codegen_utils/symbol_names_test.rs
@@ -6,7 +6,7 @@
 
 use rustc::hir;
 use rustc::ty::{Instance, TyCtxt};
-use syntax::symbol::{sym, Symbol};
+use rustc_span::symbol::{sym, Symbol};
 
 const SYMBOL_NAME: Symbol = sym::rustc_symbol_name;
 const DEF_PATH: Symbol = sym::rustc_def_path;
diff --git a/src/librustc_expand/base.rs b/src/librustc_expand/base.rs
index 71dc1f356b1..e53a7c99274 100644
--- a/src/librustc_expand/base.rs
+++ b/src/librustc_expand/base.rs
@@ -2,13 +2,13 @@ use crate::expand::{self, AstFragment, Invocation};
 
 use rustc_parse::{self, parser, DirectoryOwnership, MACRO_ARGUMENTS};
 use rustc_span::source_map::SourceMap;
+use rustc_span::symbol::{kw, sym, Ident, Symbol};
 use syntax::ast::{self, Attribute, Name, NodeId, PatKind};
 use syntax::attr::{self, Deprecation, HasAttrs, Stability};
 use syntax::edition::Edition;
 use syntax::mut_visit::{self, MutVisitor};
 use syntax::ptr::P;
 use syntax::sess::ParseSess;
-use syntax::symbol::{kw, sym, Ident, Symbol};
 use syntax::token;
 use syntax::tokenstream::{self, TokenStream};
 use syntax::visit::Visitor;
diff --git a/src/librustc_expand/build.rs b/src/librustc_expand/build.rs
index 2a01fd8a1ef..799781a8963 100644
--- a/src/librustc_expand/build.rs
+++ b/src/librustc_expand/build.rs
@@ -1,10 +1,10 @@
 use crate::base::ExtCtxt;
 
 use rustc_span::source_map::{respan, Spanned};
+use rustc_span::symbol::{kw, sym, Symbol};
 use syntax::ast::{self, AttrVec, BlockCheckMode, Expr, Ident, PatKind, UnOp};
 use syntax::attr;
 use syntax::ptr::P;
-use syntax::symbol::{kw, sym, Symbol};
 
 use rustc_span::{Pos, Span};
 
diff --git a/src/librustc_expand/expand.rs b/src/librustc_expand/expand.rs
index 79834972102..6eead11ccb7 100644
--- a/src/librustc_expand/expand.rs
+++ b/src/librustc_expand/expand.rs
@@ -11,6 +11,7 @@ use rustc_parse::parser::Parser;
 use rustc_parse::validate_attr;
 use rustc_parse::DirectoryOwnership;
 use rustc_span::source_map::respan;
+use rustc_span::symbol::{sym, Symbol};
 use rustc_span::{FileName, Span, DUMMY_SP};
 use syntax::ast::{self, AttrItem, Block, Ident, LitKind, NodeId, PatKind, Path};
 use syntax::ast::{ItemKind, MacArgs, MacStmtStyle, StmtKind};
@@ -20,7 +21,6 @@ use syntax::mut_visit::*;
 use syntax::print::pprust;
 use syntax::ptr::P;
 use syntax::sess::ParseSess;
-use syntax::symbol::{sym, Symbol};
 use syntax::token;
 use syntax::tokenstream::{TokenStream, TokenTree};
 use syntax::util::map_in_place::MapInPlace;
diff --git a/src/librustc_expand/mbe/macro_check.rs b/src/librustc_expand/mbe/macro_check.rs
index 819ae02d282..992764ab6a4 100644
--- a/src/librustc_expand/mbe/macro_check.rs
+++ b/src/librustc_expand/mbe/macro_check.rs
@@ -106,10 +106,10 @@
 //! bound.
 use crate::mbe::{KleeneToken, TokenTree};
 
+use rustc_span::symbol::{kw, sym};
 use syntax::ast::NodeId;
 use syntax::early_buffered_lints::META_VARIABLE_MISUSE;
 use syntax::sess::ParseSess;
-use syntax::symbol::{kw, sym};
 use syntax::token::{DelimToken, Token, TokenKind};
 
 use rustc_data_structures::fx::FxHashMap;
diff --git a/src/librustc_expand/mbe/macro_parser.rs b/src/librustc_expand/mbe/macro_parser.rs
index 0585f4f46b9..c0e34a30c54 100644
--- a/src/librustc_expand/mbe/macro_parser.rs
+++ b/src/librustc_expand/mbe/macro_parser.rs
@@ -78,10 +78,10 @@ use crate::mbe::{self, TokenTree};
 
 use rustc_parse::parser::{FollowedByType, Parser, PathStyle};
 use rustc_parse::Directory;
+use rustc_span::symbol::{kw, sym, Symbol};
 use syntax::ast::{Ident, Name};
 use syntax::print::pprust;
 use syntax::sess::ParseSess;
-use syntax::symbol::{kw, sym, Symbol};
 use syntax::token::{self, DocComment, Nonterminal, Token};
 use syntax::tokenstream::TokenStream;
 
diff --git a/src/librustc_expand/mbe/macro_rules.rs b/src/librustc_expand/mbe/macro_rules.rs
index 826cb43294a..3c3f3a44db0 100644
--- a/src/librustc_expand/mbe/macro_rules.rs
+++ b/src/librustc_expand/mbe/macro_rules.rs
@@ -12,13 +12,13 @@ use rustc_feature::Features;
 use rustc_parse::parser::Parser;
 use rustc_parse::Directory;
 use rustc_span::hygiene::Transparency;
+use rustc_span::symbol::{kw, sym, Symbol};
 use rustc_span::Span;
 use syntax::ast;
 use syntax::attr::{self, TransparencyError};
 use syntax::edition::Edition;
 use syntax::print::pprust;
 use syntax::sess::ParseSess;
-use syntax::symbol::{kw, sym, Symbol};
 use syntax::token::{self, NtTT, Token, TokenKind::*};
 use syntax::tokenstream::{DelimSpan, TokenStream};
 
diff --git a/src/librustc_expand/mbe/quoted.rs b/src/librustc_expand/mbe/quoted.rs
index 99026a7a09e..4a33c51d573 100644
--- a/src/librustc_expand/mbe/quoted.rs
+++ b/src/librustc_expand/mbe/quoted.rs
@@ -1,10 +1,10 @@
 use crate::mbe::macro_parser;
 use crate::mbe::{Delimited, KleeneOp, KleeneToken, SequenceRepetition, TokenTree};
 
+use rustc_span::symbol::kw;
 use syntax::ast;
 use syntax::print::pprust;
 use syntax::sess::ParseSess;
-use syntax::symbol::kw;
 use syntax::token::{self, Token};
 use syntax::tokenstream;
 
diff --git a/src/librustc_expand/parse/tests.rs b/src/librustc_expand/parse/tests.rs
index d98ccdeaebc..25cd5dabe57 100644
--- a/src/librustc_expand/parse/tests.rs
+++ b/src/librustc_expand/parse/tests.rs
@@ -3,12 +3,12 @@ use crate::tests::{matches_codepattern, string_to_stream, with_error_checking_pa
 use errors::PResult;
 use rustc_parse::new_parser_from_source_str;
 use rustc_span::source_map::FilePathMapping;
+use rustc_span::symbol::{kw, sym, Symbol};
 use rustc_span::{BytePos, FileName, Pos, Span};
 use syntax::ast::{self, Name, PatKind};
 use syntax::print::pprust::item_to_string;
 use syntax::ptr::P;
 use syntax::sess::ParseSess;
-use syntax::symbol::{kw, sym, Symbol};
 use syntax::token::{self, Token};
 use syntax::tokenstream::{DelimSpan, TokenStream, TokenTree};
 use syntax::visit;
diff --git a/src/librustc_expand/proc_macro.rs b/src/librustc_expand/proc_macro.rs
index 2776bc64733..25e2bbb3467 100644
--- a/src/librustc_expand/proc_macro.rs
+++ b/src/librustc_expand/proc_macro.rs
@@ -1,9 +1,9 @@
 use crate::base::{self, *};
 use crate::proc_macro_server;
 
+use rustc_span::symbol::sym;
 use syntax::ast::{self, ItemKind, MetaItemKind, NestedMetaItem};
 use syntax::errors::{Applicability, FatalError};
-use syntax::symbol::sym;
 use syntax::token;
 use syntax::tokenstream::{self, TokenStream};
 
diff --git a/src/librustc_incremental/assert_dep_graph.rs b/src/librustc_incremental/assert_dep_graph.rs
index 19b5f985f13..738dfa71231 100644
--- a/src/librustc_incremental/assert_dep_graph.rs
+++ b/src/librustc_incremental/assert_dep_graph.rs
@@ -42,11 +42,13 @@ use rustc::hir::intravisit::{self, NestedVisitorMap, Visitor};
 use rustc::ty::TyCtxt;
 use rustc_data_structures::fx::FxHashSet;
 use rustc_data_structures::graph::implementation::{Direction, NodeIndex, INCOMING, OUTGOING};
+use rustc_span::symbol::sym;
 use rustc_span::Span;
+use syntax::ast;
+
 use std::env;
 use std::fs::{self, File};
 use std::io::Write;
-use syntax::{ast, symbol::sym};
 
 pub fn assert_dep_graph(tcx: TyCtxt<'_>) {
     tcx.dep_graph.with_ignore(|| {
diff --git a/src/librustc_incremental/assert_module_sources.rs b/src/librustc_incremental/assert_module_sources.rs
index c08deb6dfd5..b6ce12cf908 100644
--- a/src/librustc_incremental/assert_module_sources.rs
+++ b/src/librustc_incremental/assert_module_sources.rs
@@ -25,9 +25,9 @@ use rustc::hir::def_id::LOCAL_CRATE;
 use rustc::mir::mono::CodegenUnitNameBuilder;
 use rustc::ty::TyCtxt;
 use rustc_session::cgu_reuse_tracker::*;
+use rustc_span::symbol::{sym, Symbol};
 use std::collections::BTreeSet;
 use syntax::ast;
-use syntax::symbol::{sym, Symbol};
 
 pub fn assert_module_sources(tcx: TyCtxt<'_>) {
     tcx.dep_graph.with_ignore(|| {
diff --git a/src/librustc_incremental/persist/dirty_clean.rs b/src/librustc_incremental/persist/dirty_clean.rs
index 2ce782a9858..4d08ccebd69 100644
--- a/src/librustc_incremental/persist/dirty_clean.rs
+++ b/src/librustc_incremental/persist/dirty_clean.rs
@@ -23,11 +23,11 @@ use rustc::hir::{ImplItemKind, ItemKind as HirItem, TraitItemKind};
 use rustc::ty::TyCtxt;
 use rustc_data_structures::fingerprint::Fingerprint;
 use rustc_data_structures::fx::FxHashSet;
+use rustc_span::symbol::{sym, Symbol};
 use rustc_span::Span;
 use std::iter::FromIterator;
 use std::vec::Vec;
 use syntax::ast::{self, Attribute, NestedMetaItem};
-use syntax::symbol::{sym, Symbol};
 
 const EXCEPT: Symbol = sym::except;
 const LABEL: Symbol = sym::label;
diff --git a/src/librustc_interface/passes.rs b/src/librustc_interface/passes.rs
index 670ca30faf2..dcf1763f857 100644
--- a/src/librustc_interface/passes.rs
+++ b/src/librustc_interface/passes.rs
@@ -33,12 +33,12 @@ use rustc_passes::{self, ast_validation, hir_stats, layout_test};
 use rustc_plugin_impl as plugin;
 use rustc_privacy;
 use rustc_resolve::{Resolver, ResolverArenas};
+use rustc_span::symbol::Symbol;
 use rustc_span::FileName;
 use rustc_traits;
 use rustc_typeck as typeck;
 use syntax::early_buffered_lints::BufferedEarlyLint;
 use syntax::mut_visit::MutVisitor;
-use syntax::symbol::Symbol;
 use syntax::util::node_count::NodeCounter;
 use syntax::{self, ast, visit};
 
diff --git a/src/librustc_interface/proc_macro_decls.rs b/src/librustc_interface/proc_macro_decls.rs
index 5bf35124a70..beb479046a5 100644
--- a/src/librustc_interface/proc_macro_decls.rs
+++ b/src/librustc_interface/proc_macro_decls.rs
@@ -3,8 +3,8 @@ use rustc::hir::def_id::{CrateNum, DefId, LOCAL_CRATE};
 use rustc::hir::itemlikevisit::ItemLikeVisitor;
 use rustc::ty::query::Providers;
 use rustc::ty::TyCtxt;
+use rustc_span::symbol::sym;
 use syntax::attr;
-use syntax::symbol::sym;
 
 pub fn find(tcx: TyCtxt<'_>) -> Option<DefId> {
     tcx.proc_macro_decls_static(LOCAL_CRATE)
diff --git a/src/librustc_interface/tests.rs b/src/librustc_interface/tests.rs
index 4ae579cfca2..182b1e7861b 100644
--- a/src/librustc_interface/tests.rs
+++ b/src/librustc_interface/tests.rs
@@ -12,13 +12,13 @@ use rustc::session::search_paths::SearchPath;
 use rustc::session::{build_session, Session};
 use rustc_data_structures::fx::FxHashSet;
 use rustc_errors::{emitter::HumanReadableErrorType, registry, ColorConfig};
+use rustc_span::symbol::sym;
 use rustc_target::spec::{MergeFunctions, PanicStrategy, RelroLevel};
 use std::collections::{BTreeMap, BTreeSet};
 use std::iter::FromIterator;
 use std::path::PathBuf;
 use syntax;
 use syntax::edition::{Edition, DEFAULT_EDITION};
-use syntax::symbol::sym;
 
 type CfgSpecs = FxHashSet<(String, Option<String>)>;
 
diff --git a/src/librustc_interface/util.rs b/src/librustc_interface/util.rs
index 7571f19e27e..c15dc2fe704 100644
--- a/src/librustc_interface/util.rs
+++ b/src/librustc_interface/util.rs
@@ -16,6 +16,7 @@ use rustc_metadata::dynamic_lib::DynamicLibrary;
 use rustc_resolve::{self, Resolver};
 use rustc_span::edition::Edition;
 use rustc_span::source_map::{FileLoader, RealFileLoader, SourceMap};
+use rustc_span::symbol::{sym, Symbol};
 use smallvec::SmallVec;
 use std::env;
 use std::io::{self, Write};
@@ -28,7 +29,6 @@ use std::{panic, thread};
 use syntax::ast::{AttrVec, BlockCheckMode};
 use syntax::mut_visit::{visit_clobber, MutVisitor, *};
 use syntax::ptr::P;
-use syntax::symbol::{sym, Symbol};
 use syntax::util::lev_distance::find_best_match_for_name;
 use syntax::{self, ast, attr};
 
diff --git a/src/librustc_lint/array_into_iter.rs b/src/librustc_lint/array_into_iter.rs
index 481ca43aa79..6beedb08db5 100644
--- a/src/librustc_lint/array_into_iter.rs
+++ b/src/librustc_lint/array_into_iter.rs
@@ -7,7 +7,8 @@ use rustc::{
         adjustment::{Adjust, Adjustment},
     },
 };
-use syntax::{errors::Applicability, symbol::sym};
+use rustc_span::symbol::sym;
+use syntax::errors::Applicability;
 
 declare_lint! {
     pub ARRAY_INTO_ITER,
diff --git a/src/librustc_lint/builtin.rs b/src/librustc_lint/builtin.rs
index 6e13e33a419..f1e3951e149 100644
--- a/src/librustc_lint/builtin.rs
+++ b/src/librustc_lint/builtin.rs
@@ -38,6 +38,7 @@ use rustc_feature::Stability;
 use rustc_feature::{deprecated_attributes, AttributeGate, AttributeTemplate, AttributeType};
 
 use rustc_span::source_map::Spanned;
+use rustc_span::symbol::{kw, sym, Symbol};
 use rustc_span::{BytePos, Span};
 use syntax::ast::{self, Expr};
 use syntax::attr::{self, HasAttrs};
@@ -45,7 +46,6 @@ use syntax::edition::Edition;
 use syntax::errors::{Applicability, DiagnosticBuilder};
 use syntax::print::pprust::{self, expr_to_string};
 use syntax::ptr::P;
-use syntax::symbol::{kw, sym, Symbol};
 use syntax::tokenstream::{TokenStream, TokenTree};
 use syntax::visit::FnKind;
 
diff --git a/src/librustc_lint/nonstandard_style.rs b/src/librustc_lint/nonstandard_style.rs
index 7c5520f86b4..a97061c50ae 100644
--- a/src/librustc_lint/nonstandard_style.rs
+++ b/src/librustc_lint/nonstandard_style.rs
@@ -5,12 +5,12 @@ use rustc::hir::intravisit::FnKind;
 use rustc::hir::{self, GenericParamKind, PatKind};
 use rustc::lint;
 use rustc::ty;
+use rustc_span::symbol::sym;
 use rustc_span::{symbol::Ident, BytePos, Span};
 use rustc_target::spec::abi::Abi;
 use syntax::ast;
 use syntax::attr;
 use syntax::errors::Applicability;
-use syntax::symbol::sym;
 
 #[derive(PartialEq)]
 pub enum MethodLateContext {
diff --git a/src/librustc_lint/unused.rs b/src/librustc_lint/unused.rs
index 95f83d9a9d2..db2598d321a 100644
--- a/src/librustc_lint/unused.rs
+++ b/src/librustc_lint/unused.rs
@@ -10,13 +10,13 @@ use rustc::ty::{self, Ty};
 use rustc_data_structures::fx::FxHashMap;
 use rustc_feature::{AttributeType, BuiltinAttribute, BUILTIN_ATTRIBUTE_MAP};
 
+use rustc_span::symbol::Symbol;
+use rustc_span::symbol::{kw, sym};
 use rustc_span::{BytePos, Span};
 use syntax::ast;
 use syntax::attr;
 use syntax::errors::{pluralize, Applicability};
 use syntax::print::pprust;
-use syntax::symbol::Symbol;
-use syntax::symbol::{kw, sym};
 use syntax::util::parser;
 
 use log::debug;
diff --git a/src/librustc_metadata/creader.rs b/src/librustc_metadata/creader.rs
index adb73d1c5fc..02c912ff740 100644
--- a/src/librustc_metadata/creader.rs
+++ b/src/librustc_metadata/creader.rs
@@ -23,13 +23,13 @@ use std::{cmp, fs};
 use log::{debug, info, log_enabled};
 use proc_macro::bridge::client::ProcMacro;
 use rustc_expand::base::SyntaxExtension;
+use rustc_span::symbol::{sym, Symbol};
 use rustc_span::{Span, DUMMY_SP};
 use syntax::ast;
 use syntax::attr;
 use syntax::edition::Edition;
 use syntax::expand::allocator::{global_allocator_spans, AllocatorKind};
 use syntax::span_fatal;
-use syntax::symbol::{sym, Symbol};
 
 use rustc_error_codes::*;
 
diff --git a/src/librustc_metadata/link_args.rs b/src/librustc_metadata/link_args.rs
index e3f8eab2941..6649cf09a07 100644
--- a/src/librustc_metadata/link_args.rs
+++ b/src/librustc_metadata/link_args.rs
@@ -1,8 +1,8 @@
 use rustc::hir;
 use rustc::hir::itemlikevisit::ItemLikeVisitor;
 use rustc::ty::TyCtxt;
+use rustc_span::symbol::sym;
 use rustc_target::spec::abi::Abi;
-use syntax::symbol::sym;
 
 crate fn collect(tcx: TyCtxt<'_>) -> Vec<String> {
     let mut collector = Collector { args: Vec::new() };
diff --git a/src/librustc_metadata/locator.rs b/src/librustc_metadata/locator.rs
index 93b29cf81d7..a9adb6291c7 100644
--- a/src/librustc_metadata/locator.rs
+++ b/src/librustc_metadata/locator.rs
@@ -225,10 +225,10 @@ use rustc_data_structures::svh::Svh;
 use rustc_data_structures::sync::MetadataRef;
 
 use errors::DiagnosticBuilder;
+use rustc_span::symbol::{sym, Symbol};
 use rustc_span::Span;
 use rustc_target::spec::{Target, TargetTriple};
 use syntax::struct_span_err;
-use syntax::symbol::{sym, Symbol};
 use syntax::{span_err, span_fatal};
 
 use std::cmp;
diff --git a/src/librustc_metadata/native_libs.rs b/src/librustc_metadata/native_libs.rs
index 5f9f2f6cf82..3228c9f2ff4 100644
--- a/src/librustc_metadata/native_libs.rs
+++ b/src/librustc_metadata/native_libs.rs
@@ -5,10 +5,10 @@ use rustc::session::Session;
 use rustc::ty::TyCtxt;
 use rustc::util::nodemap::FxHashSet;
 use rustc_span::source_map::Span;
+use rustc_span::symbol::{kw, sym, Symbol};
 use rustc_target::spec::abi::Abi;
 use syntax::attr;
 use syntax::feature_gate::feature_err;
-use syntax::symbol::{kw, sym, Symbol};
 use syntax::{span_err, struct_span_err};
 
 use rustc_error_codes::*;
diff --git a/src/librustc_metadata/rmeta/decoder/cstore_impl.rs b/src/librustc_metadata/rmeta/decoder/cstore_impl.rs
index 7e569f34e8e..00d5b4321cb 100644
--- a/src/librustc_metadata/rmeta/decoder/cstore_impl.rs
+++ b/src/librustc_metadata/rmeta/decoder/cstore_impl.rs
@@ -28,12 +28,12 @@ use std::sync::Arc;
 
 use rustc_span::source_map;
 use rustc_span::source_map::Spanned;
+use rustc_span::symbol::Symbol;
 use rustc_span::{FileName, Span};
 use syntax::ast;
 use syntax::attr;
 use syntax::expand::allocator::AllocatorKind;
 use syntax::ptr::P;
-use syntax::symbol::Symbol;
 use syntax::tokenstream::DelimSpan;
 
 macro_rules! provide {
diff --git a/src/librustc_metadata/rmeta/encoder.rs b/src/librustc_metadata/rmeta/encoder.rs
index 7b30c0b0af0..6d84bd6f263 100644
--- a/src/librustc_metadata/rmeta/encoder.rs
+++ b/src/librustc_metadata/rmeta/encoder.rs
@@ -26,6 +26,7 @@ use rustc_serialize::{opaque, Encodable, Encoder, SpecializedEncoder};
 
 use log::{debug, trace};
 use rustc_span::source_map::Spanned;
+use rustc_span::symbol::{kw, sym, Ident, Symbol};
 use rustc_span::{self, FileName, SourceFile, Span};
 use std::hash::Hash;
 use std::num::NonZeroUsize;
@@ -34,7 +35,6 @@ use std::u32;
 use syntax::ast;
 use syntax::attr;
 use syntax::expand::is_proc_macro_attr;
-use syntax::symbol::{kw, sym, Ident, Symbol};
 
 use rustc::hir::intravisit;
 use rustc::hir::intravisit::{NestedVisitorMap, Visitor};
diff --git a/src/librustc_metadata/rmeta/mod.rs b/src/librustc_metadata/rmeta/mod.rs
index 00142477b28..66637cf97b5 100644
--- a/src/librustc_metadata/rmeta/mod.rs
+++ b/src/librustc_metadata/rmeta/mod.rs
@@ -15,10 +15,10 @@ use rustc_data_structures::svh::Svh;
 use rustc_data_structures::sync::MetadataRef;
 use rustc_index::vec::IndexVec;
 use rustc_serialize::opaque::Encoder;
+use rustc_span::symbol::Symbol;
 use rustc_span::{self, Span};
 use rustc_target::spec::{PanicStrategy, TargetTriple};
 use syntax::edition::Edition;
-use syntax::symbol::Symbol;
 use syntax::{ast, attr};
 
 use std::marker::PhantomData;
diff --git a/src/librustc_mir/borrow_check/diagnostics/region_errors.rs b/src/librustc_mir/borrow_check/diagnostics/region_errors.rs
index f45246301d3..4661d64564c 100644
--- a/src/librustc_mir/borrow_check/diagnostics/region_errors.rs
+++ b/src/librustc_mir/borrow_check/diagnostics/region_errors.rs
@@ -9,10 +9,10 @@ use rustc::mir::{Body, ConstraintCategory, Location};
 use rustc::ty::{self, RegionVid, Ty};
 use rustc_errors::DiagnosticBuilder;
 use rustc_index::vec::IndexVec;
+use rustc_span::symbol::kw;
 use rustc_span::Span;
 use std::collections::VecDeque;
 use syntax::errors::Applicability;
-use syntax::symbol::kw;
 
 use crate::util::borrowck_errors;
 
diff --git a/src/librustc_mir/borrow_check/diagnostics/region_name.rs b/src/librustc_mir/borrow_check/diagnostics/region_name.rs
index 3b8043e8f1b..d66c38e753a 100644
--- a/src/librustc_mir/borrow_check/diagnostics/region_name.rs
+++ b/src/librustc_mir/borrow_check/diagnostics/region_name.rs
@@ -7,8 +7,8 @@ use rustc::ty::subst::{GenericArgKind, SubstsRef};
 use rustc::ty::{self, RegionVid, Ty, TyCtxt};
 use rustc_data_structures::fx::FxHashMap;
 use rustc_errors::DiagnosticBuilder;
+use rustc_span::symbol::kw;
 use rustc_span::{symbol::Symbol, Span, DUMMY_SP};
-use syntax::symbol::kw;
 
 use crate::borrow_check::{
     nll::ToRegionVid, region_infer::RegionInferenceContext, universal_regions::DefiningTy,
diff --git a/src/librustc_mir/borrow_check/nll.rs b/src/librustc_mir/borrow_check/nll.rs
index 04a53bafe05..6f223785601 100644
--- a/src/librustc_mir/borrow_check/nll.rs
+++ b/src/librustc_mir/borrow_check/nll.rs
@@ -9,13 +9,13 @@ use rustc::mir::{
 use rustc::ty::{self, RegionKind, RegionVid};
 use rustc_errors::Diagnostic;
 use rustc_index::vec::IndexVec;
+use rustc_span::symbol::sym;
 use std::env;
 use std::fmt::Debug;
 use std::io;
 use std::path::PathBuf;
 use std::rc::Rc;
 use std::str::FromStr;
-use syntax::symbol::sym;
 
 use self::mir_util::PassWhere;
 use polonius_engine::{Algorithm, Output};
diff --git a/src/librustc_mir/build/mod.rs b/src/librustc_mir/build/mod.rs
index 322898cc181..b265ab6b7be 100644
--- a/src/librustc_mir/build/mod.rs
+++ b/src/librustc_mir/build/mod.rs
@@ -14,12 +14,12 @@ use rustc::ty::subst::Subst;
 use rustc::ty::{self, Ty, TyCtxt};
 use rustc::util::nodemap::HirIdMap;
 use rustc_index::vec::{Idx, IndexVec};
+use rustc_span::symbol::kw;
 use rustc_span::Span;
 use rustc_target::spec::abi::Abi;
 use rustc_target::spec::PanicStrategy;
 use std::u32;
 use syntax::attr::{self, UnwindAttr};
-use syntax::symbol::kw;
 
 use super::lints;
 
diff --git a/src/librustc_mir/dataflow/generic.rs b/src/librustc_mir/dataflow/generic.rs
index 7eb6f5cc073..da2739fd0d6 100644
--- a/src/librustc_mir/dataflow/generic.rs
+++ b/src/librustc_mir/dataflow/generic.rs
@@ -28,7 +28,7 @@ use rustc::ty::{self, TyCtxt};
 use rustc_data_structures::work_queue::WorkQueue;
 use rustc_index::bit_set::BitSet;
 use rustc_index::vec::{Idx, IndexVec};
-use syntax::symbol::sym;
+use rustc_span::symbol::sym;
 
 use crate::dataflow::BottomValue;
 
diff --git a/src/librustc_mir/dataflow/mod.rs b/src/librustc_mir/dataflow/mod.rs
index fe18f6066bf..e94f263348d 100644
--- a/src/librustc_mir/dataflow/mod.rs
+++ b/src/librustc_mir/dataflow/mod.rs
@@ -1,6 +1,6 @@
+use rustc_span::symbol::{sym, Symbol};
 use syntax::ast::{self, MetaItem};
 use syntax::print::pprust;
-use syntax::symbol::{sym, Symbol};
 
 use rustc_data_structures::work_queue::WorkQueue;
 use rustc_index::bit_set::{BitSet, HybridBitSet};
diff --git a/src/librustc_mir/hair/cx/mod.rs b/src/librustc_mir/hair/cx/mod.rs
index 5c3baaa6ddc..e81dc9ba16d 100644
--- a/src/librustc_mir/hair/cx/mod.rs
+++ b/src/librustc_mir/hair/cx/mod.rs
@@ -16,9 +16,9 @@ use rustc::ty::subst::Subst;
 use rustc::ty::subst::{GenericArg, InternalSubsts};
 use rustc::ty::{self, Ty, TyCtxt};
 use rustc_index::vec::Idx;
+use rustc_span::symbol::{sym, Symbol};
 use syntax::ast;
 use syntax::attr;
-use syntax::symbol::{sym, Symbol};
 
 #[derive(Clone)]
 pub struct Cx<'a, 'tcx> {
diff --git a/src/librustc_mir/interpret/cast.rs b/src/librustc_mir/interpret/cast.rs
index 852b7bb4bd6..9461a066902 100644
--- a/src/librustc_mir/interpret/cast.rs
+++ b/src/librustc_mir/interpret/cast.rs
@@ -1,8 +1,8 @@
 use rustc::ty::adjustment::PointerCast;
 use rustc::ty::layout::{self, Size, TyLayout};
 use rustc::ty::{self, Ty, TypeAndMut, TypeFoldable};
+use rustc_span::symbol::sym;
 use syntax::ast::FloatTy;
-use syntax::symbol::sym;
 
 use rustc::mir::interpret::{InterpResult, PointerArithmetic, Scalar};
 use rustc::mir::CastKind;
diff --git a/src/librustc_mir/monomorphize/partitioning.rs b/src/librustc_mir/monomorphize/partitioning.rs
index ebacae95b81..8011de19e78 100644
--- a/src/librustc_mir/monomorphize/partitioning.rs
+++ b/src/librustc_mir/monomorphize/partitioning.rs
@@ -107,7 +107,7 @@ use rustc::ty::query::Providers;
 use rustc::ty::{self, DefIdTree, InstanceDef, TyCtxt};
 use rustc::util::common::time;
 use rustc::util::nodemap::{DefIdSet, FxHashMap, FxHashSet};
-use syntax::symbol::Symbol;
+use rustc_span::symbol::Symbol;
 
 use crate::monomorphize::collector::InliningMap;
 use crate::monomorphize::collector::{self, MonoItemCollectionMode};
diff --git a/src/librustc_mir/transform/check_consts/ops.rs b/src/librustc_mir/transform/check_consts/ops.rs
index 37435fbf4d1..605281326f6 100644
--- a/src/librustc_mir/transform/check_consts/ops.rs
+++ b/src/librustc_mir/transform/check_consts/ops.rs
@@ -3,9 +3,9 @@
 use rustc::hir::def_id::DefId;
 use rustc::session::config::nightly_options;
 use rustc::ty::TyCtxt;
+use rustc_span::symbol::sym;
 use rustc_span::{Span, Symbol};
 use syntax::feature_gate::feature_err;
-use syntax::symbol::sym;
 
 use super::{ConstKind, Item};
 
diff --git a/src/librustc_mir/transform/check_consts/validation.rs b/src/librustc_mir/transform/check_consts/validation.rs
index 19cad453e25..94b3b51f0b3 100644
--- a/src/librustc_mir/transform/check_consts/validation.rs
+++ b/src/librustc_mir/transform/check_consts/validation.rs
@@ -9,8 +9,8 @@ use rustc::ty::cast::CastTy;
 use rustc::ty::{self, TyCtxt};
 use rustc_error_codes::*;
 use rustc_index::bit_set::BitSet;
+use rustc_span::symbol::sym;
 use rustc_span::Span;
-use syntax::symbol::sym;
 
 use std::borrow::Cow;
 use std::ops::Deref;
diff --git a/src/librustc_mir/transform/check_unsafety.rs b/src/librustc_mir/transform/check_unsafety.rs
index 8b8f1b6f670..c6375573441 100644
--- a/src/librustc_mir/transform/check_unsafety.rs
+++ b/src/librustc_mir/transform/check_unsafety.rs
@@ -10,7 +10,7 @@ use rustc::ty::cast::CastTy;
 use rustc::ty::query::Providers;
 use rustc::ty::{self, TyCtxt};
 
-use syntax::symbol::{sym, Symbol};
+use rustc_span::symbol::{sym, Symbol};
 
 use std::ops::Bound;
 
diff --git a/src/librustc_mir/transform/promote_consts.rs b/src/librustc_mir/transform/promote_consts.rs
index 804e6dbb202..819ed9a51e7 100644
--- a/src/librustc_mir/transform/promote_consts.rs
+++ b/src/librustc_mir/transform/promote_consts.rs
@@ -19,9 +19,9 @@ use rustc::mir::*;
 use rustc::ty::cast::CastTy;
 use rustc::ty::subst::InternalSubsts;
 use rustc::ty::{self, List, TyCtxt, TypeFoldable};
+use rustc_span::symbol::sym;
 use rustc_span::{Span, DUMMY_SP};
 use syntax::ast::LitKind;
-use syntax::symbol::sym;
 
 use rustc_index::vec::{Idx, IndexVec};
 use rustc_target::spec::abi::Abi;
diff --git a/src/librustc_mir/transform/qualify_min_const_fn.rs b/src/librustc_mir/transform/qualify_min_const_fn.rs
index 7bb1a4e3921..3741ca17a11 100644
--- a/src/librustc_mir/transform/qualify_min_const_fn.rs
+++ b/src/librustc_mir/transform/qualify_min_const_fn.rs
@@ -2,10 +2,10 @@ use rustc::hir;
 use rustc::hir::def_id::DefId;
 use rustc::mir::*;
 use rustc::ty::{self, adjustment::PointerCast, Predicate, Ty, TyCtxt};
+use rustc_span::symbol::{sym, Symbol};
 use rustc_span::Span;
 use std::borrow::Cow;
 use syntax::attr;
-use syntax::symbol::{sym, Symbol};
 
 type McfResult = Result<(), (Span, Cow<'static, str>)>;
 
diff --git a/src/librustc_mir/transform/rustc_peek.rs b/src/librustc_mir/transform/rustc_peek.rs
index 7066ed906eb..394924f5d6a 100644
--- a/src/librustc_mir/transform/rustc_peek.rs
+++ b/src/librustc_mir/transform/rustc_peek.rs
@@ -1,7 +1,7 @@
+use rustc_span::symbol::sym;
 use rustc_span::Span;
 use rustc_target::spec::abi::Abi;
 use syntax::ast;
-use syntax::symbol::sym;
 
 use crate::transform::{MirPass, MirSource};
 use rustc::hir::def_id::DefId;
diff --git a/src/librustc_passes/ast_validation.rs b/src/librustc_passes/ast_validation.rs
index 59657cca1c6..038c4284f25 100644
--- a/src/librustc_passes/ast_validation.rs
+++ b/src/librustc_passes/ast_validation.rs
@@ -12,13 +12,13 @@ use rustc::session::Session;
 use rustc_data_structures::fx::FxHashMap;
 use rustc_parse::validate_attr;
 use rustc_span::source_map::Spanned;
+use rustc_span::symbol::{kw, sym};
 use rustc_span::Span;
 use std::mem;
 use syntax::ast::*;
 use syntax::attr;
 use syntax::expand::is_proc_macro_attr;
 use syntax::print::pprust;
-use syntax::symbol::{kw, sym};
 use syntax::visit::{self, Visitor};
 use syntax::{span_err, struct_span_err, walk_list};
 
diff --git a/src/librustc_passes/dead.rs b/src/librustc_passes/dead.rs
index fc7f9c9e58c..22f3533b1e4 100644
--- a/src/librustc_passes/dead.rs
+++ b/src/librustc_passes/dead.rs
@@ -18,7 +18,7 @@ use rustc::util::nodemap::FxHashSet;
 use rustc_data_structures::fx::FxHashMap;
 
 use rustc_span;
-use syntax::symbol::sym;
+use rustc_span::symbol::sym;
 use syntax::{ast, attr};
 
 // Any local node that may call something in its body block should be
diff --git a/src/librustc_passes/diagnostic_items.rs b/src/librustc_passes/diagnostic_items.rs
index 65138fad43b..4e8b5c5f6b6 100644
--- a/src/librustc_passes/diagnostic_items.rs
+++ b/src/librustc_passes/diagnostic_items.rs
@@ -16,8 +16,8 @@ use rustc::util::nodemap::FxHashMap;
 
 use rustc::hir;
 use rustc::hir::itemlikevisit::ItemLikeVisitor;
+use rustc_span::symbol::{sym, Symbol};
 use syntax::ast;
-use syntax::symbol::{sym, Symbol};
 
 struct DiagnosticItemCollector<'tcx> {
     // items from this crate
diff --git a/src/librustc_passes/entry.rs b/src/librustc_passes/entry.rs
index 3b7728a18d3..3a7d1780d47 100644
--- a/src/librustc_passes/entry.rs
+++ b/src/librustc_passes/entry.rs
@@ -6,10 +6,10 @@ use rustc::session::config::EntryFnType;
 use rustc::session::{config, Session};
 use rustc::ty::query::Providers;
 use rustc::ty::TyCtxt;
+use rustc_span::symbol::sym;
 use rustc_span::Span;
 use syntax::attr;
 use syntax::entry::EntryPointType;
-use syntax::symbol::sym;
 
 use rustc_error_codes::*;
 
diff --git a/src/librustc_passes/layout_test.rs b/src/librustc_passes/layout_test.rs
index b0651c98048..02eecc2998b 100644
--- a/src/librustc_passes/layout_test.rs
+++ b/src/librustc_passes/layout_test.rs
@@ -11,8 +11,8 @@ use rustc::ty::layout::TyLayout;
 use rustc::ty::ParamEnv;
 use rustc::ty::Ty;
 use rustc::ty::TyCtxt;
+use rustc_span::symbol::sym;
 use syntax::ast::Attribute;
-use syntax::symbol::sym;
 
 pub fn test_layout(tcx: TyCtxt<'_>) {
     if tcx.features().rustc_attrs {
diff --git a/src/librustc_passes/lib_features.rs b/src/librustc_passes/lib_features.rs
index 2f486e3038f..0d39ea85b50 100644
--- a/src/librustc_passes/lib_features.rs
+++ b/src/librustc_passes/lib_features.rs
@@ -9,9 +9,9 @@ use rustc::hir::intravisit::{self, NestedVisitorMap, Visitor};
 use rustc::middle::lib_features::LibFeatures;
 use rustc::ty::query::Providers;
 use rustc::ty::TyCtxt;
+use rustc_span::symbol::Symbol;
 use rustc_span::{sym, Span};
 use syntax::ast::{Attribute, MetaItem, MetaItemKind};
-use syntax::symbol::Symbol;
 
 use rustc_error_codes::*;
 
diff --git a/src/librustc_passes/liveness.rs b/src/librustc_passes/liveness.rs
index b32f6420f66..49664be9c77 100644
--- a/src/librustc_passes/liveness.rs
+++ b/src/librustc_passes/liveness.rs
@@ -109,6 +109,7 @@ use rustc::util::nodemap::{HirIdMap, HirIdSet};
 
 use errors::Applicability;
 use rustc_data_structures::fx::FxIndexMap;
+use rustc_span::symbol::sym;
 use rustc_span::Span;
 use std::collections::VecDeque;
 use std::io;
@@ -116,7 +117,6 @@ use std::io::prelude::*;
 use std::rc::Rc;
 use std::{fmt, u32};
 use syntax::ast;
-use syntax::symbol::sym;
 
 #[derive(Copy, Clone, PartialEq)]
 struct Variable(u32);
diff --git a/src/librustc_passes/stability.rs b/src/librustc_passes/stability.rs
index fcbc742b9a0..686ed6c1345 100644
--- a/src/librustc_passes/stability.rs
+++ b/src/librustc_passes/stability.rs
@@ -12,11 +12,11 @@ use rustc::session::Session;
 use rustc::ty::query::Providers;
 use rustc::ty::TyCtxt;
 use rustc::util::nodemap::{FxHashMap, FxHashSet};
+use rustc_span::symbol::{sym, Symbol};
 use rustc_span::Span;
 use syntax::ast::Attribute;
 use syntax::attr::{self, Stability};
 use syntax::feature_gate::feature_err;
-use syntax::symbol::{sym, Symbol};
 
 use std::cmp::Ordering;
 use std::mem::replace;
diff --git a/src/librustc_plugin_impl/build.rs b/src/librustc_plugin_impl/build.rs
index caa43b33802..2424ee5a9df 100644
--- a/src/librustc_plugin_impl/build.rs
+++ b/src/librustc_plugin_impl/build.rs
@@ -5,9 +5,9 @@ use rustc::hir::def_id::{CrateNum, DefId, LOCAL_CRATE};
 use rustc::hir::itemlikevisit::ItemLikeVisitor;
 use rustc::ty::query::Providers;
 use rustc::ty::TyCtxt;
+use rustc_span::symbol::sym;
 use rustc_span::Span;
 use syntax::attr;
-use syntax::symbol::sym;
 
 struct RegistrarFinder {
     registrars: Vec<(hir::HirId, Span)>,
diff --git a/src/librustc_plugin_impl/load.rs b/src/librustc_plugin_impl/load.rs
index 3010691dba2..2215e49ec97 100644
--- a/src/librustc_plugin_impl/load.rs
+++ b/src/librustc_plugin_impl/load.rs
@@ -5,6 +5,7 @@ use rustc::middle::cstore::MetadataLoader;
 use rustc::session::Session;
 use rustc_metadata::locator;
 
+use rustc_span::symbol::sym;
 use rustc_span::Span;
 use std::borrow::ToOwned;
 use std::env;
@@ -12,7 +13,6 @@ use std::mem;
 use std::path::PathBuf;
 use syntax::ast::{Crate, Ident};
 use syntax::struct_span_err;
-use syntax::symbol::sym;
 
 use rustc_error_codes::*;
 
diff --git a/src/librustc_privacy/lib.rs b/src/librustc_privacy/lib.rs
index 6c3053f016b..c4b113d7a93 100644
--- a/src/librustc_privacy/lib.rs
+++ b/src/librustc_privacy/lib.rs
@@ -21,10 +21,10 @@ use rustc::ty::{self, GenericParamDefKind, TraitRef, Ty, TyCtxt, TypeFoldable};
 use rustc::util::nodemap::HirIdSet;
 use rustc_data_structures::fx::FxHashSet;
 use rustc_span::hygiene::Transparency;
+use rustc_span::symbol::{kw, sym};
 use rustc_span::Span;
 use syntax::ast::Ident;
 use syntax::attr;
-use syntax::symbol::{kw, sym};
 
 use std::marker::PhantomData;
 use std::{cmp, fmt, mem};
diff --git a/src/librustc_resolve/build_reduced_graph.rs b/src/librustc_resolve/build_reduced_graph.rs
index 66cb5b3c653..5304aced69f 100644
--- a/src/librustc_resolve/build_reduced_graph.rs
+++ b/src/librustc_resolve/build_reduced_graph.rs
@@ -33,13 +33,13 @@ use rustc_expand::base::SyntaxExtension;
 use rustc_expand::expand::AstFragment;
 use rustc_span::hygiene::{ExpnId, MacroKind};
 use rustc_span::source_map::{respan, Spanned};
+use rustc_span::symbol::{kw, sym};
 use rustc_span::{Span, DUMMY_SP};
 use syntax::ast::{self, Block, ForeignItem, ForeignItemKind, Item, ItemKind, NodeId};
 use syntax::ast::{AssocItem, AssocItemKind, MetaItemKind, StmtKind};
 use syntax::ast::{Ident, Name};
 use syntax::attr;
 use syntax::span_err;
-use syntax::symbol::{kw, sym};
 use syntax::token::{self, Token};
 use syntax::visit::{self, Visitor};
 
diff --git a/src/librustc_resolve/def_collector.rs b/src/librustc_resolve/def_collector.rs
index 4662440ec31..5aea813c6b8 100644
--- a/src/librustc_resolve/def_collector.rs
+++ b/src/librustc_resolve/def_collector.rs
@@ -3,9 +3,9 @@ use rustc::hir::def_id::DefIndex;
 use rustc::hir::map::definitions::*;
 use rustc_expand::expand::AstFragment;
 use rustc_span::hygiene::ExpnId;
+use rustc_span::symbol::{kw, sym};
 use rustc_span::Span;
 use syntax::ast::*;
-use syntax::symbol::{kw, sym};
 use syntax::token::{self, Token};
 use syntax::visit;
 
diff --git a/src/librustc_resolve/diagnostics.rs b/src/librustc_resolve/diagnostics.rs
index 38b9f1ca22a..c4538ddc242 100644
--- a/src/librustc_resolve/diagnostics.rs
+++ b/src/librustc_resolve/diagnostics.rs
@@ -12,11 +12,11 @@ use rustc::util::nodemap::FxHashSet;
 use rustc_feature::BUILTIN_ATTRIBUTES;
 use rustc_span::hygiene::MacroKind;
 use rustc_span::source_map::SourceMap;
+use rustc_span::symbol::{kw, Symbol};
 use rustc_span::{BytePos, MultiSpan, Span};
 use syntax::ast::{self, Ident, Path};
 use syntax::print::pprust;
 use syntax::struct_span_err;
-use syntax::symbol::{kw, Symbol};
 use syntax::util::lev_distance::find_best_match_for_name;
 
 use crate::imports::{ImportDirective, ImportDirectiveSubclass, ImportResolver};
diff --git a/src/librustc_resolve/imports.rs b/src/librustc_resolve/imports.rs
index c79a97f93f0..eb2c4f79fef 100644
--- a/src/librustc_resolve/imports.rs
+++ b/src/librustc_resolve/imports.rs
@@ -24,9 +24,9 @@ use rustc::{bug, span_bug};
 use rustc_data_structures::ptr_key::PtrKey;
 
 use rustc_span::hygiene::ExpnId;
+use rustc_span::symbol::kw;
 use rustc_span::{MultiSpan, Span};
 use syntax::ast::{Ident, Name, NodeId};
-use syntax::symbol::kw;
 use syntax::util::lev_distance::find_best_match_for_name;
 use syntax::{struct_span_err, unwrap_or};
 
diff --git a/src/librustc_resolve/late.rs b/src/librustc_resolve/late.rs
index a0d59fa4829..796c8e07c93 100644
--- a/src/librustc_resolve/late.rs
+++ b/src/librustc_resolve/late.rs
@@ -18,11 +18,11 @@ use rustc::hir::def_id::{DefId, CRATE_DEF_INDEX};
 use rustc::hir::TraitCandidate;
 use rustc::util::nodemap::{FxHashMap, FxHashSet};
 use rustc::{bug, lint, span_bug};
+use rustc_span::symbol::{kw, sym};
 use rustc_span::Span;
 use smallvec::{smallvec, SmallVec};
 use syntax::ast::*;
 use syntax::ptr::P;
-use syntax::symbol::{kw, sym};
 use syntax::util::lev_distance::find_best_match_for_name;
 use syntax::visit::{self, FnKind, Visitor};
 use syntax::{unwrap_or, walk_list};
diff --git a/src/librustc_resolve/late/diagnostics.rs b/src/librustc_resolve/late/diagnostics.rs
index 5e59efac536..2c9263eab9c 100644
--- a/src/librustc_resolve/late/diagnostics.rs
+++ b/src/librustc_resolve/late/diagnostics.rs
@@ -13,9 +13,9 @@ use rustc::hir::PrimTy;
 use rustc::session::config::nightly_options;
 use rustc::util::nodemap::FxHashSet;
 use rustc_span::hygiene::MacroKind;
+use rustc_span::symbol::kw;
 use rustc_span::Span;
 use syntax::ast::{self, Expr, ExprKind, Ident, NodeId, Path, Ty, TyKind};
-use syntax::symbol::kw;
 use syntax::util::lev_distance::find_best_match_for_name;
 
 use rustc_error_codes::*;
diff --git a/src/librustc_resolve/lib.rs b/src/librustc_resolve/lib.rs
index 5c7f9cb6934..420e3d5c6de 100644
--- a/src/librustc_resolve/lib.rs
+++ b/src/librustc_resolve/lib.rs
@@ -40,13 +40,13 @@ use errors::{Applicability, DiagnosticBuilder};
 use rustc_expand::base::SyntaxExtension;
 use rustc_span::hygiene::{ExpnId, ExpnKind, MacroKind, SyntaxContext, Transparency};
 use rustc_span::source_map::Spanned;
+use rustc_span::symbol::{kw, sym};
 use rustc_span::{Span, DUMMY_SP};
 use syntax::ast::{self, FloatTy, Ident, IntTy, Name, NodeId, UintTy};
 use syntax::ast::{Crate, CRATE_NODE_ID};
 use syntax::ast::{ItemKind, Path};
 use syntax::attr;
 use syntax::print::pprust;
-use syntax::symbol::{kw, sym};
 use syntax::visit::{self, Visitor};
 use syntax::{struct_span_err, unwrap_or};
 
diff --git a/src/librustc_resolve/lifetimes.rs b/src/librustc_resolve/lifetimes.rs
index 1f8573e44f1..e7d6cd2709d 100644
--- a/src/librustc_resolve/lifetimes.rs
+++ b/src/librustc_resolve/lifetimes.rs
@@ -15,13 +15,13 @@ use errors::{pluralize, Applicability, DiagnosticBuilder};
 use rustc::lint;
 use rustc::session::Session;
 use rustc::util::nodemap::{DefIdMap, FxHashMap, FxHashSet, HirIdMap, HirIdSet};
+use rustc_span::symbol::{kw, sym};
 use rustc_span::Span;
 use std::borrow::Cow;
 use std::cell::Cell;
 use std::mem::{replace, take};
 use syntax::ast;
 use syntax::attr;
-use syntax::symbol::{kw, sym};
 
 use rustc::hir::intravisit::{self, NestedVisitorMap, Visitor};
 use rustc::hir::{self, GenericParamKind, LifetimeParamKind};
diff --git a/src/librustc_traits/lowering/mod.rs b/src/librustc_traits/lowering/mod.rs
index d5ac6a5179b..d23c7013b5f 100644
--- a/src/librustc_traits/lowering/mod.rs
+++ b/src/librustc_traits/lowering/mod.rs
@@ -12,8 +12,8 @@ use rustc::traits::{
 use rustc::ty::query::Providers;
 use rustc::ty::subst::{InternalSubsts, Subst};
 use rustc::ty::{self, List, TyCtxt};
+use rustc_span::symbol::sym;
 use syntax::ast;
-use syntax::symbol::sym;
 
 use std::iter;
 
diff --git a/src/librustc_typeck/astconv.rs b/src/librustc_typeck/astconv.rs
index 8934fd4df74..609ce70057d 100644
--- a/src/librustc_typeck/astconv.rs
+++ b/src/librustc_typeck/astconv.rs
@@ -22,13 +22,13 @@ use rustc::ty::subst::{self, InternalSubsts, Subst, SubstsRef};
 use rustc::ty::wf::object_region_bounds;
 use rustc::ty::{self, Const, DefIdTree, ToPredicate, Ty, TyCtxt, TypeFoldable};
 use rustc::ty::{GenericParamDef, GenericParamDefKind};
+use rustc_span::symbol::sym;
 use rustc_span::{MultiSpan, Span, DUMMY_SP};
 use rustc_target::spec::abi;
 use smallvec::SmallVec;
 use syntax::ast;
 use syntax::errors::pluralize;
 use syntax::feature_gate::feature_err;
-use syntax::symbol::sym;
 use syntax::util::lev_distance::find_best_match_for_name;
 
 use std::collections::BTreeSet;
diff --git a/src/librustc_typeck/check/coercion.rs b/src/librustc_typeck/check/coercion.rs
index e079b42f81d..f9cc86b8509 100644
--- a/src/librustc_typeck/check/coercion.rs
+++ b/src/librustc_typeck/check/coercion.rs
@@ -66,11 +66,11 @@ use rustc::ty::relate::RelateResult;
 use rustc::ty::subst::SubstsRef;
 use rustc::ty::{self, Ty, TypeAndMut};
 use rustc_span;
+use rustc_span::symbol::sym;
 use rustc_target::spec::abi::Abi;
 use smallvec::{smallvec, SmallVec};
 use std::ops::Deref;
 use syntax::feature_gate;
-use syntax::symbol::sym;
 
 use rustc_error_codes::*;
 
diff --git a/src/librustc_typeck/check/expr.rs b/src/librustc_typeck/check/expr.rs
index 8f3b95a882f..773c9a26659 100644
--- a/src/librustc_typeck/check/expr.rs
+++ b/src/librustc_typeck/check/expr.rs
@@ -33,8 +33,8 @@ use rustc::ty::TypeFoldable;
 use rustc::ty::{AdtKind, Visibility};
 use rustc_span::hygiene::DesugaringKind;
 use rustc_span::source_map::Span;
+use rustc_span::symbol::{kw, sym, Symbol};
 use syntax::ast;
-use syntax::symbol::{kw, sym, Symbol};
 use syntax::util::lev_distance::find_best_match_for_name;
 
 use rustc_error_codes::*;
diff --git a/src/librustc_typeck/check/intrinsic.rs b/src/librustc_typeck/check/intrinsic.rs
index 66d3c797cf9..ce8edd70eb6 100644
--- a/src/librustc_typeck/check/intrinsic.rs
+++ b/src/librustc_typeck/check/intrinsic.rs
@@ -6,8 +6,8 @@ use rustc::traits::{ObligationCause, ObligationCauseCode};
 use rustc::ty::subst::Subst;
 use rustc::ty::{self, Ty, TyCtxt};
 
+use rustc_span::symbol::Symbol;
 use rustc_target::spec::abi::Abi;
-use syntax::symbol::Symbol;
 
 use rustc::hir;
 
diff --git a/src/librustc_typeck/check/mod.rs b/src/librustc_typeck/check/mod.rs
index 2487859582c..43e0134ceda 100644
--- a/src/librustc_typeck/check/mod.rs
+++ b/src/librustc_typeck/check/mod.rs
@@ -120,12 +120,12 @@ use rustc::ty::{
 use rustc_index::vec::Idx;
 use rustc_span::hygiene::DesugaringKind;
 use rustc_span::source_map::{original_sp, DUMMY_SP};
+use rustc_span::symbol::{kw, sym, Ident};
 use rustc_span::{self, BytePos, MultiSpan, Span};
 use rustc_target::spec::abi::Abi;
 use syntax::ast;
 use syntax::attr;
 use syntax::feature_gate::feature_err;
-use syntax::symbol::{kw, sym, Ident};
 use syntax::util::parser::ExprPrecedence;
 
 use rustc_error_codes::*;
diff --git a/src/librustc_typeck/check/wfcheck.rs b/src/librustc_typeck/check/wfcheck.rs
index bf2c6776d1a..e0ce95aa46b 100644
--- a/src/librustc_typeck/check/wfcheck.rs
+++ b/src/librustc_typeck/check/wfcheck.rs
@@ -10,10 +10,10 @@ use rustc::ty::{self, GenericParamDefKind, ToPredicate, Ty, TyCtxt, TypeFoldable
 use rustc::util::nodemap::{FxHashMap, FxHashSet};
 
 use errors::DiagnosticBuilder;
+use rustc_span::symbol::sym;
 use rustc_span::Span;
 use syntax::ast;
 use syntax::feature_gate;
-use syntax::symbol::sym;
 
 use rustc::hir;
 use rustc::hir::itemlikevisit::ParItemLikeVisitor;
diff --git a/src/librustc_typeck/check/writeback.rs b/src/librustc_typeck/check/writeback.rs
index a19e6a113be..ecf5aa576f5 100644
--- a/src/librustc_typeck/check/writeback.rs
+++ b/src/librustc_typeck/check/writeback.rs
@@ -14,8 +14,8 @@ use rustc::ty::fold::{TypeFoldable, TypeFolder};
 use rustc::ty::{self, Ty, TyCtxt};
 use rustc::util::nodemap::DefIdSet;
 use rustc_data_structures::sync::Lrc;
+use rustc_span::symbol::sym;
 use rustc_span::Span;
-use syntax::symbol::sym;
 
 use std::mem;
 
diff --git a/src/librustc_typeck/collect.rs b/src/librustc_typeck/collect.rs
index dfbeb0353a6..d13ddb28bf9 100644
--- a/src/librustc_typeck/collect.rs
+++ b/src/librustc_typeck/collect.rs
@@ -32,12 +32,12 @@ use rustc::util::captures::Captures;
 use rustc::util::nodemap::FxHashMap;
 use rustc_target::spec::abi;
 
+use rustc_span::symbol::{kw, sym, Symbol};
 use rustc_span::{Span, DUMMY_SP};
 use syntax::ast;
 use syntax::ast::{Ident, MetaItemKind};
 use syntax::attr::{list_contains_name, mark_used, InlineAttr, OptimizeAttr};
 use syntax::feature_gate;
-use syntax::symbol::{kw, sym, Symbol};
 
 use rustc::hir::def::{CtorKind, DefKind, Res};
 use rustc::hir::def_id::{DefId, LOCAL_CRATE};
diff --git a/src/librustc_typeck/outlives/mod.rs b/src/librustc_typeck/outlives/mod.rs
index a57553f3ea6..992781e3bcb 100644
--- a/src/librustc_typeck/outlives/mod.rs
+++ b/src/librustc_typeck/outlives/mod.rs
@@ -4,8 +4,8 @@ use rustc::hir::def_id::{CrateNum, DefId, LOCAL_CRATE};
 use rustc::ty::query::Providers;
 use rustc::ty::subst::GenericArgKind;
 use rustc::ty::{self, CratePredicatesMap, TyCtxt};
+use rustc_span::symbol::sym;
 use rustc_span::Span;
-use syntax::symbol::sym;
 
 mod explicit;
 mod implicit_infer;
diff --git a/src/librustc_typeck/outlives/test.rs b/src/librustc_typeck/outlives/test.rs
index 13430b752c1..f29d2d8f424 100644
--- a/src/librustc_typeck/outlives/test.rs
+++ b/src/librustc_typeck/outlives/test.rs
@@ -1,7 +1,7 @@
 use rustc::hir;
 use rustc::hir::itemlikevisit::ItemLikeVisitor;
 use rustc::ty::TyCtxt;
-use syntax::symbol::sym;
+use rustc_span::symbol::sym;
 
 use rustc_error_codes::*;
 
diff --git a/src/librustc_typeck/variance/test.rs b/src/librustc_typeck/variance/test.rs
index f098fb9de10..69e05772906 100644
--- a/src/librustc_typeck/variance/test.rs
+++ b/src/librustc_typeck/variance/test.rs
@@ -1,7 +1,7 @@
 use rustc::hir;
 use rustc::hir::itemlikevisit::ItemLikeVisitor;
 use rustc::ty::TyCtxt;
-use syntax::symbol::sym;
+use rustc_span::symbol::sym;
 
 use rustc_error_codes::*;
 
diff --git a/src/librustdoc/clean/cfg.rs b/src/librustdoc/clean/cfg.rs
index 8b739b704fb..13df1892a5f 100644
--- a/src/librustdoc/clean/cfg.rs
+++ b/src/librustdoc/clean/cfg.rs
@@ -8,9 +8,9 @@ use std::mem;
 use std::ops;
 
 use rustc_feature::Features;
+use rustc_span::symbol::{sym, Symbol};
 use syntax::ast::{LitKind, MetaItem, MetaItemKind, NestedMetaItem};
 use syntax::sess::ParseSess;
-use syntax::symbol::{sym, Symbol};
 
 use rustc_span::Span;
 
diff --git a/src/librustdoc/clean/cfg/tests.rs b/src/librustdoc/clean/cfg/tests.rs
index 3ea971e3138..309f7204061 100644
--- a/src/librustdoc/clean/cfg/tests.rs
+++ b/src/librustdoc/clean/cfg/tests.rs
@@ -1,9 +1,9 @@
 use super::*;
 
+use rustc_span::symbol::Symbol;
 use rustc_span::DUMMY_SP;
 use syntax::ast::*;
 use syntax::attr;
-use syntax::symbol::Symbol;
 use syntax::with_default_globals;
 
 fn word_cfg(s: &str) -> Cfg {
diff --git a/src/librustdoc/clean/inline.rs b/src/librustdoc/clean/inline.rs
index d3169de632e..57ec985285d 100644
--- a/src/librustdoc/clean/inline.rs
+++ b/src/librustdoc/clean/inline.rs
@@ -3,9 +3,9 @@
 use std::iter::once;
 
 use rustc_span::hygiene::MacroKind;
+use rustc_span::symbol::sym;
 use rustc_span::Span;
 use syntax::ast;
-use syntax::symbol::sym;
 
 use rustc::hir::def::{CtorKind, DefKind, Res};
 use rustc::hir::def_id::DefId;
diff --git a/src/librustdoc/core.rs b/src/librustdoc/core.rs
index cac3480f28d..cb22039327e 100644
--- a/src/librustdoc/core.rs
+++ b/src/librustdoc/core.rs
@@ -18,10 +18,10 @@ use rustc_resolve as resolve;
 use errors::emitter::{Emitter, EmitterWriter};
 use errors::json::JsonEmitter;
 use rustc_span::source_map;
+use rustc_span::symbol::sym;
 use rustc_span::DUMMY_SP;
 use syntax::ast::CRATE_NODE_ID;
 use syntax::attr;
-use syntax::symbol::sym;
 
 use rustc_data_structures::sync::{self, Lrc};
 use std::cell::RefCell;
diff --git a/src/librustdoc/html/highlight.rs b/src/librustdoc/html/highlight.rs
index bf8a8fcd3a3..fb6bdcdc9f4 100644
--- a/src/librustdoc/html/highlight.rs
+++ b/src/librustdoc/html/highlight.rs
@@ -13,9 +13,9 @@ use std::io::prelude::*;
 
 use rustc_parse::lexer;
 use rustc_span::source_map::SourceMap;
+use rustc_span::symbol::{kw, sym};
 use rustc_span::{FileName, Span};
 use syntax::sess::ParseSess;
-use syntax::symbol::{kw, sym};
 use syntax::token::{self, Token};
 
 /// Highlights `src`, returning the HTML output.
diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs
index 32d42b9c734..4758e48241f 100644
--- a/src/librustdoc/html/render.rs
+++ b/src/librustdoc/html/render.rs
@@ -52,12 +52,12 @@ use rustc_data_structures::flock;
 use rustc_feature::UnstableFeatures;
 use rustc_span::hygiene::MacroKind;
 use rustc_span::source_map::FileName;
+use rustc_span::symbol::{sym, Symbol};
 use serde::ser::SerializeSeq;
 use serde::{Serialize, Serializer};
 use syntax::ast;
 use syntax::edition::Edition;
 use syntax::print::pprust;
-use syntax::symbol::{sym, Symbol};
 
 use crate::clean::{self, AttributesExt, Deprecation, GetDefId, SelfTy};
 use crate::config::RenderOptions;
diff --git a/src/librustdoc/html/render/cache.rs b/src/librustdoc/html/render/cache.rs
index 04e7c3a6161..6de56ec5127 100644
--- a/src/librustdoc/html/render/cache.rs
+++ b/src/librustdoc/html/render/cache.rs
@@ -4,10 +4,10 @@ use rustc::hir::def_id::{CrateNum, DefId, CRATE_DEF_INDEX};
 use rustc::middle::privacy::AccessLevels;
 use rustc_data_structures::fx::{FxHashMap, FxHashSet};
 use rustc_span::source_map::FileName;
+use rustc_span::symbol::sym;
 use std::collections::BTreeMap;
 use std::mem;
 use std::path::{Path, PathBuf};
-use syntax::symbol::sym;
 
 use serde::Serialize;
 
diff --git a/src/librustdoc/passes/calculate_doc_coverage.rs b/src/librustdoc/passes/calculate_doc_coverage.rs
index 7432e8b0ce0..803bcc2cfdf 100644
--- a/src/librustdoc/passes/calculate_doc_coverage.rs
+++ b/src/librustdoc/passes/calculate_doc_coverage.rs
@@ -3,9 +3,9 @@ use crate::core::DocContext;
 use crate::fold::{self, DocFolder};
 use crate::passes::Pass;
 
+use rustc_span::symbol::sym;
 use rustc_span::FileName;
 use syntax::attr;
-use syntax::symbol::sym;
 
 use std::collections::BTreeMap;
 use std::ops;
diff --git a/src/librustdoc/passes/collect_intra_doc_links.rs b/src/librustdoc/passes/collect_intra_doc_links.rs
index 7b89738b43c..a8bb40a06b9 100644
--- a/src/librustdoc/passes/collect_intra_doc_links.rs
+++ b/src/librustdoc/passes/collect_intra_doc_links.rs
@@ -11,10 +11,10 @@ use rustc::ty;
 use rustc_expand::base::SyntaxExtensionKind;
 use rustc_feature::UnstableFeatures;
 use rustc_resolve::ParentScope;
+use rustc_span::symbol::Symbol;
 use rustc_span::DUMMY_SP;
 use syntax;
 use syntax::ast::{self, Ident};
-use syntax::symbol::Symbol;
 
 use std::ops::Range;
 
diff --git a/src/librustdoc/passes/collect_trait_impls.rs b/src/librustdoc/passes/collect_trait_impls.rs
index 4e0d1a10191..63ad9a66a48 100644
--- a/src/librustdoc/passes/collect_trait_impls.rs
+++ b/src/librustdoc/passes/collect_trait_impls.rs
@@ -5,7 +5,7 @@ use crate::fold::DocFolder;
 
 use rustc::hir::def_id::{DefId, LOCAL_CRATE};
 use rustc::util::nodemap::FxHashSet;
-use syntax::symbol::sym;
+use rustc_span::symbol::sym;
 
 pub const COLLECT_TRAIT_IMPLS: Pass = Pass {
     name: "collect-trait-impls",
diff --git a/src/librustdoc/passes/strip_hidden.rs b/src/librustdoc/passes/strip_hidden.rs
index 379e2496a0a..9698ad1d231 100644
--- a/src/librustdoc/passes/strip_hidden.rs
+++ b/src/librustdoc/passes/strip_hidden.rs
@@ -1,6 +1,6 @@
 use rustc::util::nodemap::DefIdSet;
+use rustc_span::symbol::sym;
 use std::mem;
-use syntax::symbol::sym;
 
 use crate::clean::Item;
 use crate::clean::{self, AttributesExt, NestedAttributesExt};
diff --git a/src/librustdoc/test.rs b/src/librustdoc/test.rs
index 312c6dad822..af06effa77d 100644
--- a/src/librustdoc/test.rs
+++ b/src/librustdoc/test.rs
@@ -6,6 +6,7 @@ use rustc_data_structures::sync::Lrc;
 use rustc_feature::UnstableFeatures;
 use rustc_interface::interface;
 use rustc_span::source_map::SourceMap;
+use rustc_span::symbol::sym;
 use rustc_span::{BytePos, FileName, Pos, Span, DUMMY_SP};
 use rustc_target::spec::TargetTriple;
 use std::env;
@@ -16,7 +17,6 @@ use std::process::{self, Command, Stdio};
 use std::str;
 use syntax::ast;
 use syntax::edition::Edition;
-use syntax::symbol::sym;
 use syntax::with_globals;
 use tempfile::Builder as TempFileBuilder;
 use testing;
diff --git a/src/librustdoc/visit_ast.rs b/src/librustdoc/visit_ast.rs
index c7a1739bb91..959f61644d6 100644
--- a/src/librustdoc/visit_ast.rs
+++ b/src/librustdoc/visit_ast.rs
@@ -9,9 +9,9 @@ use rustc::ty::TyCtxt;
 use rustc::util::nodemap::{FxHashMap, FxHashSet};
 use rustc_span::hygiene::MacroKind;
 use rustc_span::source_map::Spanned;
+use rustc_span::symbol::sym;
 use rustc_span::{self, Span};
 use syntax::ast;
-use syntax::symbol::sym;
 
 use std::mem;
 
diff --git a/src/librustdoc/visit_lib.rs b/src/librustdoc/visit_lib.rs
index 591258ced9d..f8f82e17e8f 100644
--- a/src/librustdoc/visit_lib.rs
+++ b/src/librustdoc/visit_lib.rs
@@ -3,7 +3,7 @@ use rustc::hir::def_id::{CrateNum, DefId, CRATE_DEF_INDEX};
 use rustc::middle::privacy::{AccessLevel, AccessLevels};
 use rustc::ty::{TyCtxt, Visibility};
 use rustc::util::nodemap::FxHashSet;
-use syntax::symbol::sym;
+use rustc_span::symbol::sym;
 
 use crate::clean::{AttributesExt, NestedAttributesExt};
 
diff --git a/src/libsyntax/attr/mod.rs b/src/libsyntax/attr/mod.rs
index e0040d42aaf..8449b61f7b0 100644
--- a/src/libsyntax/attr/mod.rs
+++ b/src/libsyntax/attr/mod.rs
@@ -14,15 +14,15 @@ use crate::ast::{Expr, GenericParam, Item, Lit, LitKind, Local, Stmt, StmtKind};
 use crate::ast::{MacArgs, MacDelimiter, MetaItem, MetaItemKind, NestedMetaItem};
 use crate::mut_visit::visit_clobber;
 use crate::ptr::P;
-use crate::symbol::{sym, Symbol};
 use crate::token::{self, Token};
 use crate::tokenstream::{DelimSpan, TokenStream, TokenTree, TreeAndJoint};
 use crate::GLOBALS;
 
-use log::debug;
 use rustc_span::source_map::{BytePos, Spanned};
+use rustc_span::symbol::{sym, Symbol};
 use rustc_span::Span;
 
+use log::debug;
 use std::iter;
 use std::ops::DerefMut;
 
diff --git a/src/libsyntax/entry.rs b/src/libsyntax/entry.rs
index a896da5629f..0a72019bfe9 100644
--- a/src/libsyntax/entry.rs
+++ b/src/libsyntax/entry.rs
@@ -1,6 +1,6 @@
 use crate::ast::{Item, ItemKind};
 use crate::attr;
-use crate::symbol::sym;
+use rustc_span::symbol::sym;
 
 pub enum EntryPointType {
     None,
diff --git a/src/libsyntax/feature_gate/check.rs b/src/libsyntax/feature_gate/check.rs
index 41cde019fe0..4ccec421483 100644
--- a/src/libsyntax/feature_gate/check.rs
+++ b/src/libsyntax/feature_gate/check.rs
@@ -3,7 +3,6 @@ use crate::ast::{GenericParam, GenericParamKind, PatKind, RangeEnd, VariantData}
 use crate::attr;
 use crate::edition::{Edition, ALL_EDITIONS};
 use crate::sess::ParseSess;
-use crate::symbol::{sym, Symbol};
 use crate::visit::{self, FnKind, Visitor};
 
 use errors::{Applicability, DiagnosticBuilder, Handler};
@@ -16,6 +15,7 @@ use rustc_feature::{
     ACCEPTED_FEATURES, ACTIVE_FEATURES, REMOVED_FEATURES, STABLE_REMOVED_FEATURES,
 };
 use rustc_span::source_map::Spanned;
+use rustc_span::symbol::{sym, Symbol};
 use rustc_span::{MultiSpan, Span, DUMMY_SP};
 
 use log::debug;
diff --git a/src/libsyntax/lib.rs b/src/libsyntax/lib.rs
index 40d86f5fb75..3815aa6d774 100644
--- a/src/libsyntax/lib.rs
+++ b/src/libsyntax/lib.rs
@@ -97,7 +97,6 @@ pub mod ptr;
 pub mod show_span;
 pub use rustc_session::parse as sess;
 pub use rustc_span::edition;
-pub use rustc_span::symbol;
 pub mod token;
 pub mod tokenstream;
 pub mod visit;
diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs
index 90037324e56..dd9976510dc 100644
--- a/src/libsyntax/print/pprust.rs
+++ b/src/libsyntax/print/pprust.rs
@@ -6,7 +6,6 @@ use crate::print::pp::Breaks::{Consistent, Inconsistent};
 use crate::print::pp::{self, Breaks};
 use crate::ptr::P;
 use crate::sess::ParseSess;
-use crate::symbol::{kw, sym};
 use crate::token::{self, BinOpToken, DelimToken, Nonterminal, Token, TokenKind};
 use crate::tokenstream::{self, TokenStream, TokenTree};
 use crate::util::classify;
@@ -14,6 +13,7 @@ use crate::util::comments;
 use crate::util::parser::{self, AssocOp, Fixity};
 
 use rustc_span::source_map::{dummy_spanned, SourceMap, Spanned};
+use rustc_span::symbol::{kw, sym};
 use rustc_span::{BytePos, FileName, Span};
 
 use std::borrow::Cow;
diff --git a/src/libsyntax/token.rs b/src/libsyntax/token.rs
index 9e63f849604..14279561cbb 100644
--- a/src/libsyntax/token.rs
+++ b/src/libsyntax/token.rs
@@ -6,15 +6,14 @@ pub use TokenKind::*;
 
 use crate::ast;
 use crate::ptr::P;
-use crate::symbol::kw;
 use crate::tokenstream::TokenTree;
 
-use rustc_span::symbol::Symbol;
-use rustc_span::{self, Span, DUMMY_SP};
-
 use rustc_data_structures::stable_hasher::{HashStable, StableHasher};
 use rustc_data_structures::sync::Lrc;
 use rustc_macros::HashStable_Generic;
+use rustc_span::symbol::kw;
+use rustc_span::symbol::Symbol;
+use rustc_span::{self, Span, DUMMY_SP};
 use std::fmt;
 use std::mem;
 
diff --git a/src/libsyntax/util/lev_distance.rs b/src/libsyntax/util/lev_distance.rs
index f55b58d7d13..fc697026fe4 100644
--- a/src/libsyntax/util/lev_distance.rs
+++ b/src/libsyntax/util/lev_distance.rs
@@ -1,4 +1,6 @@
-use crate::symbol::Symbol;
+// FIXME(Centril): Move to rustc_span?
+
+use rustc_span::symbol::Symbol;
 use std::cmp;
 
 #[cfg(test)]
diff --git a/src/libsyntax/util/literal.rs b/src/libsyntax/util/literal.rs
index 3b156e03d3e..dd06c25b4de 100644
--- a/src/libsyntax/util/literal.rs
+++ b/src/libsyntax/util/literal.rs
@@ -1,17 +1,17 @@
 //! Code related to parsing literals.
 
 use crate::ast::{self, Lit, LitKind};
-use crate::symbol::{kw, sym, Symbol};
 use crate::token::{self, Token};
 use crate::tokenstream::TokenTree;
 
-use log::debug;
 use rustc_data_structures::sync::Lrc;
 use rustc_lexer::unescape::{unescape_byte, unescape_char};
 use rustc_lexer::unescape::{unescape_byte_str, unescape_str};
 use rustc_lexer::unescape::{unescape_raw_byte_str, unescape_raw_str};
+use rustc_span::symbol::{kw, sym, Symbol};
 use rustc_span::Span;
 
+use log::debug;
 use std::ascii;
 
 pub enum LitError {
diff --git a/src/libsyntax/util/parser.rs b/src/libsyntax/util/parser.rs
index 98af382efb0..a0ed89a9cae 100644
--- a/src/libsyntax/util/parser.rs
+++ b/src/libsyntax/util/parser.rs
@@ -1,6 +1,6 @@
 use crate::ast::{self, BinOpKind};
-use crate::symbol::kw;
 use crate::token::{self, BinOpToken, Token};
+use rustc_span::symbol::kw;
 
 /// Associative operator with precedence.
 ///