about summary refs log tree commit diff
path: root/crates/ide-db/src/syntax_helpers/format_string.rs
diff options
context:
space:
mode:
authorPatryk Wychowaniec <pwychowaniec@pm.me>2024-01-05 11:00:29 +0100
committerPatryk Wychowaniec <pwychowaniec@pm.me>2024-01-10 18:21:16 +0100
commit76aaf17794c37cb134fc968d04e1982958af12fd (patch)
tree709f98f259bb009f2304ab56fd8e1decf637be6e /crates/ide-db/src/syntax_helpers/format_string.rs
parentc84352a3467c7856e5c65b8e1a4c7710c2d5a756 (diff)
downloadrust-76aaf17794c37cb134fc968d04e1982958af12fd.tar.gz
rust-76aaf17794c37cb134fc968d04e1982958af12fd.zip
Suggest `pub(crate)` imports
rust-analyzer has logic that discounts suggesting `use`s for private
imports, but that logic is unnecessarily strict - for instance given
this code:

```rust
mod foo {
    pub struct Foo;
}

pub(crate) use self::foo::*;

mod bar {
    fn main() {
        Foo$0;
    }
}
```

... RA will suggest to add `use crate::foo::Foo;`, which not only makes
the code overly verbose (especially in larger code bases), but also is
disjoint with what rustc itself suggests.

This commit adjusts the logic, so that `pub(crate)` imports are taken
into account when generating the suggestions; considering rustc's
behavior, I think this change doesn't warrant any extra configuration
flag.

Note that this is my first commit to RA, so I guess the approach taken
here might be suboptimal - certainly feels somewhat hacky, maybe there's
some better way of finding out the optimal import path 😅
Diffstat (limited to 'crates/ide-db/src/syntax_helpers/format_string.rs')
0 files changed, 0 insertions, 0 deletions