Skip to content

Commit 152219c

Browse files
committed
remove recursive conversion for Metadata
1 parent 9fdd5d0 commit 152219c

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

rust/src/metadata.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -403,12 +403,6 @@ impl From<&str> for Ref<Metadata> {
403403
}
404404
}
405405

406-
impl<T: Into<Ref<Metadata>>> From<&T> for Ref<Metadata> {
407-
fn from(value: &T) -> Self {
408-
value.into()
409-
}
410-
}
411-
412406
impl From<&Vec<u8>> for Ref<Metadata> {
413407
fn from(value: &Vec<u8>) -> Self {
414408
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> {
461455
}
462456
}
463457

464-
impl<S: BnStrCompatible + Copy, T: Into<Ref<Metadata>>> From<&[(S, T)]> for Ref<Metadata> {
458+
impl<S, T> From<&[(S, T)]> for Ref<Metadata>
459+
where
460+
S: BnStrCompatible + Copy,
461+
for<'a> &'a T: Into<Ref<Metadata>>,
462+
{
465463
fn from(value: &[(S, T)]) -> Self {
466464
let data: Vec<(S::Result, Ref<Metadata>)> = value
467465
.into_iter()
@@ -483,8 +481,10 @@ impl<S: BnStrCompatible + Copy, T: Into<Ref<Metadata>>> From<&[(S, T)]> for Ref<
483481
}
484482
}
485483

486-
impl<S: BnStrCompatible + Copy, T: Into<Ref<Metadata>>, const N: usize> From<[(S, T); N]>
487-
for Ref<Metadata>
484+
impl<S, T, const N: usize> From<[(S, T); N]> for Ref<Metadata>
485+
where
486+
S: BnStrCompatible + Copy,
487+
for<'a> &'a T: Into<Ref<Metadata>>,
488488
{
489489
fn from(value: [(S, T); N]) -> Self {
490490
let slice = &value[..];

0 commit comments

Comments
 (0)