X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;ds=sidebyside;f=lightning-c-bindings%2Fsrc%2Flightning%2Futil%2Ferrors.rs;h=a3933b9b5591e7ed3412d6f71cd62134afd135c3;hb=1eaf50a3d9f777b462ff1817678473567a00eb75;hp=8f0432685ee9f4cc9dd80ac8e490dcc884f0e1d3;hpb=036da10cc98c0d3ca093a58a9cd9f20dcba832c7;p=ldk-c-bindings diff --git a/lightning-c-bindings/src/lightning/util/errors.rs b/lightning-c-bindings/src/lightning/util/errors.rs index 8f04326..a3933b9 100644 --- a/lightning-c-bindings/src/lightning/util/errors.rs +++ b/lightning-c-bindings/src/lightning/util/errors.rs @@ -8,10 +8,13 @@ //! Error types live here. -use std::str::FromStr; -use std::ffi::c_void; +use alloc::str::FromStr; +use core::ffi::c_void; +use core::convert::Infallible; use bitcoin::hashes::Hash; use crate::c_types::*; +#[cfg(feature="no-std")] +use alloc::{vec::Vec, boxed::Box}; /// Indicates an error on the client's part (usually some variant of attempting to use too-low or /// too-high values) @@ -168,7 +171,7 @@ impl APIError { nativeAPIError::IncompatibleShutdownScript {ref script, } => { let mut script_nonref = (*script).clone(); APIError::IncompatibleShutdownScript { - script: crate::lightning::ln::script::ShutdownScript { inner: Box::into_raw(Box::new(script_nonref)), is_owned: true }, + script: crate::lightning::ln::script::ShutdownScript { inner: ObjOps::heap_alloc(script_nonref), is_owned: true }, } }, } @@ -200,7 +203,7 @@ impl APIError { nativeAPIError::MonitorUpdateFailed => APIError::MonitorUpdateFailed, nativeAPIError::IncompatibleShutdownScript {mut script, } => { APIError::IncompatibleShutdownScript { - script: crate::lightning::ln::script::ShutdownScript { inner: Box::into_raw(Box::new(script)), is_owned: true }, + script: crate::lightning::ln::script::ShutdownScript { inner: ObjOps::heap_alloc(script), is_owned: true }, } }, }