<!-- Troubleshooting guide: https://rust-analyzer.github.io/manual.html#troubleshooting Forum for questions: https://users.rust-lang.org/c/ide/14 Before submitting, please make sure that you're not running into one of these known issues: 1. on-the-fly diagnostics are mostly unimplemented (`cargo check` diagnostics will be shown when saving a file): #3107 Otherwise please try to provide information which will help us to fix the issue faster. Minimal reproducible examples with few dependencies are especially lovely <3. --> **rust-analyzer version**: rust-analyzer version: 0.3.1932-standalone (47a901b9b 2024-04-21) **rustc version**: rustc 1.79.0-nightly (ef8b9dcf2 2024-04-24) **editor or extension**: VScode v0.3.1932 **code snippet to reproduce**: ```rust mod inner { pub struct X(); pub struct Y(); } mod z { use super::inner::{self, X}$0; fn f() { let y = inner::Y(); } } ``` becomes ``` mod inner { pub struct X(); pub struct Y(); } mod z { use super::inner:self; fn f() { let y = inner::Y(); } } ``` which is invalid. It should be `use super::inner` instead.