Skip to content

Commit ac7e0f1

Browse files
authored
fix: Support Nightly newer than nightly-2026-04-23 (#173)
* fix: Update to `printf-compat@0.4.0` * Update to the latest nightly Rust
1 parent 183fd11 commit ac7e0f1

8 files changed

Lines changed: 25 additions & 25 deletions

File tree

c-scape/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ rand = { version = "0.9.0", default-features = false }
3434
rustix-dlmalloc = { version = "0.2.1", optional = true }
3535
rustix-openpty = "0.2.0"
3636
bitflags = { version = "2.4.1", default-features = false }
37-
printf-compat = { version = "0.3.0", default-features = false }
37+
printf-compat = { version = "0.4.0", default-features = false }
3838
num-complex = { version = "0.4.4", default-features = false, features = ["libm"] }
3939
posix-regex = { version = "0.1.1", features = ["no_std"] }
4040

c-scape/src/fs/fcntl.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ unsafe fn _fcntl<FlockTy: Flock>(fd: c_int, cmd: c_int, mut args: VaList<'_>) ->
2929
}
3030
}
3131
libc::F_SETFL => {
32-
let flags = args.arg::<c_int>();
32+
let flags = args.next_arg::<c_int>();
3333
libc!(libc::fcntl(fd, libc::F_SETFL, flags));
3434
let fd = BorrowedFd::borrow_raw(fd);
3535
match convert_res(rustix::fs::fcntl_setfl(
@@ -49,7 +49,7 @@ unsafe fn _fcntl<FlockTy: Flock>(fd: c_int, cmd: c_int, mut args: VaList<'_>) ->
4949
}
5050
}
5151
libc::F_SETFD => {
52-
let flags = args.arg::<c_int>();
52+
let flags = args.next_arg::<c_int>();
5353
libc!(libc::fcntl(fd, libc::F_SETFD, flags));
5454
let fd = BorrowedFd::borrow_raw(fd);
5555
match convert_res(rustix::io::fcntl_setfd(
@@ -61,7 +61,7 @@ unsafe fn _fcntl<FlockTy: Flock>(fd: c_int, cmd: c_int, mut args: VaList<'_>) ->
6161
}
6262
}
6363
libc::F_SETLK | libc::F_SETLKW => {
64-
let ptr = args.arg::<*mut FlockTy>();
64+
let ptr = args.next_arg::<*mut FlockTy>();
6565
libc!(libc::fcntl(fd, cmd, ptr));
6666
let fd = BorrowedFd::borrow_raw(fd);
6767
let is_blocking = cmd == libc::F_SETLKW;
@@ -96,7 +96,7 @@ unsafe fn _fcntl<FlockTy: Flock>(fd: c_int, cmd: c_int, mut args: VaList<'_>) ->
9696
}
9797
#[cfg(not(target_os = "wasi"))]
9898
libc::F_DUPFD_CLOEXEC => {
99-
let arg = args.arg::<c_int>();
99+
let arg = args.next_arg::<c_int>();
100100
libc!(libc::fcntl(fd, libc::F_DUPFD_CLOEXEC, arg));
101101
let fd = BorrowedFd::borrow_raw(fd);
102102
match convert_res(rustix::io::fcntl_dupfd_cloexec(fd, arg)) {

c-scape/src/fs/open.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ macro_rules! openat_impl {
1414
($fd:expr, $pathname:ident, $flags:ident, $args:ident) => {{
1515
let flags = OFlags::from_bits($flags as _).unwrap();
1616
let mode = if flags.contains(OFlags::CREATE) || flags.contains(OFlags::TMPFILE) {
17-
let mode: libc::mode_t = $args.arg();
17+
let mode: libc::mode_t = $args.next_arg();
1818
Mode::from_bits((mode & !libc::S_IFMT) as _).unwrap()
1919
} else {
2020
Mode::empty()

c-scape/src/io/mod.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,14 @@ unsafe extern "C" fn ioctl(fd: c_int, request: c_long, mut args: ...) -> c_int {
3333
let fd = BorrowedFd::borrow_raw(fd);
3434
match convert_res(rustix::termios::tcgetattr(fd)) {
3535
Some(x) => {
36-
args.arg::<*mut rustix::termios::Termios>().write(x);
36+
args.next_arg::<*mut rustix::termios::Termios>().write(x);
3737
0
3838
}
3939
None => -1,
4040
}
4141
}
4242
FIONBIO | TIOCINQ => {
43-
let ptr = args.arg::<*mut c_int>();
43+
let ptr = args.next_arg::<*mut c_int>();
4444
let value = *ptr != 0;
4545
libc!(libc::ioctl(fd, libc::FIONBIO, value as c_int));
4646
let fd = BorrowedFd::borrow_raw(fd);
@@ -60,14 +60,14 @@ unsafe extern "C" fn ioctl(fd: c_int, request: c_long, mut args: ...) -> c_int {
6060
ws_xpixel: size.ws_xpixel,
6161
ws_ypixel: size.ws_ypixel,
6262
};
63-
args.arg::<*mut libc::winsize>().write(size);
63+
args.next_arg::<*mut libc::winsize>().write(size);
6464
0
6565
}
6666
None => -1,
6767
}
6868
}
6969
FICLONE => {
70-
let src_fd = args.arg::<c_int>();
70+
let src_fd = args.next_arg::<c_int>();
7171
libc!(libc::ioctl(fd, libc::FICLONE as _, src_fd));
7272
let fd = BorrowedFd::borrow_raw(fd);
7373
let src_fd = BorrowedFd::borrow_raw(src_fd);

c-scape/src/mm/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ unsafe extern "C" fn mremap(
7777
mut args: ...
7878
) -> *mut c_void {
7979
if (flags & libc::MREMAP_FIXED) == libc::MREMAP_FIXED {
80-
let new_address = args.arg::<*mut c_void>();
80+
let new_address = args.next_arg::<*mut c_void>();
8181
libc!(libc::mremap(
8282
old_address,
8383
old_size,

c-scape/src/process/exec.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ unsafe extern "C" fn execl(path: *const c_char, arg: *const c_char, mut argv: ..
1919
vec.push(arg);
2020

2121
loop {
22-
let ptr = argv.arg::<*const c_char>();
22+
let ptr = argv.next_arg::<*const c_char>();
2323
vec.push(ptr);
2424
if ptr.is_null() {
2525
break;
@@ -35,10 +35,10 @@ unsafe extern "C" fn execle(path: *const c_char, arg: *const c_char, mut argv: .
3535
vec.push(arg);
3636

3737
let envp = loop {
38-
let ptr = argv.arg::<*const c_char>();
38+
let ptr = argv.next_arg::<*const c_char>();
3939
vec.push(ptr);
4040
if ptr.is_null() {
41-
break argv.arg::<*const *const c_char>();
41+
break argv.next_arg::<*const *const c_char>();
4242
}
4343
};
4444

@@ -51,7 +51,7 @@ unsafe extern "C" fn execlp(file: *const c_char, arg: *const c_char, mut argv: .
5151
vec.push(arg);
5252

5353
loop {
54-
let ptr = argv.arg::<*const c_char>();
54+
let ptr = argv.next_arg::<*const c_char>();
5555
vec.push(ptr);
5656
if ptr.is_null() {
5757
break;

c-scape/src/syscall.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -79,19 +79,19 @@ unsafe extern "C" fn syscall(number: c_long, mut args: ...) -> *mut c_void {
7979
without_provenance_mut(libc::statx(dirfd, path, flags, mask, statxbuf) as _)
8080
}
8181
libc::SYS_getrandom => {
82-
let buf = args.arg::<*mut c_void>();
83-
let len = args.arg::<usize>();
84-
let flags = args.arg::<u32>();
82+
let buf = args.next_arg::<*mut c_void>();
83+
let len = args.next_arg::<usize>();
84+
let flags = args.next_arg::<u32>();
8585
without_provenance_mut(libc::getrandom(buf, len, flags) as _)
8686
}
8787
#[cfg(feature = "thread")]
8888
libc::SYS_futex => {
89-
let uaddr = args.arg::<*mut u32>();
90-
let futex_op = args.arg::<c_int>();
91-
let val = args.arg::<u32>();
92-
let timeout = args.arg::<*const libc::timespec>();
93-
let uaddr2 = args.arg::<*mut u32>();
94-
let val3 = args.arg::<u32>();
89+
let uaddr = args.next_arg::<*mut u32>();
90+
let futex_op = args.next_arg::<c_int>();
91+
let val = args.next_arg::<u32>();
92+
let timeout = args.next_arg::<*const libc::timespec>();
93+
let uaddr2 = args.next_arg::<*mut u32>();
94+
let val3 = args.next_arg::<u32>();
9595
without_provenance_mut(
9696
futex(uaddr, futex_op, val, timeout, uaddr2, val3) as isize as usize
9797
)

rust-toolchain.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
[toolchain]
2-
channel = "nightly-2025-12-07"
2+
channel = "nightly-2026-06-11"
33
components = ["rustc", "cargo", "rust-std", "rust-src", "rustfmt"]

0 commit comments

Comments
 (0)