3 #![feature(generators)]
5 #![allow(unreachable_code)]
7 pub fn unintentional_copy_one() {
10 last = Some(s); //~ WARN value assigned to `last` is never read
11 //~| WARN unused variable: `last`
19 pub fn unintentional_copy_two() {
21 (1..10).for_each(move |x| {
22 sum += x; //~ WARN unused variable: `sum`
30 // Captured by value, but variable is dead on entry.
32 c = 1; //~ WARN value captured by `c` is never read
36 c = 1; //~ WARN value captured by `c` is never read
40 // Read and written to, but never actually used.
42 c += 1; //~ WARN unused variable: `c`
45 c += 1; //~ WARN value assigned to `c` is never read
46 //~| WARN unused variable: `c`
51 // Value is read by closure itself on later invocations.
57 // Never read because this is FnOnce closure.
58 c += 1; //~ WARN value assigned to `c` is never read
63 // Never read because this is a generator.
64 c += 1; //~ WARN value assigned to `c` is never read
73 d = Some("d1"); //~ WARN value assigned to `d` is never read
77 e = Some("e1"); //~ WARN value assigned to `e` is never read
78 //~| WARN unused variable: `e`
79 e = Some("e2"); //~ WARN value assigned to `e` is never read
84 pub fn g<T: Default>(mut v: T) {
87 v = T::default(); //~ WARN value assigned to `v` is never read
94 pub fn h<T: Copy + Default + std::fmt::Debug>() {
95 let mut z = T::default();
99 z = T::default(); //~ WARN value assigned to `z` is never read
100 //~| WARN unused variable: `z`
109 async fn yield_now() {
113 pub fn async_generator() {
114 let mut state: u32 = 0;
125 state = 4; //~ WARN value assigned to `state` is never read
126 //~| WARN unused variable: `state`
128 state = 5; //~ WARN value assigned to `state` is never read
137 s = 1; //~ WARN value assigned to `s` is never read
139 s = yield (); //~ WARN value assigned to `s` is never read