@@ -2046,7 +2046,7 @@ pub const Key = union(enum) {
2046
2046
},
2047
2047
/// This type originates from a reification via `@Type`, or from an anonymous initialization.
2048
2048
/// It is hashed based on its ZIR instruction index and fields, attributes, etc.
2049
- /// To avoid making this key overly complex, the type-specific data is hased by Sema.
2049
+ /// To avoid making this key overly complex, the type-specific data is hashed by Sema.
2050
2050
reified : struct {
2051
2051
/// A `reify`, `struct_init`, `struct_init_ref`, or `struct_init_anon` instruction.
2052
2052
zir_index : TrackedInst.Index ,
@@ -11287,7 +11287,8 @@ pub fn createNamespace(
11287
11287
return reused_namespace_index ;
11288
11288
}
11289
11289
const namespaces = local .getMutableNamespaces (gpa );
11290
- if (local .mutate .namespaces .last_bucket_len == 0 ) {
11290
+ const last_bucket_len = local .mutate .namespaces .last_bucket_len & Local .namespaces_bucket_mask ;
11291
+ if (last_bucket_len == 0 ) {
11291
11292
try namespaces .ensureUnusedCapacity (1 );
11292
11293
var arena = namespaces .arena .promote (namespaces .gpa );
11293
11294
defer namespaces .arena .* = arena .state ;
@@ -11298,10 +11299,9 @@ pub fn createNamespace(
11298
11299
const unwrapped_namespace_index : NamespaceIndex.Unwrapped = .{
11299
11300
.tid = tid ,
11300
11301
.bucket_index = namespaces .mutate .len - 1 ,
11301
- .index = local . mutate . namespaces . last_bucket_len ,
11302
+ .index = last_bucket_len ,
11302
11303
};
11303
- local .mutate .namespaces .last_bucket_len =
11304
- (unwrapped_namespace_index .index + 1 ) & Local .namespaces_bucket_mask ;
11304
+ local .mutate .namespaces .last_bucket_len = last_bucket_len + 1 ;
11305
11305
const namespace_index = unwrapped_namespace_index .wrap (ip );
11306
11306
ip .namespacePtr (namespace_index ).* = initialization ;
11307
11307
return namespace_index ;
0 commit comments