mirror of
https://github.com/serai-dex/serai.git
synced 2025-12-14 15:09:23 +00:00
Make transactions undroppable
coordinator/cosign/src/delay.rs literally demonstrates how we'd need to rewrite our handling of transactions with this change. It can be cleaned up a bit but already identifies ergonomic issues. It also doesn't model passing an &mut txn to an async function, which would also require using the droppable wrapper struct. To locally see this build, run RUSTFLAGS="-Zpanic_abort_tests -C panic=abort" cargo +nightly build -p serai-cosign --all-targets To locally see this fail to build, run cargo build -p serai-cosign --all-targets While it doesn't say which line causes it fail to build, the only distinction is panic=unwind. For more context, please see #578.
This commit is contained in:
@@ -37,7 +37,7 @@ impl Get for Arc<ParityDb> {
|
||||
}
|
||||
impl Db for Arc<ParityDb> {
|
||||
type Transaction<'a> = Transaction<'a>;
|
||||
fn txn(&mut self) -> Self::Transaction<'_> {
|
||||
fn unsafe_txn(&mut self) -> Self::Transaction<'_> {
|
||||
Transaction(self, vec![])
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user