update the lint messages and tests

This commit is contained in:
Matthias Krüger
2021-02-24 14:02:51 +01:00
parent 5370576882
commit 8eb2bd13d0
54 changed files with 315 additions and 315 deletions

View File

@@ -209,7 +209,7 @@ fn lint_misrefactored_assign_op(
diag.span_suggestion( diag.span_suggestion(
expr.span, expr.span,
&format!( &format!(
"Did you mean `{} = {} {} {}` or `{}`? Consider replacing it with", "did you mean `{} = {} {} {}` or `{}`? Consider replacing it with",
snip_a, snip_a,
snip_a, snip_a,
op.node.as_str(), op.node.as_str(),

View File

@@ -639,7 +639,7 @@ fn check_mismatched_target_os(cx: &EarlyContext<'_>, attr: &Attribute) {
diag.span_suggestion(span, "try", sugg, Applicability::MaybeIncorrect); diag.span_suggestion(span, "try", sugg, Applicability::MaybeIncorrect);
if !unix_suggested && is_unix(os) { if !unix_suggested && is_unix(os) {
diag.help("Did you mean `unix`?"); diag.help("did you mean `unix`?");
unix_suggested = true; unix_suggested = true;
} }
} }

View File

@@ -116,7 +116,7 @@ fn check_interior_types(cx: &LateContext<'_>, ty_causes: &[GeneratorInteriorType
cx, cx,
AWAIT_HOLDING_LOCK, AWAIT_HOLDING_LOCK,
ty_cause.span, ty_cause.span,
"this MutexGuard is held across an 'await' point. Consider using an async-aware Mutex type or ensuring the MutexGuard is dropped before calling await.", "this MutexGuard is held across an 'await' point. Consider using an async-aware Mutex type or ensuring the MutexGuard is dropped before calling await",
ty_cause.scope_span.or(Some(span)), ty_cause.scope_span.or(Some(span)),
"these are all the await points this lock is held through", "these are all the await points this lock is held through",
); );
@@ -126,7 +126,7 @@ fn check_interior_types(cx: &LateContext<'_>, ty_causes: &[GeneratorInteriorType
cx, cx,
AWAIT_HOLDING_REFCELL_REF, AWAIT_HOLDING_REFCELL_REF,
ty_cause.span, ty_cause.span,
"this RefCell Ref is held across an 'await' point. Consider ensuring the Ref is dropped before calling await.", "this RefCell Ref is held across an 'await' point. Consider ensuring the Ref is dropped before calling await",
ty_cause.scope_span.or(Some(span)), ty_cause.scope_span.or(Some(span)),
"these are all the await points this ref is held through", "these are all the await points this ref is held through",
); );

View File

@@ -117,7 +117,7 @@ impl<'tcx> LateLintPass<'tcx> for ComparisonChain {
expr.span, expr.span,
"`if` chain can be rewritten with `match`", "`if` chain can be rewritten with `match`",
None, None,
"Consider rewriting the `if` chain to use `cmp` and `match`.", "consider rewriting the `if` chain to use `cmp` and `match`",
) )
} }
} }

View File

@@ -98,13 +98,13 @@ declare_clippy_lint! {
} }
const DROP_REF_SUMMARY: &str = "calls to `std::mem::drop` with a reference instead of an owned value. \ const DROP_REF_SUMMARY: &str = "calls to `std::mem::drop` with a reference instead of an owned value. \
Dropping a reference does nothing."; Dropping a reference does nothing";
const FORGET_REF_SUMMARY: &str = "calls to `std::mem::forget` with a reference instead of an owned value. \ const FORGET_REF_SUMMARY: &str = "calls to `std::mem::forget` with a reference instead of an owned value. \
Forgetting a reference does nothing."; Forgetting a reference does nothing";
const DROP_COPY_SUMMARY: &str = "calls to `std::mem::drop` with a value that implements `Copy`. \ const DROP_COPY_SUMMARY: &str = "calls to `std::mem::drop` with a value that implements `Copy`. \
Dropping a copy leaves the original intact."; Dropping a copy leaves the original intact";
const FORGET_COPY_SUMMARY: &str = "calls to `std::mem::forget` with a value that implements `Copy`. \ const FORGET_COPY_SUMMARY: &str = "calls to `std::mem::forget` with a value that implements `Copy`. \
Forgetting a copy leaves the original intact."; Forgetting a copy leaves the original intact";
declare_lint_pass!(DropForgetRef => [DROP_REF, FORGET_REF, DROP_COPY, FORGET_COPY]); declare_lint_pass!(DropForgetRef => [DROP_REF, FORGET_REF, DROP_COPY, FORGET_COPY]);

View File

@@ -133,7 +133,7 @@ fn lint_impl_body<'tcx>(cx: &LateContext<'tcx>, impl_span: Span, impl_items: &[h
move |diag| { move |diag| {
diag.help( diag.help(
"`From` is intended for infallible conversions only. \ "`From` is intended for infallible conversions only. \
Use `TryFrom` if there's a possibility for the conversion to fail."); Use `TryFrom` if there's a possibility for the conversion to fail");
diag.span_note(fpu.result, "potential failure(s)"); diag.span_note(fpu.result, "potential failure(s)");
}); });
} }

View File

@@ -132,13 +132,13 @@ impl<'tcx> LateLintPass<'tcx> for IndexingSlicing {
} }
let help_msg = match (range.start, range.end) { let help_msg = match (range.start, range.end) {
(None, Some(_)) => "Consider using `.get(..n)`or `.get_mut(..n)` instead", (None, Some(_)) => "consider using `.get(..n)`or `.get_mut(..n)` instead",
(Some(_), None) => "Consider using `.get(n..)` or .get_mut(n..)` instead", (Some(_), None) => "consider using `.get(n..)` or .get_mut(n..)` instead",
(Some(_), Some(_)) => "Consider using `.get(n..m)` or `.get_mut(n..m)` instead", (Some(_), Some(_)) => "consider using `.get(n..m)` or `.get_mut(n..m)` instead",
(None, None) => return, // [..] is ok. (None, None) => return, // [..] is ok.
}; };
span_lint_and_help(cx, INDEXING_SLICING, expr.span, "slicing may panic.", None, help_msg); span_lint_and_help(cx, INDEXING_SLICING, expr.span, "slicing may panic", None, help_msg);
} else { } else {
// Catchall non-range index, i.e., [n] or [n << m] // Catchall non-range index, i.e., [n] or [n << m]
if let ty::Array(..) = ty.kind() { if let ty::Array(..) = ty.kind() {
@@ -153,9 +153,9 @@ impl<'tcx> LateLintPass<'tcx> for IndexingSlicing {
cx, cx,
INDEXING_SLICING, INDEXING_SLICING,
expr.span, expr.span,
"indexing may panic.", "indexing may panic",
None, None,
"Consider using `.get(n)` or `.get_mut(n)` instead", "consider using `.get(n)` or `.get_mut(n)` instead",
); );
} }
} }

View File

@@ -39,7 +39,7 @@ impl<'tcx> LateLintPass<'tcx> for IntegerDivision {
expr.span, expr.span,
"integer division", "integer division",
None, None,
"division of integers may cause loss of precision. consider using floats.", "division of integers may cause loss of precision. consider using floats",
); );
} }
} }

View File

@@ -1625,10 +1625,7 @@ fn check_for_loop_range<'tcx>(
cx, cx,
NEEDLESS_RANGE_LOOP, NEEDLESS_RANGE_LOOP,
expr.span, expr.span,
&format!( &format!("the loop variable `{}` is only used to index `{}`", ident.name, indexed),
"the loop variable `{}` is only used to index `{}`.",
ident.name, indexed
),
|diag| { |diag| {
multispan_sugg( multispan_sugg(
diag, diag,
@@ -1763,7 +1760,7 @@ fn check_arg_type(cx: &LateContext<'_>, pat: &Pat<'_>, arg: &Expr<'_>) {
arg.span, arg.span,
&format!( &format!(
"for loop over `{0}`, which is an `Option`. This is more readably written as an \ "for loop over `{0}`, which is an `Option`. This is more readably written as an \
`if let` statement.", `if let` statement",
snippet(cx, arg.span, "_") snippet(cx, arg.span, "_")
), ),
None, None,
@@ -1780,7 +1777,7 @@ fn check_arg_type(cx: &LateContext<'_>, pat: &Pat<'_>, arg: &Expr<'_>) {
arg.span, arg.span,
&format!( &format!(
"for loop over `{0}`, which is a `Result`. This is more readably written as an \ "for loop over `{0}`, which is a `Result`. This is more readably written as an \
`if let` statement.", `if let` statement",
snippet(cx, arg.span, "_") snippet(cx, arg.span, "_")
), ),
None, None,
@@ -1826,7 +1823,7 @@ fn check_for_loop_explicit_counter<'tcx>(
cx, cx,
EXPLICIT_COUNTER_LOOP, EXPLICIT_COUNTER_LOOP,
for_span.with_hi(arg.span.hi()), for_span.with_hi(arg.span.hi()),
&format!("the variable `{}` is used as a loop counter.", name), &format!("the variable `{}` is used as a loop counter", name),
"consider using", "consider using",
format!( format!(
"for ({}, {}) in {}.enumerate()", "for ({}, {}) in {}.enumerate()",
@@ -3055,16 +3052,16 @@ impl IterFunction {
fn get_suggestion_text(&self) -> &'static str { fn get_suggestion_text(&self) -> &'static str {
match &self.func { match &self.func {
IterFunctionKind::IntoIter => { IterFunctionKind::IntoIter => {
"Use the original Iterator instead of collecting it and then producing a new one" "use the original Iterator instead of collecting it and then producing a new one"
}, },
IterFunctionKind::Len => { IterFunctionKind::Len => {
"Take the original Iterator's count instead of collecting it and finding the length" "take the original Iterator's count instead of collecting it and finding the length"
}, },
IterFunctionKind::IsEmpty => { IterFunctionKind::IsEmpty => {
"Check if the original Iterator has anything instead of collecting it and seeing if it's empty" "check if the original Iterator has anything instead of collecting it and seeing if it's empty"
}, },
IterFunctionKind::Contains(_) => { IterFunctionKind::Contains(_) => {
"Check if the original Iterator contains an element instead of collecting then checking" "check if the original Iterator contains an element instead of collecting then checking"
}, },
} }
} }

View File

@@ -1173,9 +1173,9 @@ fn check_wild_in_or_pats(cx: &LateContext<'_>, arms: &[Arm<'_>]) {
cx, cx,
WILDCARD_IN_OR_PATTERNS, WILDCARD_IN_OR_PATTERNS,
arm.pat.span, arm.pat.span,
"wildcard pattern covers any other pattern as it will match anyway.", "wildcard pattern covers any other pattern as it will match anyway",
None, None,
"Consider handling `_` separately.", "consider handling `_` separately",
); );
} }
} }

View File

@@ -3081,7 +3081,7 @@ fn lint_filter_next<'tcx>(cx: &LateContext<'tcx>, expr: &'tcx hir::Expr<'_>, fil
// lint if caller of `.filter().next()` is an Iterator // lint if caller of `.filter().next()` is an Iterator
if match_trait_method(cx, expr, &paths::ITERATOR) { if match_trait_method(cx, expr, &paths::ITERATOR) {
let msg = "called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling \ let msg = "called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling \
`.find(..)` instead."; `.find(..)` instead";
let filter_snippet = snippet(cx, filter_args[1].span, ".."); let filter_snippet = snippet(cx, filter_args[1].span, "..");
if filter_snippet.lines().count() <= 1 { if filter_snippet.lines().count() <= 1 {
let iter_snippet = snippet(cx, filter_args[0].span, ".."); let iter_snippet = snippet(cx, filter_args[0].span, "..");
@@ -3209,7 +3209,7 @@ fn lint_filter_map_next<'tcx>(
} }
let msg = "called `filter_map(..).next()` on an `Iterator`. This is more succinctly expressed by calling \ let msg = "called `filter_map(..).next()` on an `Iterator`. This is more succinctly expressed by calling \
`.find_map(..)` instead."; `.find_map(..)` instead";
let filter_snippet = snippet(cx, filter_args[1].span, ".."); let filter_snippet = snippet(cx, filter_args[1].span, "..");
if filter_snippet.lines().count() <= 1 { if filter_snippet.lines().count() <= 1 {
let iter_snippet = snippet(cx, filter_args[0].span, ".."); let iter_snippet = snippet(cx, filter_args[0].span, "..");

View File

@@ -50,7 +50,7 @@ pub(super) fn lint<'tcx>(
UNNECESSARY_LAZY_EVALUATIONS, UNNECESSARY_LAZY_EVALUATIONS,
expr.span, expr.span,
msg, msg,
&format!("Use `{}` instead", simplify_using), &format!("use `{}` instead", simplify_using),
format!( format!(
"{0}.{1}({2})", "{0}.{1}({2})",
snippet(cx, args[0].span, ".."), snippet(cx, args[0].span, ".."),

View File

@@ -292,7 +292,7 @@ impl<'tcx> LateLintPass<'tcx> for MiscLints {
TOPLEVEL_REF_ARG, TOPLEVEL_REF_ARG,
arg.pat.span, arg.pat.span,
"`ref` directly on a function argument is ignored. \ "`ref` directly on a function argument is ignored. \
Consider using a reference type instead.", Consider using a reference type instead",
); );
} }
} }
@@ -422,7 +422,7 @@ impl<'tcx> LateLintPass<'tcx> for MiscLints {
expr.span, expr.span,
&format!( &format!(
"used binding `{}` which is prefixed with an underscore. A leading \ "used binding `{}` which is prefixed with an underscore. A leading \
underscore signals that a binding will not be used.", underscore signals that a binding will not be used",
binding binding
), ),
); );

View File

@@ -142,7 +142,7 @@ fn emit_lint(cx: &LateContext<'_>, expr: &SomeOkCall<'_>) {
cx, cx,
NEEDLESS_QUESTION_MARK, NEEDLESS_QUESTION_MARK,
entire_expr.span, entire_expr.span,
"Question mark operator is useless here", "question mark operator is useless here",
"try", "try",
format!("{}", utils::snippet(cx, inner_expr.span, r#""...""#)), format!("{}", utils::snippet(cx, inner_expr.span, r#""...""#)),
Applicability::MachineApplicable, Applicability::MachineApplicable,

View File

@@ -188,7 +188,7 @@ fn check_fn(cx: &LateContext<'_>, decl: &FnDecl<'_>, fn_id: HirId, opt_body_id:
PTR_ARG, PTR_ARG,
arg.span, arg.span,
"writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used \ "writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used \
with non-Vec-based slices.", with non-Vec-based slices",
|diag| { |diag| {
if let Some(ref snippet) = get_only_generic_arg_snippet(cx, arg) { if let Some(ref snippet) = get_only_generic_arg_snippet(cx, arg) {
diag.span_suggestion( diag.span_suggestion(
@@ -217,7 +217,7 @@ fn check_fn(cx: &LateContext<'_>, decl: &FnDecl<'_>, fn_id: HirId, opt_body_id:
cx, cx,
PTR_ARG, PTR_ARG,
arg.span, arg.span,
"writing `&String` instead of `&str` involves a new object where a slice will do.", "writing `&String` instead of `&str` involves a new object where a slice will do",
|diag| { |diag| {
diag.span_suggestion(arg.span, "change this to", "&str".into(), Applicability::Unspecified); diag.span_suggestion(arg.span, "change this to", "&str".into(), Applicability::Unspecified);
for (clonespan, suggestion) in spans { for (clonespan, suggestion) in spans {
@@ -239,7 +239,7 @@ fn check_fn(cx: &LateContext<'_>, decl: &FnDecl<'_>, fn_id: HirId, opt_body_id:
cx, cx,
PTR_ARG, PTR_ARG,
arg.span, arg.span,
"writing `&PathBuf` instead of `&Path` involves a new object where a slice will do.", "writing `&PathBuf` instead of `&Path` involves a new object where a slice will do",
|diag| { |diag| {
diag.span_suggestion( diag.span_suggestion(
arg.span, arg.span,
@@ -278,7 +278,7 @@ fn check_fn(cx: &LateContext<'_>, decl: &FnDecl<'_>, fn_id: HirId, opt_body_id:
cx, cx,
PTR_ARG, PTR_ARG,
arg.span, arg.span,
"using a reference to `Cow` is not recommended.", "using a reference to `Cow` is not recommended",
"change this to", "change this to",
"&".to_owned() + &r, "&".to_owned() + &r,
Applicability::Unspecified, Applicability::Unspecified,

View File

@@ -261,7 +261,7 @@ fn emit_suggestion(cx: &EarlyContext<'_>, span: Span, sugg: String, applicabilit
cx, cx,
SUSPICIOUS_OPERATION_GROUPINGS, SUSPICIOUS_OPERATION_GROUPINGS,
span, span,
"This sequence of operators looks suspiciously like a bug.", "this sequence of operators looks suspiciously like a bug",
"I think you meant", "I think you meant",
sugg, sugg,
applicability, applicability,

View File

@@ -27,7 +27,7 @@ declare_clippy_lint! {
declare_lint_pass!(TransmutingNull => [TRANSMUTING_NULL]); declare_lint_pass!(TransmutingNull => [TRANSMUTING_NULL]);
const LINT_MSG: &str = "transmuting a known null pointer into a reference."; const LINT_MSG: &str = "transmuting a known null pointer into a reference";
impl<'tcx> LateLintPass<'tcx> for TransmutingNull { impl<'tcx> LateLintPass<'tcx> for TransmutingNull {
fn check_expr(&mut self, cx: &LateContext<'tcx>, expr: &'tcx Expr<'_>) { fn check_expr(&mut self, cx: &LateContext<'tcx>, expr: &'tcx Expr<'_>) {

View File

@@ -388,7 +388,7 @@ impl Types {
hir_ty.span, hir_ty.span,
"you seem to be trying to use `Box<Vec<T>>`. Consider using just `Vec<T>`", "you seem to be trying to use `Box<Vec<T>>`. Consider using just `Vec<T>`",
None, None,
"`Vec<T>` is already on the heap, `Box<Vec<T>>` makes an extra allocation.", "`Vec<T>` is already on the heap, `Box<Vec<T>>` makes an extra allocation",
); );
return; // don't recurse into the type return; // don't recurse into the type
} }
@@ -554,7 +554,7 @@ impl Types {
cx, cx,
VEC_BOX, VEC_BOX,
hir_ty.span, hir_ty.span,
"`Vec<T>` is already on the heap, the boxing is unnecessary.", "`Vec<T>` is already on the heap, the boxing is unnecessary",
"try", "try",
format!("Vec<{}>", snippet(cx, boxed_ty.span, "..")), format!("Vec<{}>", snippet(cx, boxed_ty.span, "..")),
Applicability::MachineApplicable, Applicability::MachineApplicable,

View File

@@ -55,7 +55,7 @@ impl<'tcx> LateLintPass<'tcx> for ZeroDiv {
"constant division of `0.0` with `0.0` will always result in NaN", "constant division of `0.0` with `0.0` will always result in NaN",
None, None,
&format!( &format!(
"Consider using `{}::NAN` if you would like a constant representing NaN", "consider using `{}::NAN` if you would like a constant representing NaN",
float_type, float_type,
), ),
); );

View File

@@ -38,8 +38,11 @@ impl Message {
r".*the arguments may be inverted...", r".*the arguments may be inverted...",
r".*Intel x86 assembly syntax used", r".*Intel x86 assembly syntax used",
r".*AT&T x86 assembly syntax used", r".*AT&T x86 assembly syntax used",
r".*remove .* the return type...", r".*remove .*the return type...",
r"note: Clippy version: .*", r"note: Clippy version: .*",
r"the compiler unexpectedly panicked. this is a bug.",
r".*help: I think you meant: .*",
r"Iterator.* will panic at runtime",
]) ])
.unwrap(); .unwrap();
@@ -96,7 +99,7 @@ fn lint_message_convention() {
eprintln!("\n\n\nLint message should not start with a capital letter and should not have punctuation at the end of the message unless multiple sentences are needed."); eprintln!("\n\n\nLint message should not start with a capital letter and should not have punctuation at the end of the message unless multiple sentences are needed.");
eprintln!("Check out the rustc-dev-guide for more information:"); eprintln!("Check out the rustc-dev-guide for more information:");
eprintln!("https://rustc-dev-guide.rust-lang.org/diagnostics.html#diagnostic-structure"); eprintln!("https://rustc-dev-guide.rust-lang.org/diagnostics.html#diagnostic-structure\n\n\n");
assert!(bad_tests.is_empty()); assert!(bad_tests.is_empty());
} }

View File

@@ -1,4 +1,4 @@
error: `Vec<T>` is already on the heap, the boxing is unnecessary. error: `Vec<T>` is already on the heap, the boxing is unnecessary
--> $DIR/test.rs:9:12 --> $DIR/test.rs:9:12
| |
LL | struct Foo(Vec<Box<u8>>); LL | struct Foo(Vec<Box<u8>>);
@@ -6,13 +6,13 @@ LL | struct Foo(Vec<Box<u8>>);
| |
= note: `-D clippy::vec-box` implied by `-D warnings` = note: `-D clippy::vec-box` implied by `-D warnings`
error: `Vec<T>` is already on the heap, the boxing is unnecessary. error: `Vec<T>` is already on the heap, the boxing is unnecessary
--> $DIR/test.rs:10:12 --> $DIR/test.rs:10:12
| |
LL | struct Bar(Vec<Box<u32>>); LL | struct Bar(Vec<Box<u32>>);
| ^^^^^^^^^^^^^ help: try: `Vec<u32>` | ^^^^^^^^^^^^^ help: try: `Vec<u32>`
error: `Vec<T>` is already on the heap, the boxing is unnecessary. error: `Vec<T>` is already on the heap, the boxing is unnecessary
--> $DIR/test.rs:13:18 --> $DIR/test.rs:13:18
| |
LL | struct FooBarBaz(Vec<Box<C>>); LL | struct FooBarBaz(Vec<Box<C>>);

View File

@@ -5,7 +5,7 @@ LL | a += a + 1;
| ^^^^^^^^^^ | ^^^^^^^^^^
| |
= note: `-D clippy::misrefactored-assign-op` implied by `-D warnings` = note: `-D clippy::misrefactored-assign-op` implied by `-D warnings`
help: Did you mean `a = a + 1` or `a = a + a + 1`? Consider replacing it with help: did you mean `a = a + 1` or `a = a + a + 1`? Consider replacing it with
| |
LL | a += 1; LL | a += 1;
| ^^^^^^ | ^^^^^^
@@ -20,7 +20,7 @@ error: variable appears on both sides of an assignment operation
LL | a += 1 + a; LL | a += 1 + a;
| ^^^^^^^^^^ | ^^^^^^^^^^
| |
help: Did you mean `a = a + 1` or `a = a + 1 + a`? Consider replacing it with help: did you mean `a = a + 1` or `a = a + 1 + a`? Consider replacing it with
| |
LL | a += 1; LL | a += 1;
| ^^^^^^ | ^^^^^^
@@ -35,7 +35,7 @@ error: variable appears on both sides of an assignment operation
LL | a -= a - 1; LL | a -= a - 1;
| ^^^^^^^^^^ | ^^^^^^^^^^
| |
help: Did you mean `a = a - 1` or `a = a - (a - 1)`? Consider replacing it with help: did you mean `a = a - 1` or `a = a - (a - 1)`? Consider replacing it with
| |
LL | a -= 1; LL | a -= 1;
| ^^^^^^ | ^^^^^^
@@ -50,7 +50,7 @@ error: variable appears on both sides of an assignment operation
LL | a *= a * 99; LL | a *= a * 99;
| ^^^^^^^^^^^ | ^^^^^^^^^^^
| |
help: Did you mean `a = a * 99` or `a = a * a * 99`? Consider replacing it with help: did you mean `a = a * 99` or `a = a * a * 99`? Consider replacing it with
| |
LL | a *= 99; LL | a *= 99;
| ^^^^^^^ | ^^^^^^^
@@ -65,7 +65,7 @@ error: variable appears on both sides of an assignment operation
LL | a *= 42 * a; LL | a *= 42 * a;
| ^^^^^^^^^^^ | ^^^^^^^^^^^
| |
help: Did you mean `a = a * 42` or `a = a * 42 * a`? Consider replacing it with help: did you mean `a = a * 42` or `a = a * 42 * a`? Consider replacing it with
| |
LL | a *= 42; LL | a *= 42;
| ^^^^^^^ | ^^^^^^^
@@ -80,7 +80,7 @@ error: variable appears on both sides of an assignment operation
LL | a /= a / 2; LL | a /= a / 2;
| ^^^^^^^^^^ | ^^^^^^^^^^
| |
help: Did you mean `a = a / 2` or `a = a / (a / 2)`? Consider replacing it with help: did you mean `a = a / 2` or `a = a / (a / 2)`? Consider replacing it with
| |
LL | a /= 2; LL | a /= 2;
| ^^^^^^ | ^^^^^^
@@ -95,7 +95,7 @@ error: variable appears on both sides of an assignment operation
LL | a %= a % 5; LL | a %= a % 5;
| ^^^^^^^^^^ | ^^^^^^^^^^
| |
help: Did you mean `a = a % 5` or `a = a % (a % 5)`? Consider replacing it with help: did you mean `a = a % 5` or `a = a % (a % 5)`? Consider replacing it with
| |
LL | a %= 5; LL | a %= 5;
| ^^^^^^ | ^^^^^^
@@ -110,7 +110,7 @@ error: variable appears on both sides of an assignment operation
LL | a &= a & 1; LL | a &= a & 1;
| ^^^^^^^^^^ | ^^^^^^^^^^
| |
help: Did you mean `a = a & 1` or `a = a & a & 1`? Consider replacing it with help: did you mean `a = a & 1` or `a = a & a & 1`? Consider replacing it with
| |
LL | a &= 1; LL | a &= 1;
| ^^^^^^ | ^^^^^^
@@ -125,7 +125,7 @@ error: variable appears on both sides of an assignment operation
LL | a *= a * a; LL | a *= a * a;
| ^^^^^^^^^^ | ^^^^^^^^^^
| |
help: Did you mean `a = a * a` or `a = a * a * a`? Consider replacing it with help: did you mean `a = a * a` or `a = a * a * a`? Consider replacing it with
| |
LL | a *= a; LL | a *= a;
| ^^^^^^ | ^^^^^^

View File

@@ -1,4 +1,4 @@
error: this MutexGuard is held across an 'await' point. Consider using an async-aware Mutex type or ensuring the MutexGuard is dropped before calling await. error: this MutexGuard is held across an 'await' point. Consider using an async-aware Mutex type or ensuring the MutexGuard is dropped before calling await
--> $DIR/await_holding_lock.rs:7:9 --> $DIR/await_holding_lock.rs:7:9
| |
LL | let guard = x.lock().unwrap(); LL | let guard = x.lock().unwrap();
@@ -13,7 +13,7 @@ LL | | baz().await
LL | | } LL | | }
| |_^ | |_^
error: this MutexGuard is held across an 'await' point. Consider using an async-aware Mutex type or ensuring the MutexGuard is dropped before calling await. error: this MutexGuard is held across an 'await' point. Consider using an async-aware Mutex type or ensuring the MutexGuard is dropped before calling await
--> $DIR/await_holding_lock.rs:28:9 --> $DIR/await_holding_lock.rs:28:9
| |
LL | let guard = x.lock().unwrap(); LL | let guard = x.lock().unwrap();
@@ -31,7 +31,7 @@ LL | | first + second + third
LL | | } LL | | }
| |_^ | |_^
error: this MutexGuard is held across an 'await' point. Consider using an async-aware Mutex type or ensuring the MutexGuard is dropped before calling await. error: this MutexGuard is held across an 'await' point. Consider using an async-aware Mutex type or ensuring the MutexGuard is dropped before calling await
--> $DIR/await_holding_lock.rs:41:13 --> $DIR/await_holding_lock.rs:41:13
| |
LL | let guard = x.lock().unwrap(); LL | let guard = x.lock().unwrap();
@@ -45,7 +45,7 @@ LL | | baz().await
LL | | }; LL | | };
| |_____^ | |_____^
error: this MutexGuard is held across an 'await' point. Consider using an async-aware Mutex type or ensuring the MutexGuard is dropped before calling await. error: this MutexGuard is held across an 'await' point. Consider using an async-aware Mutex type or ensuring the MutexGuard is dropped before calling await
--> $DIR/await_holding_lock.rs:53:13 --> $DIR/await_holding_lock.rs:53:13
| |
LL | let guard = x.lock().unwrap(); LL | let guard = x.lock().unwrap();

View File

@@ -1,4 +1,4 @@
error: this RefCell Ref is held across an 'await' point. Consider ensuring the Ref is dropped before calling await. error: this RefCell Ref is held across an 'await' point. Consider ensuring the Ref is dropped before calling await
--> $DIR/await_holding_refcell_ref.rs:7:9 --> $DIR/await_holding_refcell_ref.rs:7:9
| |
LL | let b = x.borrow(); LL | let b = x.borrow();
@@ -13,7 +13,7 @@ LL | | baz().await
LL | | } LL | | }
| |_^ | |_^
error: this RefCell Ref is held across an 'await' point. Consider ensuring the Ref is dropped before calling await. error: this RefCell Ref is held across an 'await' point. Consider ensuring the Ref is dropped before calling await
--> $DIR/await_holding_refcell_ref.rs:12:9 --> $DIR/await_holding_refcell_ref.rs:12:9
| |
LL | let b = x.borrow_mut(); LL | let b = x.borrow_mut();
@@ -27,7 +27,7 @@ LL | | baz().await
LL | | } LL | | }
| |_^ | |_^
error: this RefCell Ref is held across an 'await' point. Consider ensuring the Ref is dropped before calling await. error: this RefCell Ref is held across an 'await' point. Consider ensuring the Ref is dropped before calling await
--> $DIR/await_holding_refcell_ref.rs:33:9 --> $DIR/await_holding_refcell_ref.rs:33:9
| |
LL | let b = x.borrow_mut(); LL | let b = x.borrow_mut();
@@ -45,7 +45,7 @@ LL | | first + second + third
LL | | } LL | | }
| |_^ | |_^
error: this RefCell Ref is held across an 'await' point. Consider ensuring the Ref is dropped before calling await. error: this RefCell Ref is held across an 'await' point. Consider ensuring the Ref is dropped before calling await
--> $DIR/await_holding_refcell_ref.rs:45:9 --> $DIR/await_holding_refcell_ref.rs:45:9
| |
LL | let b = x.borrow_mut(); LL | let b = x.borrow_mut();
@@ -63,7 +63,7 @@ LL | | first + second + third
LL | | } LL | | }
| |_^ | |_^
error: this RefCell Ref is held across an 'await' point. Consider ensuring the Ref is dropped before calling await. error: this RefCell Ref is held across an 'await' point. Consider ensuring the Ref is dropped before calling await
--> $DIR/await_holding_refcell_ref.rs:60:13 --> $DIR/await_holding_refcell_ref.rs:60:13
| |
LL | let b = x.borrow_mut(); LL | let b = x.borrow_mut();
@@ -77,7 +77,7 @@ LL | | baz().await
LL | | }; LL | | };
| |_____^ | |_____^
error: this RefCell Ref is held across an 'await' point. Consider ensuring the Ref is dropped before calling await. error: this RefCell Ref is held across an 'await' point. Consider ensuring the Ref is dropped before calling await
--> $DIR/await_holding_refcell_ref.rs:72:13 --> $DIR/await_holding_refcell_ref.rs:72:13
| |
LL | let b = x.borrow_mut(); LL | let b = x.borrow_mut();

View File

@@ -5,7 +5,7 @@ LL | pub fn test(foo: Box<Vec<bool>>) {
| ^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^
| |
= note: `-D clippy::box-vec` implied by `-D warnings` = note: `-D clippy::box-vec` implied by `-D warnings`
= help: `Vec<T>` is already on the heap, `Box<Vec<T>>` makes an extra allocation. = help: `Vec<T>` is already on the heap, `Box<Vec<T>>` makes an extra allocation
error: aborting due to previous error error: aborting due to previous error

View File

@@ -9,7 +9,7 @@ LL | | }
| |_____^ | |_____^
| |
= note: `-D clippy::comparison-chain` implied by `-D warnings` = note: `-D clippy::comparison-chain` implied by `-D warnings`
= help: Consider rewriting the `if` chain to use `cmp` and `match`. = help: consider rewriting the `if` chain to use `cmp` and `match`
error: `if` chain can be rewritten with `match` error: `if` chain can be rewritten with `match`
--> $DIR/comparison_chain.rs:27:5 --> $DIR/comparison_chain.rs:27:5
@@ -23,7 +23,7 @@ LL | | c()
LL | | } LL | | }
| |_____^ | |_____^
| |
= help: Consider rewriting the `if` chain to use `cmp` and `match`. = help: consider rewriting the `if` chain to use `cmp` and `match`
error: `if` chain can be rewritten with `match` error: `if` chain can be rewritten with `match`
--> $DIR/comparison_chain.rs:35:5 --> $DIR/comparison_chain.rs:35:5
@@ -37,7 +37,7 @@ LL | | c()
LL | | } LL | | }
| |_____^ | |_____^
| |
= help: Consider rewriting the `if` chain to use `cmp` and `match`. = help: consider rewriting the `if` chain to use `cmp` and `match`
error: `if` chain can be rewritten with `match` error: `if` chain can be rewritten with `match`
--> $DIR/comparison_chain.rs:43:5 --> $DIR/comparison_chain.rs:43:5
@@ -51,7 +51,7 @@ LL | | c()
LL | | } LL | | }
| |_____^ | |_____^
| |
= help: Consider rewriting the `if` chain to use `cmp` and `match`. = help: consider rewriting the `if` chain to use `cmp` and `match`
error: `if` chain can be rewritten with `match` error: `if` chain can be rewritten with `match`
--> $DIR/comparison_chain.rs:117:5 --> $DIR/comparison_chain.rs:117:5
@@ -63,7 +63,7 @@ LL | | b()
LL | | } LL | | }
| |_____^ | |_____^
| |
= help: Consider rewriting the `if` chain to use `cmp` and `match`. = help: consider rewriting the `if` chain to use `cmp` and `match`
error: `if` chain can be rewritten with `match` error: `if` chain can be rewritten with `match`
--> $DIR/comparison_chain.rs:123:5 --> $DIR/comparison_chain.rs:123:5
@@ -77,7 +77,7 @@ LL | | c()
LL | | } LL | | }
| |_____^ | |_____^
| |
= help: Consider rewriting the `if` chain to use `cmp` and `match`. = help: consider rewriting the `if` chain to use `cmp` and `match`
error: `if` chain can be rewritten with `match` error: `if` chain can be rewritten with `match`
--> $DIR/comparison_chain.rs:131:5 --> $DIR/comparison_chain.rs:131:5
@@ -91,7 +91,7 @@ LL | | c()
LL | | } LL | | }
| |_____^ | |_____^
| |
= help: Consider rewriting the `if` chain to use `cmp` and `match`. = help: consider rewriting the `if` chain to use `cmp` and `match`
error: aborting due to 7 previous errors error: aborting due to 7 previous errors

View File

@@ -1,4 +1,4 @@
error: calls to `std::mem::drop` with a value that implements `Copy`. Dropping a copy leaves the original intact. error: calls to `std::mem::drop` with a value that implements `Copy`. Dropping a copy leaves the original intact
--> $DIR/drop_forget_copy.rs:33:5 --> $DIR/drop_forget_copy.rs:33:5
| |
LL | drop(s1); LL | drop(s1);
@@ -11,7 +11,7 @@ note: argument has type SomeStruct
LL | drop(s1); LL | drop(s1);
| ^^ | ^^
error: calls to `std::mem::drop` with a value that implements `Copy`. Dropping a copy leaves the original intact. error: calls to `std::mem::drop` with a value that implements `Copy`. Dropping a copy leaves the original intact
--> $DIR/drop_forget_copy.rs:34:5 --> $DIR/drop_forget_copy.rs:34:5
| |
LL | drop(s2); LL | drop(s2);
@@ -23,7 +23,7 @@ note: argument has type SomeStruct
LL | drop(s2); LL | drop(s2);
| ^^ | ^^
error: calls to `std::mem::drop` with a value that implements `Copy`. Dropping a copy leaves the original intact. error: calls to `std::mem::drop` with a value that implements `Copy`. Dropping a copy leaves the original intact
--> $DIR/drop_forget_copy.rs:36:5 --> $DIR/drop_forget_copy.rs:36:5
| |
LL | drop(s4); LL | drop(s4);
@@ -35,7 +35,7 @@ note: argument has type SomeStruct
LL | drop(s4); LL | drop(s4);
| ^^ | ^^
error: calls to `std::mem::forget` with a value that implements `Copy`. Forgetting a copy leaves the original intact. error: calls to `std::mem::forget` with a value that implements `Copy`. Forgetting a copy leaves the original intact
--> $DIR/drop_forget_copy.rs:39:5 --> $DIR/drop_forget_copy.rs:39:5
| |
LL | forget(s1); LL | forget(s1);
@@ -48,7 +48,7 @@ note: argument has type SomeStruct
LL | forget(s1); LL | forget(s1);
| ^^ | ^^
error: calls to `std::mem::forget` with a value that implements `Copy`. Forgetting a copy leaves the original intact. error: calls to `std::mem::forget` with a value that implements `Copy`. Forgetting a copy leaves the original intact
--> $DIR/drop_forget_copy.rs:40:5 --> $DIR/drop_forget_copy.rs:40:5
| |
LL | forget(s2); LL | forget(s2);
@@ -60,7 +60,7 @@ note: argument has type SomeStruct
LL | forget(s2); LL | forget(s2);
| ^^ | ^^
error: calls to `std::mem::forget` with a value that implements `Copy`. Forgetting a copy leaves the original intact. error: calls to `std::mem::forget` with a value that implements `Copy`. Forgetting a copy leaves the original intact
--> $DIR/drop_forget_copy.rs:42:5 --> $DIR/drop_forget_copy.rs:42:5
| |
LL | forget(s4); LL | forget(s4);

View File

@@ -1,4 +1,4 @@
error: calls to `std::mem::drop` with a reference instead of an owned value. Dropping a reference does nothing. error: calls to `std::mem::drop` with a reference instead of an owned value. Dropping a reference does nothing
--> $DIR/drop_ref.rs:11:5 --> $DIR/drop_ref.rs:11:5
| |
LL | drop(&SomeStruct); LL | drop(&SomeStruct);
@@ -11,7 +11,7 @@ note: argument has type `&SomeStruct`
LL | drop(&SomeStruct); LL | drop(&SomeStruct);
| ^^^^^^^^^^^ | ^^^^^^^^^^^
error: calls to `std::mem::drop` with a reference instead of an owned value. Dropping a reference does nothing. error: calls to `std::mem::drop` with a reference instead of an owned value. Dropping a reference does nothing
--> $DIR/drop_ref.rs:14:5 --> $DIR/drop_ref.rs:14:5
| |
LL | drop(&owned1); LL | drop(&owned1);
@@ -23,7 +23,7 @@ note: argument has type `&SomeStruct`
LL | drop(&owned1); LL | drop(&owned1);
| ^^^^^^^ | ^^^^^^^
error: calls to `std::mem::drop` with a reference instead of an owned value. Dropping a reference does nothing. error: calls to `std::mem::drop` with a reference instead of an owned value. Dropping a reference does nothing
--> $DIR/drop_ref.rs:15:5 --> $DIR/drop_ref.rs:15:5
| |
LL | drop(&&owned1); LL | drop(&&owned1);
@@ -35,7 +35,7 @@ note: argument has type `&&SomeStruct`
LL | drop(&&owned1); LL | drop(&&owned1);
| ^^^^^^^^ | ^^^^^^^^
error: calls to `std::mem::drop` with a reference instead of an owned value. Dropping a reference does nothing. error: calls to `std::mem::drop` with a reference instead of an owned value. Dropping a reference does nothing
--> $DIR/drop_ref.rs:16:5 --> $DIR/drop_ref.rs:16:5
| |
LL | drop(&mut owned1); LL | drop(&mut owned1);
@@ -47,7 +47,7 @@ note: argument has type `&mut SomeStruct`
LL | drop(&mut owned1); LL | drop(&mut owned1);
| ^^^^^^^^^^^ | ^^^^^^^^^^^
error: calls to `std::mem::drop` with a reference instead of an owned value. Dropping a reference does nothing. error: calls to `std::mem::drop` with a reference instead of an owned value. Dropping a reference does nothing
--> $DIR/drop_ref.rs:20:5 --> $DIR/drop_ref.rs:20:5
| |
LL | drop(reference1); LL | drop(reference1);
@@ -59,7 +59,7 @@ note: argument has type `&SomeStruct`
LL | drop(reference1); LL | drop(reference1);
| ^^^^^^^^^^ | ^^^^^^^^^^
error: calls to `std::mem::drop` with a reference instead of an owned value. Dropping a reference does nothing. error: calls to `std::mem::drop` with a reference instead of an owned value. Dropping a reference does nothing
--> $DIR/drop_ref.rs:23:5 --> $DIR/drop_ref.rs:23:5
| |
LL | drop(reference2); LL | drop(reference2);
@@ -71,7 +71,7 @@ note: argument has type `&mut SomeStruct`
LL | drop(reference2); LL | drop(reference2);
| ^^^^^^^^^^ | ^^^^^^^^^^
error: calls to `std::mem::drop` with a reference instead of an owned value. Dropping a reference does nothing. error: calls to `std::mem::drop` with a reference instead of an owned value. Dropping a reference does nothing
--> $DIR/drop_ref.rs:26:5 --> $DIR/drop_ref.rs:26:5
| |
LL | drop(reference3); LL | drop(reference3);
@@ -83,7 +83,7 @@ note: argument has type `&SomeStruct`
LL | drop(reference3); LL | drop(reference3);
| ^^^^^^^^^^ | ^^^^^^^^^^
error: calls to `std::mem::drop` with a reference instead of an owned value. Dropping a reference does nothing. error: calls to `std::mem::drop` with a reference instead of an owned value. Dropping a reference does nothing
--> $DIR/drop_ref.rs:31:5 --> $DIR/drop_ref.rs:31:5
| |
LL | drop(&val); LL | drop(&val);
@@ -95,7 +95,7 @@ note: argument has type `&T`
LL | drop(&val); LL | drop(&val);
| ^^^^ | ^^^^
error: calls to `std::mem::drop` with a reference instead of an owned value. Dropping a reference does nothing. error: calls to `std::mem::drop` with a reference instead of an owned value. Dropping a reference does nothing
--> $DIR/drop_ref.rs:39:5 --> $DIR/drop_ref.rs:39:5
| |
LL | std::mem::drop(&SomeStruct); LL | std::mem::drop(&SomeStruct);

View File

