Skip to content
This repository was archived by the owner on Jun 8, 2021. It is now read-only.

Commit 28831d1

Browse files
authored
Merge pull request #505 from GuillaumeGomez/zeroed
Zeroed
2 parents d97731c + 2ec63a3 commit 28831d1

File tree

3 files changed

+11
-9
lines changed

3 files changed

+11
-9
lines changed

src/boxed.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -366,10 +366,10 @@ impl<T: 'static, MM: BoxedMemoryManager<T>> Uninitialized for Boxed<T, MM> {
366366
unsafe fn uninitialized() -> Self {
367367
Boxed {
368368
inner: {
369-
let mut inner = Box::<T>::new(mem::zeroed());
370-
MM::init(&mut *inner);
369+
let mut inner = mem::MaybeUninit::zeroed();
370+
MM::init(inner.as_mut_ptr());
371371

372-
AnyBox::Native(inner)
372+
AnyBox::Native(Box::new(inner.assume_init()))
373373
},
374374
_dummy: PhantomData,
375375
}

src/object.rs

+6-4
Original file line numberDiff line numberDiff line change
@@ -1269,8 +1269,9 @@ impl<T: ObjectType> ObjectExt for T {
12691269
return Err(glib_bool_error!("Signal not found"));
12701270
}
12711271

1272-
let mut details = mem::zeroed();
1273-
gobject_sys::g_signal_query(signal_id, &mut details);
1272+
let mut details = mem::MaybeUninit::zeroed();
1273+
gobject_sys::g_signal_query(signal_id, details.as_mut_ptr());
1274+
let details = details.assume_init();
12741275
if details.signal_id != signal_id {
12751276
return Err(glib_bool_error!("Signal not found"));
12761277
}
@@ -1370,8 +1371,9 @@ impl<T: ObjectType> ObjectExt for T {
13701371
return Err(glib_bool_error!("Signal not found"));
13711372
}
13721373

1373-
let mut details = mem::zeroed();
1374-
gobject_sys::g_signal_query(signal_id, &mut details);
1374+
let mut details = mem::MaybeUninit::zeroed();
1375+
gobject_sys::g_signal_query(signal_id, details.as_mut_ptr());
1376+
let details = details.assume_init();
13751377
if details.signal_id != signal_id {
13761378
return Err(glib_bool_error!("Signal not found"));
13771379
}

src/value.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ impl Value {
199199
}
200200

201201
#[doc(hidden)]
202-
pub fn into_raw(mut self) -> gobject_sys::GValue {
202+
pub fn into_raw(self) -> gobject_sys::GValue {
203203
unsafe {
204204
let ret = ptr::read(&self.0);
205205
mem::forget(self);
@@ -273,7 +273,7 @@ impl From<SendValue> for Value {
273273

274274
impl Uninitialized for Value {
275275
unsafe fn uninitialized() -> Value {
276-
Value(mem::zeroed(), PhantomData)
276+
mem::zeroed()
277277
}
278278
}
279279

0 commit comments

Comments
 (0)