File tree Expand file tree Collapse file tree 1 file changed +11
-2
lines changed
src/tools/rust-analyzer/crates/ide-db/src/imports Expand file tree Collapse file tree 1 file changed +11
-2
lines changed Original file line number Diff line number Diff line change @@ -179,9 +179,18 @@ fn insert_use_with_alias_option(
179179 ImportGranularityGuess :: Unknown => mb,
180180 ImportGranularityGuess :: Item => None ,
181181 ImportGranularityGuess :: Module => Some ( MergeBehavior :: Module ) ,
182- ImportGranularityGuess :: ModuleOrItem => mb. and ( Some ( MergeBehavior :: Module ) ) ,
182+ // We use the user's setting to infer if this is module or item.
183+ ImportGranularityGuess :: ModuleOrItem => match mb {
184+ Some ( MergeBehavior :: Module ) | None => mb,
185+ // There isn't really a way to decide between module or item here, so we just pick one.
186+ // FIXME: Maybe it is possible to infer based on semantic analysis?
187+ Some ( MergeBehavior :: One | MergeBehavior :: Crate ) => Some ( MergeBehavior :: Module ) ,
188+ } ,
183189 ImportGranularityGuess :: Crate => Some ( MergeBehavior :: Crate ) ,
184- ImportGranularityGuess :: CrateOrModule => mb. or ( Some ( MergeBehavior :: Crate ) ) ,
190+ ImportGranularityGuess :: CrateOrModule => match mb {
191+ Some ( MergeBehavior :: Crate | MergeBehavior :: Module ) => mb,
192+ Some ( MergeBehavior :: One ) | None => Some ( MergeBehavior :: Crate ) ,
193+ } ,
185194 ImportGranularityGuess :: One => Some ( MergeBehavior :: One ) ,
186195 } ;
187196 }
You can’t perform that action at this time.
0 commit comments