diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:03 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:03 +0000 |
commit | 64d98f8ee037282c35007b64c2649055c56af1db (patch) | |
tree | 5492bcf97fce41ee1c0b1cc2add283f3e66cdab0 /src/test/ui/generic-associated-types/issue-76826.rs | |
parent | Adding debian version 1.67.1+dfsg1-1. (diff) | |
download | rustc-64d98f8ee037282c35007b64c2649055c56af1db.tar.xz rustc-64d98f8ee037282c35007b64c2649055c56af1db.zip |
Merging upstream version 1.68.2+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/test/ui/generic-associated-types/issue-76826.rs')
-rw-r--r-- | src/test/ui/generic-associated-types/issue-76826.rs | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/src/test/ui/generic-associated-types/issue-76826.rs b/src/test/ui/generic-associated-types/issue-76826.rs deleted file mode 100644 index ead78453e..000000000 --- a/src/test/ui/generic-associated-types/issue-76826.rs +++ /dev/null @@ -1,42 +0,0 @@ -// run-pass - -pub trait Iter { - type Item<'a> where Self: 'a; - - fn next<'a>(&'a mut self) -> Option<Self::Item<'a>>; - - fn for_each<F>(mut self, mut f: F) - where Self: Sized, F: for<'a> FnMut(Self::Item<'a>) - { - while let Some(item) = self.next() { - f(item); - } - } -} - -pub struct Windows<T> { - items: Vec<T>, - start: usize, - len: usize, -} - -impl<T> Windows<T> { - pub fn new(items: Vec<T>, len: usize) -> Self { - Self { items, start: 0, len } - } -} - -impl<T> Iter for Windows<T> { - type Item<'a> = &'a mut [T] where T: 'a; - - fn next<'a>(&'a mut self) -> Option<Self::Item<'a>> { - let slice = self.items.get_mut(self.start..self.start + self.len)?; - self.start += 1; - Some(slice) - } -} - -fn main() { - Windows::new(vec![1, 2, 3, 4, 5], 3) - .for_each(|slice| println!("{:?}", slice)); -} |