style: Unconditionally implement Debug for RefPtr.

Bindgen doesn't know how to derive debug for a Gecko font family list. Hopefully
it doesn't need to.

Bug: 1412486
Reviewed-by: xidorn
MozReview-Commit-ID: 4iZKzjad6K9
This commit is contained in:
Emilio Cobos Álvarez 2017-10-30 12:02:50 +01:00
parent 480d2267e6
commit b5f8edc4ae
No known key found for this signature in database
GPG key ID: 056B727BB9C1027C

View file

@ -7,7 +7,7 @@
use gecko_bindings::structs;
use gecko_bindings::sugar::ownership::HasArcFFI;
use servo_arc::Arc;
use std::{mem, ptr};
use std::{fmt, mem, ptr};
use std::marker::PhantomData;
use std::ops::{Deref, DerefMut};
@ -25,12 +25,19 @@ pub unsafe trait ThreadSafeRefCounted: RefCounted {}
/// A custom RefPtr implementation to take into account Drop semantics and
/// a bit less-painful memory management.
#[derive(Debug)]
pub struct RefPtr<T: RefCounted> {
ptr: *mut T,
_marker: PhantomData<T>,
}
impl<T: RefCounted> fmt::Debug for RefPtr<T> {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.write_str("RefPtr { ")?;
self.ptr.fmt(f)?;
f.write_str("}")
}
}
/// A RefPtr that we know is uniquely owned.
///
/// This is basically Box<T>, with the additional guarantee that the box can be