@@ -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-
412406impl 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