this post was submitted on 10 Nov 2024
13 points (93.3% liked)

Rust

6140 readers
45 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

[email protected]

Credits

  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

founded 2 years ago
MODERATORS
 

In order to share the running transaction into a DAO style data management class, I have wrapped the transaction in an Arc and pass it into the DAO.

The issue is, once the transaction is in there I cannot call commit() on it because it cannot be moved out of the Arc anymore, as the commit requires a mut self.

Any ideas on how to work around this?

you are viewing a single comment's thread
view the rest of the comments
[–] nrab 5 points 1 month ago (1 children)

Make sure there’s only one strong reference and call Arc::into_inner to move it out of the Arc. Same can be done with Mutex::into_inner to move the transaction out of the mutex

[–] [email protected] 1 points 1 month ago

Thanks! Will try that!