$ the-wire · showcase
rustup reworks directory overrides to match by identity, not canonical path
By RepoJournal · Filed · About Rust · Composed from the cited sources · methodology
rustup's override system was rebuilt around directory identity after canonical-path storage broke overrides for any project reached through a symlink, and one of the fixes is flagged as breaking.
fix(config)!: store override paths as given rust-lang/rustup
`rustup override set` used to canonicalize the directory before storing it, so `settings.toml` could record a path the user never typed: `--path` on a symlink saved its target, and a relative path to a not-yet-existing directory was recorded verbatim and could never match. The commit is marked `!`, meaning the stored form of override paths changes and existing overrides written under the old sc...
fix(config): set and unset overrides by directory identity rust-lang/rustup
`rustup override unset --path` resolved the given path before lookup, so it could not remove an override whose directory had since moved behind a symlink of its old name, and removed the symlink target's override instead; `set --path` on such a symlink added a second entry for the same directory. Set and unset now match stored paths by the directory they lead to, and `unset` removes every entry...
fix(config): look up directory overrides by directory identity rust-lang/rustup
Lookups used to canonicalize each ancestor of the current directory and compare the result against stored paths, so an override stopped applying the moment its directory was reached another way. Ancestors are now matched against override directories through `same_file::Handle`, so an override applies however its directory is reached.
test(cli): show override handling of symlinked and relative paths rust-lang/rustup
The CLI test suite now covers the three failure modes: an override stranded behind a symlink that cannot be removed with `--path`, `--path <symlink>` recording the target instead of the given path, and relative `--path` arguments.
Implement hiding implicit drop hints for types without drop glue rust-lang/rust-analyzer
rust-analyzer adds a third option to implicit drop inlay hints that hides hints for types without drop glue, per the author intended to keep them focused on types where dropping can change program behaviour, such as `Mutex` and `RefCell` guards. The assist work also landed: "offer gen doc example on re-exported item" (A4-Tacks) now applies where it previously reported not applicable, and the "C...
Action items