//! virtually impossible. Thus, symbol hash generation exclusively relies on
//! DefPaths which are much more robust in the face of changes to the code base.
-use rustc::hir::def_id::LOCAL_CRATE;
-use rustc::hir::Node;
-use rustc::hir::CodegenFnAttrFlags;
+use rustc::middle::codegen_fn_attrs::CodegenFnAttrFlags;
+use rustc::mir::mono::{InstantiationMode, MonoItem};
use rustc::session::config::SymbolManglingVersion;
use rustc::ty::query::Providers;
-use rustc::ty::{self, TyCtxt, Instance};
-use rustc::mir::mono::{MonoItem, InstantiationMode};
+use rustc::ty::{self, Instance, TyCtxt};
+use rustc_hir::def_id::LOCAL_CRATE;
+use rustc_hir::Node;
-use syntax_pos::symbol::Symbol;
+use rustc_span::symbol::Symbol;
use log::debug;
pub fn provide(providers: &mut Providers<'_>) {
*providers = Providers {
- symbol_name: |tcx, instance| ty::SymbolName {
- name: symbol_name(tcx, instance),
- },
+ symbol_name: |tcx, instance| ty::SymbolName { name: symbol_name(tcx, instance) },
..*providers
};
//
// [1]: https://bugs.llvm.org/show_bug.cgi?id=44316
if is_foreign {
- if tcx.sess.target.target.arch != "wasm32" ||
- !tcx.wasm_import_module_map(def_id.krate).contains_key(&def_id)
+ if tcx.sess.target.target.arch != "wasm32"
+ || !tcx.wasm_import_module_map(def_id.krate).contains_key(&def_id)
{
if let Some(name) = attrs.link_name {
return name;