Browse Source

Add a comment on EntityName's CarbonHashtableEq about its requirements (#5828)

The entity name structure will grow at least one more field for symbolic
bindings (see [open
discussion](https://docs.google.com/document/d/1Yt-i5AmF76LSvD4TrWRIAE_92kii6j5yFiW-S7ahzlg/edit?tab=t.0)),
so we can just refer to the "following" fields to include them all.
Dana Jansens 9 months ago
parent
commit
64c7e4eeb3
1 changed files with 3 additions and 0 deletions
  1. 3 0
      toolchain/sem_ir/entity_name.h

+ 3 - 0
toolchain/sem_ir/entity_name.h

@@ -21,6 +21,9 @@ struct EntityName : public Printable<EntityName> {
 
   friend auto CarbonHashtableEq(const EntityName& lhs, const EntityName& rhs)
       -> bool {
+    // This requires that there are no padding bits in the type. This is upheld
+    // since it holds values all of the same size: each is 32 bits, with one
+    // split into 31 and 1 bits.
     return std::memcmp(&lhs, &rhs, sizeof(EntityName)) == 0;
   }