aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/util
diff options
context:
space:
mode:
authorPierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>2024-04-25 15:28:32 +0200
committerArthur Cohen <arthur.cohen@embecosm.com>2025-03-17 16:35:24 +0100
commitc4c46f5fd7fa26b3bd5cf653a66ffa9cbb8cb24e (patch)
tree44f2cbc5d5c8e7bfd84d76c34796b9f447ac1cef /gcc/rust/util
parent7146c1b6f5edfd7d0b92685d81c81fa1ec40ceab (diff)
downloadgcc-c4c46f5fd7fa26b3bd5cf653a66ffa9cbb8cb24e.zip
gcc-c4c46f5fd7fa26b3bd5cf653a66ffa9cbb8cb24e.tar.gz
gcc-c4c46f5fd7fa26b3bd5cf653a66ffa9cbb8cb24e.tar.bz2
gccrs: Change return type for lookup_hir_impl_block
Change the return type to an optiona. This allows to differentiate between missing hir impl block and null pointers. gcc/rust/ChangeLog: * typecheck/rust-type-util.cc (query_type): Change call to the function in order to accomodate the new return type. * util/rust-hir-map.cc (Mappings::lookup_hir_impl_block): Change the function's return type to an optional. * util/rust-hir-map.h: Update the function's prototype. Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Diffstat (limited to 'gcc/rust/util')
-rw-r--r--gcc/rust/util/rust-hir-map.cc6
-rw-r--r--gcc/rust/util/rust-hir-map.h2
2 files changed, 4 insertions, 4 deletions
diff --git a/gcc/rust/util/rust-hir-map.cc b/gcc/rust/util/rust-hir-map.cc
index 184ab13..a5b1daf 100644
--- a/gcc/rust/util/rust-hir-map.cc
+++ b/gcc/rust/util/rust-hir-map.cc
@@ -468,7 +468,7 @@ void
Mappings::insert_hir_impl_block (HIR::ImplBlock *item)
{
auto id = item->get_mappings ().get_hirid ();
- rust_assert (lookup_hir_impl_block (id) == nullptr);
+ rust_assert (!lookup_hir_impl_block (id));
HirId impl_type_id = item->get_type ()->get_mappings ().get_hirid ();
hirImplBlockMappings[id] = item;
@@ -476,12 +476,12 @@ Mappings::insert_hir_impl_block (HIR::ImplBlock *item)
insert_node_to_hir (item->get_mappings ().get_nodeid (), id);
}
-HIR::ImplBlock *
+tl::optional<HIR::ImplBlock *>
Mappings::lookup_hir_impl_block (HirId id)
{
auto it = hirImplBlockMappings.find (id);
if (it == hirImplBlockMappings.end ())
- return nullptr;
+ return tl::nullopt;
return it->second;
}
diff --git a/gcc/rust/util/rust-hir-map.h b/gcc/rust/util/rust-hir-map.h
index ef4d656..109693e 100644
--- a/gcc/rust/util/rust-hir-map.h
+++ b/gcc/rust/util/rust-hir-map.h
@@ -130,7 +130,7 @@ public:
HIR::ExternalItem *lookup_hir_extern_item (HirId id, HirId *parent_block);
void insert_hir_impl_block (HIR::ImplBlock *item);
- HIR::ImplBlock *lookup_hir_impl_block (HirId id);
+ tl::optional<HIR::ImplBlock *> lookup_hir_impl_block (HirId id);
bool lookup_impl_block_type (HirId id, HIR::ImplBlock **impl_block);
void insert_module (HIR::Module *module);