From 4c5bee2cb875c3fb485d216bf907b94b49adcefc Mon Sep 17 00:00:00 2001 From: Douglas Raillard Date: Tue, 14 Nov 2023 12:06:04 +0000 Subject: [PATCH] WIPvariance --- tools/analysis/traceevent/src/buffer.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tools/analysis/traceevent/src/buffer.rs b/tools/analysis/traceevent/src/buffer.rs index ef471ec48b..3f794109fb 100644 --- a/tools/analysis/traceevent/src/buffer.rs +++ b/tools/analysis/traceevent/src/buffer.rs @@ -303,13 +303,13 @@ where // tried to get the event_desc before and it failed. let desc_map = self.desc_map().ok_or_else(not_found)?; let (desc, user) = desc_map.lookup(event_id).ok_or_else(not_found)?; - Ok((desc as *const EventDesc, user)) - }).map(|(desc, user): &(*const EventDesc, *const T)| { + Ok((desc, user)) + }).map(|(desc, user)| { let user: *const T = *user; let desc: *const EventDesc = *desc; - // SAFETY: EventDescMap contains &'h EventDesc, which we store as *const EventDesc - // to avoid variance issues. It's therefore completely safe to just cast it back to - // &'h EventDesc. + // SAFETY: EventDescMap::lookup() returns (&'h EventDesc, &'edm T), which we store + // as (*const EventDesc, *const T) to avoid variance issues. It's therefore + // completely safe to just cast it back to &'h EventDesc. let desc: &'h EventDesc = unsafe{ &*desc }; let user: &'edm T = unsafe{ &*user}; (desc, user)