git.delta.rocks / unique-network / refs/commits / 96e846e3b06d

difftreelog

refactor more abstract try_set_from_iter for properties

Daniel Shiposha2022-05-18parent: #c9b52e8.patch.diff
in: master

1 file changed

modifiedprimitives/data-structs/src/lib.rsdiffbeforeafterboth
657 pub value: PropertyValue,657 pub value: PropertyValue,
658}658}
659
660impl Into<(PropertyKey, PropertyValue)> for Property {
661 fn into(self) -> (PropertyKey, PropertyValue) {
662 (self.key, self.value)
663 }
664}
659665
660#[derive(Encode, Decode, TypeInfo, Debug, MaxEncodedLen, PartialEq, Clone)]666#[derive(Encode, Decode, TypeInfo, Debug, MaxEncodedLen, PartialEq, Clone)]
661#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]667#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
666 pub permission: PropertyPermission,672 pub permission: PropertyPermission,
667}673}
674
675impl Into<(PropertyKey, PropertyPermission)> for PropertyKeyPermission {
676 fn into(self) -> (PropertyKey, PropertyPermission) {
677 (self.key, self.permission)
678 }
679}
668680
669pub enum PropertiesError {681pub enum PropertiesError {
670 NoSpaceForProperty,682 NoSpaceForProperty,
704 value: Self::Value,716 value: Self::Value,
705 ) -> Result<(), PropertiesError>;717 ) -> Result<(), PropertiesError>;
706718
707 fn try_scoped_set_from_iter<I>(719 fn try_scoped_set_from_iter<I, KV>(
708 &mut self,720 &mut self,
709 scope: PropertyScope,721 scope: PropertyScope,
710 iter: I,722 iter: I,
711 ) -> Result<(), PropertiesError>723 ) -> Result<(), PropertiesError>
712 where724 where
713 I: Iterator<Item = (PropertyKey, Self::Value)>,725 I: Iterator<Item=KV>,
726 KV: Into<(PropertyKey, Self::Value)>
714 {727 {
715 for (key, value) in iter {728 for kv in iter {
729 let (key, value) = kv.into();
716 self.try_scoped_set(scope, key, value)?;730 self.try_scoped_set(scope, key, value)?;
717 }731 }
718732
719 Ok(())733 Ok(())
720 }734 }
723 self.try_scoped_set(PropertyScope::None, key, value)737 self.try_scoped_set(PropertyScope::None, key, value)
724 }738 }
725739
726 fn try_set_from_iter<I>(&mut self, iter: I) -> Result<(), PropertiesError>740 fn try_set_from_iter<I, KV>(&mut self, iter: I) -> Result<(), PropertiesError>
727 where741 where
728 I: Iterator<Item = (PropertyKey, Self::Value)>,742 I: Iterator<Item=KV>,
743 KV: Into<(PropertyKey, Self::Value)>
729 {744 {
730 self.try_scoped_set_from_iter(PropertyScope::None, iter)745 self.try_scoped_set_from_iter(PropertyScope::None, iter)
731 }746 }