interpret/memory: explain why we use == on bool
This commit is contained in:
parent
a615cea333
commit
872781b226
1 changed files with 2 additions and 0 deletions
|
@ -949,6 +949,8 @@ impl<'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> {
|
||||||
/// Runs the close in "validation" mode, which means the machine's memory read hooks will be
|
/// Runs the close in "validation" mode, which means the machine's memory read hooks will be
|
||||||
/// suppressed. Needless to say, this must only be set with great care! Cannot be nested.
|
/// suppressed. Needless to say, this must only be set with great care! Cannot be nested.
|
||||||
pub(super) fn run_for_validation<R>(&self, f: impl FnOnce() -> R) -> R {
|
pub(super) fn run_for_validation<R>(&self, f: impl FnOnce() -> R) -> R {
|
||||||
|
// This deliberately uses `==` on `bool` to follow the pattern
|
||||||
|
// `assert!(val.replace(new) == old)`.
|
||||||
assert!(
|
assert!(
|
||||||
self.memory.validation_in_progress.replace(true) == false,
|
self.memory.validation_in_progress.replace(true) == false,
|
||||||
"`validation_in_progress` was already set"
|
"`validation_in_progress` was already set"
|
||||||
|
|
Loading…
Add table
Reference in a new issue