|  | error[E0499]: cannot borrow `list.0.value` as mutable more than once at a time | 
|  | --> $DIR/assignment-to-differing-field.rs:23:21 | 
|  | | | 
|  | LL | fn assignment_to_field_projection<'a, T>( | 
|  | |                                   -- lifetime `'a` defined here | 
|  | ... | 
|  | LL |         result.push(&mut (list.0).value); | 
|  | |                     ^^^^^^^^^^^^^^^^^^^ `list.0.value` was mutably borrowed here in the previous iteration of the loop | 
|  | ... | 
|  | LL |             return result; | 
|  | |                    ------ returning this value requires that `list.0.value` is borrowed for `'a` | 
|  |  | 
|  | error[E0499]: cannot borrow `list.0.next` as mutable more than once at a time | 
|  | --> $DIR/assignment-to-differing-field.rs:26:26 | 
|  | | | 
|  | LL | fn assignment_to_field_projection<'a, T>( | 
|  | |                                   -- lifetime `'a` defined here | 
|  | ... | 
|  | LL |         if let Some(n) = (list.0).next.as_mut() { | 
|  | |                          ^^^^^^^^^^^^^ `list.0.next` was mutably borrowed here in the previous iteration of the loop | 
|  | LL | | 
|  | LL |             list.1 = n; | 
|  | |             ---------- assignment requires that `list.0.next` is borrowed for `'a` | 
|  |  | 
|  | error[E0499]: cannot borrow `list.0.0.0.0.0.value` as mutable more than once at a time | 
|  | --> $DIR/assignment-to-differing-field.rs:40:21 | 
|  | | | 
|  | LL | fn assignment_through_projection_chain<'a, T>( | 
|  | |                                        -- lifetime `'a` defined here | 
|  | ... | 
|  | LL |         result.push(&mut ((((list.0).0).0).0).0.value); | 
|  | |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `list.0.0.0.0.0.value` was mutably borrowed here in the previous iteration of the loop | 
|  | ... | 
|  | LL |             return result; | 
|  | |                    ------ returning this value requires that `list.0.0.0.0.0.value` is borrowed for `'a` | 
|  |  | 
|  | error[E0499]: cannot borrow `list.0.0.0.0.0.next` as mutable more than once at a time | 
|  | --> $DIR/assignment-to-differing-field.rs:43:26 | 
|  | | | 
|  | LL | fn assignment_through_projection_chain<'a, T>( | 
|  | |                                        -- lifetime `'a` defined here | 
|  | ... | 
|  | LL |         if let Some(n) = ((((list.0).0).0).0).0.next.as_mut() { | 
|  | |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^ `list.0.0.0.0.0.next` was mutably borrowed here in the previous iteration of the loop | 
|  | LL | | 
|  | LL |             *((((list.0).0).0).0).1 = n; | 
|  | |             --------------------------- assignment requires that `list.0.0.0.0.0.next` is borrowed for `'a` | 
|  |  | 
|  | error: aborting due to 4 previous errors | 
|  |  | 
|  | For more information about this error, try `rustc --explain E0499`. |