Skip to content

Commit 9c2df3f

Browse files
tgross35JohnTitor
authored andcommitted
Implement Default for timeval and timespec
With the experimental time64 support, some of these structs gain a padding field on 32-bit platforms. We are planning to give everything a `Default` impl anyway ([1]) so start with these to ease the transition. [1]: #4975
1 parent c12def3 commit 9c2df3f

File tree

13 files changed

+20
-0
lines changed

13 files changed

+20
-0
lines changed

src/fuchsia/mod.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,11 +99,13 @@ s! {
9999
pub modtime: time_t,
100100
}
101101

102+
#[derive(Default)]
102103
pub struct timeval {
103104
pub tv_sec: time_t,
104105
pub tv_usec: suseconds_t,
105106
}
106107

108+
#[derive(Default)]
107109
pub struct timespec {
108110
pub tv_sec: time_t,
109111
pub tv_nsec: c_long,

src/hermit.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ s! {
108108
pub st_ctim: timespec,
109109
}
110110

111+
#[derive(Default)]
111112
pub struct timespec {
112113
pub tv_sec: time_t,
113114
pub tv_nsec: i32,

src/new/qurt/mod.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,11 +137,13 @@ s! {
137137
pub tm_isdst: c_int,
138138
}
139139

140+
#[derive(Default)]
140141
pub struct timespec {
141142
pub tv_sec: time_t,
142143
pub tv_nsec: c_long,
143144
}
144145

146+
#[derive(Default)]
145147
pub struct timeval {
146148
pub tv_sec: time_t,
147149
pub tv_usec: suseconds_t,

src/solid/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,7 @@ s! {
169169
pub iov_len: size_t,
170170
}
171171

172+
#[derive(Default)]
172173
pub struct timeval {
173174
pub tv_sec: c_long,
174175
pub tv_usec: c_long,

src/teeos/mod.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,11 +99,13 @@ s! {
9999
bits: [c_ulong; 128 / size_of::<c_ulong>()],
100100
}
101101

102+
#[derive(Default)]
102103
pub struct timespec {
103104
pub tv_sec: time_t,
104105
pub tv_nsec: c_long,
105106
}
106107

108+
#[derive(Default)]
107109
pub struct timeval {
108110
pub tv_sec: time_t,
109111
pub tv_usec: suseconds_t,

src/trusty.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ s! {
2727
pub iov_len: size_t,
2828
}
2929

30+
#[derive(Default)]
3031
pub struct timespec {
3132
pub tv_sec: time_t,
3233
pub tv_nsec: c_long,

src/unix/bsd/apple/b64/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
use crate::prelude::*;
44

55
s! {
6+
#[derive(Default)]
67
pub struct timeval32 {
78
pub tv_sec: i32,
89
pub tv_usec: i32,

src/unix/hurd/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -431,6 +431,7 @@ s! {
431431
pub si_value: crate::sigval,
432432
}
433433

434+
#[derive(Default)]
434435
pub struct timespec {
435436
pub tv_sec: __time_t,
436437
pub tv_nsec: __syscall_slong_t,

src/unix/linux_like/linux/gnu/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,7 @@ s! {
297297

298298
// linux x32 compatibility
299299
// See https://sourceware.org/bugzilla/show_bug.cgi?id=16437
300+
#[derive(Default)]
300301
pub struct timespec {
301302
pub tv_sec: time_t,
302303
#[cfg(all(gnu_time_bits64, target_endian = "big"))]

src/unix/mod.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ s! {
5757
pub modtime: time_t,
5858
}
5959

60+
#[derive(Default)]
6061
pub struct timeval {
6162
pub tv_sec: time_t,
6263
#[cfg(not(gnu_time_bits64))]
@@ -69,6 +70,7 @@ s! {
6970

7071
// linux x32 compatibility
7172
// See https://sourceware.org/bugzilla/show_bug.cgi?id=16437
73+
#[derive(Default)]
7274
#[cfg(not(target_env = "gnu"))]
7375
pub struct timespec {
7476
pub tv_sec: time_t,

0 commit comments

Comments
 (0)