mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-26 14:37:57 +00:00
Use parameter_types instead of thread_local for test-setup (#12036)
* Edit to Assets. parameter_types * fixes * Test Fixes. WIP * Edits to pallet-aura * Camel Case Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com> * Implementation of mutate fn * update to pallet-aura * Update to frame-system. Fixes * Update to frame-support-test. CamelCases * Updates to frame- contracts, offences, staking, bounties, child bounties * Edit to mutate fn. Changes to frame-contracts. CamelCase pallet-aura * Edits to frame-contracts & executive * cargo +nightly fmt * unused import removed * unused import removed * cargo +nightly fmt * minor adjustment * updates * updates * cargo +nightly fmt * cargo +nightly fmt * take fn implemented * update * update * Fixes to CallFilter * cargo +nightly fmt * final fixes * Default changed to $value * Update frame/support/src/lib.rs Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
This commit is contained in:
@@ -446,6 +446,21 @@ macro_rules! parameter_types_impl_thread_local {
|
||||
pub fn set(t: $type) {
|
||||
[<$name:snake:upper>].with(|v| *v.borrow_mut() = t);
|
||||
}
|
||||
|
||||
/// Mutate the internal value in place.
|
||||
pub fn mutate<R, F: FnOnce(&mut $type) -> R>(mutate: F) -> R{
|
||||
let mut current = Self::get();
|
||||
let result = mutate(&mut current);
|
||||
Self::set(current);
|
||||
result
|
||||
}
|
||||
|
||||
/// Get current value and replace with initial value of the parameter type.
|
||||
pub fn take() -> $type {
|
||||
let current = Self::get();
|
||||
Self::set($value);
|
||||
current
|
||||
}
|
||||
}
|
||||
)*
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user