Skip to content

Commit

Permalink
just zero structs that need a manual Default impl
Browse files Browse the repository at this point in the history
  • Loading branch information
maia-s committed Jan 2, 2025
1 parent 3880e07 commit 82609ef
Show file tree
Hide file tree
Showing 12 changed files with 39 additions and 327 deletions.
28 changes: 4 additions & 24 deletions sdl3-sys-gen/src/emit.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1085,16 +1085,10 @@ impl StructOrUnion {
writeln!(ctx_ool, "#[inline(always)]")?;
writeln!(ctx_ool, "fn default() -> Self {{")?;
ctx_ool.increase_indent();
writeln!(ctx_ool, "Self {{")?;
ctx_ool.increase_indent();
for field in fields.fields.iter() {
field.ident.emit(ctx_ool)?;
write!(ctx_ool, ": ")?;
field.ty.emit_default_value(ctx_ool)?;
writeln!(ctx_ool, ",")?;
}
ctx_ool.decrease_indent();
writeln!(ctx_ool, "}}")?;
writeln!(
ctx_ool,
"unsafe {{ ::core::mem::MaybeUninit::<Self>::zeroed().assume_init() }}"
)?;
ctx_ool.decrease_indent();
writeln!(ctx_ool, "}}")?;
ctx_ool.decrease_indent();
Expand Down Expand Up @@ -1204,20 +1198,6 @@ impl Type {
}
Ok(None)
}

pub fn emit_default_value(&self, ctx: &mut EmitContext) -> EmitResult {
match &self.ty {
TypeEnum::Pointer(p) => {
if p.is_const {
write!(ctx, "::core::ptr::null()")?
} else {
write!(ctx, "::core::ptr::null_mut()")?
}
}
_ => write!(ctx, "::core::default::Default::default()")?,
}
Ok(())
}
}

