diff options
| author | Nicholas Nethercote <n.nethercote@gmail.com> | 2025-05-27 15:51:47 +1000 |
|---|---|---|
| committer | Nicholas Nethercote <n.nethercote@gmail.com> | 2025-07-17 08:37:19 +1000 |
| commit | fb7aa9e4fdb88a4833274303899b9801ef924100 (patch) | |
| tree | a233e82235ba815b323bf8d4626b8ed9b05e7de7 /compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp | |
| parent | 5795086bdfe7ed988aa53a110bd0692c33d8755b (diff) | |
| download | rust-fb7aa9e4fdb88a4833274303899b9801ef924100.tar.gz rust-fb7aa9e4fdb88a4833274303899b9801ef924100.zip | |
Improve path segment joining.
There are many places that join path segments with `::` to produce a
string. A lot of these use `join("::")`. Many in rustdoc use
`join_with_double_colon`, and a few use `.joined("..")`. One in Clippy
uses `itertools::join`. A couple of them look for `kw::PathRoot` in the
first segment, which can be important.
This commit introduces `rustc_ast::join_path_{syms,ident}` to do the
joining for everyone. `rustc_ast` is as good a location for these as
any, being the earliest-running of the several crates with a `Path`
type. Two functions are needed because `Ident` printing is more complex
than simple `Symbol` printing.
The commit also removes `join_with_double_colon`, and
`estimate_item_path_byte_length` with it.
There are still a handful of places that join strings with "::" that are
unchanged. They are not that important: some of them are in tests, and
some of them first split a path around "::" and then rejoin with "::".
This fixes one test case where `{{root}}` shows up in an error message.
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
