mirror of
https://github.com/aljazceru/turso.git
synced 2025-12-27 04:54:21 +01:00
This shaves off `nix` as a dependency in core, which was only being used in the io_uring backend for the `fcntl` advisory record locking. Since a previous PR made `rustix` a dep not only for Mac but for any Unix, and `rustix` also has `fcntl`, `nix` becomes redundant. Furthermore, it reduces `libc` usage across core. The only remaining uses are: ```rust io_uring::opcode::Readv::new(fd, iovec as *const iovec as *const libc::iovec, 1) io_uring::opcode::Writev::new(fd, iovec as *const iovec as *const libc::iovec, 1) ``` These two are a little ugly, but sadly the `io_uring` crate requires both opcodes to take a `libc::iovec` while it doesn't export the type. See tokio-rs/io-uring#259 for a request to use `std::io::IoSlice` or to export the type directly. Apart from those two, there are no other usages of libc, so if those are resolved, we could also drop the dependency on libc. Closes #668