impl Emit for Type {
Expand Down
10 changes: 1 addition & 9 deletions sdl3-sys/src/generated/assert.rs
Original file line number Diff line number Diff line change
Expand Up @@ -292,15 +292,7 @@ pub struct SDL_AssertData {
impl ::core::default::Default for SDL_AssertData {
#[inline(always)]
fn default() -> Self {
Self {
always_ignore: ::core::default::Default::default(),
trigger_count: ::core::default::Default::default(),
condition: ::core::ptr::null(),
filename: ::core::ptr::null(),
linenum: ::core::default::Default::default(),
function: ::core::ptr::null(),
next: ::core::ptr::null(),
}
unsafe { ::core::mem::MaybeUninit::<Self>::zeroed().assume_init() }
}
}

Expand Down
11 changes: 1 addition & 10 deletions sdl3-sys/src/generated/asyncio.rs
Original file line number Diff line number Diff line change
Expand Up @@ -221,16 +221,7 @@ pub struct SDL_AsyncIOOutcome {
impl ::core::default::Default for SDL_AsyncIOOutcome {
#[inline(always)]
fn default() -> Self {
Self {
asyncio: ::core::ptr::null_mut(),
r#type: ::core::default::Default::default(),
result: ::core::default::Default::default(),
buffer: ::core::ptr::null_mut(),
offset: ::core::default::Default::default(),
bytes_requested: ::core::default::Default::default(),
bytes_transferred: ::core::default::Default::default(),
userdata: ::core::ptr::null_mut(),
}
unsafe { ::core::mem::MaybeUninit::<Self>::zeroed().assume_init() }
}
}

Expand Down
5 changes: 1 addition & 4 deletions sdl3-sys/src/generated/dialog.rs
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,7 @@ pub struct SDL_DialogFileFilter {
impl ::core::default::Default for SDL_DialogFileFilter {
#[inline(always)]
fn default() -> Self {
Self {
name: ::core::ptr::null(),
pattern: ::core::ptr::null(),
}
unsafe { ::core::mem::MaybeUninit::<Self>::zeroed().assume_init() }
}
}

Expand Down
62 changes: 6 additions & 56 deletions sdl3-sys/src/generated/events.rs
Original file line number Diff line number Diff line change
Expand Up @@ -973,15 +973,7 @@ pub struct SDL_TextEditingEvent {
impl ::core::default::Default for SDL_TextEditingEvent {
#[inline(always)]
fn default() -> Self {
Self {
r#type: ::core::default::Default::default(),
reserved: ::core::default::Default::default(),
timestamp: ::core::default::Default::default(),
windowID: ::core::default::Default::default(),
text: ::core::ptr::null(),
start: ::core::default::Default::default(),
length: ::core::default::Default::default(),
}
unsafe { ::core::mem::MaybeUninit::<Self>::zeroed().assume_init() }
}
}

Expand Down Expand Up @@ -1016,19 +1008,7 @@ pub struct SDL_TextEditingCandidatesEvent {
impl ::core::default::Default for SDL_TextEditingCandidatesEvent {
#[inline(always)]
fn default() -> Self {
Self {
r#type: ::core::default::Default::default(),
reserved: ::core::default::Default::default(),
timestamp: ::core::default::Default::default(),
windowID: ::core::default::Default::default(),
candidates: ::core::ptr::null(),
num_candidates: ::core::default::Default::default(),
selected_candidate: ::core::default::Default::default(),
horizontal: ::core::default::Default::default(),
padding1: ::core::default::Default::default(),
padding2: ::core::default::Default::default(),
padding3: ::core::default::Default::default(),
}
unsafe { ::core::mem::MaybeUninit::<Self>::zeroed().assume_init() }
}
}

Expand Down Expand Up @@ -1061,13 +1041,7 @@ pub struct SDL_TextInputEvent {
impl ::core::default::Default for SDL_TextInputEvent {
#[inline(always)]
fn default() -> Self {
Self {
r#type: ::core::default::Default::default(),
reserved: ::core::default::Default::default(),
timestamp: ::core::default::Default::default(),
windowID: ::core::default::Default::default(),
text: ::core::ptr::null(),
}
unsafe { ::core::mem::MaybeUninit::<Self>::zeroed().assume_init() }
}
}

Expand Down Expand Up @@ -1757,16 +1731,7 @@ pub struct SDL_DropEvent {
impl ::core::default::Default for SDL_DropEvent {
#[inline(always)]
fn default() -> Self {
Self {
r#type: ::core::default::Default::default(),
reserved: ::core::default::Default::default(),
timestamp: ::core::default::Default::default(),
windowID: ::core::default::Default::default(),
x: ::core::default::Default::default(),
y: ::core::default::Default::default(),
source: ::core::ptr::null(),
data: ::core::ptr::null(),
}
unsafe { ::core::mem::MaybeUninit::<Self>::zeroed().assume_init() }
}
}

Expand Down Expand Up @@ -1795,14 +1760,7 @@ pub struct SDL_ClipboardEvent {
impl ::core::default::Default for SDL_ClipboardEvent {
#[inline(always)]
fn default() -> Self {
Self {
r#type: ::core::default::Default::default(),
reserved: ::core::default::Default::default(),
timestamp: ::core::default::Default::default(),
owner: ::core::default::Default::default(),
num_mime_types: ::core::default::Default::default(),
mime_types: ::core::ptr::null_mut(),
}
unsafe { ::core::mem::MaybeUninit::<Self>::zeroed().assume_init() }
}
}

Expand Down Expand Up @@ -1876,15 +1834,7 @@ pub struct SDL_UserEvent {
impl ::core::default::Default for SDL_UserEvent {
#[inline(always)]
fn default() -> Self {
Self {
r#type: ::core::default::Default::default(),
reserved: ::core::default::Default::default(),
timestamp: ::core::default::Default::default(),
windowID: ::core::default::Default::default(),
code: ::core::default::Default::default(),
data1: ::core::ptr::null_mut(),
data2: ::core::ptr::null_mut(),
}
unsafe { ::core::mem::MaybeUninit::<Self>::zeroed().assume_init() }
}
}

Expand Down
Loading

0 comments on commit 82609ef

Please sign in to comment.