aboutsummaryrefslogtreecommitdiff
path: root/crates/syntax/src/parsing/lexer.rs
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2020-09-30 23:06:16 +0100
committerGitHub <[email protected]>2020-09-30 23:06:16 +0100
commit43253c508d990cf9d65a1c68cf5dbec8206db164 (patch)
tree5355f982aa2c2386672e21824d38227d74d4dfb4 /crates/syntax/src/parsing/lexer.rs
parent7c9ae771bca39d511a0ea7395da2b4b91b44ee12 (diff)
parent0671bf2d734c6d579896a8f976a2c65e5a7f405e (diff)
Merge #6102
6102: Fix MergingBehaviour::Last creating unintuitive import trees r=jonas-schievink a=Veykril The way this behaviour currently works is actually a bit weird. Imagine the following three imports get requested for insertion in the given order: - `winapi::um::d3d11::ID3D11Device` - `winapi::shared::dxgiformat::DXGI_FORMAT` - `winapi::um::d3d11::D3D11_FILTER` After the first two you will have the following tree: ```rust use winapi::{shared::dxgiformat::DXGI_FORMAT, um::d3d11::ID3D11Device}; ``` which is to be expected as they arent nested this kind of merging is allowed, but now importing the third one will result in: ```rust use winapi::{shared::dxgiformat::DXGI_FORMAT, um::d3d11::ID3D11Device, um::d3d11::D3D11_FILTER}; ``` which is still fine according to the rules, but it looks weird(at least in my eyes) due to the long paths that are quite similar. The changes in this PR will change the criteria for when to reject `Last` merging, it still disallows multiple nesting but it also only allows single segment paths inside of the `UseTreeList`. With this change you get the following tree after the first two imports: ```rust use winapi::um::d3d11::ID3D11Device; use winapi::shared::dxgiformat::DXGI_FORMAT; ``` and after the third: ```rust use winapi::shared::dxgiformat::DXGI_FORMAT; use winapi::um::d3d11::{ID3D11Device, D3D11_FILTER}; ``` Which I believe looks more like what you would expect. Co-authored-by: Lukas Wirth <[email protected]>
Diffstat (limited to 'crates/syntax/src/parsing/lexer.rs')
0 files changed, 0 insertions, 0 deletions