false
}
- fn replace_prefix<A, B, C>(&self, s: A, old: B, new: C) -> Option<String>
- where
- A: AsRef<str>,
- B: AsRef<str>,
- C: AsRef<str>,
- {
- let s = s.as_ref();
- let old = old.as_ref();
+ fn replace_prefix(&self, s: &str, old: &str, new: &str) -> Option<String> {
if let Some(stripped) = s.strip_prefix(old) {
- Some(new.as_ref().to_owned() + stripped)
+ Some(new.to_string() + stripped)
} else {
None
}
(&ty::Str, &ty::Array(arr, _) | &ty::Slice(arr)) if arr == self.tcx.types.u8 => {
if let hir::ExprKind::Lit(_) = expr.kind {
if let Ok(src) = sm.span_to_snippet(sp) {
- if let Some(src) = self.replace_prefix(src, "b\"", "\"") {
+ if let Some(src) = self.replace_prefix(&src, "b\"", "\"") {
return Some((
sp,
"consider removing the leading `b`",
(&ty::Array(arr, _) | &ty::Slice(arr), &ty::Str) if arr == self.tcx.types.u8 => {
if let hir::ExprKind::Lit(_) = expr.kind {
if let Ok(src) = sm.span_to_snippet(sp) {
- if let Some(src) = self.replace_prefix(src, "\"", "b\"") {
+ if let Some(src) = self.replace_prefix(&src, "\"", "b\"") {
return Some((
sp,
"consider adding a leading `b`",
// we may want to suggest removing a `&`.
if sm.is_imported(expr.span) {
if let Ok(src) = sm.span_to_snippet(sp) {
- if let Some(src) = self.replace_prefix(src, "&", "") {
+ if let Some(src) = self.replace_prefix(&src, "&", "") {
return Some((
sp,
"consider removing the borrow",
match mutbl_a {
hir::Mutability::Mut => {
if let Some(s) =
- self.replace_prefix(src, "&mut ", new_prefix)
+ self.replace_prefix(&src, "&mut ", &new_prefix)
{
Some((s, Applicability::MachineApplicable))
} else {
}
hir::Mutability::Not => {
if let Some(s) =
- self.replace_prefix(src, "&", new_prefix)
+ self.replace_prefix(&src, "&", &new_prefix)
{
Some((s, Applicability::Unspecified))
} else {
match mutbl_a {
hir::Mutability::Mut => {
if let Some(s) =
- self.replace_prefix(src, "&mut ", new_prefix)
+ self.replace_prefix(&src, "&mut ", &new_prefix)
{
Some((s, Applicability::MachineApplicable))
} else {
}
hir::Mutability::Not => {
if let Some(s) =
- self.replace_prefix(src, "&", new_prefix)
+ self.replace_prefix(&src, "&", &new_prefix)
{
Some((s, Applicability::MachineApplicable))
} else {