[bindings] Concretize Result types without type aliasing
[rust-lightning] / lightning-c-bindings / src / c_types / mod.rs
index dcb8d3078bb84bca61f42ef3a2c50b00b0d0becf..61006869aaa9bbeac4d630b20388bf88b23d6917 100644 (file)
@@ -256,14 +256,14 @@ impl Into<&'static str> for Str {
 // everywhere in the containers.
 
 #[repr(C)]
-pub union CResultPtr<O, E> {
-       pub result: *mut O,
-       pub err: *mut E,
+pub(crate) union CResultPtr<O, E> {
+       pub(crate) result: *mut O,
+       pub(crate) err: *mut E,
 }
 #[repr(C)]
-pub struct CResultTempl<O, E> {
-       pub contents: CResultPtr<O, E>,
-       pub result_ok: bool,
+pub(crate) struct CResultTempl<O, E> {
+       pub(crate) contents: CResultPtr<O, E>,
+       pub(crate) result_ok: bool,
 }
 impl<O, E> CResultTempl<O, E> {
        pub(crate) extern "C" fn ok(o: O) -> Self {
@@ -283,7 +283,6 @@ impl<O, E> CResultTempl<O, E> {
                }
        }
 }
-pub extern "C" fn CResultTempl_free<O, E>(_res: CResultTempl<O, E>) { }
 impl<O, E> Drop for CResultTempl<O, E> {
        fn drop(&mut self) {
                if self.result_ok {