]> git.bitcoin.ninja Git - rust-lightning/commitdiff
Tag `KVStore` `(C-not exported)` as `Writeable` isn't mapped
authorMatt Corallo <git@bluematt.me>
Sun, 26 Jun 2022 18:14:30 +0000 (18:14 +0000)
committerMatt Corallo <git@bluematt.me>
Fri, 21 Jul 2023 23:53:14 +0000 (23:53 +0000)
Currently `Writeable` is mapped manually, making it impossible to
automatically map a trait method that is parameterized by
`Writeable` (as is true for the `write` method on `KVStore`).

Ultimately we'll want to move to automatically mapping `Writeable`
like any other trait (only manually mapping the std `Write` and
`Read` traits), so this is only a candidate for the bindings branch,
not upstream. That may take a few releases, however.

lightning/src/util/persist.rs

index 435ef30d33198609b8cd38d110b1c1f9e70f7ddf..433e4f362929394ca2ca5aac920b8103ad939cba 100644 (file)
@@ -28,6 +28,7 @@ use super::{logger::Logger, ser::Writeable};
 /// Implementing `KVStorePersister` provides auto-implementations for [`Persister`]
 /// and [`Persist`] traits.  It uses "manager", "network_graph",
 /// and "monitors/{funding_txo_id}_{funding_txo_index}" for keys.
+/// (C-not exported)
 pub trait KVStorePersister {
        /// Persist the given writeable using the provided key
        fn persist<W: Writeable>(&self, key: &str, object: &W) -> io::Result<()>;