summaryrefslogtreecommitdiffstats
path: root/tests/ui/nll/dont-print-desugared.rs
blob: 829d78ed4c3ba444d1c39b51b0536379159e3241 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Test that we don't show variables with from for loop desugaring

fn for_loop(s: &[i32]) {
    for &ref mut x in s {}
    //~^ ERROR cannot borrow data in a `&` reference as mutable [E0596]
}

struct D<'a>(&'a ());

impl Drop for D<'_> {
    fn drop(&mut self) {}
}

fn for_loop_dropck(v: Vec<D<'static>>) {
    for ref mut d in v {
        let y = ();
        *d = D(&y); //~ ERROR `y` does not live long enough
    }
}

fn main() {}