struct Wither;
trait TraitsToo {
- fn len(self: &Self) -> isize;
+ fn len(&self) -> isize;
// No error; `len` is private; see issue #1085.
}
impl TraitsToo for One {
- fn len(self: &Self) -> isize {
+ fn len(&self) -> isize {
0
}
}
pub struct HasIsEmpty;
impl HasIsEmpty {
- pub fn len(self: &Self) -> isize {
+ pub fn len(&self) -> isize {
1
}
- fn is_empty(self: &Self) -> bool {
+ fn is_empty(&self) -> bool {
false
}
}
pub struct HasWrongIsEmpty;
impl HasWrongIsEmpty {
- pub fn len(self: &Self) -> isize {
+ pub fn len(&self) -> isize {
1
}
- pub fn is_empty(self: &Self, x: u32) -> bool {
+ pub fn is_empty(&self, x: u32) -> bool {
false
}
}
pub trait WithIsEmpty {
- fn len(self: &Self) -> isize;
- fn is_empty(self: &Self) -> bool;
+ fn len(&self) -> isize;
+ fn is_empty(&self) -> bool;
}
impl WithIsEmpty for Wither {
- fn len(self: &Self) -> isize {
+ fn len(&self) -> isize {
1
}
- fn is_empty(self: &Self) -> bool {
+ fn is_empty(&self) -> bool {
false
}
}
fn test_slice(b: &[u8]) {
if !b.is_empty() {}
}
-
-mod issue_3807 {
- // Avoid suggesting changes to ranges if the user did not enable `range_is_empty`.
- // See https://github.com/rust-lang/rust/issues/48111#issuecomment-445132965
- fn no_suggestion() {
- let _ = (0..42).len() == 0;
- }
-}