aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/util/rust-lang-item.cc
diff options
context:
space:
mode:
authorArthur Cohen <arthur.cohen@embecosm.com>2025-01-21 16:13:11 +0100
committerCohenArthur <arthur.cohen@embecosm.com>2025-01-21 17:53:36 +0000
commitb87fd67fa807665d741968b7aca4b9399f2071db (patch)
treef09d693d132625d1b34ab5adf2927dbba806c21b /gcc/rust/util/rust-lang-item.cc
parent289bf52597fbe4cd85c0dca2bcb0404a960ad588 (diff)
downloadgcc-b87fd67fa807665d741968b7aca4b9399f2071db.zip
gcc-b87fd67fa807665d741968b7aca4b9399f2071db.tar.gz
gcc-b87fd67fa807665d741968b7aca4b9399f2071db.tar.bz2
lang-items: Add Result and Try lang items
gcc/rust/ChangeLog: * util/rust-lang-item.h: Add handling for Result::Ok, Result::Err, Try, Try::into_result, Try::from_ok, Try::from_err. * util/rust-lang-item.cc: Likewise. gcc/testsuite/ChangeLog: * rust/compile/try-trait.rs: New test.
Diffstat (limited to 'gcc/rust/util/rust-lang-item.cc')
-rw-r--r--gcc/rust/util/rust-lang-item.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/rust/util/rust-lang-item.cc b/gcc/rust/util/rust-lang-item.cc
index e6bcc85..affadf9 100644
--- a/gcc/rust/util/rust-lang-item.cc
+++ b/gcc/rust/util/rust-lang-item.cc
@@ -97,11 +97,19 @@ const BiMap<std::string, LangItem::Kind> Rust::LangItem::lang_items = {{
{"Some", Kind::OPTION_SOME},
{"None", Kind::OPTION_NONE},
+ {"Ok", Kind::RESULT_OK},
+ {"Err", Kind::RESULT_ERR},
+
{"into_iter", Kind::INTOITER_INTOITER},
{"next", Kind::ITERATOR_NEXT},
{"eq", Kind::EQ},
{"partial_ord", Kind::PARTIAL_ORD},
+
+ {"try", Kind::TRY},
+ {"into_result", Kind::TRY_INTO_RESULT},
+ {"from_error", Kind::TRY_FROM_ERROR},
+ {"from_ok", Kind::TRY_FROM_OK},
}};
tl::optional<LangItem::Kind>