lint-noop-method-call = call to `.{$method}()` on a reference in this situation does nothing
.label = unnecessary method call
.note = the type `{$receiver_ty}` which `{$method}` is being called on is the same as the type returned from `{$method}`, so the method call does not do anything and can be removed
+
+lint-pass-by-value = passing `{$ty}` by reference
+ .suggestion = try passing by value
use crate::{LateContext, LateLintPass, LintContext};
-use rustc_errors::Applicability;
+use rustc_errors::{fluent, Applicability};
use rustc_hir as hir;
use rustc_hir::def::Res;
use rustc_hir::{GenericArg, PathSegment, QPath, TyKind};
}
if let Some(t) = path_for_pass_by_value(cx, &inner_ty) {
cx.struct_span_lint(PASS_BY_VALUE, ty.span, |lint| {
- lint.build(&format!("passing `{}` by reference", t))
+ lint.build(fluent::lint::pass_by_value)
+ .set_arg("ty", t.clone())
.span_suggestion(
ty.span,
- "try passing by value",
+ fluent::lint::suggestion,
t,
// Changing type of function argument
Applicability::MaybeIncorrect,