From: Owen Avery <[email protected]>
gcc/rust/ChangeLog:
* checks/errors/rust-feature.cc
(Feature::name_hash_map):
Add entries for Name::LANG_ITEMS and Name::NO_CORE.
* checks/errors/rust-feature.h
(Feature::Name::LANG_ITEMS): New.
(Feature::Name::NO_CORE): New.
gcc/testsuite/ChangeLog:
* rust/compile/sized-stub.rs: New test.
Signed-off-by: Owen Avery <[email protected]>
---
gcc/rust/checks/errors/rust-feature.cc | 2 ++
gcc/rust/checks/errors/rust-feature.h | 2 ++
gcc/testsuite/rust/compile/sized-stub.rs | 6 ++++++
3 files changed, 10 insertions(+)
create mode 100644 gcc/testsuite/rust/compile/sized-stub.rs
diff --git a/gcc/rust/checks/errors/rust-feature.cc
b/gcc/rust/checks/errors/rust-feature.cc
index 88649f14e60..c12710ae2e1 100644
--- a/gcc/rust/checks/errors/rust-feature.cc
+++ b/gcc/rust/checks/errors/rust-feature.cc
@@ -56,6 +56,8 @@ const std::map<std::string, Feature::Name>
Feature::name_hash_map = {
// later Rust versions
{"optin_builtin_traits", Feature::Name::AUTO_TRAITS},
{"extern_types", Feature::Name::EXTERN_TYPES},
+ {"lang_items", Feature::Name::LANG_ITEMS},
+ {"no_core", Feature::Name::NO_CORE},
}; // namespace Rust
tl::optional<Feature::Name>
diff --git a/gcc/rust/checks/errors/rust-feature.h
b/gcc/rust/checks/errors/rust-feature.h
index 4ff059c6167..e6bc2362e39 100644
--- a/gcc/rust/checks/errors/rust-feature.h
+++ b/gcc/rust/checks/errors/rust-feature.h
@@ -43,6 +43,8 @@ public:
DECL_MACRO,
AUTO_TRAITS,
EXTERN_TYPES,
+ LANG_ITEMS,
+ NO_CORE,
};
const std::string &as_string () { return m_name_str; }
diff --git a/gcc/testsuite/rust/compile/sized-stub.rs
b/gcc/testsuite/rust/compile/sized-stub.rs
new file mode 100644
index 00000000000..4e89b1fb134
--- /dev/null
+++ b/gcc/testsuite/rust/compile/sized-stub.rs
@@ -0,0 +1,6 @@
+#![feature(lang_items)]
+#![feature(no_core)]
+#![no_core]
+
+#[lang = "sized"]
+trait Sized {}
--
2.42.1