提交 858e5eef 编写于 作者: R Ralf Jung

check mutable UnsafeCell; hack for AtomicBool::get_mut

上级 744780e7
......@@ -46,6 +46,7 @@ pub(crate) fn validation_op(&mut self, op: ValidationOp, operand: &ValidationOpe
std::mem::uninitialized::|\
std::ptr::read::|\
std::panicking::try::do_call::|\
std::sync::atomic::AtomicBool::get_mut$|\
<std::vec::Vec<T>><[a-zA-Z0-9_]+>::into_boxed_slice$\
)").unwrap();
}
......@@ -320,10 +321,8 @@ fn validate(&mut self, mut query: ValidationQuery<'tcx>, mode: ValidationMode) -
Ok(())
}
TyAdt(adt, subst) => {
if Some(adt.did) == self.tcx.lang_items.unsafe_cell_type() /*&& query.mutbl == MutImmutable*/ {
if Some(adt.did) == self.tcx.lang_items.unsafe_cell_type() && query.mutbl == MutImmutable {
// No locks for shared unsafe cells. Also no other validation, the only field is private anyway.
// FIXME: For now we also don't acquire locks for mutable UnsafeCell, because this gets violated a lot
// by unsafe code.
return Ok(());
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册