Merge commit 'b7f3f7f608' into clippyup
This commit is contained in:
parent
87bb18e7c2
commit
5cf4984872
147 changed files with 4288 additions and 2969 deletions
|
|
@ -509,7 +509,6 @@ pub fn path_to_local_id(expr: &Expr<'_>, id: HirId) -> bool {
|
|||
}
|
||||
|
||||
/// Gets the definition associated to a path.
|
||||
#[allow(clippy::shadow_unrelated)] // false positive #6563
|
||||
pub fn path_to_res(cx: &LateContext<'_>, path: &[&str]) -> Res {
|
||||
macro_rules! try_res {
|
||||
($e:expr) => {
|
||||
|
|
@ -683,7 +682,17 @@ pub fn is_default_equivalent(cx: &LateContext<'_>, e: &Expr<'_>) -> bool {
|
|||
_ => false,
|
||||
},
|
||||
ExprKind::Tup(items) | ExprKind::Array(items) => items.iter().all(|x| is_default_equivalent(cx, x)),
|
||||
ExprKind::Repeat(x, _) => is_default_equivalent(cx, x),
|
||||
ExprKind::Repeat(x, y) => if_chain! {
|
||||
if let ExprKind::Lit(ref const_lit) = cx.tcx.hir().body(y.body).value.kind;
|
||||
if let LitKind::Int(v, _) = const_lit.node;
|
||||
if v <= 32 && is_default_equivalent(cx, x);
|
||||
then {
|
||||
true
|
||||
}
|
||||
else {
|
||||
false
|
||||
}
|
||||
},
|
||||
ExprKind::Call(repl_func, _) => if_chain! {
|
||||
if let ExprKind::Path(ref repl_func_qpath) = repl_func.kind;
|
||||
if let Some(repl_def_id) = cx.qpath_res(repl_func_qpath, repl_func.hir_id).opt_def_id();
|
||||
|
|
@ -1498,7 +1507,7 @@ pub fn is_try<'tcx>(cx: &LateContext<'_>, expr: &'tcx Expr<'tcx>) -> Option<&'tc
|
|||
|
||||
if let ExprKind::Match(_, arms, ref source) = expr.kind {
|
||||
// desugared from a `?` operator
|
||||
if let MatchSource::TryDesugar = *source {
|
||||
if *source == MatchSource::TryDesugar {
|
||||
return Some(expr);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ impl<'a> NumericLiteral<'a> {
|
|||
};
|
||||
|
||||
// Grab part of the literal after prefix, if present.
|
||||
let (prefix, mut sans_prefix) = if let Radix::Decimal = radix {
|
||||
let (prefix, mut sans_prefix) = if radix == Radix::Decimal {
|
||||
(None, lit)
|
||||
} else {
|
||||
let (p, s) = lit.split_at(2);
|
||||
|
|
@ -157,8 +157,10 @@ impl<'a> NumericLiteral<'a> {
|
|||
}
|
||||
|
||||
if let Some((separator, exponent)) = self.exponent {
|
||||
output.push_str(separator);
|
||||
Self::group_digits(&mut output, exponent, group_size, true, false);
|
||||
if exponent != "0" {
|
||||
output.push_str(separator);
|
||||
Self::group_digits(&mut output, exponent, group_size, true, false);
|
||||
}
|
||||
}
|
||||
|
||||
if let Some(suffix) = self.suffix {
|
||||
|
|
@ -177,6 +179,13 @@ impl<'a> NumericLiteral<'a> {
|
|||
|
||||
let mut digits = input.chars().filter(|&c| c != '_');
|
||||
|
||||
// The exponent may have a sign, output it early, otherwise it will be
|
||||
// treated as a digit
|
||||
if digits.clone().next() == Some('-') {
|
||||
let _ = digits.next();
|
||||
output.push('-');
|
||||
}
|
||||
|
||||
let first_group_size;
|
||||
|
||||
if partial_group_first {
|
||||
|
|
|
|||
|
|
@ -129,11 +129,17 @@ pub const RANGE_ARGUMENT_TRAIT: [&str; 3] = ["core", "ops", "RangeBounds"];
|
|||
pub const RC_PTR_EQ: [&str; 4] = ["alloc", "rc", "Rc", "ptr_eq"];
|
||||
pub const REFCELL_REF: [&str; 3] = ["core", "cell", "Ref"];
|
||||
pub const REFCELL_REFMUT: [&str; 3] = ["core", "cell", "RefMut"];
|
||||
#[allow(clippy::invalid_paths)] // internal lints do not know about all external crates
|
||||
pub const REGEX_BUILDER_NEW: [&str; 5] = ["regex", "re_builder", "unicode", "RegexBuilder", "new"];
|
||||
#[allow(clippy::invalid_paths)] // internal lints do not know about all external crates
|
||||
pub const REGEX_BYTES_BUILDER_NEW: [&str; 5] = ["regex", "re_builder", "bytes", "RegexBuilder", "new"];
|
||||
#[allow(clippy::invalid_paths)] // internal lints do not know about all external crates
|
||||
pub const REGEX_BYTES_NEW: [&str; 4] = ["regex", "re_bytes", "Regex", "new"];
|
||||
#[allow(clippy::invalid_paths)] // internal lints do not know about all external crates
|
||||
pub const REGEX_BYTES_SET_NEW: [&str; 5] = ["regex", "re_set", "bytes", "RegexSet", "new"];
|
||||
#[allow(clippy::invalid_paths)] // internal lints do not know about all external crates
|
||||
pub const REGEX_NEW: [&str; 4] = ["regex", "re_unicode", "Regex", "new"];
|
||||
#[allow(clippy::invalid_paths)] // internal lints do not know about all external crates
|
||||
pub const REGEX_SET_NEW: [&str; 5] = ["regex", "re_set", "unicode", "RegexSet", "new"];
|
||||
/// Preferably use the diagnostic item `sym::Result` where possible
|
||||
pub const RESULT: [&str; 3] = ["core", "result", "Result"];
|
||||
|
|
|
|||
|
|
@ -311,7 +311,7 @@ impl<'a> Sugg<'a> {
|
|||
/// Return `true` if `sugg` is enclosed in parenthesis.
|
||||
fn has_enclosing_paren(sugg: impl AsRef<str>) -> bool {
|
||||
let mut chars = sugg.as_ref().chars();
|
||||
if let Some('(') = chars.next() {
|
||||
if chars.next() == Some('(') {
|
||||
let mut depth = 1;
|
||||
for c in &mut chars {
|
||||
if c == '(' {
|
||||
|
|
|
|||
|
|
@ -224,15 +224,15 @@ fn is_normalizable_helper<'tcx>(
|
|||
result
|
||||
}
|
||||
|
||||
/// Returns true iff the given type is a non aggregate primitive (a bool or char, any integer or
|
||||
/// floating-point number type). For checking aggregation of primitive types (e.g. tuples and slices
|
||||
/// of primitive type) see `is_recursively_primitive_type`
|
||||
/// Returns `true` if the given type is a non aggregate primitive (a `bool` or `char`, any
|
||||
/// integer or floating-point number type). For checking aggregation of primitive types (e.g.
|
||||
/// tuples and slices of primitive type) see `is_recursively_primitive_type`
|
||||
pub fn is_non_aggregate_primitive_type(ty: Ty<'_>) -> bool {
|
||||
matches!(ty.kind(), ty::Bool | ty::Char | ty::Int(_) | ty::Uint(_) | ty::Float(_))
|
||||
}
|
||||
|
||||
/// Returns true iff the given type is a primitive (a bool or char, any integer or floating-point
|
||||
/// number type, a str, or an array, slice, or tuple of those types).
|
||||
/// Returns `true` if the given type is a primitive (a `bool` or `char`, any integer or
|
||||
/// floating-point number type, a `str`, or an array, slice, or tuple of those types).
|
||||
pub fn is_recursively_primitive_type(ty: Ty<'_>) -> bool {
|
||||
match ty.kind() {
|
||||
ty::Bool | ty::Char | ty::Int(_) | ty::Uint(_) | ty::Float(_) | ty::Str => true,
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ impl<'tcx> Delegate<'tcx> for MutVarsDelegate {
|
|||
fn consume(&mut self, _: &PlaceWithHirId<'tcx>, _: HirId) {}
|
||||
|
||||
fn borrow(&mut self, cmt: &PlaceWithHirId<'tcx>, _: HirId, bk: ty::BorrowKind) {
|
||||
if let ty::BorrowKind::MutBorrow = bk {
|
||||
if bk == ty::BorrowKind::MutBorrow {
|
||||
self.update(cmt);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue