pub fn rw3<'a, T: ?Sized, U: ?Sized, V: ?Sized>(
        &'a mut self,
        qc1: &'a QCell<T>,
        qc2: &'a QCell<U>,
        qc3: &'a QCell<V>,
    ) -> (&'a mut T, &'a mut U, &'a mut V) {
        assert_eq!(qc1.owner, self.id, "QCell accessed with incorrect owner");
        assert_eq!(qc2.owner, self.id, "QCell accessed with incorrect owner");
        assert_eq!(qc3.owner, self.id, "QCell accessed with incorrect owner");
        assert!(
            (qc1 as *const _ as *const () as usize != qc2 as *const _ as *const () as usize)
                && (qc2 as *const _ as *const () as usize != qc3 as *const _ as *const () as usize)
                && (qc3 as *const _ as *const () as usize != qc1 as *const _ as *const () as usize),
            "Illegal to borrow same QCell twice with rw3()"
        );
        unsafe {
            (
                &mut *qc1.value.get(),
                &mut *qc2.value.get(),
                &mut *qc3.value.get(),
            )
        }
    }
/// Borrow contents of three `QCell` instances mutably.  Panics if
/// any pair of `QCell` instances point to the same memory.
/// Panics if any `QCell` is not owned by this `QCellOwner`.
Borrow contents of three `QCell` instances mutably.  Panics if
any pair of `QCell` instances point to the same memory.
Panics if any `QCell` is not owned by this `QCellOwner`.
Borrow contents of three ` QCell ` instances mutably . Panics if any pair of ` QCell ` instances point to the same memory . Panics if any ` QCell ` is not owned by this ` QCellOwner ` .
pub fn rw3<'a, T: ?Sized, U: ?Sized, V: ?Sized>(
        &'a mut self,
        qc1: &'a QCell<T>,
        qc2: &'a QCell<U>,
        qc3: &'a QCell<V>,
    ) -> (&'a mut T, &'a mut U, &'a mut V) {
        assert_eq!(qc1.owner, self.id, "QCell accessed with incorrect owner");
        assert_eq!(qc2.owner, self.id, "QCell accessed with incorrect owner");
        assert_eq!(qc3.owner, self.id, "QCell accessed with incorrect owner");
        assert!(
            (qc1 as *const _ as *const () as usize != qc2 as *const _ as *const () as usize)
                && (qc2 as *const _ as *const () as usize != qc3 as *const _ as *const () as usize)
                && (qc3 as *const _ as *const () as usize != qc1 as *const _ as *const () as usize),
            "Illegal to borrow same QCell twice with rw3()"
        );
        unsafe {
            (
                &mut *qc1.value.get(),
                &mut *qc2.value.get(),
                &mut *qc3.value.get(),
            )
        }
    }
pub fn rw3 < ' a , T : ? Sized , U : ? Sized , V : ? Sized > ( & ' a mut self , qc1 : & ' a QCell < T > , qc2 : & ' a QCell < U > , qc3 : & ' a QCell < V > , ) -> ( & ' a mut T , & ' a mut U , & ' a mut V ) { assert_eq ! ( qc1 owner self id " " ) ; assert_eq ! ( qc2 owner self id " " ) ; assert_eq ! ( qc3 owner self id " " ) ; assert ! ( ( qc1 as const as const ( ) as usize qc2 as const as const ( ) as usize ) ( qc2 as const as const ( ) as usize qc3 as const as const ( ) as usize ) ( qc3 as const as const ( ) as usize qc1 as const as const ( ) as usize ) " " ) ; unsafe { ( & mut * qc1 . value . get ( ) , & mut * qc2 . value . get ( ) , & mut * qc3 . value . get ( ) , ) } }
Borrow contents of three `QCell` instances mutably.
Borrow contents of three ` QCell ` instances mutably .
&'a mut self
qc1
&'a QCell<T>
qc2
&'a QCell<U>
qc3
&'a QCell<V>
&'a mut self
qc1
&'a QCell<T>
qc2
&'a QCell<U>
qc3
&'a QCell<V>