mirror of
https://github.com/servo/servo.git
synced 2025-08-06 22:15:33 +01:00
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:
parent
480d2267e6
commit
b5f8edc4ae
1 changed files with 9 additions and 2 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue