difftreelog
fix use get_or_insert_with
in: master
1 file changed
pallets/nonfungible/src/property_guard.rsdiffbeforeafterboth32 }32 }333334 pub fn check_collection_admin(&mut self) -> DispatchResult {34 pub fn check_collection_admin(&mut self) -> DispatchResult {35 if self.collection_admin_result.is_none() {36 self.collection_admin_result =35 *self.collection_admin_result.get_or_insert_with(|| {37 Some(self.collection.check_is_owner_or_admin(self.sender));36 self.collection.check_is_owner_or_admin(self.sender)38 }37 })3940 self.collection_admin_result.unwrap()41 }38 }423943 pub fn check_token_owner(&mut self) -> DispatchResult {40 pub fn check_token_owner(&mut self) -> DispatchResult {44 if self.token_owner_result.is_none() {41 *self.token_owner_result.get_or_insert_with(|| {45 let is_owned = <PalletStructure<T>>::check_indirectly_owned(42 let is_owned = <PalletStructure<T>>::check_indirectly_owned(46 self.sender.clone(),43 self.sender.clone(),47 self.collection.id,44 self.collection.id,50 self.budget,47 self.budget,51 )?;48 )?;524953 let result = if is_owned {50 if is_owned {54 Ok(())51 Ok(())55 } else {52 } else {56 Err(<CommonError<T>>::NoPermission.into())53 Err(<CommonError<T>>::NoPermission.into())57 };54 }5859 self.token_owner_result = Some(result);60 }55 })6162 self.token_owner_result.unwrap()63 }56 }64}57}6558