Age | Commit message (Collapse) | Author |
|
|
|
|
|
1571: Remove broken newlib support r=rtzoeller a=asomers
Nix has never supported a newlib target, but there were a few cfg checks
for it in our codebase. Some of them were misspelled (newlibc vs
newlib), and some of the checks were wrong. Removing them makes the
code much more readable.
Co-authored-by: Alan Somers <asomers@gmail.com>
|
|
Using features reduces build time and size for consumer crates. By
default all features are enabled.
|
|
Nix has never supported a newlib target, but there were a few cfg checks
for it in our codebase. Some of them were misspelled (newlibc vs
newlib), and some of the checks were wrong. Removing them makes the
code much more readable.
|
|
And this time, start running Clippy in CI
|
|
Constify most functions that can be constified. The exceptions are
mostly accessors for structs that have no const constructor.
|
|
For many of Nix's consumers it be convenient to easily convert a Nix
error into a std::io::Error. That's currently not possible because of
the InvalidPath, InvalidUtf8, and UnsupportedOperation types that have
no equivalent in std::io::Error.
However, very few of Nix's public APIs actually return those unusual
errors. So a more useful API would be for Nix's standard error type to
implement Into<std::io::Error>.
This commit makes Error a simple NewType around Errno. For most
functions it's a drop-in replacement. There are only three exceptions:
* clearenv now returns a bespoke error type. It was the only Nix
function whose error couldn't be cleanly mapped onto an Errno.
* sys::signal::signal now returns Error(Errno::ENOTSUP) instead of
Error::UnsupportedOperation when the user passes an incompatible
argument to `handler`.
* When a NixPath exceeds PATH_MAX, it will now return
Error(Errno::ENAMETOOLONG) instead of Error::InvalidPath.
In the latter two cases there is now some abiguity about whether the
error code was generated by Nix or by the OS. But I think the ambiguity
is worth it for the sake of being able to implement Into<io::Error>.
This commit also introduces Error::Sys() as a migration aid. Previously
that as an enum variant. Now it's a function, but it will work in many
of the same contexts as the original.
Fixes #1155
|
|
* Fix race conditions in the tests. Two tests were grabbing a mutex but
immediately dropping it. Thank you, Clippy.
* Remove vestigial Windows support. Remove some code added to support
Windows in 2015. Nix is no longer intended to ever run on Windows.
* Various other minor Clippy lints.
|
|
|
|
|