about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRoxane Fruytier <roxane.fruytier@hotmail.com>2021-06-29 14:15:58 -0400
committerRoxane <roxane.fruytier@hotmail.com>2021-06-29 17:47:57 -0400
commit3e569dd2dff023378debce3b98e19bf3ef8c6904 (patch)
treed0d142114a45e04f161fdef168c4e095cbe58c7b
parent6e0b554619a3bb7e75b3334e97f191af20ef5d76 (diff)
downloadrust-3e569dd2dff023378debce3b98e19bf3ef8c6904.tar.gz
rust-3e569dd2dff023378debce3b98e19bf3ef8c6904.zip
Remove lang items Send, UnwindSafe and RefUnwindSafe
-rw-r--r--compiler/rustc_hir/src/lang_items.rs3
-rw-r--r--compiler/rustc_passes/src/lang_items.rs3
-rw-r--r--compiler/rustc_span/src/symbol.rs5
-rw-r--r--library/core/src/marker.rs3
-rw-r--r--library/std/src/panic.rs4
5 files changed, 7 insertions, 11 deletions
diff --git a/compiler/rustc_hir/src/lang_items.rs b/compiler/rustc_hir/src/lang_items.rs
index bab685006ea..28ae08030e6 100644
--- a/compiler/rustc_hir/src/lang_items.rs
+++ b/compiler/rustc_hir/src/lang_items.rs
@@ -348,7 +348,4 @@ language_item_table! {
     Range,                   sym::Range,               range_struct,               Target::Struct;
     RangeToInclusive,        sym::RangeToInclusive,    range_to_inclusive_struct,  Target::Struct;
     RangeTo,                 sym::RangeTo,             range_to_struct,            Target::Struct;
-    Send,                    sym::send,                send_trait,                 Target::Trait;
-    UnwindSafe,              sym::unwind_safe,         unwind_safe_trait,          Target::Trait;
-    RefUnwindSafe,           sym::ref_unwind_safe,     ref_unwind_safe_trait,      Target::Trait;
 }
diff --git a/compiler/rustc_passes/src/lang_items.rs b/compiler/rustc_passes/src/lang_items.rs
index 118fcca4508..f57f5fd56d2 100644
--- a/compiler/rustc_passes/src/lang_items.rs
+++ b/compiler/rustc_passes/src/lang_items.rs
@@ -257,9 +257,6 @@ impl LanguageItemCollector<'tcx> {
             | LangItem::Unpin
             | LangItem::Termination
             | LangItem::Try
-            | LangItem::Send
-            | LangItem::UnwindSafe
-            | LangItem::RefUnwindSafe
                 => Some(0),
 
             // Not a trait
diff --git a/compiler/rustc_span/src/symbol.rs b/compiler/rustc_span/src/symbol.rs
index be4f12c6d1c..38e19dcb678 100644
--- a/compiler/rustc_span/src/symbol.rs
+++ b/compiler/rustc_span/src/symbol.rs
@@ -947,7 +947,7 @@ symbols! {
         receiver,
         recursion_limit,
         reexport_test_harness_main,
-        ref_unwind_safe,
+        ref_unwind_safe_trait,
         reference,
         reflect,
         reg,
@@ -1073,7 +1073,6 @@ symbols! {
         self_in_typedefs,
         self_struct_ctor,
         semitransparent,
-        send,
         send_trait,
         shl,
         shl_assign,
@@ -1299,7 +1298,7 @@ symbols! {
         unused_qualifications,
         unwind,
         unwind_attributes,
-        unwind_safe,
+        unwind_safe_trait,
         unwrap,
         unwrap_or,
         use_extern_macros,
diff --git a/library/core/src/marker.rs b/library/core/src/marker.rs
index 271565693d6..d00fb2284b8 100644
--- a/library/core/src/marker.rs
+++ b/library/core/src/marker.rs
@@ -31,7 +31,10 @@ use crate::hash::Hasher;
 /// [ub]: ../../reference/behavior-considered-undefined.html
 #[stable(feature = "rust1", since = "1.0.0")]
 #[cfg_attr(not(test), rustc_diagnostic_item = "send_trait")]
+<<<<<<< HEAD
 #[lang = "send"]
+=======
+>>>>>>> Remove lang items Send, UnwindSafe and RefUnwindSafe
 #[rustc_on_unimplemented(
     message = "`{Self}` cannot be sent between threads safely",
     label = "`{Self}` cannot be sent between threads safely"
diff --git a/library/std/src/panic.rs b/library/std/src/panic.rs
index ee069eefd45..7931c4c0a5f 100644
--- a/library/std/src/panic.rs
+++ b/library/std/src/panic.rs
@@ -133,7 +133,7 @@ pub fn panic_any<M: 'static + Any + Send>(msg: M) -> ! {
 /// [`AssertUnwindSafe`] wrapper struct can be used to force this trait to be
 /// implemented for any closed over variables passed to `catch_unwind`.
 #[stable(feature = "catch_unwind", since = "1.9.0")]
-#[cfg_attr(not(test), lang = "unwind_safe")]
+#[rustc_diagnostic_item = "unwind_safe_trait"]
 #[rustc_on_unimplemented(
     message = "the type `{Self}` may not be safely transferred across an unwind boundary",
     label = "`{Self}` may not be safely transferred across an unwind boundary"
@@ -149,7 +149,7 @@ pub auto trait UnwindSafe {}
 /// This is a "helper marker trait" used to provide impl blocks for the
 /// [`UnwindSafe`] trait, for more information see that documentation.
 #[stable(feature = "catch_unwind", since = "1.9.0")]
-#[cfg_attr(not(test), lang = "ref_unwind_safe")]
+#[rustc_diagnostic_item = "ref_unwind_safe_trait"]
 #[rustc_on_unimplemented(
     message = "the type `{Self}` may contain interior mutability and a reference may not be safely \
                transferrable across a catch_unwind boundary",