Skip to content

document some quirks around directory symlinks on Windows - #164079

Merged
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
RalfJung:win-dir-symlink
Oct 14, 2026
Merged

rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
RalfJung:win-dir-symlink

Conversation

@RalfJung

@RalfJung RalfJung commented Oct 10, 2026 •

Copy link
Copy Markdown
Member

We manage to almost entirely paper over the fact that Windows symlinks are very different from Unix symlinks in the portable std::fs methods... except for the case of removing a directory symlink, which requires different operations on Windows vs Unix.

Cc @ChrisDenton @the8472

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Oct 10, 2026
@rustbot

rustbot commented Oct 10, 2026

Copy link
Copy Markdown
Collaborator

r? @aapoalas

rustbot has assigned @aapoalas.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

Why was this reviewer chosen?

The reviewer was selected based on:

  • Owners of files modified in this PR: @ChrisDenton, libs
  • @ChrisDenton, libs expanded to 13 candidates
  • Random selection from ChrisDenton, JohnTitor, Mark-Simulacrum, aapoalas, clarfonthey

@RalfJung

Copy link
Copy Markdown
Member Author

(@clarfonthey speaking about things that are not consistent across platforms... ;)

@ChrisDenton ChrisDenton left a comment •

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is just documenting existing behaviour and we already note that any platform-specific differences can change in the future. So I'm happy with this.

View changes since this review

@RalfJung

Copy link
Copy Markdown
Member Author

@ChrisDenton so is that an r=ChrisDenton?

@ChrisDenton

Copy link
Copy Markdown
Member

Sure, if you're not waiting for any other responses.

@bors r+ rollup

@rust-bors

rust-bors Bot commented Oct 14, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 93b75b2 has been approved by ChrisDenton

It is now in the queue for this repository.

@rust-bors rust-bors Bot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Oct 14, 2026
rust-bors Bot pushed a commit that referenced this pull request Oct 14, 2026
…uwer

Rollup of 17 pull requests

Successful merges:

 - #162749 (Recover missing `turbofish` for `lifetime` arguments in expression position)
 - #164165 (Add a new `rustc_show_spans` internal attribute)
 - #164170 (Prefer WriteConsoleW for stdout on Windows)
 - #164208 (Implement better resolution for delegation `Self` mapping field)
 - #164255 (test DSL eagerly handle false constraints)
 - #163230 (Document zero-sized allocations properly for `Box` and `Vec`)
 - #163442 (Fix fudging)
 - #163940 (Parse move exprs as a bottom expr instead of a prefix expr)
 - #164079 (document some quirks around directory symlinks on Windows)
 - #164178 (Fix `diagnostic::on_unknown` format placeholder for paths in expressions and type paths)
 - #164219 (Windows FileExt trait doesn't need to handle ErrorKind::Interrupted; test improvements for same)
 - #164266 (rustdoc: Improvements for `rustc_must_implement_one_of`)
 - #164272 (Add regression test for #155977)
 - #164287 (Add regression test for hang in overlap check with GAT alias)
 - #164292 (Remove the `span_use_eq_ctxt` lint)
 - #164301 (fix issue number for feature(unsized_const_params))
 - #164309 (point at the opaque when its hidden type cannot be inferred)
@rust-bors
rust-bors Bot merged commit b6117ff into rust-lang:main Oct 14, 2026
14 checks passed
@rustbot rustbot added this to the 1.101.0 milestone Oct 14, 2026
rust-bors Bot pushed a commit that referenced this pull request Oct 14, 2026
Rollup merge of #164079 - RalfJung:win-dir-symlink, r=ChrisDenton

document some quirks around directory symlinks on Windows

We manage to almost entirely paper over the fact that Windows symlinks are very different from Unix symlinks in the portable `std::fs` methods... except for the case of removing a directory symlink, which requires different operations on Windows vs Unix.

Cc @ChrisDenton @the8472
@RalfJung
RalfJung deleted the win-dir-symlink branch October 15, 2026 08:58
josetorrs pushed a commit to josetorrs/miri that referenced this pull request Oct 16, 2026
…uwer

Rollup of 17 pull requests

Successful merges:

 - rust-lang/rust#162749 (Recover missing `turbofish` for `lifetime` arguments in expression position)
 - rust-lang/rust#164165 (Add a new `rustc_show_spans` internal attribute)
 - rust-lang/rust#164170 (Prefer WriteConsoleW for stdout on Windows)
 - rust-lang/rust#164208 (Implement better resolution for delegation `Self` mapping field)
 - rust-lang/rust#164255 (test DSL eagerly handle false constraints)
 - rust-lang/rust#163230 (Document zero-sized allocations properly for `Box` and `Vec`)
 - rust-lang/rust#163442 (Fix fudging)
 - rust-lang/rust#163940 (Parse move exprs as a bottom expr instead of a prefix expr)
 - rust-lang/rust#164079 (document some quirks around directory symlinks on Windows)
 - rust-lang/rust#164178 (Fix `diagnostic::on_unknown` format placeholder for paths in expressions and type paths)
 - rust-lang/rust#164219 (Windows FileExt trait doesn't need to handle ErrorKind::Interrupted; test improvements for same)
 - rust-lang/rust#164266 (rustdoc: Improvements for `rustc_must_implement_one_of`)
 - rust-lang/rust#164272 (Add regression test for rust-lang/rust#155977)
 - rust-lang/rust#164287 (Add regression test for hang in overlap check with GAT alias)
 - rust-lang/rust#164292 (Remove the `span_use_eq_ctxt` lint)
 - rust-lang/rust#164301 (fix issue number for feature(unsized_const_params))
 - rust-lang/rust#164309 (point at the opaque when its hidden type cannot be inferred)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-libs Relevant to the library team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants