error: `IntoIterator` implemented for a reference type without an `iter` method
  --> $DIR/into_iter_without_iter.rs:7:1
   |
LL | / impl<'a> IntoIterator for &'a S1 {
LL | |
LL | |     type IntoIter = std::slice::Iter<'a, u8>;
LL | |     type Item = &'a u8;
...  |
LL | |     }
LL | | }
   | |_^
   |
   = note: `-D clippy::into-iter-without-iter` implied by `-D warnings`
   = help: to override `-D warnings` add `#[allow(clippy::into_iter_without_iter)]`
help: consider implementing `iter`
   |
LL + 
LL + impl S1 {
LL +     fn iter(&self) -> std::slice::Iter<'a, u8> {
LL +         <&Self as IntoIterator>::into_iter(self)
LL +     }
LL + }
   |

error: `IntoIterator` implemented for a reference type without an `iter_mut` method
  --> $DIR/into_iter_without_iter.rs:15:1
   |
LL | / impl<'a> IntoIterator for &'a mut S1 {
LL | |
LL | |     type IntoIter = std::slice::IterMut<'a, u8>;
LL | |     type Item = &'a mut u8;
...  |
LL | |     }
LL | | }
   | |_^
   |
help: consider implementing `iter_mut`
   |
LL + 
LL + impl S1 {
LL +     fn iter_mut(&mut self) -> std::slice::IterMut<'a, u8> {
LL +         <&mut Self as IntoIterator>::into_iter(self)
LL +     }
LL + }
   |

error: `IntoIterator` implemented for a reference type without an `iter` method
  --> $DIR/into_iter_without_iter.rs:25:1
   |
LL | / impl<'a, T> IntoIterator for &'a S2<T> {
LL | |
LL | |     type IntoIter = std::slice::Iter<'a, T>;
LL | |     type Item = &'a T;
...  |
LL | |     }
LL | | }
   | |_^
   |
help: consider implementing `iter`
   |
LL + 
LL + impl S2<T> {
LL +     fn iter(&self) -> std::slice::Iter<'a, T> {
LL +         <&Self as IntoIterator>::into_iter(self)
LL +     }
LL + }
   |

error: `IntoIterator` implemented for a reference type without an `iter_mut` method
  --> $DIR/into_iter_without_iter.rs:33:1
   |
LL | / impl<'a, T> IntoIterator for &'a mut S2<T> {
LL | |
LL | |     type IntoIter = std::slice::IterMut<'a, T>;
LL | |     type Item = &'a mut T;
...  |
LL | |     }
LL | | }
   | |_^
   |
help: consider implementing `iter_mut`
   |
LL + 
LL + impl S2<T> {
LL +     fn iter_mut(&mut self) -> std::slice::IterMut<'a, T> {
LL +         <&mut Self as IntoIterator>::into_iter(self)
LL +     }
LL + }
   |

error: `IntoIterator` implemented for a reference type without an `iter_mut` method
  --> $DIR/into_iter_without_iter.rs:84:1
   |
LL | / impl<'a, T> IntoIterator for &mut S4<'a, T> {
LL | |
LL | |     type IntoIter = std::slice::IterMut<'a, T>;
LL | |     type Item = &'a mut T;
...  |
LL | |     }
LL | | }
   | |_^
   |
help: consider implementing `iter_mut`
   |
LL + 
LL + impl S4<'a, T> {
LL +     fn iter_mut(&mut self) -> std::slice::IterMut<'a, T> {
LL +         <&mut Self as IntoIterator>::into_iter(self)
LL +     }
LL + }
   |

error: aborting due to 5 previous errors