make LockInfo non-Copy
This commit is contained in:
parent
59d49c5d6d
commit
0b15db0cc2
2 changed files with 4 additions and 4 deletions
|
@ -219,7 +219,7 @@ impl<'tcx> fmt::Display for EvalError<'tcx> {
|
|||
if access { "memory access" } else { "pointer computed" },
|
||||
ptr.offset, ptr.alloc_id, allocation_size)
|
||||
},
|
||||
MemoryLockViolation { ptr, len, access, lock } => {
|
||||
MemoryLockViolation { ptr, len, access, ref lock } => {
|
||||
write!(f, "{:?} access at {:?}, size {}, is in conflict with lock {:?}",
|
||||
access, ptr, len, lock)
|
||||
}
|
||||
|
@ -227,7 +227,7 @@ impl<'tcx> fmt::Display for EvalError<'tcx> {
|
|||
write!(f, "tried to release memory write lock at {:?}, size {}, but the write lock is held by someone else",
|
||||
ptr, len)
|
||||
}
|
||||
DeallocatedLockedMemory { ptr, lock } => {
|
||||
DeallocatedLockedMemory { ptr, ref lock } => {
|
||||
write!(f, "tried to deallocate memory at {:?} in conflict with lock {:?}",
|
||||
ptr, lock)
|
||||
}
|
||||
|
|
|
@ -96,7 +96,7 @@ enum LockStatus {
|
|||
}
|
||||
|
||||
/// Information about a lock that is or will be held.
|
||||
#[derive(Copy, Clone, Debug)]
|
||||
#[derive(Clone, Debug)]
|
||||
pub struct LockInfo {
|
||||
kind: AccessKind,
|
||||
lifetime: DynamicLifetime,
|
||||
|
@ -168,7 +168,7 @@ impl Allocation {
|
|||
for lock in self.iter_locks(offset, len) {
|
||||
// Check if the lock is active, and is in conflict with the access.
|
||||
if lock.status == LockStatus::Held && !lock.access_permitted(frame, access) {
|
||||
return Err(*lock);
|
||||
return Err(lock.clone());
|
||||
}
|
||||
}
|
||||
Ok(())
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue