Add some FIXME comments about using ptr::NonNull

This commit is contained in:
Simon Sapin 2018-01-22 13:28:08 +01:00
parent b78ac6ba6a
commit 4be3096040
3 changed files with 5 additions and 1 deletions

View file

@ -1,5 +1,6 @@
use std::marker::PhantomData;
// FIXME: remove this and use std::ptr::NonNull when Firefox requires Rust 1.25+
pub struct NonZeroPtr<T: 'static>(&'static T);
impl<T: 'static> NonZeroPtr<T> {

View file

@ -83,6 +83,7 @@ const MAX_REFCOUNT: usize = (isize::MAX) as usize;
/// that this is all a temporary hack, this restriction is fine for now.
///
/// [1]: https://github.com/rust-lang/rust/issues/27730
// FIXME: remove this and use std::ptr::NonNull when Firefox requires Rust 1.25+
pub struct NonZeroPtrMut<T: ?Sized + 'static>(&'static mut T);
impl<T: ?Sized> NonZeroPtrMut<T> {
pub fn new(ptr: *mut T) -> Self {

View file

@ -828,6 +828,8 @@ impl MallocSizeOf for RuleNode {
}
}
// FIXME: use std::ptr::NonNull when Firefox requires Rust 1.25+
#[derive(Clone)]
struct WeakRuleNode {
p: NonZeroPtrMut<RuleNode>,