diff options
| author | kadmin <julianknodt@gmail.com> | 2020-08-13 19:09:14 +0000 |
|---|---|---|
| committer | kadmin <julianknodt@gmail.com> | 2020-09-16 14:52:20 +0000 |
| commit | f240abc1dc9e59bfabfb5ea765fa9eae0aad3122 (patch) | |
| tree | 56f5bdb791e20ed72b589b92c3cf087b93ae16c6 /src | |
| parent | f4e4485a052857e5dd32ea29ceb7b1a8223e83cc (diff) | |
| download | rust-f240abc1dc9e59bfabfb5ea765fa9eae0aad3122.tar.gz rust-f240abc1dc9e59bfabfb5ea765fa9eae0aad3122.zip | |
Add array window fn
Updated issue to #75027 Update to rm oob access And hopefully fix docs as well Fixed naming conflict in test Fix test which used 1-indexing Nth starts from 0, woops Fix a bunch of off by 1 errors See https://play.rust-lang.org/?version=nightly&mode=debug&edition=2018&gist=757b311987e3fae1ca47122969acda5a Add even more off by 1 errors And also write `next` and `next_back` in terms of `nth` and `nth_back`. Run fmt Fix forgetting to change fn name in test add nth_back test & document unsafe Remove as_ref().unwrap() Documented occurrences of unsafe, noting what invariants are maintained
Diffstat (limited to 'src')
| -rw-r--r-- | src/test/ui/const-generics/type-dependent/issue-61936.rs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/test/ui/const-generics/type-dependent/issue-61936.rs b/src/test/ui/const-generics/type-dependent/issue-61936.rs index 1d42afa3f84..f3b19109a7c 100644 --- a/src/test/ui/const-generics/type-dependent/issue-61936.rs +++ b/src/test/ui/const-generics/type-dependent/issue-61936.rs @@ -5,21 +5,21 @@ #![cfg_attr(min, feature(min_const_generics))] trait SliceExt<T: Clone> { - fn array_windows<'a, const N: usize>(&'a self) -> ArrayWindows<'a, T, N>; + fn array_windows_example<'a, const N: usize>(&'a self) -> ArrayWindowsExample<'a, T, N>; } impl <T: Clone> SliceExt<T> for [T] { - fn array_windows<'a, const N: usize>(&'a self) -> ArrayWindows<'a, T, N> { - ArrayWindows{ idx: 0, slice: &self } + fn array_windows_example<'a, const N: usize>(&'a self) -> ArrayWindowsExample<'a, T, N> { + ArrayWindowsExample{ idx: 0, slice: &self } } } -struct ArrayWindows<'a, T, const N: usize> { +struct ArrayWindowsExample<'a, T, const N: usize> { slice: &'a [T], idx: usize, } -impl <'a, T: Clone, const N: usize> Iterator for ArrayWindows<'a, T, N> { +impl <'a, T: Clone, const N: usize> Iterator for ArrayWindowsExample<'a, T, N> { type Item = [T; N]; fn next(&mut self) -> Option<Self::Item> { // Note: this is unsound for some `T` and not meant as an example @@ -45,7 +45,7 @@ const FOUR: usize = 4; fn main() { let v: Vec<usize> = vec![0; 100]; - for array in v.as_slice().array_windows::<FOUR>() { + for array in v.as_slice().array_windows_example::<FOUR>() { assert_eq!(array, [0, 0, 0, 0]) } } |
