diff options
Diffstat (limited to 'src/test/ui/borrowck/issue-83309-ice-immut-in-for-loop.rs')
-rw-r--r-- | src/test/ui/borrowck/issue-83309-ice-immut-in-for-loop.rs | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/src/test/ui/borrowck/issue-83309-ice-immut-in-for-loop.rs b/src/test/ui/borrowck/issue-83309-ice-immut-in-for-loop.rs deleted file mode 100644 index d301e7b35..000000000 --- a/src/test/ui/borrowck/issue-83309-ice-immut-in-for-loop.rs +++ /dev/null @@ -1,32 +0,0 @@ -// rust-lang/rust#83309: The compiler tries to suggest potential -// methods that return `&mut` items. However, when it doesn't -// find such methods, it still tries to add suggestions -// which then fails an assertion later because there was -// no suggestions to make. - - -fn main() { - for v in Query.iter_mut() { - //~^ NOTE this iterator yields `&` references - *v -= 1; - //~^ ERROR cannot assign to `*v`, which is behind a `&` reference - //~| NOTE `v` is a `&` reference, so the data it refers to cannot be written - } -} - -pub struct Query; -pub struct QueryIter<'a>(&'a i32); - -impl Query { - pub fn iter_mut<'a>(&'a mut self) -> QueryIter<'a> { - todo!(); - } -} - -impl<'a> Iterator for QueryIter<'a> { - type Item = &'a i32; - - fn next(&mut self) -> Option<Self::Item> { - todo!(); - } -} |