Fix error with borrowing packed fields

This commit is contained in:
Jeremy Soller
2017-12-06 20:12:02 -07:00
parent eac37c7dc5
commit f206dab653
3 changed files with 31 additions and 25 deletions
+7 -5
View File
@@ -28,11 +28,13 @@ impl ExNode {
impl fmt::Debug for ExNode {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
let extents: Vec<&Extent> = self.extents.iter().filter(|extent| -> bool { extent.length > 0 }).collect();
f.debug_struct("ExNode")
.field("prev", &self.prev)
.field("next", &self.next)
.field("extents", &extents)
.finish()
unsafe {
f.debug_struct("ExNode")
.field("prev", &self.prev)
.field("next", &self.next)
.field("extents", &extents)
.finish()
}
}
}
+10 -8
View File
@@ -57,14 +57,16 @@ impl Header {
impl fmt::Debug for Header {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.debug_struct("Header")
.field("signature", &self.signature)
.field("version", &self.version)
.field("uuid", &self.uuid)
.field("size", &self.size)
.field("root", &self.root)
.field("free", &self.free)
.finish()
unsafe {
f.debug_struct("Header")
.field("signature", &self.signature)
.field("version", &self.version)
.field("uuid", &self.uuid)
.field("size", &self.size)
.field("root", &self.root)
.field("free", &self.free)
.finish()
}
}
}
+14 -12
View File
@@ -114,18 +114,20 @@ impl Node {
impl fmt::Debug for Node {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
let extents: Vec<&Extent> = self.extents.iter().filter(|extent| -> bool { extent.length > 0 }).collect();
f.debug_struct("Node")
.field("mode", &self.mode)
.field("uid", &self.uid)
.field("gid", &self.gid)
.field("ctime", &self.ctime)
.field("ctime_nsec", &self.ctime_nsec)
.field("mtime", &self.mtime)
.field("mtime_nsec", &self.mtime_nsec)
.field("name", &self.name())
.field("next", &self.next)
.field("extents", &extents)
.finish()
unsafe {
f.debug_struct("Node")
.field("mode", &self.mode)
.field("uid", &self.uid)
.field("gid", &self.gid)
.field("ctime", &self.ctime)
.field("ctime_nsec", &self.ctime_nsec)
.field("mtime", &self.mtime)
.field("mtime_nsec", &self.mtime_nsec)
.field("name", &self.name())
.field("next", &self.next)
.field("extents", &extents)
.finish()
}
}
}