Closed magicant closed 2 months ago
The recent changes enhance the testing strategy of the Rust project by implementing broader test coverage, ensuring all features across various packages are validated. Additionally, the project now supports non-Unix platforms, improving compatibility. The API has been refined to reduce dependency on the nix
crate, simplifying the interface and enhancing control over semantic versioning.
File(s) | Change Summary |
---|---|
.github/workflows/rust.yml |
Added --all-features flag to cargo test commands for multiple packages to enhance testing coverage. |
yash-builtin/CHANGELOG.md |
Added support for non-Unix platforms, improving compatibility; modified API handling of std::path::Path and std::path::PathBuf . |
yash-builtin/src/command.rs |
Updated comments and conditionally included imports based on configurations; removed direct RealSystem import. |
yash-env/CHANGELOG.md |
Noted support for non-Unix platforms; added new From trait implementations for improved interoperability. |
yash-env/Cargo.toml |
Moved nix dependency to a Unix-specific section, allowing for targeted dependency management. |
yash-env/src/job.rs |
Removed From trait implementations for Pid , altering how it interacts with nix . |
yash-env/src/lib.rs |
Added conditional compilation directive for exporting RealSystem , making its visibility dependent on the target OS. |
yash-env/src/system.rs |
Modified module visibility and import directives based on platform conditions, refining public access. |
yash-env/src/system/errno.rs |
Introduced new From trait implementations for converting between Errno and nix::Error . |
yash-env/src/system/real.rs |
Enhanced process ID handling using direct libc calls, adding new methods for conversion between Pid and nix::unistd::Pid . |
yash-semantics/CHANGELOG.md |
Updated documentation to reflect non-Unix platform support and improved error handling in the expansion module. |
nix
-dependent items in the API is in line with making the System API independent of external dependencies.π In the garden where code does hop,
Changes bloom, and features pop!
With tests that cover all the ground,
Non-Unix friends now gather 'round.
Simplified APIs, oh what a treat,
Hopping forward, we canβt be beat! πΌ
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
This pull request makes it possible to build most crates on non-Unix platforms. The
RealSystem
is excluded from the build on non-Unix platforms, so the other parts of the code will build successfully.This change improves the portability of the codebase and also helps ensure that the underlying system is only accessed through the
RealSystem
interface.Summary by CodeRabbit
New Features
expansion
module with additional informative messages.Bug Fixes
Documentation