pub fn name_reference_write_read(
        &self,
        reference: CExprId,
    ) -> Result<WithStmts<(P<Expr>, P<Expr>)>, String> {
        let msg: &str = "When called with `uses_read = true`, `name_reference` should always \
                       return an rvalue (something from which to read the memory location)";

        self.name_reference(reference, true)
            .map(|ws| ws.map(|(lvalue, rvalue)| (lvalue, rvalue.expect(msg))))
    }
/// Get back a Rust (lvalue, rvalue) pair corresponding to the expression passed in.
///
/// You may reuse either of these expressions.
Get back a Rust (lvalue, rvalue) pair corresponding to the expression passed in.
You may reuse either of these expressions.
Get back a Rust ( lvalue rvalue ) pair corresponding to the expression passed in . You may reuse either of these expressions .
pub fn name_reference_write_read(
        &self,
        reference: CExprId,
    ) -> Result<WithStmts<(P<Expr>, P<Expr>)>, String> {
        let msg: &str = "When called with `uses_read = true`, `name_reference` should always \
                       return an rvalue (something from which to read the memory location)";
        self.name_reference(reference, true)
            .map(|ws| ws.map(|(lvalue, rvalue)| (lvalue, rvalue.expect(msg))))
    }
pub fn name_reference_write_read ( & self , reference : CExprId , ) -> Result < WithStmts < ( P < Expr > , P < Expr > ) > , String > { let msg : & str = " \
 " ; self . name_reference ( reference , true ) . map ( | ws | ws . map ( | ( lvalue , rvalue ) | ( lvalue , rvalue . expect ( msg ) ) ) ) }
Get back a Rust (lvalue, rvalue) pair corresponding to the expression passed in.
Get back a Rust ( lvalue rvalue ) pair corresponding to the expression passed in .
&self
reference
CExprId
&self
reference
CExprId