mirror of
				https://github.com/rust-lang/rust-analyzer.git
				synced 2025-10-30 11:37:31 +00:00 
			
		
		
		
	fix(auto-import): Prefer imports of matching types for argument lists
This commit is contained in:
		
							parent
							
								
									588948f267
								
							
						
					
					
						commit
						7255ef1375
					
				
					 9 changed files with 291 additions and 109 deletions
				
			
		|  | @ -7,7 +7,10 @@ use itertools::Either; | |||
| use syntax::{ | ||||
|     AstNode, AstToken, Direction, NodeOrToken, SyntaxElement, SyntaxKind, SyntaxNode, SyntaxToken, | ||||
|     T, TextRange, TextSize, | ||||
|     algo::{self, ancestors_at_offset, find_node_at_offset, non_trivia_sibling}, | ||||
|     algo::{ | ||||
|         self, ancestors_at_offset, find_node_at_offset, non_trivia_sibling, | ||||
|         previous_non_trivia_token, | ||||
|     }, | ||||
|     ast::{ | ||||
|         self, AttrKind, HasArgList, HasGenericArgs, HasGenericParams, HasLoopBody, HasName, | ||||
|         NameOrNameRef, | ||||
|  | @ -1813,22 +1816,6 @@ fn is_in_block(node: &SyntaxNode) -> bool { | |||
|         .unwrap_or(false) | ||||
| } | ||||
| 
 | ||||
| fn previous_non_trivia_token(e: impl Into<SyntaxElement>) -> Option<SyntaxToken> { | ||||
|     let mut token = match e.into() { | ||||
|         SyntaxElement::Node(n) => n.first_token()?, | ||||
|         SyntaxElement::Token(t) => t, | ||||
|     } | ||||
|     .prev_token(); | ||||
|     while let Some(inner) = token { | ||||
|         if !inner.kind().is_trivia() { | ||||
|             return Some(inner); | ||||
|         } else { | ||||
|             token = inner.prev_token(); | ||||
|         } | ||||
|     } | ||||
|     None | ||||
| } | ||||
| 
 | ||||
| fn next_non_trivia_token(e: impl Into<SyntaxElement>) -> Option<SyntaxToken> { | ||||
|     let mut token = match e.into() { | ||||
|         SyntaxElement::Node(n) => n.last_token()?, | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Lukas Wirth
						Lukas Wirth