Implemented different with_native_path conversion methods, refactoring fs functions to utilize with_native_path, and move exists to use with_native_path - #159805
Conversation
|
rustbot has assigned @Mark-Simulacrum. Use Why was this reviewer chosen?The reviewer was selected based on:
|
This comment has been minimized.
This comment has been minimized.
ef0365c to
7016b77
Compare
|
To give a heads up, this PR might be better to wait on #158168 to merge in first, so that I can have |
This comment has been minimized.
This comment has been minimized.
7016b77 to
14ceffc
Compare
This comment has been minimized.
This comment has been minimized.
|
This should be ready now, just resolved conflicts on |
This comment has been minimized.
This comment has been minimized.
14ceffc to
7f0660a
Compare
|
The run-make-support library was changed cc @jieyouxu Some changes occurred in src/tools/cargo cc @weihanglo |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
7f0660a to
be3d26d
Compare
This comment has been minimized.
This comment has been minimized.
|
I screwed up, I have to redo this again 🤦 |
|
Forgot to do this |
2a3adfd to
5ec1806
Compare
This comment has been minimized.
This comment has been minimized.
5ec1806 to
161dec0
Compare
|
This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
0fad1f5 to
f1a1e2c
Compare
|
I hope you don't mind me reassigning this PR to you @joboet. If/Once CI turns green, could you also run a try job on r? joboet |
|
|
f1a1e2c to
a76870e
Compare
…g fs functions to utilize with_native_path, and move exists to use with_native_path
a76870e to
1869f1a
Compare
View all comments
This PR attempts to complete the FIXME comment on trying to introduce the different conversion functions of
with_native_pathon all supported platforms and also moves theexistsfilesystem functions to utilizewith_native_path. It should be easier to makereaddirandremove_dir_allutilizewith_native_path, which I'm down to support that transition in a separate PR.I took note on what each platform fs functions does underneath the hood to decide the argument it should take:
run_path_with_cstrjust like Unix, so it was clear for their fs functions to take a&CStr&Pathto&str, so I just changed the arguments to&strcstrfunction that converts a&Pathtoio::Result<CString>, so I made its fs functions take in a&CStranywayscrate::path::absolute(returns aResult<PathBuf>) oruefi_fs::File::from_path, which calls oncrate::path::absoluteanyways, so it made sense for me to make its fs functions take aPathBuf.I did some other refactoring such as putting
with_native_pathfunctions withinstd/src/sys/path(except forunsupported.rswhich haswith_native_pathimplemented within its file). I thought it made sense to centralize the differentwith_native_path(aside fromrun_path_with_cstrcan just use the aliaswith_native_path) functions there considering that's done for Windows. I also renamed theunsupported_backslash.rsfile tosolid.rsbecause it seems like solid is the only one that utilizes that file; theunix.rsfile was renamed tocommon.rsbecause that's used by unix platforms, motor, and other miscellaneous platforms (motor platform has a differentwith_native_pathimplementation however).If there's anything here that I should revert or change from platform to platform, just let me know.