@@ -125,6 +125,7 @@ where
125
125
}
126
126
127
127
/// Shared value data can only be read through the lock.
128
+ #[ repr( Rust , packed) ] // Allow `durability` to be stored in the padding of the outer `Value` struct.
128
129
struct ValueShared {
129
130
/// The interned ID for this value.
130
131
///
@@ -325,7 +326,7 @@ where
325
326
let value_shared = unsafe { & mut * value. shared . get ( ) } ;
326
327
327
328
// Validate the value in this revision to avoid reuse.
328
- if value_shared. last_interned_at < current_revision {
329
+ if { value_shared. last_interned_at } < current_revision {
329
330
value_shared. last_interned_at = current_revision;
330
331
331
332
zalsa. event ( & || {
@@ -397,7 +398,7 @@ where
397
398
}
398
399
399
400
// We should never reuse a value that was accessed in the current revision.
400
- debug_assert ! ( value_shared. last_interned_at < current_revision) ;
401
+ debug_assert ! ( { value_shared. last_interned_at } < current_revision) ;
401
402
402
403
// Record the durability of the current query on the interned value.
403
404
let ( durability, last_interned_at) = zalsa_local
@@ -699,7 +700,7 @@ where
699
700
let value_shared = unsafe { & mut * value. shared. get( ) } ;
700
701
701
702
let last_changed_revision = zalsa. last_changed_revision( value_shared. durability) ;
702
- value_shared. last_interned_at >= last_changed_revision
703
+ ( { value_shared. last_interned_at } ) >= last_changed_revision
703
704
} ,
704
705
"Data was not interned in the latest revision for its durability."
705
706
) ;
0 commit comments