From 76ddface089886c88b8b29e3893119f38ef26aab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lauren=C8=9Biu=20Nicola?= Date: Tue, 23 Jun 2020 09:41:43 +0300 Subject: Fix panic in split and merge import assists --- crates/ra_parser/src/grammar/paths.rs | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'crates/ra_parser/src/grammar') diff --git a/crates/ra_parser/src/grammar/paths.rs b/crates/ra_parser/src/grammar/paths.rs index 428aa711e..fd51189d5 100644 --- a/crates/ra_parser/src/grammar/paths.rs +++ b/crates/ra_parser/src/grammar/paths.rs @@ -73,8 +73,10 @@ fn path_segment(p: &mut Parser, mode: Mode, first: bool) { } p.expect(T![>]); } else { + let mut empty = true; if first { p.eat(T![::]); + empty = false; } match p.current() { IDENT => { @@ -86,6 +88,12 @@ fn path_segment(p: &mut Parser, mode: Mode, first: bool) { T![self] | T![super] | T![crate] => p.bump_any(), _ => { p.err_recover("expected identifier", items::ITEM_RECOVERY_SET); + if empty { + // test_err empty_segment + // use crate::; + m.abandon(p); + return; + } } }; } -- cgit v1.2.3