@@ -137,22 +137,24 @@ cfg_has_statx! {{
137137 Ok ( _) => {
138138 // We cannot fill `stat64` exhaustively because of private padding fields.
139139 let mut stat: stat64 = mem:: zeroed( ) ;
140- stat. st_dev = libc:: makedev( buf. stx_dev_major, buf. stx_dev_minor) ;
140+ // c_ulong`` on gnu-mips, `dev_t` otherwise
141+ stat. st_dev = libc:: makedev( buf. stx_dev_major, buf. stx_dev_minor) as _;
141142 stat. st_ino = buf. stx_ino as libc:: ino64_t;
142143 stat. st_nlink = buf. stx_nlink as libc:: nlink_t;
143144 stat. st_mode = buf. stx_mode as libc:: mode_t;
144145 stat. st_uid = buf. stx_uid as libc:: uid_t;
145146 stat. st_gid = buf. stx_gid as libc:: gid_t;
146- stat. st_rdev = libc:: makedev( buf. stx_rdev_major, buf. stx_rdev_minor) ;
147+ stat. st_rdev = libc:: makedev( buf. stx_rdev_major, buf. stx_rdev_minor) as _ ;
147148 stat. st_size = buf. stx_size as off64_t;
148149 stat. st_blksize = buf. stx_blksize as libc:: blksize_t;
149150 stat. st_blocks = buf. stx_blocks as libc:: blkcnt64_t;
150151 stat. st_atime = buf. stx_atime. tv_sec as libc:: time_t;
151- stat. st_atime_nsec = buf. stx_atime. tv_nsec as libc:: c_long;
152+ // `i64` on gnu-x86_64-x32, `c_ulong` otherwise.
153+ stat. st_atime_nsec = buf. stx_atime. tv_nsec as _;
152154 stat. st_mtime = buf. stx_mtime. tv_sec as libc:: time_t;
153- stat. st_mtime_nsec = buf. stx_mtime. tv_nsec as libc :: c_long ;
155+ stat. st_mtime_nsec = buf. stx_mtime. tv_nsec as _ ;
154156 stat. st_ctime = buf. stx_ctime. tv_sec as libc:: time_t;
155- stat. st_ctime_nsec = buf. stx_ctime. tv_nsec as libc :: c_long ;
157+ stat. st_ctime_nsec = buf. stx_ctime. tv_nsec as _ ;
156158
157159 let extra = StatxExtraFields {
158160 stx_mask: buf. stx_mask,
0 commit comments