Expand description
Makes locks work on N-tuples, locks the mutexes from left-to-right in the tuple. These are used to reduce rightward drift in code and to help make intentions clearer.
§Example
use rtic_core::prelude::*;
fn normal_lock(
    a: &mut impl Mutex<T = i32>,
    b: &mut impl Mutex<T = i32>,
    c: &mut impl Mutex<T = i32>
) {
    // A lot of rightward drift...
    a.lock(|a| {
        b.lock(|b| {
            c.lock(|c| {
                *a += 1;
                *b += 1;
                *c += 1;
            });
        });
    });
}Has a shorthand as:
use rtic_core::prelude::*;
fn tuple_lock(
    a: &mut impl Mutex<T = i32>,
    b: &mut impl Mutex<T = i32>,
    c: &mut impl Mutex<T = i32>
) {
    // Look! Single indent and less to write
    (a, b, c).lock(|a, b, c| {
        *a += 1;
        *b += 1;
        *c += 1;
    });
}Traits§
- Mutex
 - Memory safe access to shared resources
 - Tuple
Ext01  - Auto-generated tuple implementation, see 
Mutexfor details. - Tuple
Ext02  - Auto-generated tuple implementation, see 
Mutexfor details. - Tuple
Ext03  - Auto-generated tuple implementation, see 
Mutexfor details. - Tuple
Ext04  - Auto-generated tuple implementation, see 
Mutexfor details. - Tuple
Ext05  - Auto-generated tuple implementation, see 
Mutexfor details. - Tuple
Ext06  - Auto-generated tuple implementation, see 
Mutexfor details. - Tuple
Ext07  - Auto-generated tuple implementation, see 
Mutexfor details. - Tuple
Ext08  - Auto-generated tuple implementation, see 
Mutexfor details. - Tuple
Ext09  - Auto-generated tuple implementation, see 
Mutexfor details. - Tuple
Ext10  - Auto-generated tuple implementation, see 
Mutexfor details. - Tuple
Ext11  - Auto-generated tuple implementation, see 
Mutexfor details. - Tuple
Ext12  - Auto-generated tuple implementation, see 
Mutexfor details. - Tuple
Ext13  - Auto-generated tuple implementation, see 
Mutexfor details. - Tuple
Ext14  - Auto-generated tuple implementation, see 
Mutexfor details. - Tuple
Ext15  - Auto-generated tuple implementation, see 
Mutexfor details. - Tuple
Ext16  - Auto-generated tuple implementation, see 
Mutexfor details. - Tuple
Ext17  - Auto-generated tuple implementation, see 
Mutexfor details. - Tuple
Ext18  - Auto-generated tuple implementation, see 
Mutexfor details. - Tuple
Ext19  - Auto-generated tuple implementation, see 
Mutexfor details. - Tuple
Ext20  - Auto-generated tuple implementation, see 
Mutexfor details. - Tuple
Ext21  - Auto-generated tuple implementation, see 
Mutexfor details. - Tuple
Ext22  - Auto-generated tuple implementation, see 
Mutexfor details. - Tuple
Ext23  - Auto-generated tuple implementation, see 
Mutexfor details. - Tuple
Ext24  - Auto-generated tuple implementation, see 
Mutexfor details. - Tuple
Ext25  - Auto-generated tuple implementation, see 
Mutexfor details. - Tuple
Ext26  - Auto-generated tuple implementation, see 
Mutexfor details. - Tuple
Ext27  - Auto-generated tuple implementation, see 
Mutexfor details. - Tuple
Ext28  - Auto-generated tuple implementation, see 
Mutexfor details. - Tuple
Ext29  - Auto-generated tuple implementation, see 
Mutexfor details. - Tuple
Ext30  - Auto-generated tuple implementation, see 
Mutexfor details. - Tuple
Ext31  - Auto-generated tuple implementation, see 
Mutexfor details. - Tuple
Ext32  - Auto-generated tuple implementation, see 
Mutexfor details.