mirror of
https://github.com/rust-lang/rust.git
synced 2026-05-29 12:36:35 +03:00
fa9162d06f
Previously, the local crate would always be printed as a leading `crate::`.
Allow resolving it to the crate name instead.
This allows printing a fully qualified path with:
```rust
let qualified_name = with_no_visible_paths!(with_resolve_crate_name!(
with_no_trimmed_paths!(tcx.def_path_str(def_id))
));
```
I found this useful for an out-of-tree rustc-driver. I do not currently
have a usecase in mind upstream; I'm ok if you don't want this PR for
that reason.
This does not currently have tests. I am not aware of an easy way to
test def-id printing, since it requires having access to a TyCtxt.
For more information about how rustc works, see the rustc dev guide.