difftreelog
refactor more abstract try_set_from_iter for properties
in: master
1 file changed
primitives/data-structs/src/lib.rsdiffbeforeafterboth657 pub value: PropertyValue,657 pub value: PropertyValue,658}658}659660impl Into<(PropertyKey, PropertyValue)> for Property {661 fn into(self) -> (PropertyKey, PropertyValue) {662 (self.key, self.value)663 }664}659665660#[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}674675impl Into<(PropertyKey, PropertyPermission)> for PropertyKeyPermission {676 fn into(self) -> (PropertyKey, PropertyPermission) {677 (self.key, self.permission)678 }679}668680669pub enum PropertiesError {681pub enum PropertiesError {670 NoSpaceForProperty,682 NoSpaceForProperty,704 value: Self::Value,716 value: Self::Value,705 ) -> Result<(), PropertiesError>;717 ) -> Result<(), PropertiesError>;706718707 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 where713 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 }718732719 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 }725739726 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 where728 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 }