about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMaybe Lapkin <waffle.lapkin@gmail.com>2024-11-29 20:28:02 +0100
committerMaybe Lapkin <waffle.lapkin@gmail.com>2024-11-29 20:28:02 +0100
commit144d6cc65ba5d3ebdf1e20cc1a27bd3964402921 (patch)
tree900a67b37eac193fae7ecceac8c9fc6960093072
parentc6454dd582c66a53bbf91947098af59689f61c1e (diff)
downloadrust-144d6cc65ba5d3ebdf1e20cc1a27bd3964402921.tar.gz
rust-144d6cc65ba5d3ebdf1e20cc1a27bd3964402921.zip
simplify things using `tcx.as_lang_item`
-rw-r--r--compiler/rustc_mir_build/src/check_tail_calls.rs52
1 files changed, 25 insertions, 27 deletions
diff --git a/compiler/rustc_mir_build/src/check_tail_calls.rs b/compiler/rustc_mir_build/src/check_tail_calls.rs
index 6eade204970..b1f46d37d50 100644
--- a/compiler/rustc_mir_build/src/check_tail_calls.rs
+++ b/compiler/rustc_mir_build/src/check_tail_calls.rs
@@ -354,33 +354,31 @@ impl<'a, 'tcx> Visitor<'a, 'tcx> for TailCallCkVisitor<'a, 'tcx> {
 }
 
 fn op_trait_as_method_name(tcx: TyCtxt<'_>, trait_did: DefId) -> Option<&'static str> {
-    let trait_did = Some(trait_did);
-    let items = tcx.lang_items();
-    let m = match () {
-        _ if trait_did == items.get(LangItem::Add) => "add",
-        _ if trait_did == items.get(LangItem::Sub) => "sub",
-        _ if trait_did == items.get(LangItem::Mul) => "mul",
-        _ if trait_did == items.get(LangItem::Div) => "div",
-        _ if trait_did == items.get(LangItem::Rem) => "rem",
-        _ if trait_did == items.get(LangItem::Neg) => "neg",
-        _ if trait_did == items.get(LangItem::Not) => "not",
-        _ if trait_did == items.get(LangItem::BitXor) => "bitxor",
-        _ if trait_did == items.get(LangItem::BitAnd) => "bitand",
-        _ if trait_did == items.get(LangItem::BitOr) => "bitor",
-        _ if trait_did == items.get(LangItem::Shl) => "shl",
-        _ if trait_did == items.get(LangItem::Shr) => "shr",
-        _ if trait_did == items.get(LangItem::AddAssign) => "add_assign",
-        _ if trait_did == items.get(LangItem::SubAssign) => "sub_assign",
-        _ if trait_did == items.get(LangItem::MulAssign) => "mul_assign",
-        _ if trait_did == items.get(LangItem::DivAssign) => "div_assign",
-        _ if trait_did == items.get(LangItem::RemAssign) => "rem_assign",
-        _ if trait_did == items.get(LangItem::BitXorAssign) => "bitxor_assign",
-        _ if trait_did == items.get(LangItem::BitAndAssign) => "bitand_assign",
-        _ if trait_did == items.get(LangItem::BitOrAssign) => "bitor_assign",
-        _ if trait_did == items.get(LangItem::ShlAssign) => "shl_assign",
-        _ if trait_did == items.get(LangItem::ShrAssign) => "shr_assign",
-        _ if trait_did == items.get(LangItem::Index) => "index",
-        _ if trait_did == items.get(LangItem::IndexMut) => "index_mut",
+    let m = match tcx.as_lang_item(trait_did)? {
+        LangItem::Add => "add",
+        LangItem::Sub => "sub",
+        LangItem::Mul => "mul",
+        LangItem::Div => "div",
+        LangItem::Rem => "rem",
+        LangItem::Neg => "neg",
+        LangItem::Not => "not",
+        LangItem::BitXor => "bitxor",
+        LangItem::BitAnd => "bitand",
+        LangItem::BitOr => "bitor",
+        LangItem::Shl => "shl",
+        LangItem::Shr => "shr",
+        LangItem::AddAssign => "add_assign",
+        LangItem::SubAssign => "sub_assign",
+        LangItem::MulAssign => "mul_assign",
+        LangItem::DivAssign => "div_assign",
+        LangItem::RemAssign => "rem_assign",
+        LangItem::BitXorAssign => "bitxor_assign",
+        LangItem::BitAndAssign => "bitand_assign",
+        LangItem::BitOrAssign => "bitor_assign",
+        LangItem::ShlAssign => "shl_assign",
+        LangItem::ShrAssign => "shr_assign",
+        LangItem::Index => "index",
+        LangItem::IndexMut => "index_mut",
         _ => return None,
     };