]> git.lizzy.rs Git - rust.git/commitdiff
is_foreign_item
authorachernyak <artemchernyak@gmail.com>
Fri, 5 May 2017 13:15:08 +0000 (08:15 -0500)
committerachernyak <artemchernyak@gmail.com>
Fri, 5 May 2017 13:15:08 +0000 (08:15 -0500)
src/librustc/middle/cstore.rs
src/librustc/middle/effect.rs
src/librustc_metadata/cstore_impl.rs
src/librustc_trans/back/symbol_names.rs
src/librustc_trans/collector.rs
src/librustc_trans/consts.rs

index e50072043d5f7c927ba74d3af306bdc16bb3dba9..d9ce40a0d7de2dcee11ba3abe6add471a9e1f55e 100644 (file)
@@ -195,7 +195,6 @@ pub trait CrateStore {
     // flags
     fn is_const_fn(&self, did: DefId) -> bool;
     fn is_default_impl(&self, impl_did: DefId) -> bool;
-    fn is_foreign_item(&self, did: DefId) -> bool;
     fn is_dllimport_foreign_item(&self, def: DefId) -> bool;
     fn is_statically_included_foreign_item(&self, def_id: DefId) -> bool;
     fn is_exported_symbol(&self, def_id: DefId) -> bool;
@@ -319,7 +318,6 @@ fn associated_item_cloned(&self, def: DefId) -> ty::AssociatedItem
     // flags
     fn is_const_fn(&self, did: DefId) -> bool { bug!("is_const_fn") }
     fn is_default_impl(&self, impl_did: DefId) -> bool { bug!("is_default_impl") }
-    fn is_foreign_item(&self, did: DefId) -> bool { bug!("is_foreign_item") }
     fn is_dllimport_foreign_item(&self, id: DefId) -> bool { false }
     fn is_statically_included_foreign_item(&self, def_id: DefId) -> bool { false }
     fn is_exported_symbol(&self, def_id: DefId) -> bool { false }
index d2b8ed8c2970770250d35fe78699d06d548d4316..4bbf37b21edbf167dc61a8bb9cd548021f93999d 100644 (file)
@@ -205,7 +205,7 @@ fn visit_expr(&mut self, expr: &'tcx hir::Expr) {
                     } else if match self.tcx.hir.get_if_local(def_id) {
                         Some(hir::map::NodeForeignItem(..)) => true,
                         Some(..) => false,
-                        None => self.tcx.sess.cstore.is_foreign_item(def_id),
+                        None => self.tcx.is_foreign_item(def_id),
                     } {
                         self.require_unsafe_ext(expr.id, expr.span, "use of extern static", true);
                     }
index a0c887e95d6c7964ef9379cd028918270ccd1b7e..7bd431ff4462120c8a0aeca3dd42c0abb50bf25f 100644 (file)
@@ -176,10 +176,6 @@ fn is_default_impl(&self, impl_did: DefId) -> bool {
         self.get_crate_data(impl_did.krate).is_default_impl(impl_did.index)
     }
 
-    fn is_foreign_item(&self, did: DefId) -> bool {
-        self.get_crate_data(did.krate).is_foreign_item(did.index)
-    }
-
     fn is_statically_included_foreign_item(&self, def_id: DefId) -> bool
     {
         self.do_is_statically_included_foreign_item(def_id)
index aef9140ba4556cf9b14f927daaf13d12bbadc4a7..1aed2932948020f87e990c1f675aa46c413d39f0 100644 (file)
@@ -223,7 +223,7 @@ fn compute_symbol_name<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>, instance: Instance
             _ => false
         }
     } else {
-        tcx.sess.cstore.is_foreign_item(def_id)
+        tcx.is_foreign_item(def_id)
     };
 
     if let Some(name) = weak_lang_items::link_name(&attrs) {
index 6d7d95f54872105ea12b790ee9cd1b8e656777a8..f0be0941ccf368b1b9f18f32f42b6527e404db83 100644 (file)
@@ -653,7 +653,7 @@ fn should_trans_locally<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>, instance: &Instan
         Some(_) => true,
         None => {
             if tcx.sess.cstore.is_exported_symbol(def_id) ||
-                tcx.sess.cstore.is_foreign_item(def_id)
+                tcx.is_foreign_item(def_id)
             {
                 // We can link to the item in question, no instance needed
                 // in this crate
index 6afb340107d6661aa1c3a5ad517319757942f887..eac0a062567194cd056253b4ff0a320cae3d0a47 100644 (file)
@@ -186,7 +186,7 @@ pub fn get_static(ccx: &CrateContext, def_id: DefId) -> ValueRef {
                 llvm::set_thread_local(g, true);
             }
         }
-        if ccx.use_dll_storage_attrs() && !ccx.sess().cstore.is_foreign_item(def_id) {
+        if ccx.use_dll_storage_attrs() && !ccx.tcx().is_foreign_item(def_id) {
             // This item is external but not foreign, i.e. it originates from an external Rust
             // crate. Since we don't know whether this crate will be linked dynamically or
             // statically in the final application, we always mark such symbols as 'dllimport'.