rustc_ast: replace some len-checks + indexing with slice patterns etc. 🧹
This commit is contained in:
parent
15c6f7e1a3
commit
614446887e
4 changed files with 10 additions and 10 deletions
|
@ -100,7 +100,7 @@ pub struct Path {
|
||||||
impl PartialEq<Symbol> for Path {
|
impl PartialEq<Symbol> for Path {
|
||||||
#[inline]
|
#[inline]
|
||||||
fn eq(&self, symbol: &Symbol) -> bool {
|
fn eq(&self, symbol: &Symbol) -> bool {
|
||||||
self.segments.len() == 1 && { self.segments[0].ident.name == *symbol }
|
matches!(&self.segments[..], [segment] if segment.ident.name == *symbol)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -121,13 +121,13 @@ impl Path {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn is_global(&self) -> bool {
|
pub fn is_global(&self) -> bool {
|
||||||
!self.segments.is_empty() && self.segments[0].ident.name == kw::PathRoot
|
self.segments.first().is_some_and(|segment| segment.ident.name == kw::PathRoot)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// If this path is a single identifier with no arguments, does not ensure
|
/// If this path is a single identifier with no arguments, does not ensure
|
||||||
/// that the path resolves to a const param, the caller should check this.
|
/// that the path resolves to a const param, the caller should check this.
|
||||||
pub fn is_potential_trivial_const_arg(&self) -> bool {
|
pub fn is_potential_trivial_const_arg(&self) -> bool {
|
||||||
self.segments.len() == 1 && self.segments[0].args.is_none()
|
matches!(self.segments[..], [PathSegment { args: None, .. }])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -302,7 +302,7 @@ impl AttrItem {
|
||||||
impl MetaItem {
|
impl MetaItem {
|
||||||
/// For a single-segment meta item, returns its name; otherwise, returns `None`.
|
/// For a single-segment meta item, returns its name; otherwise, returns `None`.
|
||||||
pub fn ident(&self) -> Option<Ident> {
|
pub fn ident(&self) -> Option<Ident> {
|
||||||
if self.path.segments.len() == 1 { Some(self.path.segments[0].ident) } else { None }
|
if let [PathSegment { ident, .. }] = self.path.segments[..] { Some(ident) } else { None }
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn name_or_empty(&self) -> Symbol {
|
pub fn name_or_empty(&self) -> Symbol {
|
||||||
|
|
|
@ -1813,10 +1813,10 @@ pub fn walk_flat_map_stmt<T: MutVisitor>(
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.map(|kind| Stmt { id, kind, span })
|
.map(|kind| Stmt { id, kind, span })
|
||||||
.collect();
|
.collect();
|
||||||
match stmts.len() {
|
match &mut stmts[..] {
|
||||||
0 => {}
|
[] => {}
|
||||||
1 => vis.visit_span(&mut stmts[0].span),
|
[stmt] => vis.visit_span(&mut stmt.span),
|
||||||
2.. => panic!(
|
_ => panic!(
|
||||||
"cloning statement `NodeId`s is prohibited by default, \
|
"cloning statement `NodeId`s is prohibited by default, \
|
||||||
the visitor should implement custom statement visiting"
|
the visitor should implement custom statement visiting"
|
||||||
),
|
),
|
||||||
|
|
|
@ -39,7 +39,7 @@ pub fn beautify_doc_string(data: Symbol, kind: CommentKind) -> Symbol {
|
||||||
let mut i = 0;
|
let mut i = 0;
|
||||||
let mut j = lines.len();
|
let mut j = lines.len();
|
||||||
// first line of all-stars should be omitted
|
// first line of all-stars should be omitted
|
||||||
if !lines.is_empty() && lines[0].chars().all(|c| c == '*') {
|
if lines.first().is_some_and(|line| line.chars().all(|c| c == '*')) {
|
||||||
i += 1;
|
i += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -97,7 +97,7 @@ pub fn beautify_doc_string(data: Symbol, kind: CommentKind) -> Symbol {
|
||||||
return None;
|
return None;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if lines.is_empty() { None } else { Some(lines[0][..i].into()) }
|
Some(lines.first()?[..i].to_string())
|
||||||
}
|
}
|
||||||
|
|
||||||
let data_s = data.as_str();
|
let data_s = data.as_str();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue