From 70dc33e00c305e83bd2dc1de17c09af5c0faef7f Mon Sep 17 00:00:00 2001 From: kjeremy Date: Fri, 26 Apr 2019 11:41:14 -0400 Subject: Elide lifetime --- crates/ra_arena/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/ra_arena/src/lib.rs b/crates/ra_arena/src/lib.rs index 1c97c2662..69b5f10e0 100644 --- a/crates/ra_arena/src/lib.rs +++ b/crates/ra_arena/src/lib.rs @@ -76,7 +76,7 @@ impl Arena { self.data.push(value); ID::from_raw(id) } - pub fn iter<'a>(&'a self) -> impl Iterator { + pub fn iter(&self) -> impl Iterator { self.data.iter().enumerate().map(|(idx, value)| (ID::from_raw(RawId(idx as u32)), value)) } } -- cgit v1.2.3 From 47f10fce8ada7638e3298e3e12f794b4859af754 Mon Sep 17 00:00:00 2001 From: kjeremy Date: Fri, 26 Apr 2019 11:41:58 -0400 Subject: Pass in char instead of single-char string --- crates/ra_prof/src/lib.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/crates/ra_prof/src/lib.rs b/crates/ra_prof/src/lib.rs index 402c719b1..ba432912f 100644 --- a/crates/ra_prof/src/lib.rs +++ b/crates/ra_prof/src/lib.rs @@ -107,7 +107,7 @@ impl Filter { // env RA_PROFILE=foo|bar|baz // enabled only selected entries // env RA_PROFILE=*@3>10 // dump everything, up to depth 3, if it takes more than 10 ms pub fn from_spec(mut spec: &str) -> Filter { - let longer_than = if let Some(idx) = spec.rfind(">") { + let longer_than = if let Some(idx) = spec.rfind('>') { let longer_than = spec[idx + 1..].parse().expect("invalid profile longer_than"); spec = &spec[..idx]; Duration::from_millis(longer_than) @@ -115,7 +115,7 @@ impl Filter { Duration::new(0, 0) }; - let depth = if let Some(idx) = spec.rfind("@") { + let depth = if let Some(idx) = spec.rfind('@') { let depth: usize = spec[idx + 1..].parse().expect("invalid profile depth"); spec = &spec[..idx]; depth @@ -123,7 +123,7 @@ impl Filter { 999 }; let allowed = - if spec == "*" { Vec::new() } else { spec.split("|").map(String::from).collect() }; + if spec == "*" { Vec::new() } else { spec.split('|').map(String::from).collect() }; Filter::new(depth, allowed, longer_than) } -- cgit v1.2.3 From 4251f083b551de9bfe15d11bb4b485c0a5de86ab Mon Sep 17 00:00:00 2001 From: kjeremy Date: Fri, 26 Apr 2019 11:42:10 -0400 Subject: Add is_empty to Arena --- crates/ra_arena/src/lib.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/crates/ra_arena/src/lib.rs b/crates/ra_arena/src/lib.rs index 69b5f10e0..26641e690 100644 --- a/crates/ra_arena/src/lib.rs +++ b/crates/ra_arena/src/lib.rs @@ -71,6 +71,9 @@ impl Arena { pub fn len(&self) -> usize { self.data.len() } + pub fn is_empty(&self) -> bool { + self.data.is_empty() + } pub fn alloc(&mut self, value: T) -> ID { let id = RawId(self.data.len() as u32); self.data.push(value); -- cgit v1.2.3 From d8649c1af86118dea6b6340c999b5864a8d55279 Mon Sep 17 00:00:00 2001 From: kjeremy Date: Fri, 26 Apr 2019 11:42:56 -0400 Subject: Simplify --- crates/ra_parser/src/grammar/expressions.rs | 12 ++++++------ crates/ra_prof/src/lib.rs | 11 ++++------- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/crates/ra_parser/src/grammar/expressions.rs b/crates/ra_parser/src/grammar/expressions.rs index 8df9035e9..9fe529f53 100644 --- a/crates/ra_parser/src/grammar/expressions.rs +++ b/crates/ra_parser/src/grammar/expressions.rs @@ -252,12 +252,12 @@ fn expr_bp( // `newly_dollar_open` is a flag indicated that dollar is just closed after lhs, e.g. // `$1$ + a` // We use this flag to skip handling it. - let mut newly_dollar_open = false; - - if p.at_l_dollar() { + let mut newly_dollar_open = if p.at_l_dollar() { *dollar_lvl += p.eat_l_dollars(); - newly_dollar_open = true; - } + true + } else { + false + }; let mut lhs = match lhs(p, r, dollar_lvl) { Some((lhs, blocklike)) => { @@ -535,7 +535,7 @@ fn path_expr(p: &mut Parser, r: Restrictions) -> (CompletedMarker, BlockLike) { } EXCL => { let block_like = items::macro_call_after_excl(p); - return (m.complete(p, MACRO_CALL), block_like); + (m.complete(p, MACRO_CALL), block_like) } _ => (m.complete(p, PATH_EXPR), BlockLike::NotBlock), } diff --git a/crates/ra_prof/src/lib.rs b/crates/ra_prof/src/lib.rs index ba432912f..9ecb8e744 100644 --- a/crates/ra_prof/src/lib.rs +++ b/crates/ra_prof/src/lib.rs @@ -67,14 +67,11 @@ pub fn profile(desc: &str) -> Profiler { PROFILE_STACK.with(|stack| { let mut stack = stack.borrow_mut(); - if stack.starts.len() == 0 { - match FILTER.try_read() { - Ok(f) => { - if f.version > stack.filter_data.version { - stack.filter_data = f.clone(); - } + if stack.starts.is_empty() { + if let Ok(f) = FILTER.try_read() { + if f.version > stack.filter_data.version { + stack.filter_data = f.clone(); } - Err(_) => (), }; } -- cgit v1.2.3