Skip to content

[discussion] ErrorKind::CrossesDevices from io_error_more #130191

Closed
@GrigorenkoPV

Description

@GrigorenkoPV
Contributor

@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)

Activity

added
needs-triageThis issue may need triage. Remove it if it has been sufficiently triaged.
C-discussionCategory: Discussion or questions that doesn't represent real issues.
on Sep 10, 2024
added
T-libs-apiRelevant to the library API team, which will review and decide on the PR/issue.
on Sep 10, 2024
dtolnay

dtolnay commented on Sep 10, 2024

@dtolnay
Member

@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

rfcbot commented on Sep 10, 2024

@rfcbot
Collaborator

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.

added
proposed-final-comment-periodProposed to merge/close by relevant subteam, see T-<team> label. Will enter FCP once signed off.
disposition-mergeThis issue / PR is in PFCP or FCP with a disposition to merge it.
on Sep 10, 2024
removed
needs-triageThis issue may need triage. Remove it if it has been sufficiently triaged.
on Oct 10, 2024
joshtriplett

joshtriplett commented on Oct 22, 2024

@joshtriplett
Member

Checked my box for CrossesDevices.

joshtriplett

joshtriplett commented on Nov 8, 2024

@joshtriplett
Member

15 remaining items

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-discussionCategory: Discussion or questions that doesn't represent real issues.T-libs-apiRelevant to the library API team, which will review and decide on the PR/issue.disposition-mergeThis issue / PR is in PFCP or FCP with a disposition to merge it.finished-final-comment-periodThe final comment period is finished for this PR / Issue.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @joshtriplett@dtolnay@Mark-Simulacrum@apiraino@rfcbot

        Issue actions

          [discussion] `ErrorKind::CrossesDevices` from `io_error_more` · Issue #130191 · rust-lang/rust