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 {
|
||||
#[inline]
|
||||
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 {
|
||||
!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
|
||||
/// that the path resolves to a const param, the caller should check this.
|
||||
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 {
|
||||
/// For a single-segment meta item, returns its name; otherwise, returns `None`.
|
||||
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 {
|
||||
|
|
|
@ -1813,10 +1813,10 @@ pub fn walk_flat_map_stmt<T: MutVisitor>(
|
|||
.into_iter()
|
||||
.map(|kind| Stmt { id, kind, span })
|
||||
.collect();
|
||||
match stmts.len() {
|
||||
0 => {}
|
||||
1 => vis.visit_span(&mut stmts[0].span),
|
||||
2.. => panic!(
|
||||
match &mut stmts[..] {
|
||||
[] => {}
|
||||
[stmt] => vis.visit_span(&mut stmt.span),
|
||||
_ => panic!(
|
||||
"cloning statement `NodeId`s is prohibited by default, \
|
||||
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 j = lines.len();
|
||||
// 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;
|
||||
}
|
||||
|
||||
|
@ -97,7 +97,7 @@ pub fn beautify_doc_string(data: Symbol, kind: CommentKind) -> Symbol {
|
|||
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();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue