Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[discussion] ErrorKind::CrossesDevices from io_error_more #130191

Open
GrigorenkoPV opened this issue Sep 10, 2024 · 4 comments
Open

[discussion] ErrorKind::CrossesDevices from io_error_more #130191

GrigorenkoPV opened this issue Sep 10, 2024 · 4 comments
Labels
C-discussion Category: Discussion or questions that doesn't represent real issues. disposition-merge This issue / PR is in PFCP or FCP with a disposition to merge it. proposed-final-comment-period Proposed to merge/close by relevant subteam, see T-<team> label. Will enter FCP once signed off. T-libs-api Relevant to the library API team, which will review and decide on the PR/issue.

Comments

@GrigorenkoPV
Copy link
Contributor

GrigorenkoPV commented Sep 10, 2024

@rustbot label C-discussion

Main tracking issue: #86442

Background

The io_error_more feature introduced 21 new variants into ErrorKind. They were FCP'd back in December 2022, but there appeared to be quite a lot of disagreement about 4 of the added variants, so the stabilization (#106375) got stalled for over twenty months. Thankfully, the 17 uncontroversial variants got stabilized in #128316, so now we just need to iron out a satisfactory design for the remaining 4 variants, and then they can be stabilized too.

In order to not block any of the remaining variants on each other and to not intertwine the discussions, I've created 4 separate issues, which summarize the concerns & suggestions voiced up until this point and can serve as a place for further discussion.

CrossesDevices

Currently corresponds to EXDEV on Unix and ERROR_NOT_SAME_DEVICE on Windows. (#86442 (comment))

Current docs description:

Cross-device or cross-filesystem (hard) link or rename.

NotSameDevice

I think NotSameDevice is a better name than CrossesDevices. For me, it expresses its meaning more clearly. FWIW, the Linux man page also uses the word "same" to describe EXDEV: oldpath and newpath are not on the same mounted filesystem.

Also, I find NotSameDevice to be stylistically more consistent with the other existing and proposed error identifiers.

Originally posted by kalcutter in #86442 (comment)

Would you also consider NotSameDevice instead of CrossesDevices?

Originally posted by kalcutter in #106375 (comment)

I personally don't think we should rename CrossesDevices.

Originally posted by Josh Triplett in #106375 (comment)

@rustbot rustbot added needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. C-discussion Category: Discussion or questions that doesn't represent real issues. labels Sep 10, 2024
@dtolnay dtolnay added the T-libs-api Relevant to the library API team, which will review and decide on the PR/issue. label Sep 10, 2024
@dtolnay
Copy link
Member

dtolnay commented Sep 10, 2024

@rfcbot fcp merge

I propose stabilizing CrossesDevices if there are 2 other team members on board. As of #106375 (comment), Josh prefers this name.

Alternatively, if 2 other team members prefer a rename to NotSameDevice, I propose stabilizing NotSameDevice.

@rfcbot
Copy link

rfcbot commented Sep 10, 2024

Team member @dtolnay has proposed to merge this. The next step is review by the rest of the tagged team members:

No concerns currently listed.

Once a majority of reviewers approve (and at most 2 approvals are outstanding), this will enter its final comment period. If you spot a major issue that hasn't been raised at any point in this process, please speak up!

See this document for info about what commands tagged team members can give me.

@rfcbot rfcbot added proposed-final-comment-period Proposed to merge/close by relevant subteam, see T-<team> label. Will enter FCP once signed off. disposition-merge This issue / PR is in PFCP or FCP with a disposition to merge it. labels Sep 10, 2024
@jieyouxu jieyouxu removed the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Oct 10, 2024
@joshtriplett
Copy link
Member

Checked my box for CrossesDevices.

@joshtriplett
Copy link
Member

Ping @Amanieu @BurntSushi @m-ou-se

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-discussion Category: Discussion or questions that doesn't represent real issues. disposition-merge This issue / PR is in PFCP or FCP with a disposition to merge it. proposed-final-comment-period Proposed to merge/close by relevant subteam, see T-<team> label. Will enter FCP once signed off. T-libs-api Relevant to the library API team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

6 participants