@@ -1,4 +1,4 @@
error: the variable `_index` is used as a loop counter. error: the variable `_index` is used as a loop counter
--> $DIR/explicit_counter_loop.rs:6:5 --> $DIR/explicit_counter_loop.rs:6:5
| |
LL | for _v in &vec { LL | for _v in &vec {
@@ -6,37 +6,37 @@ LL | for _v in &vec {
| |
= note: `-D clippy::explicit-counter-loop` implied by `-D warnings` = note: `-D clippy::explicit-counter-loop` implied by `-D warnings`
error: the variable `_index` is used as a loop counter. error: the variable `_index` is used as a loop counter
--> $DIR/explicit_counter_loop.rs:12:5 --> $DIR/explicit_counter_loop.rs:12:5
| |
LL | for _v in &vec { LL | for _v in &vec {
| ^^^^^^^^^^^^^^ help: consider using: `for (_index, _v) in vec.iter().enumerate()` | ^^^^^^^^^^^^^^ help: consider using: `for (_index, _v) in vec.iter().enumerate()`
error: the variable `_index` is used as a loop counter. error: the variable `_index` is used as a loop counter
--> $DIR/explicit_counter_loop.rs:17:5 --> $DIR/explicit_counter_loop.rs:17:5
| |
LL | for _v in &mut vec { LL | for _v in &mut vec {
| ^^^^^^^^^^^^^^^^^^ help: consider using: `for (_index, _v) in vec.iter_mut().enumerate()` | ^^^^^^^^^^^^^^^^^^ help: consider using: `for (_index, _v) in vec.iter_mut().enumerate()`
error: the variable `_index` is used as a loop counter. error: the variable `_index` is used as a loop counter
--> $DIR/explicit_counter_loop.rs:22:5 --> $DIR/explicit_counter_loop.rs:22:5
| |
LL | for _v in vec { LL | for _v in vec {
| ^^^^^^^^^^^^^ help: consider using: `for (_index, _v) in vec.into_iter().enumerate()` | ^^^^^^^^^^^^^ help: consider using: `for (_index, _v) in vec.into_iter().enumerate()`
error: the variable `count` is used as a loop counter. error: the variable `count` is used as a loop counter
--> $DIR/explicit_counter_loop.rs:61:9 --> $DIR/explicit_counter_loop.rs:61:9
| |
LL | for ch in text.chars() { LL | for ch in text.chars() {
| ^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `for (count, ch) in text.chars().enumerate()` | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `for (count, ch) in text.chars().enumerate()`
error: the variable `count` is used as a loop counter. error: the variable `count` is used as a loop counter
--> $DIR/explicit_counter_loop.rs:72:9 --> $DIR/explicit_counter_loop.rs:72:9
| |
LL | for ch in text.chars() { LL | for ch in text.chars() {
| ^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `for (count, ch) in text.chars().enumerate()` | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `for (count, ch) in text.chars().enumerate()`
error: the variable `count` is used as a loop counter. error: the variable `count` is used as a loop counter
--> $DIR/explicit_counter_loop.rs:130:9 --> $DIR/explicit_counter_loop.rs:130:9
| |
LL | for _i in 3..10 { LL | for _i in 3..10 {

View File

@@ -13,7 +13,7 @@ note: the lint level is defined here
| |
LL | #![deny(clippy::fallible_impl_from)] LL | #![deny(clippy::fallible_impl_from)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^
= help: `From` is intended for infallible conversions only. Use `TryFrom` if there's a possibility for the conversion to fail. = help: `From` is intended for infallible conversions only. Use `TryFrom` if there's a possibility for the conversion to fail
note: potential failure(s) note: potential failure(s)
--> $DIR/fallible_impl_from.rs:7:13 --> $DIR/fallible_impl_from.rs:7:13
| |
@@ -32,7 +32,7 @@ LL | | }
LL | | } LL | | }
| |_^ | |_^
| |
= help: `From` is intended for infallible conversions only. Use `TryFrom` if there's a possibility for the conversion to fail. = help: `From` is intended for infallible conversions only. Use `TryFrom` if there's a possibility for the conversion to fail
note: potential failure(s) note: potential failure(s)
--> $DIR/fallible_impl_from.rs:29:13 --> $DIR/fallible_impl_from.rs:29:13
| |
@@ -52,7 +52,7 @@ LL | | }
LL | | } LL | | }
| |_^ | |_^
| |
= help: `From` is intended for infallible conversions only. Use `TryFrom` if there's a possibility for the conversion to fail. = help: `From` is intended for infallible conversions only. Use `TryFrom` if there's a possibility for the conversion to fail
note: potential failure(s) note: potential failure(s)
--> $DIR/fallible_impl_from.rs:37:17 --> $DIR/fallible_impl_from.rs:37:17
| |
@@ -79,7 +79,7 @@ LL | | }
LL | | } LL | | }
| |_^ | |_^
| |
= help: `From` is intended for infallible conversions only. Use `TryFrom` if there's a possibility for the conversion to fail. = help: `From` is intended for infallible conversions only. Use `TryFrom` if there's a possibility for the conversion to fail
note: potential failure(s) note: potential failure(s)
--> $DIR/fallible_impl_from.rs:55:12 --> $DIR/fallible_impl_from.rs:55:12
| |

View File

@@ -1,4 +1,4 @@
error: called `filter_map(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find_map(..)` instead. error: called `filter_map(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find_map(..)` instead
--> $DIR/filter_map_next.rs:7:26 --> $DIR/filter_map_next.rs:7:26
| |
LL | let _: Option<u32> = vec![1, 2, 3, 4, 5, 6] LL | let _: Option<u32> = vec![1, 2, 3, 4, 5, 6]

View File

@@ -1,4 +1,4 @@
error: called `filter_map(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find_map(..)` instead. error: called `filter_map(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find_map(..)` instead
--> $DIR/filter_map_next_fixable.rs:8:32 --> $DIR/filter_map_next_fixable.rs:8:32
| |
LL | let element: Option<i32> = a.iter().filter_map(|s| s.parse().ok()).next(); LL | let element: Option<i32> = a.iter().filter_map(|s| s.parse().ok()).next();

View File

@@ -1,4 +1,4 @@
error: for loop over `option`, which is an `Option`. This is more readably written as an `if let` statement. error: for loop over `option`, which is an `Option`. This is more readably written as an `if let` statement
--> $DIR/for_loops_over_fallibles.rs:9:14 --> $DIR/for_loops_over_fallibles.rs:9:14
| |
LL | for x in option { LL | for x in option {
@@ -7,7 +7,7 @@ LL | for x in option {
= note: `-D clippy::for-loops-over-fallibles` implied by `-D warnings` = note: `-D clippy::for-loops-over-fallibles` implied by `-D warnings`
= help: consider replacing `for x in option` with `if let Some(x) = option` = help: consider replacing `for x in option` with `if let Some(x) = option`
error: for loop over `result`, which is a `Result`. This is more readably written as an `if let` statement. error: for loop over `result`, which is a `Result`. This is more readably written as an `if let` statement
--> $DIR/for_loops_over_fallibles.rs:14:14 --> $DIR/for_loops_over_fallibles.rs:14:14
| |
LL | for x in result { LL | for x in result {
@@ -15,7 +15,7 @@ LL | for x in result {
| |
= help: consider replacing `for x in result` with `if let Ok(x) = result` = help: consider replacing `for x in result` with `if let Ok(x) = result`
error: for loop over `option.ok_or("x not found")`, which is a `Result`. This is more readably written as an `if let` statement. error: for loop over `option.ok_or("x not found")`, which is a `Result`. This is more readably written as an `if let` statement
--> $DIR/for_loops_over_fallibles.rs:18:14 --> $DIR/for_loops_over_fallibles.rs:18:14
| |
LL | for x in option.ok_or("x not found") { LL | for x in option.ok_or("x not found") {
@@ -31,7 +31,7 @@ LL | for x in v.iter().next() {
| |
= note: `#[deny(clippy::iter_next_loop)]` on by default = note: `#[deny(clippy::iter_next_loop)]` on by default
error: for loop over `v.iter().next().and(Some(0))`, which is an `Option`. This is more readably written as an `if let` statement. error: for loop over `v.iter().next().and(Some(0))`, which is an `Option`. This is more readably written as an `if let` statement
--> $DIR/for_loops_over_fallibles.rs:29:14 --> $DIR/for_loops_over_fallibles.rs:29:14
| |
LL | for x in v.iter().next().and(Some(0)) { LL | for x in v.iter().next().and(Some(0)) {
@@ -39,7 +39,7 @@ LL | for x in v.iter().next().and(Some(0)) {
| |
= help: consider replacing `for x in v.iter().next().and(Some(0))` with `if let Some(x) = v.iter().next().and(Some(0))` = help: consider replacing `for x in v.iter().next().and(Some(0))` with `if let Some(x) = v.iter().next().and(Some(0))`
error: for loop over `v.iter().next().ok_or("x not found")`, which is a `Result`. This is more readably written as an `if let` statement. error: for loop over `v.iter().next().ok_or("x not found")`, which is a `Result`. This is more readably written as an `if let` statement
--> $DIR/for_loops_over_fallibles.rs:33:14 --> $DIR/for_loops_over_fallibles.rs:33:14
| |
LL | for x in v.iter().next().ok_or("x not found") { LL | for x in v.iter().next().ok_or("x not found") {

View File

@@ -1,4 +1,4 @@
error: calls to `std::mem::forget` with a reference instead of an owned value. Forgetting a reference does nothing. error: calls to `std::mem::forget` with a reference instead of an owned value. Forgetting a reference does nothing
--> $DIR/forget_ref.rs:10:5 --> $DIR/forget_ref.rs:10:5
| |
LL | forget(&SomeStruct); LL | forget(&SomeStruct);
@@ -11,7 +11,7 @@ note: argument has type `&SomeStruct`
LL | forget(&SomeStruct); LL | forget(&SomeStruct);
| ^^^^^^^^^^^ | ^^^^^^^^^^^
error: calls to `std::mem::forget` with a reference instead of an owned value. Forgetting a reference does nothing. error: calls to `std::mem::forget` with a reference instead of an owned value. Forgetting a reference does nothing
--> $DIR/forget_ref.rs:13:5 --> $DIR/forget_ref.rs:13:5
| |
LL | forget(&owned); LL | forget(&owned);
@@ -23,7 +23,7 @@ note: argument has type `&SomeStruct`
LL | forget(&owned); LL | forget(&owned);
| ^^^^^^ | ^^^^^^
error: calls to `std::mem::forget` with a reference instead of an owned value. Forgetting a reference does nothing. error: calls to `std::mem::forget` with a reference instead of an owned value. Forgetting a reference does nothing
--> $DIR/forget_ref.rs:14:5 --> $DIR/forget_ref.rs:14:5
| |
LL | forget(&&owned); LL | forget(&&owned);
@@ -35,7 +35,7 @@ note: argument has type `&&SomeStruct`
LL | forget(&&owned); LL | forget(&&owned);
| ^^^^^^^ | ^^^^^^^
error: calls to `std::mem::forget` with a reference instead of an owned value. Forgetting a reference does nothing. error: calls to `std::mem::forget` with a reference instead of an owned value. Forgetting a reference does nothing
--> $DIR/forget_ref.rs:15:5 --> $DIR/forget_ref.rs:15:5
| |
LL | forget(&mut owned); LL | forget(&mut owned);
@@ -47,7 +47,7 @@ note: argument has type `&mut SomeStruct`
LL | forget(&mut owned); LL | forget(&mut owned);
| ^^^^^^^^^^ | ^^^^^^^^^^
error: calls to `std::mem::forget` with a reference instead of an owned value. Forgetting a reference does nothing. error: calls to `std::mem::forget` with a reference instead of an owned value. Forgetting a reference does nothing
--> $DIR/forget_ref.rs:19:5 --> $DIR/forget_ref.rs:19:5
| |
LL | forget(&*reference1); LL | forget(&*reference1);
@@ -59,7 +59,7 @@ note: argument has type `&SomeStruct`
LL | forget(&*reference1); LL | forget(&*reference1);
| ^^^^^^^^^^^^ | ^^^^^^^^^^^^
error: calls to `std::mem::forget` with a reference instead of an owned value. Forgetting a reference does nothing. error: calls to `std::mem::forget` with a reference instead of an owned value. Forgetting a reference does nothing
--> $DIR/forget_ref.rs:22:5 --> $DIR/forget_ref.rs:22:5
| |
LL | forget(reference2); LL | forget(reference2);
@@ -71,7 +71,7 @@ note: argument has type `&mut SomeStruct`
LL | forget(reference2); LL | forget(reference2);
| ^^^^^^^^^^ | ^^^^^^^^^^
error: calls to `std::mem::forget` with a reference instead of an owned value. Forgetting a reference does nothing. error: calls to `std::mem::forget` with a reference instead of an owned value. Forgetting a reference does nothing
--> $DIR/forget_ref.rs:25:5 --> $DIR/forget_ref.rs:25:5
| |
LL | forget(reference3); LL | forget(reference3);
@@ -83,7 +83,7 @@ note: argument has type `&SomeStruct`
LL | forget(reference3); LL | forget(reference3);
| ^^^^^^^^^^ | ^^^^^^^^^^
error: calls to `std::mem::forget` with a reference instead of an owned value. Forgetting a reference does nothing. error: calls to `std::mem::forget` with a reference instead of an owned value. Forgetting a reference does nothing
--> $DIR/forget_ref.rs:30:5 --> $DIR/forget_ref.rs:30:5
| |
LL | forget(&val); LL | forget(&val);
@@ -95,7 +95,7 @@ note: argument has type `&T`
LL | forget(&val); LL | forget(&val);
| ^^^^ | ^^^^
error: calls to `std::mem::forget` with a reference instead of an owned value. Forgetting a reference does nothing. error: calls to `std::mem::forget` with a reference instead of an owned value. Forgetting a reference does nothing
--> $DIR/forget_ref.rs:38:5 --> $DIR/forget_ref.rs:38:5
| |
LL | std::mem::forget(&SomeStruct); LL | std::mem::forget(&SomeStruct);

View File

@@ -1,51 +1,51 @@
error: indexing may panic. error: indexing may panic
--> $DIR/indexing_slicing_index.rs:10:5 --> $DIR/indexing_slicing_index.rs:10:5
| |
LL | x[index]; LL | x[index];
| ^^^^^^^^ | ^^^^^^^^
| |
= note: `-D clippy::indexing-slicing` implied by `-D warnings` = note: `-D clippy::indexing-slicing` implied by `-D warnings`
= help: Consider using `.get(n)` or `.get_mut(n)` instead = help: consider using `.get(n)` or `.get_mut(n)` instead
error: indexing may panic. error: indexing may panic
--> $DIR/indexing_slicing_index.rs:22:5 --> $DIR/indexing_slicing_index.rs:22:5
| |
LL | v[0]; LL | v[0];
| ^^^^ | ^^^^
| |
= help: Consider using `.get(n)` or `.get_mut(n)` instead = help: consider using `.get(n)` or `.get_mut(n)` instead
error: indexing may panic. error: indexing may panic
--> $DIR/indexing_slicing_index.rs:23:5 --> $DIR/indexing_slicing_index.rs:23:5
| |
LL | v[10]; LL | v[10];
| ^^^^^ | ^^^^^
| |
= help: Consider using `.get(n)` or `.get_mut(n)` instead = help: consider using `.get(n)` or `.get_mut(n)` instead
error: indexing may panic. error: indexing may panic
--> $DIR/indexing_slicing_index.rs:24:5 --> $DIR/indexing_slicing_index.rs:24:5
| |
LL | v[1 << 3]; LL | v[1 << 3];
| ^^^^^^^^^ | ^^^^^^^^^
| |
= help: Consider using `.get(n)` or `.get_mut(n)` instead = help: consider using `.get(n)` or `.get_mut(n)` instead
error: indexing may panic. error: indexing may panic
--> $DIR/indexing_slicing_index.rs:30:5 --> $DIR/indexing_slicing_index.rs:30:5
| |
LL | v[N]; LL | v[N];
| ^^^^ | ^^^^
| |
= help: Consider using `.get(n)` or `.get_mut(n)` instead = help: consider using `.get(n)` or `.get_mut(n)` instead
error: indexing may panic. error: indexing may panic
--> $DIR/indexing_slicing_index.rs:31:5 --> $DIR/indexing_slicing_index.rs:31:5
| |
LL | v[M]; LL | v[M];
| ^^^^ | ^^^^
| |
= help: Consider using `.get(n)` or `.get_mut(n)` instead = help: consider using `.get(n)` or `.get_mut(n)` instead
error: aborting due to 6 previous errors error: aborting due to 6 previous errors

View File

@@ -1,51 +1,51 @@
error: slicing may panic. error: slicing may panic
--> $DIR/indexing_slicing_slice.rs:12:6 --> $DIR/indexing_slicing_slice.rs:12:6
| |
LL | &x[index..]; LL | &x[index..];
| ^^^^^^^^^^ | ^^^^^^^^^^
| |
= note: `-D clippy::indexing-slicing` implied by `-D warnings` = note: `-D clippy::indexing-slicing` implied by `-D warnings`
= help: Consider using `.get(n..)` or .get_mut(n..)` instead = help: consider using `.get(n..)` or .get_mut(n..)` instead
error: slicing may panic. error: slicing may panic
--> $DIR/indexing_slicing_slice.rs:13:6 --> $DIR/indexing_slicing_slice.rs:13:6
| |
LL | &x[..index]; LL | &x[..index];
| ^^^^^^^^^^ | ^^^^^^^^^^
| |
= help: Consider using `.get(..n)`or `.get_mut(..n)` instead = help: consider using `.get(..n)`or `.get_mut(..n)` instead
error: slicing may panic. error: slicing may panic
--> $DIR/indexing_slicing_slice.rs:14:6 --> $DIR/indexing_slicing_slice.rs:14:6
| |
LL | &x[index_from..index_to]; LL | &x[index_from..index_to];
| ^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^
| |
= help: Consider using `.get(n..m)` or `.get_mut(n..m)` instead = help: consider using `.get(n..m)` or `.get_mut(n..m)` instead
error: slicing may panic. error: slicing may panic
--> $DIR/indexing_slicing_slice.rs:15:6 --> $DIR/indexing_slicing_slice.rs:15:6
| |
LL | &x[index_from..][..index_to]; // Two lint reports, one for [index_from..] and another for [..index_to]. LL | &x[index_from..][..index_to]; // Two lint reports, one for [index_from..] and another for [..index_to].
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
| |
= help: Consider using `.get(..n)`or `.get_mut(..n)` instead = help: consider using `.get(..n)`or `.get_mut(..n)` instead
error: slicing may panic. error: slicing may panic
--> $DIR/indexing_slicing_slice.rs:15:6 --> $DIR/indexing_slicing_slice.rs:15:6
| |
LL | &x[index_from..][..index_to]; // Two lint reports, one for [index_from..] and another for [..index_to]. LL | &x[index_from..][..index_to]; // Two lint reports, one for [index_from..] and another for [..index_to].
| ^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^
| |
= help: Consider using `.get(n..)` or .get_mut(n..)` instead = help: consider using `.get(n..)` or .get_mut(n..)` instead
error: slicing may panic. error: slicing may panic
--> $DIR/indexing_slicing_slice.rs:16:6 --> $DIR/indexing_slicing_slice.rs:16:6
| |
LL | &x[5..][..10]; // Two lint reports, one for out of bounds [5..] and another for slicing [..10]. LL | &x[5..][..10]; // Two lint reports, one for out of bounds [5..] and another for slicing [..10].
| ^^^^^^^^^^^^ | ^^^^^^^^^^^^
| |
= help: Consider using `.get(..n)`or `.get_mut(..n)` instead = help: consider using `.get(..n)`or `.get_mut(..n)` instead
error: range is out of bounds error: range is out of bounds
--> $DIR/indexing_slicing_slice.rs:16:8 --> $DIR/indexing_slicing_slice.rs:16:8
@@ -55,21 +55,21 @@ LL | &x[5..][..10]; // Two lint reports, one for out of bounds [5..] and ano
| |
= note: `-D clippy::out-of-bounds-indexing` implied by `-D warnings` = note: `-D clippy::out-of-bounds-indexing` implied by `-D warnings`
error: slicing may panic. error: slicing may panic
--> $DIR/indexing_slicing_slice.rs:17:6 --> $DIR/indexing_slicing_slice.rs:17:6
| |
LL | &x[0..][..3]; LL | &x[0..][..3];
| ^^^^^^^^^^^ | ^^^^^^^^^^^
| |
= help: Consider using `.get(..n)`or `.get_mut(..n)` instead = help: consider using `.get(..n)`or `.get_mut(..n)` instead
error: slicing may panic. error: slicing may panic
--> $DIR/indexing_slicing_slice.rs:18:6 --> $DIR/indexing_slicing_slice.rs:18:6
| |
LL | &x[1..][..5]; LL | &x[1..][..5];
| ^^^^^^^^^^^ | ^^^^^^^^^^^
| |
= help: Consider using `.get(..n)`or `.get_mut(..n)` instead = help: consider using `.get(..n)`or `.get_mut(..n)` instead
error: range is out of bounds error: range is out of bounds
--> $DIR/indexing_slicing_slice.rs:25:12 --> $DIR/indexing_slicing_slice.rs:25:12
@@ -83,21 +83,21 @@ error: range is out of bounds
LL | &y[..=4]; LL | &y[..=4];
| ^ | ^
error: slicing may panic. error: slicing may panic
--> $DIR/indexing_slicing_slice.rs:31:6 --> $DIR/indexing_slicing_slice.rs:31:6
| |
LL | &v[10..100]; LL | &v[10..100];
| ^^^^^^^^^^ | ^^^^^^^^^^
| |
= help: Consider using `.get(n..m)` or `.get_mut(n..m)` instead = help: consider using `.get(n..m)` or `.get_mut(n..m)` instead
error: slicing may panic. error: slicing may panic
--> $DIR/indexing_slicing_slice.rs:32:6 --> $DIR/indexing_slicing_slice.rs:32:6
| |
LL | &x[10..][..100]; // Two lint reports, one for [10..] and another for [..100]. LL | &x[10..][..100]; // Two lint reports, one for [10..] and another for [..100].
| ^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^
| |
= help: Consider using `.get(..n)`or `.get_mut(..n)` instead = help: consider using `.get(..n)`or `.get_mut(..n)` instead
error: range is out of bounds error: range is out of bounds
--> $DIR/indexing_slicing_slice.rs:32:8 --> $DIR/indexing_slicing_slice.rs:32:8
@@ -105,21 +105,21 @@ error: range is out of bounds
LL | &x[10..][..100]; // Two lint reports, one for [10..] and another for [..100]. LL | &x[10..][..100]; // Two lint reports, one for [10..] and another for [..100].
| ^^ | ^^
error: slicing may panic. error: slicing may panic
--> $DIR/indexing_slicing_slice.rs:33:6 --> $DIR/indexing_slicing_slice.rs:33:6
| |
LL | &v[10..]; LL | &v[10..];
| ^^^^^^^ | ^^^^^^^
| |
= help: Consider using `.get(n..)` or .get_mut(n..)` instead = help: consider using `.get(n..)` or .get_mut(n..)` instead
error: slicing may panic. error: slicing may panic
--> $DIR/indexing_slicing_slice.rs:34:6 --> $DIR/indexing_slicing_slice.rs:34:6
| |
LL | &v[..100]; LL | &v[..100];
| ^^^^^^^^ | ^^^^^^^^
| |
= help: Consider using `.get(..n)`or `.get_mut(..n)` instead = help: consider using `.get(..n)`or `.get_mut(..n)` instead
error: aborting due to 16 previous errors error: aborting due to 16 previous errors

View File

@@ -5,7 +5,7 @@ LL | let n = 1 / 2;
| ^^^^^ | ^^^^^
| |
= note: `-D clippy::integer-division` implied by `-D warnings` = note: `-D clippy::integer-division` implied by `-D warnings`
= help: division of integers may cause loss of precision. consider using floats. = help: division of integers may cause loss of precision. consider using floats
error: integer division error: integer division
--> $DIR/integer_division.rs:6:13 --> $DIR/integer_division.rs:6:13
@@ -13,7 +13,7 @@ error: integer division
LL | let o = 1 / two; LL | let o = 1 / two;
| ^^^^^^^ | ^^^^^^^
| |
= help: division of integers may cause loss of precision. consider using floats. = help: division of integers may cause loss of precision. consider using floats
error: integer division error: integer division
--> $DIR/integer_division.rs:7:13 --> $DIR/integer_division.rs:7:13
@@ -21,7 +21,7 @@ error: integer division
LL | let p = two / 4; LL | let p = two / 4;
| ^^^^^^^ | ^^^^^^^
| |
= help: division of integers may cause loss of precision. consider using floats. = help: division of integers may cause loss of precision. consider using floats
error: aborting due to 3 previous errors error: aborting due to 3 previous errors

View File

@@ -8,7 +8,7 @@ LL | | }
| |
= note: `-D clippy::new-ret-no-self` implied by `-D warnings` = note: `-D clippy::new-ret-no-self` implied by `-D warnings`
error: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead. error: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead
--> $DIR/methods.rs:126:13 --> $DIR/methods.rs:126:13
| |
LL | let _ = v.iter().filter(|&x| { LL | let _ = v.iter().filter(|&x| {

View File

@@ -1,4 +1,4 @@
error: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead. error: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead
--> $DIR/methods_fixable.rs:10:13 --> $DIR/methods_fixable.rs:10:13
| |
LL | let _ = v.iter().filter(|&x| *x < 0).next(); LL | let _ = v.iter().filter(|&x| *x < 0).next();

View File

@@ -7,7 +7,7 @@ LL | #[cfg(linux)]
| help: try: `target_os = "linux"` | help: try: `target_os = "linux"`
| |
= note: `-D clippy::mismatched-target-os` implied by `-D warnings` = note: `-D clippy::mismatched-target-os` implied by `-D warnings`
= help: Did you mean `unix`? = help: did you mean `unix`?
error: operating system used in target family position error: operating system used in target family position
--> $DIR/mismatched_target_os_unix.rs:9:1 --> $DIR/mismatched_target_os_unix.rs:9:1
@@ -17,7 +17,7 @@ LL | #[cfg(freebsd)]
| | | |
| help: try: `target_os = "freebsd"` | help: try: `target_os = "freebsd"`
| |
= help: Did you mean `unix`? = help: did you mean `unix`?
error: operating system used in target family position error: operating system used in target family position
--> $DIR/mismatched_target_os_unix.rs:12:1 --> $DIR/mismatched_target_os_unix.rs:12:1
@@ -27,7 +27,7 @@ LL | #[cfg(dragonfly)]
| | | |
| help: try: `target_os = "dragonfly"` | help: try: `target_os = "dragonfly"`
| |
= help: Did you mean `unix`? = help: did you mean `unix`?
error: operating system used in target family position error: operating system used in target family position
--> $DIR/mismatched_target_os_unix.rs:15:1 --> $DIR/mismatched_target_os_unix.rs:15:1
@@ -37,7 +37,7 @@ LL | #[cfg(openbsd)]
| | | |
| help: try: `target_os = "openbsd"` | help: try: `target_os = "openbsd"`
| |
= help: Did you mean `unix`? = help: did you mean `unix`?
error: operating system used in target family position error: operating system used in target family position
--> $DIR/mismatched_target_os_unix.rs:18:1 --> $DIR/mismatched_target_os_unix.rs:18:1
@@ -47,7 +47,7 @@ LL | #[cfg(netbsd)]
| | | |
| help: try: `target_os = "netbsd"` | help: try: `target_os = "netbsd"`
| |
= help: Did you mean `unix`? = help: did you mean `unix`?
error: operating system used in target family position error: operating system used in target family position
--> $DIR/mismatched_target_os_unix.rs:21:1 --> $DIR/mismatched_target_os_unix.rs:21:1
@@ -57,7 +57,7 @@ LL | #[cfg(macos)]
| | | |
| help: try: `target_os = "macos"` | help: try: `target_os = "macos"`
| |
= help: Did you mean `unix`? = help: did you mean `unix`?
error: operating system used in target family position error: operating system used in target family position
--> $DIR/mismatched_target_os_unix.rs:24:1 --> $DIR/mismatched_target_os_unix.rs:24:1
@@ -67,7 +67,7 @@ LL | #[cfg(ios)]
| | | |
| help: try: `target_os = "ios"` | help: try: `target_os = "ios"`
| |
= help: Did you mean `unix`? = help: did you mean `unix`?
error: operating system used in target family position error: operating system used in target family position
--> $DIR/mismatched_target_os_unix.rs:27:1 --> $DIR/mismatched_target_os_unix.rs:27:1
@@ -77,7 +77,7 @@ LL | #[cfg(android)]
| | | |
| help: try: `target_os = "android"` | help: try: `target_os = "android"`
| |
= help: Did you mean `unix`? = help: did you mean `unix`?
error: operating system used in target family position error: operating system used in target family position
--> $DIR/mismatched_target_os_unix.rs:30:1 --> $DIR/mismatched_target_os_unix.rs:30:1
@@ -87,7 +87,7 @@ LL | #[cfg(emscripten)]
| | | |
| help: try: `target_os = "emscripten"` | help: try: `target_os = "emscripten"`
| |
= help: Did you mean `unix`? = help: did you mean `unix`?
error: operating system used in target family position error: operating system used in target family position
--> $DIR/mismatched_target_os_unix.rs:33:1 --> $DIR/mismatched_target_os_unix.rs:33:1
@@ -97,7 +97,7 @@ LL | #[cfg(fuchsia)]
| | | |
| help: try: `target_os = "fuchsia"` | help: try: `target_os = "fuchsia"`
| |
= help: Did you mean `unix`? = help: did you mean `unix`?
error: operating system used in target family position error: operating system used in target family position
--> $DIR/mismatched_target_os_unix.rs:36:1 --> $DIR/mismatched_target_os_unix.rs:36:1
@@ -107,7 +107,7 @@ LL | #[cfg(haiku)]
| | | |
| help: try: `target_os = "haiku"` | help: try: `target_os = "haiku"`
| |
= help: Did you mean `unix`? = help: did you mean `unix`?
error: operating system used in target family position error: operating system used in target family position
--> $DIR/mismatched_target_os_unix.rs:39:1 --> $DIR/mismatched_target_os_unix.rs:39:1
@@ -117,7 +117,7 @@ LL | #[cfg(illumos)]
| | | |
| help: try: `target_os = "illumos"` | help: try: `target_os = "illumos"`
| |
= help: Did you mean `unix`? = help: did you mean `unix`?
error: operating system used in target family position error: operating system used in target family position
--> $DIR/mismatched_target_os_unix.rs:42:1 --> $DIR/mismatched_target_os_unix.rs:42:1
@@ -127,7 +127,7 @@ LL | #[cfg(l4re)]
| | | |
| help: try: `target_os = "l4re"` | help: try: `target_os = "l4re"`
| |
= help: Did you mean `unix`? = help: did you mean `unix`?
error: operating system used in target family position error: operating system used in target family position
--> $DIR/mismatched_target_os_unix.rs:45:1 --> $DIR/mismatched_target_os_unix.rs:45:1
@@ -137,7 +137,7 @@ LL | #[cfg(redox)]
| | | |
| help: try: `target_os = "redox"` | help: try: `target_os = "redox"`
| |
= help: Did you mean `unix`? = help: did you mean `unix`?
error: operating system used in target family position error: operating system used in target family position
--> $DIR/mismatched_target_os_unix.rs:48:1 --> $DIR/mismatched_target_os_unix.rs:48:1
@@ -147,7 +147,7 @@ LL | #[cfg(solaris)]
| | | |
| help: try: `target_os = "solaris"` | help: try: `target_os = "solaris"`
| |
= help: Did you mean `unix`? = help: did you mean `unix`?
error: operating system used in target family position error: operating system used in target family position
--> $DIR/mismatched_target_os_unix.rs:51:1 --> $DIR/mismatched_target_os_unix.rs:51:1
@@ -157,7 +157,7 @@ LL | #[cfg(vxworks)]
| | | |
| help: try: `target_os = "vxworks"` | help: try: `target_os = "vxworks"`
| |
= help: Did you mean `unix`? = help: did you mean `unix`?
error: operating system used in target family position error: operating system used in target family position
--> $DIR/mismatched_target_os_unix.rs:55:1 --> $DIR/mismatched_target_os_unix.rs:55:1
@@ -165,7 +165,7 @@ error: operating system used in target family position
LL | #[cfg(all(not(any(solaris, linux)), freebsd))] LL | #[cfg(all(not(any(solaris, linux)), freebsd))]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| |
= help: Did you mean `unix`? = help: did you mean `unix`?
help: try help: try
| |
LL | #[cfg(all(not(any(target_os = "solaris", linux)), freebsd))] LL | #[cfg(all(not(any(target_os = "solaris", linux)), freebsd))]

View File

@@ -6,7 +6,7 @@ LL | | indirect_iter.into_iter().map(|x| (x, x + 1)).collect::<HashMap<_, _>
| |____^ | |____^
| |
= note: `-D clippy::needless-collect` implied by `-D warnings` = note: `-D clippy::needless-collect` implied by `-D warnings`
help: Use the original Iterator instead of collecting it and then producing a new one help: use the original Iterator instead of collecting it and then producing a new one
| |
LL | LL |
LL | sample.iter().map(|x| (x, x + 1)).collect::<HashMap<_, _>>(); LL | sample.iter().map(|x| (x, x + 1)).collect::<HashMap<_, _>>();
@@ -19,7 +19,7 @@ LL | / let indirect_len = sample.iter().collect::<VecDeque<_>>();
LL | | indirect_len.len(); LL | | indirect_len.len();
| |____^ | |____^
| |
help: Take the original Iterator's count instead of collecting it and finding the length help: take the original Iterator's count instead of collecting it and finding the length
| |
LL | LL |
LL | sample.iter().count(); LL | sample.iter().count();
@@ -32,7 +32,7 @@ LL | / let indirect_empty = sample.iter().collect::<VecDeque<_>>();
LL | | indirect_empty.is_empty(); LL | | indirect_empty.is_empty();
| |____^ | |____^
| |
help: Check if the original Iterator has anything instead of collecting it and seeing if it's empty help: check if the original Iterator has anything instead of collecting it and seeing if it's empty
| |
LL | LL |
LL | sample.iter().next().is_none(); LL | sample.iter().next().is_none();
@@ -45,7 +45,7 @@ LL | / let indirect_contains = sample.iter().collect::<VecDeque<_>>();
LL | | indirect_contains.contains(&&5); LL | | indirect_contains.contains(&&5);
| |____^ | |____^
| |
help: Check if the original Iterator contains an element instead of collecting then checking help: check if the original Iterator contains an element instead of collecting then checking
| |
LL | LL |
LL | sample.iter().any(|x| x == &5); LL | sample.iter().any(|x| x == &5);
@@ -58,7 +58,7 @@ LL | / let non_copy_contains = sample.into_iter().collect::<Vec<_>>();
LL | | non_copy_contains.contains(&a); LL | | non_copy_contains.contains(&a);
| |____^ | |____^
| |
help: Check if the original Iterator contains an element instead of collecting then checking help: check if the original Iterator contains an element instead of collecting then checking
| |
LL | LL |
LL | sample.into_iter().any(|x| x == a); LL | sample.into_iter().any(|x| x == a);

View File

@@ -1,4 +1,4 @@
error: Question mark operator is useless here error: question mark operator is useless here
--> $DIR/needless_question_mark.rs:23:12 --> $DIR/needless_question_mark.rs:23:12
| |
LL | return Some(to.magic?); LL | return Some(to.magic?);
@@ -6,79 +6,79 @@ LL | return Some(to.magic?);
| |
= note: `-D clippy::needless-question-mark` implied by `-D warnings` = note: `-D clippy::needless-question-mark` implied by `-D warnings`
error: Question mark operator is useless here error: question mark operator is useless here
--> $DIR/needless_question_mark.rs:31:12 --> $DIR/needless_question_mark.rs:31:12
| |
LL | return Some(to.magic?) LL | return Some(to.magic?)
| ^^^^^^^^^^^^^^^ help: try: `to.magic` | ^^^^^^^^^^^^^^^ help: try: `to.magic`
error: Question mark operator is useless here error: question mark operator is useless here
--> $DIR/needless_question_mark.rs:36:5 --> $DIR/needless_question_mark.rs:36:5
| |
LL | Some(to.magic?) LL | Some(to.magic?)
| ^^^^^^^^^^^^^^^ help: try: `to.magic` | ^^^^^^^^^^^^^^^ help: try: `to.magic`
error: Question mark operator is useless here error: question mark operator is useless here
--> $DIR/needless_question_mark.rs:41:21 --> $DIR/needless_question_mark.rs:41:21
| |
LL | to.and_then(|t| Some(t.magic?)) LL | to.and_then(|t| Some(t.magic?))
| ^^^^^^^^^^^^^^ help: try: `t.magic` | ^^^^^^^^^^^^^^ help: try: `t.magic`
error: Question mark operator is useless here error: question mark operator is useless here
--> $DIR/needless_question_mark.rs:50:9 --> $DIR/needless_question_mark.rs:50:9
| |
LL | Some(t.magic?) LL | Some(t.magic?)
| ^^^^^^^^^^^^^^ help: try: `t.magic` | ^^^^^^^^^^^^^^ help: try: `t.magic`
error: Question mark operator is useless here error: question mark operator is useless here
--> $DIR/needless_question_mark.rs:55:12 --> $DIR/needless_question_mark.rs:55:12
| |
LL | return Ok(tr.magic?); LL | return Ok(tr.magic?);
| ^^^^^^^^^^^^^ help: try: `tr.magic` | ^^^^^^^^^^^^^ help: try: `tr.magic`
error: Question mark operator is useless here error: question mark operator is useless here
--> $DIR/needless_question_mark.rs:62:12 --> $DIR/needless_question_mark.rs:62:12
| |
LL | return Ok(tr.magic?) LL | return Ok(tr.magic?)
| ^^^^^^^^^^^^^ help: try: `tr.magic` | ^^^^^^^^^^^^^ help: try: `tr.magic`
error: Question mark operator is useless here error: question mark operator is useless here
--> $DIR/needless_question_mark.rs:66:5 --> $DIR/needless_question_mark.rs:66:5
| |
LL | Ok(tr.magic?) LL | Ok(tr.magic?)
| ^^^^^^^^^^^^^ help: try: `tr.magic` | ^^^^^^^^^^^^^ help: try: `tr.magic`
error: Question mark operator is useless here error: question mark operator is useless here
--> $DIR/needless_question_mark.rs:70:21 --> $DIR/needless_question_mark.rs:70:21
| |
LL | tr.and_then(|t| Ok(t.magic?)) LL | tr.and_then(|t| Ok(t.magic?))
| ^^^^^^^^^^^^ help: try: `t.magic` | ^^^^^^^^^^^^ help: try: `t.magic`
error: Question mark operator is useless here error: question mark operator is useless here
--> $DIR/needless_question_mark.rs:78:9 --> $DIR/needless_question_mark.rs:78:9
| |
LL | Ok(t.magic?) LL | Ok(t.magic?)
| ^^^^^^^^^^^^ help: try: `t.magic` | ^^^^^^^^^^^^ help: try: `t.magic`
error: Question mark operator is useless here error: question mark operator is useless here
--> $DIR/needless_question_mark.rs:85:16 --> $DIR/needless_question_mark.rs:85:16
| |
LL | return Ok(t.magic?); LL | return Ok(t.magic?);
| ^^^^^^^^^^^^ help: try: `t.magic` | ^^^^^^^^^^^^ help: try: `t.magic`
error: Question mark operator is useless here error: question mark operator is useless here
--> $DIR/needless_question_mark.rs:138:9 --> $DIR/needless_question_mark.rs:138:9
| |
LL | Ok(to.magic?) // should be triggered LL | Ok(to.magic?) // should be triggered
| ^^^^^^^^^^^^^ help: try: `to.magic` | ^^^^^^^^^^^^^ help: try: `to.magic`
error: Question mark operator is useless here error: question mark operator is useless here
--> $DIR/needless_question_mark.rs:154:9 --> $DIR/needless_question_mark.rs:154:9
| |
LL | Some(to.magic?) // should be triggered LL | Some(to.magic?) // should be triggered
| ^^^^^^^^^^^^^^^ help: try: `to.magic` | ^^^^^^^^^^^^^^^ help: try: `to.magic`
error: Question mark operator is useless here error: question mark operator is useless here
--> $DIR/needless_question_mark.rs:162:9 --> $DIR/needless_question_mark.rs:162:9
| |
LL | Ok(to.magic?) // should be triggered LL | Ok(to.magic?) // should be triggered

View File

@@ -1,4 +1,4 @@
error: the loop variable `i` is only used to index `vec`. error: the loop variable `i` is only used to index `vec`
--> $DIR/needless_range_loop.rs:10:14 --> $DIR/needless_range_loop.rs:10:14
| |
LL | for i in 0..vec.len() { LL | for i in 0..vec.len() {
@@ -10,7 +10,7 @@ help: consider using an iterator
LL | for <item> in &vec { LL | for <item> in &vec {
| ^^^^^^ ^^^^ | ^^^^^^ ^^^^
error: the loop variable `i` is only used to index `vec`. error: the loop variable `i` is only used to index `vec`
--> $DIR/needless_range_loop.rs:19:14 --> $DIR/needless_range_loop.rs:19:14
| |
LL | for i in 0..vec.len() { LL | for i in 0..vec.len() {
@@ -21,7 +21,7 @@ help: consider using an iterator
LL | for <item> in &vec { LL | for <item> in &vec {
| ^^^^^^ ^^^^ | ^^^^^^ ^^^^
error: the loop variable `j` is only used to index `STATIC`. error: the loop variable `j` is only used to index `STATIC`
--> $DIR/needless_range_loop.rs:24:14 --> $DIR/needless_range_loop.rs:24:14
| |
LL | for j in 0..4 { LL | for j in 0..4 {
@@ -32,7 +32,7 @@ help: consider using an iterator
LL | for <item> in &STATIC { LL | for <item> in &STATIC {
| ^^^^^^ ^^^^^^^ | ^^^^^^ ^^^^^^^
error: the loop variable `j` is only used to index `CONST`. error: the loop variable `j` is only used to index `CONST`
--> $DIR/needless_range_loop.rs:28:14 --> $DIR/needless_range_loop.rs:28:14
| |
LL | for j in 0..4 { LL | for j in 0..4 {
@@ -54,7 +54,7 @@ help: consider using an iterator
LL | for (i, <item>) in vec.iter().enumerate() { LL | for (i, <item>) in vec.iter().enumerate() {
| ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^
error: the loop variable `i` is only used to index `vec2`. error: the loop variable `i` is only used to index `vec2`
--> $DIR/needless_range_loop.rs:40:14 --> $DIR/needless_range_loop.rs:40:14
| |
LL | for i in 0..vec.len() { LL | for i in 0..vec.len() {
@@ -65,7 +65,7 @@ help: consider using an iterator
LL | for <item> in vec2.iter().take(vec.len()) { LL | for <item> in vec2.iter().take(vec.len()) {
| ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: the loop variable `i` is only used to index `vec`. error: the loop variable `i` is only used to index `vec`
--> $DIR/needless_range_loop.rs:44:14 --> $DIR/needless_range_loop.rs:44:14
| |
LL | for i in 5..vec.len() { LL | for i in 5..vec.len() {
@@ -76,7 +76,7 @@ help: consider using an iterator
LL | for <item> in vec.iter().skip(5) { LL | for <item> in vec.iter().skip(5) {
| ^^^^^^ ^^^^^^^^^^^^^^^^^^ | ^^^^^^ ^^^^^^^^^^^^^^^^^^
error: the loop variable `i` is only used to index `vec`. error: the loop variable `i` is only used to index `vec`
--> $DIR/needless_range_loop.rs:48:14 --> $DIR/needless_range_loop.rs:48:14
| |
LL | for i in 0..MAX_LEN { LL | for i in 0..MAX_LEN {
@@ -87,7 +87,7 @@ help: consider using an iterator
LL | for <item> in vec.iter().take(MAX_LEN) { LL | for <item> in vec.iter().take(MAX_LEN) {
| ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^
error: the loop variable `i` is only used to index `vec`. error: the loop variable `i` is only used to index `vec`
--> $DIR/needless_range_loop.rs:52:14 --> $DIR/needless_range_loop.rs:52:14
| |
LL | for i in 0..=MAX_LEN { LL | for i in 0..=MAX_LEN {
@@ -98,7 +98,7 @@ help: consider using an iterator
LL | for <item> in vec.iter().take(MAX_LEN + 1) { LL | for <item> in vec.iter().take(MAX_LEN + 1) {
| ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: the loop variable `i` is only used to index `vec`. error: the loop variable `i` is only used to index `vec`
--> $DIR/needless_range_loop.rs:56:14 --> $DIR/needless_range_loop.rs:56:14
| |
LL | for i in 5..10 { LL | for i in 5..10 {
@@ -109,7 +109,7 @@ help: consider using an iterator
LL | for <item> in vec.iter().take(10).skip(5) { LL | for <item> in vec.iter().take(10).skip(5) {
| ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: the loop variable `i` is only used to index `vec`. error: the loop variable `i` is only used to index `vec`
--> $DIR/needless_range_loop.rs:60:14 --> $DIR/needless_range_loop.rs:60:14
| |
LL | for i in 5..=10 { LL | for i in 5..=10 {

View File

@@ -1,4 +1,4 @@
error: the loop variable `i` is only used to index `ns`. error: the loop variable `i` is only used to index `ns`
--> $DIR/needless_range_loop2.rs:10:14 --> $DIR/needless_range_loop2.rs:10:14
| |
LL | for i in 3..10 { LL | for i in 3..10 {
@@ -10,7 +10,7 @@ help: consider using an iterator
LL | for <item> in ns.iter().take(10).skip(3) { LL | for <item> in ns.iter().take(10).skip(3) {
| ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^
error: the loop variable `i` is only used to index `ms`. error: the loop variable `i` is only used to index `ms`
--> $DIR/needless_range_loop2.rs:31:14 --> $DIR/needless_range_loop2.rs:31:14
| |
LL | for i in 0..ms.len() { LL | for i in 0..ms.len() {
@@ -21,7 +21,7 @@ help: consider using an iterator
LL | for <item> in &mut ms { LL | for <item> in &mut ms {
| ^^^^^^ ^^^^^^^ | ^^^^^^ ^^^^^^^
error: the loop variable `i` is only used to index `ms`. error: the loop variable `i` is only used to index `ms`
--> $DIR/needless_range_loop2.rs:37:14 --> $DIR/needless_range_loop2.rs:37:14
| |
LL | for i in 0..ms.len() { LL | for i in 0..ms.len() {
@@ -32,7 +32,7 @@ help: consider using an iterator
LL | for <item> in &mut ms { LL | for <item> in &mut ms {
| ^^^^^^ ^^^^^^^ | ^^^^^^ ^^^^^^^
error: the loop variable `i` is only used to index `vec`. error: the loop variable `i` is only used to index `vec`
--> $DIR/needless_range_loop2.rs:61:14 --> $DIR/needless_range_loop2.rs:61:14
| |
LL | for i in x..x + 4 { LL | for i in x..x + 4 {
@@ -43,7 +43,7 @@ help: consider using an iterator
LL | for <item> in vec.iter_mut().skip(x).take(4) { LL | for <item> in vec.iter_mut().skip(x).take(4) {
| ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: the loop variable `i` is only used to index `vec`. error: the loop variable `i` is only used to index `vec`
--> $DIR/needless_range_loop2.rs:68:14 --> $DIR/needless_range_loop2.rs:68:14
| |
LL | for i in x..=x + 4 { LL | for i in x..=x + 4 {
@@ -54,7 +54,7 @@ help: consider using an iterator
LL | for <item> in vec.iter_mut().skip(x).take(4 + 1) { LL | for <item> in vec.iter_mut().skip(x).take(4 + 1) {
| ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: the loop variable `i` is only used to index `arr`. error: the loop variable `i` is only used to index `arr`
--> $DIR/needless_range_loop2.rs:74:14 --> $DIR/needless_range_loop2.rs:74:14
| |
LL | for i in 0..3 { LL | for i in 0..3 {
@@ -65,7 +65,7 @@ help: consider using an iterator
LL | for <item> in &arr { LL | for <item> in &arr {
| ^^^^^^ ^^^^ | ^^^^^^ ^^^^
error: the loop variable `i` is only used to index `arr`. error: the loop variable `i` is only used to index `arr`
--> $DIR/needless_range_loop2.rs:78:14 --> $DIR/needless_range_loop2.rs:78:14
| |
LL | for i in 0..2 { LL | for i in 0..2 {
@@ -76,7 +76,7 @@ help: consider using an iterator
LL | for <item> in arr.iter().take(2) { LL | for <item> in arr.iter().take(2) {
| ^^^^^^ ^^^^^^^^^^^^^^^^^^ | ^^^^^^ ^^^^^^^^^^^^^^^^^^
error: the loop variable `i` is only used to index `arr`. error: the loop variable `i` is only used to index `arr`
--> $DIR/needless_range_loop2.rs:82:14 --> $DIR/needless_range_loop2.rs:82:14
| |
LL | for i in 1..3 { LL | for i in 1..3 {

View File

@@ -1,4 +1,4 @@
error: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. error: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices
--> $DIR/ptr_arg.rs:7:14 --> $DIR/ptr_arg.rs:7:14
| |
LL | fn do_vec(x: &Vec<i64>) { LL | fn do_vec(x: &Vec<i64>) {
@@ -6,25 +6,25 @@ LL | fn do_vec(x: &Vec<i64>) {
| |
= note: `-D clippy::ptr-arg` implied by `-D warnings` = note: `-D clippy::ptr-arg` implied by `-D warnings`
error: writing `&String` instead of `&str` involves a new object where a slice will do. error: writing `&String` instead of `&str` involves a new object where a slice will do
--> $DIR/ptr_arg.rs:16:14 --> $DIR/ptr_arg.rs:16:14
| |
LL | fn do_str(x: &String) { LL | fn do_str(x: &String) {
| ^^^^^^^ help: change this to: `&str` | ^^^^^^^ help: change this to: `&str`
error: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do. error: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do
--> $DIR/ptr_arg.rs:25:15 --> $DIR/ptr_arg.rs:25:15
| |
LL | fn do_path(x: &PathBuf) { LL | fn do_path(x: &PathBuf) {
| ^^^^^^^^ help: change this to: `&Path` | ^^^^^^^^ help: change this to: `&Path`
error: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. error: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices
--> $DIR/ptr_arg.rs:38:18 --> $DIR/ptr_arg.rs:38:18
| |
LL | fn do_vec(x: &Vec<i64>); LL | fn do_vec(x: &Vec<i64>);
| ^^^^^^^^^ help: change this to: `&[i64]` | ^^^^^^^^^ help: change this to: `&[i64]`
error: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. error: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices
--> $DIR/ptr_arg.rs:51:14 --> $DIR/ptr_arg.rs:51:14
| |
LL | fn cloned(x: &Vec<u8>) -> Vec<u8> { LL | fn cloned(x: &Vec<u8>) -> Vec<u8> {
@@ -43,7 +43,7 @@ help: change `x.clone()` to
LL | x.to_owned() LL | x.to_owned()
| |
error: writing `&String` instead of `&str` involves a new object where a slice will do. error: writing `&String` instead of `&str` involves a new object where a slice will do
--> $DIR/ptr_arg.rs:60:18 --> $DIR/ptr_arg.rs:60:18
| |
LL | fn str_cloned(x: &String) -> String { LL | fn str_cloned(x: &String) -> String {
@@ -66,7 +66,7 @@ help: change `x.clone()` to
LL | x.to_string() LL | x.to_string()
| |
error: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do. error: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do
--> $DIR/ptr_arg.rs:68:19 --> $DIR/ptr_arg.rs:68:19
| |
LL | fn path_cloned(x: &PathBuf) -> PathBuf { LL | fn path_cloned(x: &PathBuf) -> PathBuf {
@@ -89,7 +89,7 @@ help: change `x.clone()` to
LL | x.to_path_buf() LL | x.to_path_buf()
| |
error: writing `&String` instead of `&str` involves a new object where a slice will do. error: writing `&String` instead of `&str` involves a new object where a slice will do
--> $DIR/ptr_arg.rs:76:44 --> $DIR/ptr_arg.rs:76:44
| |
LL | fn false_positive_capacity(x: &Vec<u8>, y: &String) { LL | fn false_positive_capacity(x: &Vec<u8>, y: &String) {
@@ -108,13 +108,13 @@ help: change `y.as_str()` to
LL | let c = y; LL | let c = y;
| ^ | ^
error: using a reference to `Cow` is not recommended. error: using a reference to `Cow` is not recommended
--> $DIR/ptr_arg.rs:90:25 --> $DIR/ptr_arg.rs:90:25
| |
LL | fn test_cow_with_ref(c: &Cow<[i32]>) {} LL | fn test_cow_with_ref(c: &Cow<[i32]>) {}
| ^^^^^^^^^^^ help: change this to: `&[i32]` | ^^^^^^^^^^^ help: change this to: `&[i32]`
error: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. error: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices
--> $DIR/ptr_arg.rs:143:21 --> $DIR/ptr_arg.rs:143:21
| |
LL | fn foo_vec(vec: &Vec<u8>) { LL | fn foo_vec(vec: &Vec<u8>) {
@@ -133,7 +133,7 @@ help: change `vec.clone()` to
LL | let _ = vec.to_owned().clone(); LL | let _ = vec.to_owned().clone();
| ^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^
error: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do. error: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do
--> $DIR/ptr_arg.rs:148:23 --> $DIR/ptr_arg.rs:148:23
| |
LL | fn foo_path(path: &PathBuf) { LL | fn foo_path(path: &PathBuf) {
@@ -152,7 +152,7 @@ help: change `path.clone()` to
LL | let _ = path.to_path_buf().clone(); LL | let _ = path.to_path_buf().clone();
| ^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^
error: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do. error: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do
--> $DIR/ptr_arg.rs:153:21 --> $DIR/ptr_arg.rs:153:21
| |
LL | fn foo_str(str: &PathBuf) { LL | fn foo_str(str: &PathBuf) {

View File

@@ -1,4 +1,4 @@
error: This sequence of operators looks suspiciously like a bug. error: this sequence of operators looks suspiciously like a bug
--> $DIR/suspicious_operation_groupings.rs:14:9 --> $DIR/suspicious_operation_groupings.rs:14:9
| |
LL | self.x == other.y && self.y == other.y && self.z == other.z LL | self.x == other.y && self.y == other.y && self.z == other.z
@@ -6,157 +6,157 @@ LL | self.x == other.y && self.y == other.y && self.z == other.z
| |
= note: `-D clippy::suspicious-operation-groupings` implied by `-D warnings` = note: `-D clippy::suspicious-operation-groupings` implied by `-D warnings`
error: This sequence of operators looks suspiciously like a bug. error: this sequence of operators looks suspiciously like a bug
--> $DIR/suspicious_operation_groupings.rs:14:9 --> $DIR/suspicious_operation_groupings.rs:14:9
| |
LL | self.x == other.y && self.y == other.y && self.z == other.z LL | self.x == other.y && self.y == other.y && self.z == other.z
| ^^^^^^^^^^^^^^^^^ help: I think you meant: `self.x == other.x` | ^^^^^^^^^^^^^^^^^ help: I think you meant: `self.x == other.x`
error: This sequence of operators looks suspiciously like a bug. error: this sequence of operators looks suspiciously like a bug
--> $DIR/suspicious_operation_groupings.rs:27:20 --> $DIR/suspicious_operation_groupings.rs:27:20
| |
LL | s1.a < s2.a && s1.a < s2.b LL | s1.a < s2.a && s1.a < s2.b
| ^^^^^^^^^^^ help: I think you meant: `s1.b < s2.b` | ^^^^^^^^^^^ help: I think you meant: `s1.b < s2.b`
error: This sequence of operators looks suspiciously like a bug. error: this sequence of operators looks suspiciously like a bug
--> $DIR/suspicious_operation_groupings.rs:75:33 --> $DIR/suspicious_operation_groupings.rs:75:33
| |
LL | s1.a * s2.a + s1.b * s2.b + s1.c * s2.b + s1.d * s2.d LL | s1.a * s2.a + s1.b * s2.b + s1.c * s2.b + s1.d * s2.d
| ^^^^^^^^^^^ help: I think you meant: `s1.c * s2.c` | ^^^^^^^^^^^ help: I think you meant: `s1.c * s2.c`
error: This sequence of operators looks suspiciously like a bug. error: this sequence of operators looks suspiciously like a bug
--> $DIR/suspicious_operation_groupings.rs:80:19 --> $DIR/suspicious_operation_groupings.rs:80:19
| |
LL | s1.a * s2.a + s1.b * s2.c + s1.c * s2.c LL | s1.a * s2.a + s1.b * s2.c + s1.c * s2.c
| ^^^^^^^^^^^ help: I think you meant: `s1.b * s2.b` | ^^^^^^^^^^^ help: I think you meant: `s1.b * s2.b`
error: This sequence of operators looks suspiciously like a bug. error: this sequence of operators looks suspiciously like a bug
--> $DIR/suspicious_operation_groupings.rs:80:19 --> $DIR/suspicious_operation_groupings.rs:80:19
| |
LL | s1.a * s2.a + s1.b * s2.c + s1.c * s2.c LL | s1.a * s2.a + s1.b * s2.c + s1.c * s2.c
| ^^^^^^^^^^^ help: I think you meant: `s1.b * s2.b` | ^^^^^^^^^^^ help: I think you meant: `s1.b * s2.b`
error: This sequence of operators looks suspiciously like a bug. error: this sequence of operators looks suspiciously like a bug
--> $DIR/suspicious_operation_groupings.rs:85:19 --> $DIR/suspicious_operation_groupings.rs:85:19
| |
LL | s1.a * s2.a + s2.b * s2.b + s1.c * s2.c LL | s1.a * s2.a + s2.b * s2.b + s1.c * s2.c
| ^^^^^^^^^^^ help: I think you meant: `s1.b * s2.b` | ^^^^^^^^^^^ help: I think you meant: `s1.b * s2.b`
error: This sequence of operators looks suspiciously like a bug. error: this sequence of operators looks suspiciously like a bug
--> $DIR/suspicious_operation_groupings.rs:90:19 --> $DIR/suspicious_operation_groupings.rs:90:19
| |
LL | s1.a * s2.a + s1.b * s1.b + s1.c * s2.c LL | s1.a * s2.a + s1.b * s1.b + s1.c * s2.c
| ^^^^^^^^^^^ help: I think you meant: `s1.b * s2.b` | ^^^^^^^^^^^ help: I think you meant: `s1.b * s2.b`
error: This sequence of operators looks suspiciously like a bug. error: this sequence of operators looks suspiciously like a bug
--> $DIR/suspicious_operation_groupings.rs:95:5 --> $DIR/suspicious_operation_groupings.rs:95:5
| |
LL | s1.a * s1.a + s1.b * s2.b + s1.c * s2.c LL | s1.a * s1.a + s1.b * s2.b + s1.c * s2.c
| ^^^^^^^^^^^ help: I think you meant: `s1.a * s2.a` | ^^^^^^^^^^^ help: I think you meant: `s1.a * s2.a`
error: This sequence of operators looks suspiciously like a bug. error: this sequence of operators looks suspiciously like a bug
--> $DIR/suspicious_operation_groupings.rs:100:33 --> $DIR/suspicious_operation_groupings.rs:100:33
| |
LL | s1.a * s2.a + s1.b * s2.b + s1.c * s1.c LL | s1.a * s2.a + s1.b * s2.b + s1.c * s1.c
| ^^^^^^^^^^^ help: I think you meant: `s1.c * s2.c` | ^^^^^^^^^^^ help: I think you meant: `s1.c * s2.c`
error: This sequence of operators looks suspiciously like a bug. error: this sequence of operators looks suspiciously like a bug
--> $DIR/suspicious_operation_groupings.rs:113:20 --> $DIR/suspicious_operation_groupings.rs:113:20
| |
LL | (s1.a * s2.a + s1.b * s1.b) LL | (s1.a * s2.a + s1.b * s1.b)
| ^^^^^^^^^^^ help: I think you meant: `s1.b * s2.b` | ^^^^^^^^^^^ help: I think you meant: `s1.b * s2.b`
error: This sequence of operators looks suspiciously like a bug. error: this sequence of operators looks suspiciously like a bug
--> $DIR/suspicious_operation_groupings.rs:118:34 --> $DIR/suspicious_operation_groupings.rs:118:34
| |
LL | (s1.a * s2.a + s1.b * s2.b + s1.c * s2.b + s1.d * s2.d) LL | (s1.a * s2.a + s1.b * s2.b + s1.c * s2.b + s1.d * s2.d)
| ^^^^^^^^^^^ help: I think you meant: `s1.c * s2.c` | ^^^^^^^^^^^ help: I think you meant: `s1.c * s2.c`
error: This sequence of operators looks suspiciously like a bug. error: this sequence of operators looks suspiciously like a bug
--> $DIR/suspicious_operation_groupings.rs:123:38 --> $DIR/suspicious_operation_groupings.rs:123:38
| |
LL | (s1.a * s2.a) + (s1.b * s2.b) + (s1.c * s2.b) + (s1.d * s2.d) LL | (s1.a * s2.a) + (s1.b * s2.b) + (s1.c * s2.b) + (s1.d * s2.d)
| ^^^^^^^^^^^ help: I think you meant: `s1.c * s2.c` | ^^^^^^^^^^^ help: I think you meant: `s1.c * s2.c`
error: This sequence of operators looks suspiciously like a bug. error: this sequence of operators looks suspiciously like a bug
--> $DIR/suspicious_operation_groupings.rs:128:39 --> $DIR/suspicious_operation_groupings.rs:128:39
| |
LL | ((s1.a * s2.a) + (s1.b * s2.b) + (s1.c * s2.b) + (s1.d * s2.d)) LL | ((s1.a * s2.a) + (s1.b * s2.b) + (s1.c * s2.b) + (s1.d * s2.d))
| ^^^^^^^^^^^ help: I think you meant: `s1.c * s2.c` | ^^^^^^^^^^^ help: I think you meant: `s1.c * s2.c`
error: This sequence of operators looks suspiciously like a bug. error: this sequence of operators looks suspiciously like a bug
--> $DIR/suspicious_operation_groupings.rs:133:42 --> $DIR/suspicious_operation_groupings.rs:133:42
| |
LL | (((s1.a * s2.a) + (s1.b * s2.b)) + ((s1.c * s2.b) + (s1.d * s2.d))) LL | (((s1.a * s2.a) + (s1.b * s2.b)) + ((s1.c * s2.b) + (s1.d * s2.d)))
| ^^^^^^^^^^^ help: I think you meant: `s1.c * s2.c` | ^^^^^^^^^^^ help: I think you meant: `s1.c * s2.c`
error: This sequence of operators looks suspiciously like a bug. error: this sequence of operators looks suspiciously like a bug
--> $DIR/suspicious_operation_groupings.rs:133:42 --> $DIR/suspicious_operation_groupings.rs:133:42
| |
LL | (((s1.a * s2.a) + (s1.b * s2.b)) + ((s1.c * s2.b) + (s1.d * s2.d))) LL | (((s1.a * s2.a) + (s1.b * s2.b)) + ((s1.c * s2.b) + (s1.d * s2.d)))
| ^^^^^^^^^^^ help: I think you meant: `s1.c * s2.c` | ^^^^^^^^^^^ help: I think you meant: `s1.c * s2.c`
error: This sequence of operators looks suspiciously like a bug. error: this sequence of operators looks suspiciously like a bug
--> $DIR/suspicious_operation_groupings.rs:138:40 --> $DIR/suspicious_operation_groupings.rs:138:40
| |
LL | (((s1.a * s2.a) + (s1.b * s2.b) + (s1.c * s2.b)) + (s1.d * s2.d)) LL | (((s1.a * s2.a) + (s1.b * s2.b) + (s1.c * s2.b)) + (s1.d * s2.d))
| ^^^^^^^^^^^ help: I think you meant: `s1.c * s2.c` | ^^^^^^^^^^^ help: I think you meant: `s1.c * s2.c`
error: This sequence of operators looks suspiciously like a bug. error: this sequence of operators looks suspiciously like a bug
--> $DIR/suspicious_operation_groupings.rs:143:40 --> $DIR/suspicious_operation_groupings.rs:143:40
| |
LL | ((s1.a * s2.a) + ((s1.b * s2.b) + (s1.c * s2.b) + (s1.d * s2.d))) LL | ((s1.a * s2.a) + ((s1.b * s2.b) + (s1.c * s2.b) + (s1.d * s2.d)))
| ^^^^^^^^^^^ help: I think you meant: `s1.c * s2.c` | ^^^^^^^^^^^ help: I think you meant: `s1.c * s2.c`
error: This sequence of operators looks suspiciously like a bug. error: this sequence of operators looks suspiciously like a bug
--> $DIR/suspicious_operation_groupings.rs:148:20 --> $DIR/suspicious_operation_groupings.rs:148:20
| |
LL | (s1.a * s2.a + s2.b * s2.b) / 2 LL | (s1.a * s2.a + s2.b * s2.b) / 2
| ^^^^^^^^^^^ help: I think you meant: `s1.b * s2.b` | ^^^^^^^^^^^ help: I think you meant: `s1.b * s2.b`
error: This sequence of operators looks suspiciously like a bug. error: this sequence of operators looks suspiciously like a bug
--> $DIR/suspicious_operation_groupings.rs:153:35 --> $DIR/suspicious_operation_groupings.rs:153:35
| |
LL | i32::swap_bytes(s1.a * s2.a + s2.b * s2.b) LL | i32::swap_bytes(s1.a * s2.a + s2.b * s2.b)
| ^^^^^^^^^^^ help: I think you meant: `s1.b * s2.b` | ^^^^^^^^^^^ help: I think you meant: `s1.b * s2.b`
error: This sequence of operators looks suspiciously like a bug. error: this sequence of operators looks suspiciously like a bug
--> $DIR/suspicious_operation_groupings.rs:158:29 --> $DIR/suspicious_operation_groupings.rs:158:29
| |
LL | s1.a > 0 && s1.b > 0 && s1.d == s2.c && s1.d == s2.d LL | s1.a > 0 && s1.b > 0 && s1.d == s2.c && s1.d == s2.d
| ^^^^^^^^^^^^ help: I think you meant: `s1.c == s2.c` | ^^^^^^^^^^^^ help: I think you meant: `s1.c == s2.c`
error: This sequence of operators looks suspiciously like a bug. error: this sequence of operators looks suspiciously like a bug
--> $DIR/suspicious_operation_groupings.rs:163:17 --> $DIR/suspicious_operation_groupings.rs:163:17
| |
LL | s1.a > 0 && s1.d == s2.c && s1.b > 0 && s1.d == s2.d LL | s1.a > 0 && s1.d == s2.c && s1.b > 0 && s1.d == s2.d
| ^^^^^^^^^^^^ help: I think you meant: `s1.c == s2.c` | ^^^^^^^^^^^^ help: I think you meant: `s1.c == s2.c`
error: This sequence of operators looks suspiciously like a bug. error: this sequence of operators looks suspiciously like a bug
--> $DIR/suspicious_operation_groupings.rs:172:77 --> $DIR/suspicious_operation_groupings.rs:172:77
| |
LL | (n1.inner.0).0 == (n2.inner.0).0 && (n1.inner.1).0 == (n2.inner.1).0 && (n1.inner.2).0 == (n2.inner.1).0 LL | (n1.inner.0).0 == (n2.inner.0).0 && (n1.inner.1).0 == (n2.inner.1).0 && (n1.inner.2).0 == (n2.inner.1).0
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: I think you meant: `(n1.inner.2).0 == (n2.inner.2).0` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: I think you meant: `(n1.inner.2).0 == (n2.inner.2).0`
error: This sequence of operators looks suspiciously like a bug. error: this sequence of operators looks suspiciously like a bug
--> $DIR/suspicious_operation_groupings.rs:186:25 --> $DIR/suspicious_operation_groupings.rs:186:25
| |
LL | s1.a <= s2.a && s1.a <= s2.b LL | s1.a <= s2.a && s1.a <= s2.b
| ^^^^^^^^^^^^ help: I think you meant: `s1.b <= s2.b` | ^^^^^^^^^^^^ help: I think you meant: `s1.b <= s2.b`
error: This sequence of operators looks suspiciously like a bug. error: this sequence of operators looks suspiciously like a bug
--> $DIR/suspicious_operation_groupings.rs:192:23 --> $DIR/suspicious_operation_groupings.rs:192:23
| |
LL | if s1.a < s2.a && s1.a < s2.b { LL | if s1.a < s2.a && s1.a < s2.b {
| ^^^^^^^^^^^ help: I think you meant: `s1.b < s2.b` | ^^^^^^^^^^^ help: I think you meant: `s1.b < s2.b`
error: This sequence of operators looks suspiciously like a bug. error: this sequence of operators looks suspiciously like a bug
--> $DIR/suspicious_operation_groupings.rs:199:48 --> $DIR/suspicious_operation_groupings.rs:199:48
| |
LL | -(-(-s1.a * -s2.a) + (-(-s1.b * -s2.b) + -(-s1.c * -s2.b) + -(-s1.d * -s2.d))) LL | -(-(-s1.a * -s2.a) + (-(-s1.b * -s2.b) + -(-s1.c * -s2.b) + -(-s1.d * -s2.d)))
| ^^^^^^^^^^^^^ help: I think you meant: `-s1.c * -s2.c` | ^^^^^^^^^^^^^ help: I think you meant: `-s1.c * -s2.c`
error: This sequence of operators looks suspiciously like a bug. error: this sequence of operators looks suspiciously like a bug
--> $DIR/suspicious_operation_groupings.rs:204:27 --> $DIR/suspicious_operation_groupings.rs:204:27
| |
LL | -(if -s1.a < -s2.a && -s1.a < -s2.b { s1.c } else { s2.a }) LL | -(if -s1.a < -s2.a && -s1.a < -s2.b { s1.c } else { s2.a })

View File

@@ -1,4 +1,4 @@
error: `ref` directly on a function argument is ignored. Consider using a reference type instead. error: `ref` directly on a function argument is ignored. Consider using a reference type instead
--> $DIR/toplevel_ref_arg_non_rustfix.rs:9:15 --> $DIR/toplevel_ref_arg_non_rustfix.rs:9:15
| |
LL | fn the_answer(ref mut x: u8) { LL | fn the_answer(ref mut x: u8) {
@@ -6,7 +6,7 @@ LL | fn the_answer(ref mut x: u8) {
| |
= note: `-D clippy::toplevel-ref-arg` implied by `-D warnings` = note: `-D clippy::toplevel-ref-arg` implied by `-D warnings`
error: `ref` directly on a function argument is ignored. Consider using a reference type instead. error: `ref` directly on a function argument is ignored. Consider using a reference type instead
--> $DIR/toplevel_ref_arg_non_rustfix.rs:15:24 --> $DIR/toplevel_ref_arg_non_rustfix.rs:15:24
| |
LL | fn fun_example(ref _x: usize) {} LL | fn fun_example(ref _x: usize) {}

View File

@@ -1,4 +1,4 @@
error: transmuting a known null pointer into a reference. error: transmuting a known null pointer into a reference
--> $DIR/transmuting_null.rs:10:23 --> $DIR/transmuting_null.rs:10:23
| |
LL | let _: &u64 = std::mem::transmute(0 as *const u64); LL | let _: &u64 = std::mem::transmute(0 as *const u64);
@@ -6,13 +6,13 @@ LL | let _: &u64 = std::mem::transmute(0 as *const u64);
| |
= note: `-D clippy::transmuting-null` implied by `-D warnings` = note: `-D clippy::transmuting-null` implied by `-D warnings`
error: transmuting a known null pointer into a reference. error: transmuting a known null pointer into a reference
--> $DIR/transmuting_null.rs:11:23 --> $DIR/transmuting_null.rs:11:23
| |
LL | let _: &u64 = std::mem::transmute(std::ptr::null::<u64>()); LL | let _: &u64 = std::mem::transmute(std::ptr::null::<u64>());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: transmuting a known null pointer into a reference. error: transmuting a known null pointer into a reference
--> $DIR/transmuting_null.rs:21:23 --> $DIR/transmuting_null.rs:21:23
| |
LL | let _: &u64 = std::mem::transmute(ZPTR); LL | let _: &u64 = std::mem::transmute(ZPTR);

View File

@@ -2,7 +2,7 @@ error: unnecessary closure used to substitute value for `Option::None`
--> $DIR/unnecessary_lazy_eval.rs:35:13 --> $DIR/unnecessary_lazy_eval.rs:35:13
| |
LL | let _ = opt.unwrap_or_else(|| 2); LL | let _ = opt.unwrap_or_else(|| 2);
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: Use `unwrap_or` instead: `opt.unwrap_or(2)` | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `unwrap_or` instead: `opt.unwrap_or(2)`
| |
= note: `-D clippy::unnecessary-lazy-evaluations` implied by `-D warnings` = note: `-D clippy::unnecessary-lazy-evaluations` implied by `-D warnings`
@@ -10,187 +10,187 @@ error: unnecessary closure used to substitute value for `Option::None`
--> $DIR/unnecessary_lazy_eval.rs:36:13 --> $DIR/unnecessary_lazy_eval.rs:36:13
| |
LL | let _ = opt.unwrap_or_else(|| astronomers_pi); LL | let _ = opt.unwrap_or_else(|| astronomers_pi);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Use `unwrap_or` instead: `opt.unwrap_or(astronomers_pi)` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `unwrap_or` instead: `opt.unwrap_or(astronomers_pi)`
error: unnecessary closure used to substitute value for `Option::None` error: unnecessary closure used to substitute value for `Option::None`
--> $DIR/unnecessary_lazy_eval.rs:37:13 --> $DIR/unnecessary_lazy_eval.rs:37:13
| |
LL | let _ = opt.unwrap_or_else(|| ext_str.some_field); LL | let _ = opt.unwrap_or_else(|| ext_str.some_field);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Use `unwrap_or` instead: `opt.unwrap_or(ext_str.some_field)` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `unwrap_or` instead: `opt.unwrap_or(ext_str.some_field)`
error: unnecessary closure used to substitute value for `Option::None` error: unnecessary closure used to substitute value for `Option::None`
--> $DIR/unnecessary_lazy_eval.rs:39:13 --> $DIR/unnecessary_lazy_eval.rs:39:13
| |
LL | let _ = opt.and_then(|_| ext_opt); LL | let _ = opt.and_then(|_| ext_opt);
| ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Use `and` instead: `opt.and(ext_opt)` | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `and` instead: `opt.and(ext_opt)`
error: unnecessary closure used to substitute value for `Option::None` error: unnecessary closure used to substitute value for `Option::None`
--> $DIR/unnecessary_lazy_eval.rs:40:13 --> $DIR/unnecessary_lazy_eval.rs:40:13
| |
LL | let _ = opt.or_else(|| ext_opt); LL | let _ = opt.or_else(|| ext_opt);
| ^^^^^^^^^^^^^^^^^^^^^^^ help: Use `or` instead: `opt.or(ext_opt)` | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `or` instead: `opt.or(ext_opt)`
error: unnecessary closure used to substitute value for `Option::None` error: unnecessary closure used to substitute value for `Option::None`
--> $DIR/unnecessary_lazy_eval.rs:41:13 --> $DIR/unnecessary_lazy_eval.rs:41:13
| |
LL | let _ = opt.or_else(|| None); LL | let _ = opt.or_else(|| None);
| ^^^^^^^^^^^^^^^^^^^^ help: Use `or` instead: `opt.or(None)` | ^^^^^^^^^^^^^^^^^^^^ help: use `or` instead: `opt.or(None)`
error: unnecessary closure used to substitute value for `Option::None` error: unnecessary closure used to substitute value for `Option::None`
--> $DIR/unnecessary_lazy_eval.rs:42:13 --> $DIR/unnecessary_lazy_eval.rs:42:13
| |
LL | let _ = opt.get_or_insert_with(|| 2); LL | let _ = opt.get_or_insert_with(|| 2);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Use `get_or_insert` instead: `opt.get_or_insert(2)` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `get_or_insert` instead: `opt.get_or_insert(2)`
error: unnecessary closure used to substitute value for `Option::None` error: unnecessary closure used to substitute value for `Option::None`
--> $DIR/unnecessary_lazy_eval.rs:43:13 --> $DIR/unnecessary_lazy_eval.rs:43:13
| |
LL | let _ = opt.ok_or_else(|| 2); LL | let _ = opt.ok_or_else(|| 2);
| ^^^^^^^^^^^^^^^^^^^^ help: Use `ok_or` instead: `opt.ok_or(2)` | ^^^^^^^^^^^^^^^^^^^^ help: use `ok_or` instead: `opt.ok_or(2)`
error: unnecessary closure used to substitute value for `Option::None` error: unnecessary closure used to substitute value for `Option::None`
--> $DIR/unnecessary_lazy_eval.rs:44:13 --> $DIR/unnecessary_lazy_eval.rs:44:13
| |
LL | let _ = nested_tuple_opt.unwrap_or_else(|| Some((1, 2))); LL | let _ = nested_tuple_opt.unwrap_or_else(|| Some((1, 2)));
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Use `unwrap_or` instead: `nested_tuple_opt.unwrap_or(Some((1, 2)))` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `unwrap_or` instead: `nested_tuple_opt.unwrap_or(Some((1, 2)))`
error: unnecessary closure used to substitute value for `Option::None` error: unnecessary closure used to substitute value for `Option::None`
--> $DIR/unnecessary_lazy_eval.rs:47:13 --> $DIR/unnecessary_lazy_eval.rs:47:13
| |
LL | let _ = Some(10).unwrap_or_else(|| 2); LL | let _ = Some(10).unwrap_or_else(|| 2);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Use `unwrap_or` instead: `Some(10).unwrap_or(2)` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `unwrap_or` instead: `Some(10).unwrap_or(2)`
error: unnecessary closure used to substitute value for `Option::None` error: unnecessary closure used to substitute value for `Option::None`
--> $DIR/unnecessary_lazy_eval.rs:48:13 --> $DIR/unnecessary_lazy_eval.rs:48:13
| |
LL | let _ = Some(10).and_then(|_| ext_opt); LL | let _ = Some(10).and_then(|_| ext_opt);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Use `and` instead: `Some(10).and(ext_opt)` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `and` instead: `Some(10).and(ext_opt)`
error: unnecessary closure used to substitute value for `Option::None` error: unnecessary closure used to substitute value for `Option::None`
--> $DIR/unnecessary_lazy_eval.rs:49:28 --> $DIR/unnecessary_lazy_eval.rs:49:28
| |
LL | let _: Option<usize> = None.or_else(|| ext_opt); LL | let _: Option<usize> = None.or_else(|| ext_opt);
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: Use `or` instead: `None.or(ext_opt)` | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `or` instead: `None.or(ext_opt)`
error: unnecessary closure used to substitute value for `Option::None` error: unnecessary closure used to substitute value for `Option::None`
--> $DIR/unnecessary_lazy_eval.rs:50:13 --> $DIR/unnecessary_lazy_eval.rs:50:13
| |
LL | let _ = None.get_or_insert_with(|| 2); LL | let _ = None.get_or_insert_with(|| 2);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Use `get_or_insert` instead: `None.get_or_insert(2)` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `get_or_insert` instead: `None.get_or_insert(2)`
error: unnecessary closure used to substitute value for `Option::None` error: unnecessary closure used to substitute value for `Option::None`
--> $DIR/unnecessary_lazy_eval.rs:51:35 --> $DIR/unnecessary_lazy_eval.rs:51:35
| |
LL | let _: Result<usize, usize> = None.ok_or_else(|| 2); LL | let _: Result<usize, usize> = None.ok_or_else(|| 2);
| ^^^^^^^^^^^^^^^^^^^^^ help: Use `ok_or` instead: `None.ok_or(2)` | ^^^^^^^^^^^^^^^^^^^^^ help: use `ok_or` instead: `None.ok_or(2)`
error: unnecessary closure used to substitute value for `Option::None` error: unnecessary closure used to substitute value for `Option::None`
--> $DIR/unnecessary_lazy_eval.rs:52:28 --> $DIR/unnecessary_lazy_eval.rs:52:28
| |
LL | let _: Option<usize> = None.or_else(|| None); LL | let _: Option<usize> = None.or_else(|| None);
| ^^^^^^^^^^^^^^^^^^^^^ help: Use `or` instead: `None.or(None)` | ^^^^^^^^^^^^^^^^^^^^^ help: use `or` instead: `None.or(None)`
error: unnecessary closure used to substitute value for `Option::None` error: unnecessary closure used to substitute value for `Option::None`
--> $DIR/unnecessary_lazy_eval.rs:55:13 --> $DIR/unnecessary_lazy_eval.rs:55:13
| |
LL | let _ = deep.0.unwrap_or_else(|| 2); LL | let _ = deep.0.unwrap_or_else(|| 2);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Use `unwrap_or` instead: `deep.0.unwrap_or(2)` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `unwrap_or` instead: `deep.0.unwrap_or(2)`
error: unnecessary closure used to substitute value for `Option::None` error: unnecessary closure used to substitute value for `Option::None`
--> $DIR/unnecessary_lazy_eval.rs:56:13 --> $DIR/unnecessary_lazy_eval.rs:56:13
| |
LL | let _ = deep.0.and_then(|_| ext_opt); LL | let _ = deep.0.and_then(|_| ext_opt);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Use `and` instead: `deep.0.and(ext_opt)` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `and` instead: `deep.0.and(ext_opt)`
error: unnecessary closure used to substitute value for `Option::None` error: unnecessary closure used to substitute value for `Option::None`
--> $DIR/unnecessary_lazy_eval.rs:57:13 --> $DIR/unnecessary_lazy_eval.rs:57:13
| |
LL | let _ = deep.0.or_else(|| None); LL | let _ = deep.0.or_else(|| None);
| ^^^^^^^^^^^^^^^^^^^^^^^ help: Use `or` instead: `deep.0.or(None)` | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `or` instead: `deep.0.or(None)`
error: unnecessary closure used to substitute value for `Option::None` error: unnecessary closure used to substitute value for `Option::None`
--> $DIR/unnecessary_lazy_eval.rs:58:13 --> $DIR/unnecessary_lazy_eval.rs:58:13
| |
LL | let _ = deep.0.get_or_insert_with(|| 2); LL | let _ = deep.0.get_or_insert_with(|| 2);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Use `get_or_insert` instead: `deep.0.get_or_insert(2)` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `get_or_insert` instead: `deep.0.get_or_insert(2)`
error: unnecessary closure used to substitute value for `Option::None` error: unnecessary closure used to substitute value for `Option::None`
--> $DIR/unnecessary_lazy_eval.rs:59:13 --> $DIR/unnecessary_lazy_eval.rs:59:13
| |
LL | let _ = deep.0.ok_or_else(|| 2); LL | let _ = deep.0.ok_or_else(|| 2);
| ^^^^^^^^^^^^^^^^^^^^^^^ help: Use `ok_or` instead: `deep.0.ok_or(2)` | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `ok_or` instead: `deep.0.ok_or(2)`
error: unnecessary closure used to substitute value for `Option::None` error: unnecessary closure used to substitute value for `Option::None`
--> $DIR/unnecessary_lazy_eval.rs:79:28 --> $DIR/unnecessary_lazy_eval.rs:79:28
| |
LL | let _: Option<usize> = None.or_else(|| Some(3)); LL | let _: Option<usize> = None.or_else(|| Some(3));
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: Use `or` instead: `None.or(Some(3))` | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `or` instead: `None.or(Some(3))`
error: unnecessary closure used to substitute value for `Option::None` error: unnecessary closure used to substitute value for `Option::None`
--> $DIR/unnecessary_lazy_eval.rs:80:13 --> $DIR/unnecessary_lazy_eval.rs:80:13
| |
LL | let _ = deep.0.or_else(|| Some(3)); LL | let _ = deep.0.or_else(|| Some(3));
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Use `or` instead: `deep.0.or(Some(3))` | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `or` instead: `deep.0.or(Some(3))`
error: unnecessary closure used to substitute value for `Option::None` error: unnecessary closure used to substitute value for `Option::None`
--> $DIR/unnecessary_lazy_eval.rs:81:13 --> $DIR/unnecessary_lazy_eval.rs:81:13
| |
LL | let _ = opt.or_else(|| Some(3)); LL | let _ = opt.or_else(|| Some(3));
| ^^^^^^^^^^^^^^^^^^^^^^^ help: Use `or` instead: `opt.or(Some(3))` | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `or` instead: `opt.or(Some(3))`
error: unnecessary closure used to substitute value for `Result::Err` error: unnecessary closure used to substitute value for `Result::Err`
--> $DIR/unnecessary_lazy_eval.rs:87:13 --> $DIR/unnecessary_lazy_eval.rs:87:13
| |
LL | let _ = res2.unwrap_or_else(|_| 2); LL | let _ = res2.unwrap_or_else(|_| 2);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Use `unwrap_or` instead: `res2.unwrap_or(2)` | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `unwrap_or` instead: `res2.unwrap_or(2)`
error: unnecessary closure used to substitute value for `Result::Err` error: unnecessary closure used to substitute value for `Result::Err`
--> $DIR/unnecessary_lazy_eval.rs:88:13 --> $DIR/unnecessary_lazy_eval.rs:88:13
| |
LL | let _ = res2.unwrap_or_else(|_| astronomers_pi); LL | let _ = res2.unwrap_or_else(|_| astronomers_pi);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Use `unwrap_or` instead: `res2.unwrap_or(astronomers_pi)` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `unwrap_or` instead: `res2.unwrap_or(astronomers_pi)`
error: unnecessary closure used to substitute value for `Result::Err` error: unnecessary closure used to substitute value for `Result::Err`
--> $DIR/unnecessary_lazy_eval.rs:89:13 --> $DIR/unnecessary_lazy_eval.rs:89:13
| |
LL | let _ = res2.unwrap_or_else(|_| ext_str.some_field); LL | let _ = res2.unwrap_or_else(|_| ext_str.some_field);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Use `unwrap_or` instead: `res2.unwrap_or(ext_str.some_field)` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `unwrap_or` instead: `res2.unwrap_or(ext_str.some_field)`
error: unnecessary closure used to substitute value for `Result::Err` error: unnecessary closure used to substitute value for `Result::Err`
--> $DIR/unnecessary_lazy_eval.rs:111:35 --> $DIR/unnecessary_lazy_eval.rs:111:35
| |
LL | let _: Result<usize, usize> = res.and_then(|_| Err(2)); LL | let _: Result<usize, usize> = res.and_then(|_| Err(2));
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: Use `and` instead: `res.and(Err(2))` | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `and` instead: `res.and(Err(2))`
error: unnecessary closure used to substitute value for `Result::Err` error: unnecessary closure used to substitute value for `Result::Err`
--> $DIR/unnecessary_lazy_eval.rs:112:35 --> $DIR/unnecessary_lazy_eval.rs:112:35
| |
LL | let _: Result<usize, usize> = res.and_then(|_| Err(astronomers_pi)); LL | let _: Result<usize, usize> = res.and_then(|_| Err(astronomers_pi));
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Use `and` instead: `res.and(Err(astronomers_pi))` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `and` instead: `res.and(Err(astronomers_pi))`
error: unnecessary closure used to substitute value for `Result::Err` error: unnecessary closure used to substitute value for `Result::Err`
--> $DIR/unnecessary_lazy_eval.rs:113:35 --> $DIR/unnecessary_lazy_eval.rs:113:35
| |
LL | let _: Result<usize, usize> = res.and_then(|_| Err(ext_str.some_field)); LL | let _: Result<usize, usize> = res.and_then(|_| Err(ext_str.some_field));
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Use `and` instead: `res.and(Err(ext_str.some_field))` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `and` instead: `res.and(Err(ext_str.some_field))`
error: unnecessary closure used to substitute value for `Result::Err` error: unnecessary closure used to substitute value for `Result::Err`
--> $DIR/unnecessary_lazy_eval.rs:115:35 --> $DIR/unnecessary_lazy_eval.rs:115:35
| |
LL | let _: Result<usize, usize> = res.or_else(|_| Ok(2)); LL | let _: Result<usize, usize> = res.or_else(|_| Ok(2));
| ^^^^^^^^^^^^^^^^^^^^^^ help: Use `or` instead: `res.or(Ok(2))` | ^^^^^^^^^^^^^^^^^^^^^^ help: use `or` instead: `res.or(Ok(2))`
error: unnecessary closure used to substitute value for `Result::Err` error: unnecessary closure used to substitute value for `Result::Err`
--> $DIR/unnecessary_lazy_eval.rs:116:35 --> $DIR/unnecessary_lazy_eval.rs:116:35
| |
LL | let _: Result<usize, usize> = res.or_else(|_| Ok(astronomers_pi)); LL | let _: Result<usize, usize> = res.or_else(|_| Ok(astronomers_pi));
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Use `or` instead: `res.or(Ok(astronomers_pi))` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `or` instead: `res.or(Ok(astronomers_pi))`
error: unnecessary closure used to substitute value for `Result::Err` error: unnecessary closure used to substitute value for `Result::Err`
--> $DIR/unnecessary_lazy_eval.rs:117:35 --> $DIR/unnecessary_lazy_eval.rs:117:35
| |
LL | let _: Result<usize, usize> = res.or_else(|_| Ok(ext_str.some_field)); LL | let _: Result<usize, usize> = res.or_else(|_| Ok(ext_str.some_field));
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Use `or` instead: `res.or(Ok(ext_str.some_field))` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `or` instead: `res.or(Ok(ext_str.some_field))`
error: aborting due to 32 previous errors error: aborting due to 32 previous errors

View File

@@ -2,7 +2,7 @@ error: unnecessary closure used to substitute value for `Result::Err`
--> $DIR/unnecessary_lazy_eval_unfixable.rs:12:13 --> $DIR/unnecessary_lazy_eval_unfixable.rs:12:13
| |
LL | let _ = Ok(1).unwrap_or_else(|()| 2); LL | let _ = Ok(1).unwrap_or_else(|()| 2);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Use `unwrap_or` instead: `Ok(1).unwrap_or(2)` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `unwrap_or` instead: `Ok(1).unwrap_or(2)`
| |
= note: `-D clippy::unnecessary-lazy-evaluations` implied by `-D warnings` = note: `-D clippy::unnecessary-lazy-evaluations` implied by `-D warnings`
@@ -10,13 +10,13 @@ error: unnecessary closure used to substitute value for `Result::Err`
--> $DIR/unnecessary_lazy_eval_unfixable.rs:16:13 --> $DIR/unnecessary_lazy_eval_unfixable.rs:16:13
| |
LL | let _ = Ok(1).unwrap_or_else(|e::E| 2); LL | let _ = Ok(1).unwrap_or_else(|e::E| 2);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Use `unwrap_or` instead: `Ok(1).unwrap_or(2)` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `unwrap_or` instead: `Ok(1).unwrap_or(2)`
error: unnecessary closure used to substitute value for `Result::Err` error: unnecessary closure used to substitute value for `Result::Err`
--> $DIR/unnecessary_lazy_eval_unfixable.rs:17:13 --> $DIR/unnecessary_lazy_eval_unfixable.rs:17:13
| |
LL | let _ = Ok(1).unwrap_or_else(|SomeStruct { .. }| 2); LL | let _ = Ok(1).unwrap_or_else(|SomeStruct { .. }| 2);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Use `unwrap_or` instead: `Ok(1).unwrap_or(2)` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `unwrap_or` instead: `Ok(1).unwrap_or(2)`
error: aborting due to 3 previous errors error: aborting due to 3 previous errors

View File

@@ -1,4 +1,4 @@
error: used binding `_foo` which is prefixed with an underscore. A leading underscore signals that a binding will not be used. error: used binding `_foo` which is prefixed with an underscore. A leading underscore signals that a binding will not be used
--> $DIR/used_underscore_binding.rs:26:5 --> $DIR/used_underscore_binding.rs:26:5
| |
LL | _foo + 1 LL | _foo + 1
@@ -6,31 +6,31 @@ LL | _foo + 1
| |
= note: `-D clippy::used-underscore-binding` implied by `-D warnings` = note: `-D clippy::used-underscore-binding` implied by `-D warnings`
error: used binding `_foo` which is prefixed with an underscore. A leading underscore signals that a binding will not be used. error: used binding `_foo` which is prefixed with an underscore. A leading underscore signals that a binding will not be used
--> $DIR/used_underscore_binding.rs:31:20 --> $DIR/used_underscore_binding.rs:31:20
| |
LL | println!("{}", _foo); LL | println!("{}", _foo);
| ^^^^ | ^^^^
error: used binding `_foo` which is prefixed with an underscore. A leading underscore signals that a binding will not be used. error: used binding `_foo` which is prefixed with an underscore. A leading underscore signals that a binding will not be used
--> $DIR/used_underscore_binding.rs:32:16 --> $DIR/used_underscore_binding.rs:32:16
| |
LL | assert_eq!(_foo, _foo); LL | assert_eq!(_foo, _foo);
| ^^^^ | ^^^^
error: used binding `_foo` which is prefixed with an underscore. A leading underscore signals that a binding will not be used. error: used binding `_foo` which is prefixed with an underscore. A leading underscore signals that a binding will not be used
--> $DIR/used_underscore_binding.rs:32:22 --> $DIR/used_underscore_binding.rs:32:22
| |
LL | assert_eq!(_foo, _foo); LL | assert_eq!(_foo, _foo);
| ^^^^ | ^^^^
error: used binding `_underscore_field` which is prefixed with an underscore. A leading underscore signals that a binding will not be used. error: used binding `_underscore_field` which is prefixed with an underscore. A leading underscore signals that a binding will not be used
--> $DIR/used_underscore_binding.rs:45:5 --> $DIR/used_underscore_binding.rs:45:5
| |
LL | s._underscore_field += 1; LL | s._underscore_field += 1;
| ^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^
error: used binding `_i` which is prefixed with an underscore. A leading underscore signals that a binding will not be used. error: used binding `_i` which is prefixed with an underscore. A leading underscore signals that a binding will not be used
--> $DIR/used_underscore_binding.rs:100:16 --> $DIR/used_underscore_binding.rs:100:16
| |
LL | uses_i(_i); LL | uses_i(_i);

View File

@@ -1,4 +1,4 @@
error: `Vec<T>` is already on the heap, the boxing is unnecessary. error: `Vec<T>` is already on the heap, the boxing is unnecessary
--> $DIR/vec_box_sized.rs:14:21 --> $DIR/vec_box_sized.rs:14:21
| |
LL | sized_type: Vec<Box<SizedStruct>>, LL | sized_type: Vec<Box<SizedStruct>>,
@@ -6,19 +6,19 @@ LL | sized_type: Vec<Box<SizedStruct>>,
| |
= note: `-D clippy::vec-box` implied by `-D warnings` = note: `-D clippy::vec-box` implied by `-D warnings`
error: `Vec<T>` is already on the heap, the boxing is unnecessary. error: `Vec<T>` is already on the heap, the boxing is unnecessary
--> $DIR/vec_box_sized.rs:17:14 --> $DIR/vec_box_sized.rs:17:14
| |
LL | struct A(Vec<Box<SizedStruct>>); LL | struct A(Vec<Box<SizedStruct>>);
| ^^^^^^^^^^^^^^^^^^^^^ help: try: `Vec<SizedStruct>` | ^^^^^^^^^^^^^^^^^^^^^ help: try: `Vec<SizedStruct>`
error: `Vec<T>` is already on the heap, the boxing is unnecessary. error: `Vec<T>` is already on the heap, the boxing is unnecessary
--> $DIR/vec_box_sized.rs:18:18 --> $DIR/vec_box_sized.rs:18:18
| |
LL | struct B(Vec<Vec<Box<(u32)>>>); LL | struct B(Vec<Vec<Box<(u32)>>>);
| ^^^^^^^^^^^^^^^ help: try: `Vec<u32>` | ^^^^^^^^^^^^^^^ help: try: `Vec<u32>`
error: `Vec<T>` is already on the heap, the boxing is unnecessary. error: `Vec<T>` is already on the heap, the boxing is unnecessary
--> $DIR/vec_box_sized.rs:46:23 --> $DIR/vec_box_sized.rs:46:23
| |
LL | pub fn f() -> Vec<Box<S>> { LL | pub fn f() -> Vec<Box<S>> {

View File

@@ -1,35 +1,35 @@
error: wildcard pattern covers any other pattern as it will match anyway. error: wildcard pattern covers any other pattern as it will match anyway
--> $DIR/wild_in_or_pats.rs:8:9 --> $DIR/wild_in_or_pats.rs:8:9
| |
LL | "bar" | _ => { LL | "bar" | _ => {
| ^^^^^^^^^ | ^^^^^^^^^
| |
= note: `-D clippy::wildcard-in-or-patterns` implied by `-D warnings` = note: `-D clippy::wildcard-in-or-patterns` implied by `-D warnings`
= help: Consider handling `_` separately. = help: consider handling `_` separately
error: wildcard pattern covers any other pattern as it will match anyway. error: wildcard pattern covers any other pattern as it will match anyway
--> $DIR/wild_in_or_pats.rs:16:9 --> $DIR/wild_in_or_pats.rs:16:9
| |
LL | "bar" | "bar2" | _ => { LL | "bar" | "bar2" | _ => {
| ^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^
| |
= help: Consider handling `_` separately. = help: consider handling `_` separately
error: wildcard pattern covers any other pattern as it will match anyway. error: wildcard pattern covers any other pattern as it will match anyway
--> $DIR/wild_in_or_pats.rs:24:9 --> $DIR/wild_in_or_pats.rs:24:9
| |
LL | _ | "bar" | _ => { LL | _ | "bar" | _ => {
| ^^^^^^^^^^^^^ | ^^^^^^^^^^^^^
| |
= help: Consider handling `_` separately. = help: consider handling `_` separately
error: wildcard pattern covers any other pattern as it will match anyway. error: wildcard pattern covers any other pattern as it will match anyway
--> $DIR/wild_in_or_pats.rs:32:9 --> $DIR/wild_in_or_pats.rs:32:9
| |
LL | _ | "bar" => { LL | _ | "bar" => {
| ^^^^^^^^^ | ^^^^^^^^^
| |
= help: Consider handling `_` separately. = help: consider handling `_` separately
error: aborting due to 4 previous errors error: aborting due to 4 previous errors

View File

@@ -13,7 +13,7 @@ LL | let nan = 0.0 / 0.0;
| ^^^^^^^^^ | ^^^^^^^^^
| |
= note: `-D clippy::zero-divided-by-zero` implied by `-D warnings` = note: `-D clippy::zero-divided-by-zero` implied by `-D warnings`
= help: Consider using `f64::NAN` if you would like a constant representing NaN = help: consider using `f64::NAN` if you would like a constant representing NaN
error: equal expressions as operands to `/` error: equal expressions as operands to `/`
--> $DIR/zero_div_zero.rs:5:19 --> $DIR/zero_div_zero.rs:5:19
@@ -27,7 +27,7 @@ error: constant division of `0.0` with `0.0` will always result in NaN
LL | let f64_nan = 0.0 / 0.0f64; LL | let f64_nan = 0.0 / 0.0f64;
| ^^^^^^^^^^^^ | ^^^^^^^^^^^^
| |
= help: Consider using `f64::NAN` if you would like a constant representing NaN = help: consider using `f64::NAN` if you would like a constant representing NaN
error: equal expressions as operands to `/` error: equal expressions as operands to `/`
--> $DIR/zero_div_zero.rs:6:25 --> $DIR/zero_div_zero.rs:6:25
@@ -41,7 +41,7 @@ error: constant division of `0.0` with `0.0` will always result in NaN
LL | let other_f64_nan = 0.0f64 / 0.0; LL | let other_f64_nan = 0.0f64 / 0.0;
| ^^^^^^^^^^^^ | ^^^^^^^^^^^^
| |
= help: Consider using `f64::NAN` if you would like a constant representing NaN = help: consider using `f64::NAN` if you would like a constant representing NaN
error: equal expressions as operands to `/` error: equal expressions as operands to `/`
--> $DIR/zero_div_zero.rs:7:28 --> $DIR/zero_div_zero.rs:7:28
@@ -55,7 +55,7 @@ error: constant division of `0.0` with `0.0` will always result in NaN
LL | let one_more_f64_nan = 0.0f64 / 0.0f64; LL | let one_more_f64_nan = 0.0f64 / 0.0f64;
| ^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^
| |
= help: Consider using `f64::NAN` if you would like a constant representing NaN = help: consider using `f64::NAN` if you would like a constant representing NaN
error: aborting due to 8 previous errors error: aborting due to 8 previous errors