diff options
| author | Rubens Brandao <git@rubens.io> | 2024-04-16 16:54:30 -0300 |
|---|---|---|
| committer | Rubens Brandao <git@rubens.io> | 2024-04-16 16:54:30 -0300 |
| commit | 152219cd95f9dafb2acfe4aab7baa17204e02b4e (patch) | |
| tree | d246ae226054010fef075b49c574f9a38678a7c7 | |
| parent | 9fdd5d0bd053e274a5ae76ab22b32b61c2b80c87 (diff) | |
remove recursive conversion for Metadata
| -rw-r--r-- | rust/src/metadata.rs | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/rust/src/metadata.rs b/rust/src/metadata.rs index e9c83dd5..d92878b9 100644 --- a/rust/src/metadata.rs +++ b/rust/src/metadata.rs @@ -403,12 +403,6 @@ impl From<&str> for Ref<Metadata> { } } -impl<T: Into<Ref<Metadata>>> From<&T> for Ref<Metadata> { - fn from(value: &T) -> Self { - value.into() - } -} - impl From<&Vec<u8>> for Ref<Metadata> { fn from(value: &Vec<u8>) -> Self { unsafe { Metadata::ref_from_raw(BNCreateMetadataRawData(value.as_ptr(), value.len())) } @@ -461,7 +455,11 @@ impl<S: BnStrCompatible> From<HashMap<S, Ref<Metadata>>> for Ref<Metadata> { } } -impl<S: BnStrCompatible + Copy, T: Into<Ref<Metadata>>> From<&[(S, T)]> for Ref<Metadata> { +impl<S, T> From<&[(S, T)]> for Ref<Metadata> +where + S: BnStrCompatible + Copy, + for<'a> &'a T: Into<Ref<Metadata>>, +{ fn from(value: &[(S, T)]) -> Self { let data: Vec<(S::Result, Ref<Metadata>)> = value .into_iter() @@ -483,8 +481,10 @@ impl<S: BnStrCompatible + Copy, T: Into<Ref<Metadata>>> From<&[(S, T)]> for Ref< } } -impl<S: BnStrCompatible + Copy, T: Into<Ref<Metadata>>, const N: usize> From<[(S, T); N]> - for Ref<Metadata> +impl<S, T, const N: usize> From<[(S, T); N]> for Ref<Metadata> +where + S: BnStrCompatible + Copy, + for<'a> &'a T: Into<Ref<Metadata>>, { fn from(value: [(S, T); N]) -> Self { let slice = &value[..]; |
