Trait frame_support::dispatch::Clone1.0.0[][src]

pub trait Clone {
    fn clone(&self) -> Self;

    fn clone_from(&mut self, source: &Self) { ... }
}
Expand description

A common trait for the ability to explicitly duplicate an object.

Differs from Copy in that Copy is implicit and an inexpensive bit-wise copy, while Clone is always explicit and may or may not be expensive. In order to enforce these characteristics, Rust does not allow you to reimplement Copy, but you may reimplement Clone and run arbitrary code.

Since Clone is more general than Copy, you can automatically make anything Copy be Clone as well.

Derivable

This trait can be used with #[derive] if all fields are Clone. The derived implementation of Clone calls clone on each field.

For a generic struct, #[derive] implements Clone conditionally by adding bound Clone on generic parameters.

// `derive` implements Clone for Reading<T> when T is Clone.
#[derive(Clone)]
struct Reading<T> {
    frequency: T,
}

How can I implement Clone?

Types that are Copy should have a trivial implementation of Clone. More formally: if T: Copy, x: T, and y: &T, then let x = y.clone(); is equivalent to let x = *y;. Manual implementations should be careful to uphold this invariant; however, unsafe code must not rely on it to ensure memory safety.

An example is a generic struct holding a function pointer. In this case, the implementation of Clone cannot be derived, but can be implemented as:

struct Generate<T>(fn() -> T);

impl<T> Copy for Generate<T> {}

impl<T> Clone for Generate<T> {
    fn clone(&self) -> Self {
        *self
    }
}

Additional implementors

In addition to the implementors listed below, the following types also implement Clone:

  • Function item types (i.e., the distinct types defined for each function)
  • Function pointer types (e.g., fn() -> i32)
  • Array types, for all sizes, if the item type also implements Clone (e.g., [i32; 123456])
  • Tuple types, if each component also implements Clone (e.g., (), (i32, bool))
  • Closure types, if they capture no value from the environment or if all such captured values implement Clone themselves. Note that variables captured by shared reference always implement Clone (even if the referent doesn’t), while variables captured by mutable reference never implement Clone.

Required methods

Returns a copy of the value.

Examples

let hello = "Hello"; // &str implements Clone

assert_eq!("Hello", hello.clone());

Provided methods

Performs copy-assignment from source.

a.clone_from(&b) is equivalent to a = b.clone() in functionality, but can be overridden to reuse the resources of a to avoid unnecessary allocations.

Implementations on Foreign Types

Clone a sender to send to other threads.

Note, be aware of the lifetime of the sender because all senders (including the original) need to be dropped in order for Receiver::recv to stop blocking.

Shared references can be cloned, but mutable references cannot!

Shared references can be cloned, but mutable references cannot!

Panics

Panics if the value is currently mutably borrowed.

Panics

Panics if other is currently mutably borrowed.

Makes a clone of the Rc pointer.

This creates another pointer to the same allocation, increasing the strong reference count.

Examples

use std::rc::Rc;

let five = Rc::new(5);

let _ = Rc::clone(&five);

Makes a clone of the Arc pointer.

This creates another pointer to the same allocation, increasing the strong reference count.

Examples

use std::sync::Arc;

let five = Arc::new(5);

let _ = Arc::clone(&five);

Makes a clone of the Weak pointer that points to the same allocation.

Examples

use std::sync::{Arc, Weak};

let weak_five = Arc::downgrade(&Arc::new(5));

let _ = Weak::clone(&weak_five);

Makes a clone of the Weak pointer that points to the same allocation.

Examples

use std::rc::{Rc, Weak};

let weak_five = Rc::downgrade(&Rc::new(5));

let _ = Weak::clone(&weak_five);

Returns a new box with a clone() of this box’s contents.

Examples

let x = Box::new(5);
let y = x.clone();

// The value is the same
assert_eq!(x, y);

// But they are unique objects
assert_ne!(&*x as *const i32, &*y as *const i32);

Copies source’s contents into self without creating a new allocation.

Examples

let x = Box::new(5);
let mut y = Box::new(10);
let yp: *const i32 = &*y;

y.clone_from(&x);

// The value is the same
assert_eq!(x, y);

// And no allocation occurred
assert_eq!(yp, &*y);
impl Clone for input_keymap_entry

Cloning an ANSIGenericString will clone its underlying string.

Examples

use ansi_term::ANSIString;

let plain_string = ANSIString::from("a plain string");
let clone_string = plain_string.clone();
assert_eq!(clone_string, plain_string);
impl Clone for Entry

Implementors

impl<E: Clone> Clone for Error<E>

impl<H: Clone, N: Clone, V: Clone> Clone for ForkTree<H, N, V>

impl Clone for BenchmarkSelector

impl Clone for BenchmarkParameter

impl Clone for BenchmarkBatch

impl Clone for BenchmarkBatchSplitResults

impl Clone for BenchmarkResults

impl Clone for BenchmarkConfig

impl Clone for BenchmarkList

impl Clone for BenchmarkMetadata

impl<B: Clone, O: Clone> Clone for DecodeDifferent<B, O> where
    B: 'static,
    O: 'static, 

impl Clone for FunctionMetadata

impl Clone for FunctionArgumentMetadata

impl<E: Clone> Clone for FnEncode<E> where
    E: Encode + 'static, 

impl Clone for OuterEventMetadata

impl Clone for EventMetadata

impl Clone for StorageEntryMetadata

impl Clone for ModuleConstantMetadata

impl Clone for ErrorMetadata

impl Clone for DefaultByteGetter

impl Clone for StorageHasher

impl Clone for StorageEntryType

impl Clone for StorageEntryModifier

impl Clone for StorageMetadata

impl Clone for ModuleMetadata

impl<P: Clone> Clone for Braces<P>

impl<P: Clone> Clone for Brackets<P>

impl<P: Clone> Clone for Parens<P>

impl Clone for NoTrailing

impl Clone for Trailing

impl<P: Clone, T: Clone, V: Clone> Clone for PunctuatedInner<P, T, V>

impl Clone for Meta

impl<T: Clone + Config> Clone for Module<T>

impl<T: Config> Clone for Call<T>

impl<T> Clone for Pallet<T>

impl<T: Config> Clone for Call<T>

impl Clone for BlockLength

impl Clone for WeightsPerClass

impl Clone for BlockWeights

impl<T: SigningTypes> Clone for Account<T> where
    T::AccountId: Clone,
    T::Public: Clone

impl<T: Clone + Config + Send + Sync> Clone for CheckGenesis<T>

impl<T: Clone + Config + Send + Sync> Clone for CheckMortality<T>

impl<T: Clone + Config> Clone for CheckNonce<T> where
    T::Index: Clone

impl<T: Clone + Config + Send + Sync> Clone for CheckSpecVersion<T>

impl<T: Clone + Config + Send + Sync> Clone for CheckTxVersion<T>

impl<T: Clone + Config + Send + Sync> Clone for CheckWeight<T>

impl<T> Clone for Pallet<T>

impl<T: Config> Clone for Event<T>

impl<T: Config> Clone for Call<T>

impl Clone for Phase

impl<E: Clone + Parameter + Member, T: Clone> Clone for EventRecord<E, T>

impl<AccountId: Clone> Clone for RawOrigin<AccountId>

impl<Index: Clone, AccountData: Clone> Clone for AccountInfo<Index, AccountData>

impl Clone for SizeType

impl Clone for PoolTransaction

impl Clone for Transactions

impl Clone for BenchmarkOutput

impl Clone for Mode

impl Clone for DatabaseType

impl Clone for TempDatabase

impl Clone for DatabaseSize

impl Clone for Extensions

impl<Hash: Clone, Number: Clone> Clone for BlockAddress<Hash, Number>

impl<Hash: Clone, Number: Clone> Clone for ExtrinsicAddress<Hash, Number>

impl Clone for ProxyType

impl Clone for SessionKeys

impl Clone for NposSolution16

impl Clone for Runtime

impl Clone for Event

impl Clone for Origin

impl Clone for OriginCaller

impl Clone for Call

impl Clone for SessionKeys

impl Clone for Runtime

impl Clone for Event

impl Clone for Origin

impl Clone for OriginCaller

impl Clone for Call

impl Clone for BenchKeyring

impl Clone for BenchDb

impl Clone for BlockType

impl Clone for BlockContent

impl Clone for DatabaseType

impl Clone for TaskExecutor

impl Clone for Profile

impl<Balance: Clone, AccountId: Clone, DepositBalance: Clone> Clone for AssetDetails<Balance, AccountId, DepositBalance>

impl<Balance: Clone, DepositBalance: Clone> Clone for Approval<Balance, DepositBalance>

impl<Balance: Clone, Extra: Clone> Clone for AssetBalance<Balance, Extra>

impl<DepositBalance: Clone, BoundedString: Clone> Clone for AssetMetadata<DepositBalance, BoundedString>

impl Clone for DestroyWitness

impl Clone for ConversionError

impl<T, I> Clone for Pallet<T, I>

impl<T: Config<I>, I: 'static> Clone for Event<T, I>

impl<T: Config<I>, I: 'static> Clone for Call<T, I>

impl<T: Clone + Config> Clone for PendingSwap<T> where
    T::AccountId: Clone,
    T::SwapAction: Clone,
    T::BlockNumber: Clone

impl<AccountId: Clone, C: Clone + ReservableCurrency<AccountId>> Clone for BalanceSwapAction<AccountId, C>

impl<T> Clone for Pallet<T>

impl<T: Config> Clone for Event<T>

impl<T: Config> Clone for Call<T>

impl<T> Clone for Pallet<T>

impl<T: Config> Clone for Call<T>

impl<T> Clone for Pallet<T>

impl<T: Config> Clone for Call<T>

impl<T> Clone for Pallet<T>

impl<T: Config> Clone for Call<T>

impl<T> Clone for Pallet<T>

impl<T: Config> Clone for Call<T>

impl<T, I> Clone for Pallet<T, I>

impl<T: Config<I>, I: 'static> Clone for Event<T, I>

impl<T: Config<I>, I: 'static> Clone for Call<T, I>

impl Clone for Reasons

impl<Balance: Clone> Clone for BalanceLock<Balance>

impl<ReserveIdentifier: Clone, Balance: Clone> Clone for ReserveData<ReserveIdentifier, Balance>

impl<Balance: Clone> Clone for AccountData<Balance>

impl<AccountId: Clone, Balance: Clone, BlockNumber: Clone> Clone for Bounty<AccountId, Balance, BlockNumber>

impl<AccountId: Clone, BlockNumber: Clone> Clone for BountyStatus<AccountId, BlockNumber>

impl<Balance: Clone, AccountId: Clone> Clone for RawEvent<Balance, AccountId>

impl<T: Clone + Config> Clone for Module<T>

impl<T: Config> Clone for Call<T>

impl<AccountId: Clone, I: Clone> Clone for RawOrigin<AccountId, I>

impl<AccountId: Clone, BlockNumber: Clone> Clone for Votes<AccountId, BlockNumber>

impl Clone for Instance1

impl Clone for Instance2

impl Clone for Instance3

impl Clone for Instance4

impl Clone for Instance5

impl Clone for Instance6

impl Clone for Instance7

impl Clone for Instance8

impl Clone for Instance9

impl Clone for Instance10

impl Clone for Instance11

impl Clone for Instance12

impl Clone for Instance13

impl Clone for Instance14

impl Clone for Instance15

impl Clone for Instance16

impl Clone for DefaultInstance

impl<Hash: Clone, AccountId: Clone, I: Clone> Clone for RawEvent<Hash, AccountId, I>

impl<T: Clone + Config<I>, I: Clone + Instance> Clone for Module<T, I>

impl<T: Config<I>, I: Instance> Clone for Call<T, I>

impl<T: Clone + Config> Clone for Schedule<T>

impl Clone for Limits

impl<T: Clone + Config> Clone for InstructionWeights<T>

impl<T: Clone + Config> Clone for HostFnWeights<T>

impl<T> Clone for Pallet<T>

impl<T: Config> Clone for Event<T>

impl<T: Config> Clone for Call<T> where
    T::AccountId: UncheckedFrom<T::Hash>,
    T::AccountId: AsRef<[u8]>, 

impl Clone for ReturnFlags

impl<BlockHash: Clone, BlockNumber: Clone, AccountId: Clone, Balance: Clone, Hash: Clone> Clone for Client<BlockHash, BlockNumber, AccountId, Balance, Hash>

impl Clone for Conviction

impl<Balance: Clone> Clone for Tally<Balance>

impl<Balance: Clone> Clone for Delegations<Balance>

impl<BlockNumber: Clone, Hash: Clone, Balance: Clone> Clone for ReferendumStatus<BlockNumber, Hash, Balance>

impl<BlockNumber: Clone, Hash: Clone, Balance: Clone> Clone for ReferendumInfo<BlockNumber, Hash, Balance>

impl Clone for Vote

impl<Balance: Clone> Clone for AccountVote<Balance>

impl<Balance: Clone, AccountId: Clone, BlockNumber: Clone> Clone for Voting<Balance, AccountId, BlockNumber>

impl Clone for VoteThreshold

impl<AccountId: Clone, Balance: Clone, BlockNumber: Clone> Clone for PreimageStatus<AccountId, Balance, BlockNumber>

impl<T> Clone for Pallet<T>

impl<T: Config> Clone for Event<T>

impl<T: Config> Clone for Call<T>

impl<AccountId: Clone, Balance: Clone + HasCompact, Solution: Clone> Clone for SignedSubmission<AccountId, Balance, Solution>

impl<Bn: Clone> Clone for Phase<Bn>

impl Clone for ElectionCompute

impl<S: Clone> Clone for RawSolution<S>

impl<A: Clone> Clone for ReadySolution<A>

impl<A: Clone> Clone for RoundSnapshot<A>

impl Clone for SolutionOrSnapshotSize

impl<T: Config> Clone for Event<T>

impl<T> Clone for Pallet<T>

impl<T: Config> Clone for Call<T>

impl<Balance: Clone> Clone for VoterInfo<Balance>

impl<T> Clone for Pallet<T>

impl<T: Config> Clone for Event<T>

impl<T: Config> Clone for Call<T>

impl Clone for Renouncing

impl<AccountId: Clone, Balance: Clone> Clone for Voter<AccountId, Balance>

impl<AccountId: Clone, Balance: Clone> Clone for SeatHolder<AccountId, Balance>

impl<T> Clone for Pallet<T>

impl<T: Config> Clone for Event<T>

impl<T: Config> Clone for Call<T>

impl<T> Clone for Pallet<T>

impl<T: Config> Clone for Event<T>

impl<T: Config> Clone for Call<T>

impl<T: Clone + Config + Send + Sync> Clone for WatchDummy<T>

impl Clone for Public

impl Clone for Signature

impl Clone for Pair

impl<T> Clone for Pallet<T>

impl<T: Config> Clone for Event<T>

impl<T: Config> Clone for Call<T>

impl<Public: Clone, BlockNumber: Clone> Clone for PricePayload<Public, BlockNumber>

impl<T> Clone for Pallet<T>

impl<T: Config> Clone for Call<T>

impl Clone for EnlistedParticipant

impl<T> Clone for Pallet<T>

impl<Balance: Clone, AccountId: Clone> Clone for GiltBid<Balance, AccountId>

impl<Balance: Clone, AccountId: Clone, BlockNumber: Clone> Clone for ActiveGilt<Balance, AccountId, BlockNumber>

impl<Balance: Clone> Clone for ActiveGiltsTotal<Balance>

impl<T: Config> Clone for Event<T>

impl<T: Config> Clone for Call<T>

impl Clone for GrandpaTimeSlot

impl<T> Clone for Pallet<T>

impl Clone for Event

impl<T: Config> Clone for Call<T>

impl Clone for Data

impl<Balance: Clone + Encode + Decode + MaxEncodedLen + Copy + Debug + Eq + PartialEq> Clone for Judgement<Balance>

impl Clone for IdentityField

impl Clone for IdentityFields

impl<FieldLimit: Get<u32>> Clone for IdentityInfo<FieldLimit>

impl<Balance: Encode + Decode + MaxEncodedLen + Copy + Clone + Debug + Eq + PartialEq, MaxJudgements: Get<u32>, MaxAdditionalFields: Get<u32>> Clone for Registration<Balance, MaxJudgements, MaxAdditionalFields>

impl<Balance: Clone + Encode + Decode + Debug + Eq + PartialEq, AccountId: Clone + Encode + Decode + Debug + Eq + PartialEq> Clone for RegistrarInfo<Balance, AccountId>

impl<T> Clone for Pallet<T>

impl<T: Config> Clone for Event<T>

impl<T: Config> Clone for Call<T>

impl<BlockNumber: Clone> Clone for Heartbeat<BlockNumber> where
    BlockNumber: PartialEq + Eq + Decode + Encode, 

impl<T> Clone for Pallet<T>

impl<T: Config> Clone for Event<T>

impl<T: Config> Clone for Call<T>

impl<Offender: Clone> Clone for UnresponsivenessOffence<Offender>

impl<T> Clone for Pallet<T>

impl<T: Config> Clone for Event<T>

impl<T: Config> Clone for Call<T>

impl<T> Clone for Pallet<T>

impl<T: Config> Clone for Event<T>

impl<T: Config> Clone for Call<T>

impl Clone for Instance1

impl Clone for Instance2

impl Clone for Instance3

impl Clone for Instance4

impl Clone for Instance5

impl Clone for Instance6

impl Clone for Instance7

impl Clone for Instance8

impl Clone for Instance9

impl Clone for Instance10

impl Clone for Instance11

impl Clone for Instance12

impl Clone for Instance13

impl Clone for Instance14

impl Clone for Instance15

impl Clone for Instance16

impl Clone for DefaultInstance

impl<AccountId: Clone, Event: Clone, I: Clone> Clone for RawEvent<AccountId, Event, I>

impl<T: Clone + Config<I>, I: Clone + Instance> Clone for Module<T, I>

impl<T: Config<I>, I: Instance> Clone for Call<T, I>

impl<T, I> Clone for Pallet<T, I>

impl<T: Config<I>, I: 'static> Clone for Call<T, I>

impl<H: Clone + Hash, L: Clone> Clone for DataOrHash<H, L> where
    H::Output: Clone

impl<H: Clone, T: Clone> Clone for Compact<H, T>

impl<Hash: Clone> Clone for Proof<Hash>

impl Clone for OpaqueLeaf

impl<BlockHash: Clone> Clone for LeafProof<BlockHash>

impl<BlockHash: Clone> Clone for Client<BlockHash>

impl<BlockNumber: Clone> Clone for Timepoint<BlockNumber>

impl<BlockNumber: Clone, Balance: Clone, AccountId: Clone> Clone for Multisig<BlockNumber, Balance, AccountId>

impl<T> Clone for Pallet<T>

impl<T: Config> Clone for Event<T>

impl<T: Config> Clone for Call<T>

impl<T: Config> Clone for Event<T>

impl<T> Clone for Pallet<T>

impl<T: Config> Clone for Call<T>

impl<T> Clone for Pallet<T>

impl<T: Config> Clone for Event<T>

impl<T: Config> Clone for Call<T>

impl<T> Clone for Pallet<T>

impl Clone for Event

impl<T: Config> Clone for Call<T>

impl<AccountId: Clone, ProxyType: Clone, BlockNumber: Clone> Clone for ProxyDefinition<AccountId, ProxyType, BlockNumber>

impl<AccountId: Clone, Hash: Clone, BlockNumber: Clone> Clone for Announcement<AccountId, Hash, BlockNumber>

impl<T> Clone for Pallet<T>

impl<T: Config> Clone for Event<T>

impl<T: Config> Clone for Call<T>

impl<T> Clone for Pallet<T>

impl<T: Config> Clone for Call<T>

impl<BlockNumber: Clone, Balance: Clone, AccountId: Clone> Clone for ActiveRecovery<BlockNumber, Balance, AccountId>

impl<BlockNumber: Clone, Balance: Clone, AccountId: Clone> Clone for RecoveryConfig<BlockNumber, Balance, AccountId>

impl<T> Clone for Pallet<T>

impl<T: Config> Clone for Event<T>

impl<T: Config> Clone for Call<T>

impl<Call: Clone, BlockNumber: Clone, PalletsOrigin: Clone, AccountId: Clone> Clone for ScheduledV2<Call, BlockNumber, PalletsOrigin, AccountId>

impl<T> Clone for Pallet<T>

impl<T: Config> Clone for Event<T>

impl<T: Config> Clone for Call<T>

impl<T, I> Clone for Pallet<T, I>

impl<T: Config<I>, I: 'static> Clone for Event<T, I>

impl<T: Config<I>, I: 'static> Clone for Call<T, I>

impl<T: Clone + Config> Clone for Module<T>

impl<T: Config> Clone for Call<T>

impl Clone for Event

impl<T: Clone + Config> Clone for Module<T>

impl<T: Config> Clone for Call<T>

impl Clone for Vote

impl Clone for Judgement

impl<Balance: Clone, BlockNumber: Clone> Clone for Payout<Balance, BlockNumber>

impl Clone for VouchingStatus

impl<AccountId: Clone, Balance: Clone> Clone for Bid<AccountId, Balance>

impl<AccountId: Clone, Balance: Clone> Clone for BidKind<AccountId, Balance>

impl Clone for Instance1

impl Clone for Instance2

impl Clone for Instance3

impl Clone for Instance4

impl Clone for Instance5

impl Clone for Instance6

impl Clone for Instance7

impl Clone for Instance8

impl Clone for Instance9

impl Clone for Instance10

impl Clone for Instance11

impl Clone for Instance12

impl Clone for Instance13

impl Clone for Instance14

impl Clone for Instance15

impl Clone for Instance16

impl Clone for DefaultInstance

impl<T: Clone + Config<I>, I: Clone + Instance> Clone for Module<T, I>

impl<T: Config<I>, I: Instance> Clone for Call<T, I>

impl<AccountId: Clone, Balance: Clone, I: Clone> Clone for RawEvent<AccountId, Balance, I>

impl<T> Clone for Pallet<T>

impl<T: Config> Clone for Event<T>

impl<T: Config> Clone for Call<T>

impl<AccountId: Clone> Clone for RewardDestination<AccountId>

impl Clone for ValidatorPrefs

impl<Balance: Clone + HasCompact> Clone for UnlockChunk<Balance>

impl<AccountId: Clone, Balance: Clone + HasCompact> Clone for StakingLedger<AccountId, Balance>

impl<AccountId: Clone> Clone for Nominations<AccountId>

impl<AccountId: Clone, Balance: Clone + HasCompact> Clone for IndividualExposure<AccountId, Balance>

impl<AccountId: Clone, Balance: Clone + HasCompact> Clone for Exposure<AccountId, Balance>

impl Clone for Forcing

impl<T> Clone for Pallet<T>

impl<T: Config> Clone for Event<T>

impl<T: Config> Clone for Call<T>

impl<T> Clone for Pallet<T>

impl<T: Config> Clone for Event<T>

impl<T: Config> Clone for Call<T>

impl<T> Clone for Pallet<T>

impl<T: Config> Clone for Call<T>

impl<AccountId: Clone + Parameter, Balance: Clone + Parameter, BlockNumber: Clone + Parameter, Hash: Clone + Parameter> Clone for OpenTip<AccountId, Balance, BlockNumber, Hash>

impl<Balance: Clone, AccountId: Clone, Hash: Clone> Clone for RawEvent<Balance, AccountId, Hash>

impl<T: Clone + Config> Clone for Module<T>

impl<T: Config> Clone for Call<T>

impl<Balance: Clone> Clone for InclusionFee<Balance>

impl<Balance: Clone> Clone for FeeDetails<Balance>

impl<T> Clone for Pallet<T>

impl<T: Config> Clone for Call<T>

impl<T: Clone + Config> Clone for ChargeTransactionPayment<T>

impl<BlockHash: Clone, ResponseType: Clone> Clone for Client<BlockHash, ResponseType>

impl Clone for TransactionInfo

impl<T> Clone for Pallet<T>

impl<T: Config> Clone for Event<T>

impl<T: Config> Clone for Call<T>

impl<AccountId: Clone, Balance: Clone> Clone for Proposal<AccountId, Balance>

impl<T, I> Clone for Pallet<T, I>

impl<T: Config<I>, I: 'static> Clone for Event<T, I>

impl<T: Config<I>, I: 'static> Clone for Call<T, I>

impl<AccountId: Clone, DepositBalance: Clone> Clone for ClassDetails<AccountId, DepositBalance>

impl Clone for DestroyWitness

impl<AccountId: Clone, DepositBalance: Clone> Clone for InstanceDetails<AccountId, DepositBalance>

impl<DepositBalance: Clone, StringLimit: Clone + Get<u32>> Clone for ClassMetadata<DepositBalance, StringLimit>

impl<DepositBalance: Clone, StringLimit: Clone + Get<u32>> Clone for InstanceMetadata<DepositBalance, StringLimit>

impl<T, I> Clone for Pallet<T, I>

impl<T: Config<I>, I: 'static> Clone for Event<T, I>

impl<T: Config<I>, I: 'static> Clone for Call<T, I>

impl<T> Clone for Pallet<T>

impl Clone for Event

impl<T: Config> Clone for Call<T>

impl<Balance: Clone, BlockNumber: Clone> Clone for VestingInfo<Balance, BlockNumber>

impl<T> Clone for Pallet<T>

impl<T: Config> Clone for Event<T>

impl<T: Config> Clone for Call<T>

impl<B: Clone + BlockT> Clone for Mode<B>

impl Clone for OfflineConfig

impl Clone for Transport

impl<B: Clone + BlockT> Clone for OnlineConfig<B> where
    B::Hash: Clone

impl Clone for SnapshotConfig

impl Clone for Service

impl Clone for RecordProof

impl<G, E: Clone> Clone for ChainSpec<G, E>

impl<BlockNumber: Clone + Ord, T: Clone + Group> Clone for Forks<BlockNumber, T> where
    T::Fork: Clone

impl Clone for ChainType

impl Clone for WasmExecutionMethod

impl Clone for TracingReceiver

impl Clone for NodeKeyType

impl Clone for CryptoScheme

impl Clone for OutputType

impl Clone for ExecutionStrategy

impl Clone for RpcMethods

impl Clone for Database

impl Clone for OffchainWorkerEnabled

impl Clone for SyncMode

impl Clone for BuildSpecCmd

impl Clone for CheckBlockCmd

impl Clone for ExportBlocksCmd

impl Clone for ExportStateCmd

impl Clone for GenerateCmd

impl Clone for InsertKeyCmd

impl Clone for PurgeChainCmd

impl Clone for RunCmd

impl Clone for SignCmd

impl Clone for VanityCmd

impl Clone for VerifyCmd

impl Clone for DatabaseParams

impl Clone for ImportParams

impl Clone for ExecutionStrategiesParams

impl Clone for KeystoreParams

impl Clone for NetworkParams

impl Clone for NodeKeyParams

impl Clone for OffchainWorkerParams

impl Clone for PruningParams

impl Clone for SharedParams

impl Clone for TransactionPoolParams

impl Clone for GenericNumber

impl Clone for BlockNumberOrHash

impl Clone for CryptoSchemeFlag

impl Clone for OutputTypeFlag

impl Clone for NetworkSchemeFlag

impl Clone for NewBlockState

impl Clone for MemorySize

impl Clone for StateDbMemoryInfo

impl Clone for MemoryInfo

impl Clone for IoInfo

impl Clone for UsageInfo

impl<Block: Clone + BlockT> Clone for BlockImportNotification<Block> where
    Block::Hash: Clone,
    Block::Header: Clone

impl<Block: Clone + BlockT> Clone for FinalityNotification<Block> where
    Block::Hash: Clone,
    Block::Header: Clone

impl Clone for ExecutionStrategies

impl<Block: BlockT + Clone> Clone for Blockchain<Block>

impl<H: Clone, N: Clone> Clone for LeafSet<H, N>

impl<Header: Clone + HeaderT> Clone for RemoteCallRequest<Header> where
    Header::Hash: Clone

impl<Header: Clone + HeaderT> Clone for RemoteHeaderRequest<Header> where
    Header::Hash: Clone,
    Header::Number: Clone

impl<Header: Clone + HeaderT> Clone for RemoteReadRequest<Header> where
    Header::Hash: Clone

impl<Header: Clone + HeaderT> Clone for RemoteReadChildRequest<Header> where
    Header::Hash: Clone

impl<Header: Clone + HeaderT> Clone for RemoteChangesRequest<Header> where
    Header::Number: Clone,
    Header::Hash: Clone,
    Header::Number: Clone,
    Header::Hash: Clone,
    Header::Number: Clone,
    Header::Hash: Clone,
    Header::Number: Clone,
    Header::Hash: Clone,
    Header::Number: Clone,
    Header::Hash: Clone,
    Header::Hash: Clone

impl<Header: Clone + HeaderT> Clone for RemoteBodyRequest<Header>

impl Clone for LocalStorage

impl Clone for KeepBlocks

impl Clone for TransactionStorageMode

impl Clone for DatabaseSource

impl Clone for ForkChoiceStrategy

impl<Block: Clone + BlockT> Clone for BlockCheckParams<Block> where
    Block::Hash: Clone,
    Block::Hash: Clone

impl<B: Clone + BlockT> Clone for ImportedState<B> where
    B::Hash: Clone

impl<B: BlockT> Clone for BufferedLinkSender<B>

impl<B: Clone + BlockT> Clone for IncomingBlock<B>

impl<B, Block> Clone for LongestChain<B, Block>

impl<T> Clone for SharedData<T>

impl Clone for CheckForEquivocation

impl Clone for Epoch

impl Clone for Config

impl<B: Clone + BlockT> Clone for BabeWorkerHandle<B>

impl<Block: Clone + BlockT> Clone for BabeLink<Block>

impl<Block: BlockT, I: Clone, Client> Clone for BabeBlockImport<Block, Client, I>

impl Clone for Client

impl<Hash: Clone, Number: Clone, E: Clone + Epoch> Clone for EpochChangesV0<Hash, Number, E>

impl<E: Epoch> Clone for EpochHeader<E>

impl Clone for EpochIdentifierPosition

impl<Hash: Clone, Number: Clone> Clone for EpochIdentifier<Hash, Number>

impl<Hash: Clone, Number: Clone, E: Clone + Epoch> Clone for ViableEpochDescriptor<Hash, Number, E> where
    E::Slot: Clone

impl<E: Clone + Epoch> Clone for PersistedEpoch<E>

impl<E: Epoch> Clone for PersistedEpochHeader<E>

impl<Hash: Clone, Number: Clone, E: Clone + Epoch> Clone for EpochChanges<Hash, Number, E>

impl<Hash: Clone> Clone for Client<Hash>

impl<H: Clone, D: Clone> Clone for MiningMetadata<H, D>

impl<Difficulty: Clone> Clone for PowIntermediate<Difficulty>

impl<Difficulty: Clone> Clone for PowAux<Difficulty>

impl<B: BlockT, I: Clone, C, S: Clone, Algorithm: Clone, CAW: Clone, CIDP> Clone for PowBlockImport<B, I, C, S, Algorithm, CAW, CIDP>

impl<Block: Clone + BlockT, Proof: Clone> Clone for SlotResult<Block, Proof>

impl<T: Clone> Clone for SlotDuration<T>

impl<N: Clone> Clone for BackoffAuthoringOnFinalizedHeadLagging<N>

impl Clone for WasmExecutor

impl<D: NativeExecutionDispatch> Clone for NativeExecutor<D>

impl Clone for WasmExecutionMethod

impl Clone for DataSegmentsSnapshot

impl Clone for RuntimeBlob

impl Clone for SupervisorFuncIndex

impl<H, N> Clone for SharedAuthoritySet<H, N>

impl<H: Clone, N: Clone> Clone for AuthoritySet<H, N>

impl<N: Clone> Clone for AuthoritySetChanges<N>

impl<Header: Clone + HeaderT> Clone for FinalityProof<Header> where
    Header::Hash: Clone

impl<Backend, Block: BlockT, Client, SC: Clone> Clone for GrandpaBlockImport<Backend, Block, Client, SC>

impl<Block: Clone + BlockT> Clone for GrandpaJustification<Block> where
    Block::Header: Clone

impl<Block: Clone + BlockT> Clone for GrandpaJustificationSender<Block>

impl<Block: Clone + BlockT> Clone for GrandpaJustificationStream<Block>

impl<N: Clone> Clone for BeforeBestBlockBy<N>

impl Clone for ThreeQuartersOfTheUnfinalizedChain

impl Clone for SharedVoterState

impl Clone for Config

impl<Notification: Clone, Hash: Clone, Number: Clone> Clone for Client<Notification, Hash, Number>

impl Clone for OutputFormat

impl<B, L: Clone> Clone for GenesisCallExecutor<B, L>

impl Clone for AlwaysBadChecker

impl Clone for DhtEvent

impl Clone for Event

impl Clone for ObservedRole

impl Clone for SyncState

impl Clone for StateDownloadProgress

impl Clone for WarpSyncPhase

impl Clone for WarpSyncProgress

impl<B: Clone + BlockT> Clone for PeerInfo<B> where
    B::Hash: Clone,
    B::Header: Clone

impl Clone for ProtocolConfig

impl Clone for IfDisconnected

impl Clone for BitswapConfig

impl Clone for Role

impl Clone for TransactionImport

impl Clone for ProtocolId

impl Clone for MultiaddrWithPeerId

impl Clone for SyncMode

impl Clone for NetworkConfiguration

impl Clone for SetConfig

impl Clone for NonDefaultSetConfig

impl Clone for TransportConfig

impl Clone for NonReservedPeerMode

impl Clone for NodeKeyConfig

impl<K: Clone> Clone for Secret<K>

impl Clone for Response

impl Clone for NetworkState

impl Clone for Peer

impl Clone for NotConnectedPeer

impl Clone for PeerEndpoint

impl<B: Clone + BlockT> Clone for NetworkStatus<B>

impl Clone for TopicNotification

impl Clone for MessageIntent

impl Clone for PassThroughVerifier

impl Clone for PeersClient

impl<I: Clone> Clone for BlockImportAdapter<I>

impl<Storage: Clone> Clone for Db<Storage>

impl Clone for SetId

impl Clone for ReputationChange

impl Clone for PeersetHandle

impl Clone for IncomingIndex

impl Clone for MetricsLink

impl Clone for Metrics

impl Clone for SubscriptionTaskExecutor

impl Clone for Metadata

impl Clone for DenyUnsafe

impl<Hash: Clone, BlockHash: Clone> Clone for Client<Hash, BlockHash>

impl<Number: Clone, Hash: Clone, Header: Clone, SignedBlock: Clone> Clone for Client<Number, Hash, Header, SignedBlock>

impl<Hash: Clone> Clone for Client<Hash>

impl Clone for Client

impl<Hash: Clone> Clone for Client<Hash>

impl Clone for SystemInfo

impl<Hash: Clone, Number: Clone> Clone for Client<Hash, Number>

impl Clone for RpcMetrics

impl Clone for KeystoreConfig

impl Clone for OffchainWorkerConfig

impl Clone for PrometheusConfig

impl Clone for RpcMethods

impl Clone for TaskExecutor

impl<Block: BlockT, B, E> Clone for LocalCallExecutor<Block, B, E> where
    E: Clone

impl<Block: Clone + BlockT> Clone for ClientConfig<Block> where
    Block::Hash: Clone

impl Clone for SpawnTaskHandle

impl Clone for RpcHandlers

impl Clone for RpcSession

impl<TBl: BlockT, TBackend, TExec, TRtApi, TExPool> Clone for TestNetComponents<TBl, TBackend, TExec, TRtApi, TExPool>

impl<H: Clone + Hash> Clone for ChangeSet<H>

impl<H: Clone + Hash> Clone for CommitSet<H>

impl Clone for Constraints

impl Clone for PruningMode

impl<Block: Clone + BlockT> Clone for LightSyncState<Block>

impl Clone for Client

impl Clone for TelemetryEndpoints

impl Clone for TelemetryWorkerHandle

impl Clone for TelemetryHandle

impl Clone for TelemetryConnectionNotifier

impl Clone for TracingReceiver

impl Clone for Values

impl Clone for Options

impl<B: ChainApi> Clone for Pool<B>

impl<Hash: Clone, BlockHash: Clone> Clone for TransactionStatus<Hash, BlockHash>

impl Clone for Public

impl Clone for Signature

impl Clone for Pair

impl Clone for Public

impl Clone for Signature

impl Clone for Pair

impl Clone for Public

impl Clone for Signature

impl Clone for Pair

impl Clone for BigUint

impl Clone for FixedI64

impl Clone for FixedI128

impl Clone for FixedU128

impl Clone for Percent

impl Clone for PerU16

impl Clone for Permill

impl Clone for Perbill

impl Clone for Perquintill

impl Clone for RationalInfinite

impl Clone for Rational128

impl Clone for BlockStatus

impl<Block: Clone + BlockT> Clone for HashAndNumber<Block> where
    Block::Hash: Clone

impl<Block: Clone + BlockT> Clone for TreeRoute<Block>

impl<Block: Clone + BlockT> Clone for CachedHeaderMetadata<Block> where
    Block::Hash: Clone,
    Block::Hash: Clone,
    Block::Hash: Clone,
    Block::Hash: Clone

impl Clone for BlockOrigin

impl Clone for NoNetwork

impl<T: Clone> Clone for CanAuthorWithNativeVersion<T>

impl Clone for AlwaysCanAuthor

impl Clone for NeverCanAuthor

impl Clone for SlotDuration

impl Clone for PrimaryPreDigest

impl Clone for SecondaryPlainPreDigest

impl Clone for SecondaryVRFPreDigest

impl Clone for PreDigest

impl Clone for NextEpochDescriptor

impl Clone for NextConfigDescriptor

impl Clone for ConsensusLog

impl Clone for BabeGenesisConfigurationV1

impl Clone for BabeGenesisConfiguration

impl Clone for AllowedSlots

impl Clone for BabeEpochConfiguration

impl Clone for Epoch

impl Clone for Slot

impl<Header: Clone, Id: Clone> Clone for EquivocationProof<Header, Id>

impl Clone for VRFOutput

impl Clone for VRFProof

impl Clone for SecretStringError

impl Clone for DeriveJunction

impl Clone for PublicError

impl Clone for Ss58AddressFormat

impl Clone for ParseError

impl Clone for AccountId32

impl Clone for Dummy

impl Clone for KeyTypeId

impl Clone for CryptoTypeId

impl Clone for CryptoTypePublicPair

impl Clone for ChangesTrieConfiguration

impl<Number: Clone, Hash: Clone> Clone for ChangesTrieConfigurationRange<Number, Hash>

impl Clone for Public

impl Clone for PublicError

impl Clone for Signature

impl Clone for Pair

impl Clone for Public

impl Clone for Pair

impl Clone for Signature

impl Clone for LocalizedSignature

impl Clone for PublicError

impl Clone for InMemOffchainStorage

impl Clone for TestPersistentOffchainDB

impl Clone for TestOffchainExt

impl Clone for StorageKind

impl Clone for HttpRequestId

impl Clone for HttpError

impl Clone for HttpRequestStatus

impl Clone for OpaqueNetworkState

impl Clone for OpaqueMultiaddr

impl Clone for Timestamp

impl Clone for Duration

impl Clone for Capability

impl Clone for Capabilities

impl Clone for OffchainOverlayedChange

impl Clone for ExternEntity

impl Clone for Entry

impl Clone for EnvironmentDefinition

impl Clone for Public

impl Clone for Pair

impl Clone for Signature

impl Clone for LocalizedSignature

impl Clone for TaskExecutor

impl<'a> Clone for RuntimeCode<'a>

impl<'clone> Clone for Box<dyn SpawnNamed + 'clone>

impl<'clone> Clone for Box<dyn SpawnNamed + Send + 'clone>

impl<'clone> Clone for Box<dyn SpawnNamed + Sync + 'clone>

impl<'clone> Clone for Box<dyn SpawnNamed + Send + Sync + 'clone>

impl<'clone> Clone for Box<dyn SpawnEssentialNamed + 'clone>

impl<'clone> Clone for Box<dyn SpawnEssentialNamed + Send + 'clone>

impl<'clone> Clone for Box<dyn SpawnEssentialNamed + Sync + 'clone>

impl<'clone> Clone for Box<dyn SpawnEssentialNamed + Send + Sync + 'clone>

impl Clone for Bytes

impl Clone for OpaquePeerId

impl Clone for LogLevel

impl Clone for LogLevelFilter

impl Clone for Void

impl<H: Clone> Clone for Change<H>

impl<H: Clone> Clone for Transaction<H>

impl<N: Clone> Clone for ScheduledChange<N>

impl<N: Clone + Codec> Clone for ConsensusLog<N>

impl<H: Clone, N: Clone> Clone for EquivocationProof<H, N>

impl<H: Clone, N: Clone> Clone for Equivocation<H, N>

impl Clone for InherentData

impl Clone for CheckInherentsResult

impl Clone for Keyring

impl Clone for KeyringIter

impl Clone for Keyring

impl Clone for KeyringIter

impl Clone for VRFTranscriptValue

impl Clone for VRFTranscriptData

impl Clone for Error

impl<AccountId: Clone, P: Clone + PerThing> Clone for Assignment<AccountId, P>

impl<AccountId: Clone> Clone for StakedAssignment<AccountId>

impl<VoterIndex: Clone, TargetIndex: Clone, P: Clone + PerThing> Clone for IndexAssignment<VoterIndex, TargetIndex, P>

impl<AccountId: Clone> Clone for Candidate<AccountId>

impl<AccountId: Clone> Clone for Edge<AccountId>

impl<AccountId: Clone> Clone for Voter<AccountId>

impl<AccountId: Clone> Clone for Support<AccountId>

impl Clone for NumberOrHex

impl Clone for BlockTrace

impl Clone for Event

impl Clone for Span

impl Clone for Data

impl Clone for TraceError

impl Clone for TraceBlockResponse

impl<Block: Clone + BlockT> Clone for BlockId<Block> where
    Block::Hash: Clone

impl<Header: Clone, Extrinsic: Clone + MaybeSerialize> Clone for Block<Header, Extrinsic>

impl<Block: Clone> Clone for SignedBlock<Block>

impl<AccountId: Clone, Call: Clone, Extra: Clone> Clone for CheckedExtrinsic<AccountId, Call, Extra>

impl<Hash: Clone> Clone for Digest<Hash>

impl<Hash: Clone> Clone for DigestItem<Hash>

impl Clone for ChangesTrieSignal

impl<'a, Hash: Clone + 'a> Clone for DigestItemRef<'a, Hash>

impl<'a> Clone for OpaqueDigestItemId<'a>

impl Clone for Era

impl<Number: Clone + Copy + Into<U256> + TryFrom<U256>, Hash: Clone + HashT> Clone for Header<Number, Hash> where
    Hash::Output: Clone,
    Hash::Output: Clone,
    Hash::Output: Clone,
    Hash::Output: Clone

impl<Address: Clone, Call: Clone, Signature: Clone, Extra: Clone> Clone for UncheckedExtrinsic<Address, Call, Signature, Extra> where
    Extra: SignedExtension

impl<AccountId: Clone, AccountIndex: Clone> Clone for MultiAddress<AccountId, AccountIndex>

impl Clone for Method

impl<'a, T: Clone> Clone for Request<'a, T>

impl Clone for Error

impl Clone for ResponseBody

impl Clone for Headers

impl<'a> Clone for HeadersIterator<'a>

impl<B: BlockNumberProvider> Clone for BlockAndTimeDeadline<B>

impl<B: BlockNumberProvider> Clone for BlockAndTime<B>

impl Clone for RuntimeString

impl Clone for UintAuthorityId

impl Clone for TestSignature

impl<Xt: Clone> Clone for ExtrinsicWrapper<Xt>

impl<Xt: Clone> Clone for Block<Xt>

impl<Call: Clone, Extra: Clone> Clone for TestXt<Call, Extra>

impl Clone for BlakeTwo256

impl Clone for Keccak256

impl Clone for InvalidTransaction

impl Clone for UnknownTransaction

impl Clone for TransactionValidityError

impl Clone for TransactionSource

impl Clone for ValidTransaction

impl Clone for ValidTransactionBuilder

impl Clone for Justifications

impl Clone for MultiSignature

impl Clone for MultiSigner

impl Clone for AnySignature

impl Clone for DispatchError

impl<Info: Clone> Clone for DispatchErrorWithPostInfo<Info> where
    Info: Eq + PartialEq + Clone + Copy + Encode + Decode + Printable

impl Clone for TokenError

impl Clone for ArithmeticError

impl Clone for OpaqueExtrinsic

impl Clone for Memory

impl Clone for MembershipProof

impl<Reporter: Clone, Offender: Clone> Clone for OffenceDetails<Reporter, Offender>

impl<'a, N: Clone> Clone for ConfigurationRange<'a, N>

impl<'a, H, Number: Clone> Clone for State<'a, H, Number>

impl<H: Hasher> Clone for TrieBackend<MemoryDB<H>, H> where
    H::Out: Codec + Ord

impl Clone for OffchainOverlayedChanges

impl Clone for OverlayedChanges

impl Clone for IndexOperation

impl<Hash: Clone> Clone for ProofRecorder<Hash>

impl Clone for UsageUnit

impl Clone for UsageInfo

impl Clone for StateMachineStats

impl Clone for ExecutionStrategy

impl Clone for BackendTrustLevel

impl<F: Clone> Clone for ExecutionManager<F>

impl Clone for StorageKey

impl Clone for TrackedStorageKey

impl Clone for PrefixedStorageKey

impl Clone for StorageData

impl Clone for StorageChild

impl Clone for Storage

impl Clone for ChildInfo

impl Clone for ChildType

impl Clone for ChildTrieParentKeyId

impl Clone for Extrinsic

impl Clone for Timestamp

impl Clone for WasmLevel

impl Clone for WasmValue

impl Clone for WasmFieldName

impl Clone for WasmFields

impl Clone for WasmValuesSet

impl Clone for WasmMetadata

impl Clone for WasmEntryAttributes

impl Clone for TransactionStorageProof

impl Clone for Error

impl<H: Clone> Clone for NodeCodec<H>

impl Clone for StorageProof

impl Clone for CompactProof

impl Clone for TrieStream

impl<T> Clone for TracingUnboundedSender<T>

impl Clone for Error

impl Clone for RuntimeVersion

impl Clone for ValueType

impl Clone for Value

impl<T: Clone + PointerType> Clone for Pointer<T>

impl Clone for Signature

impl Clone for ReturnValue

impl<V: Clone> Clone for StorageQuery<V>

impl<BlockHash: Clone, AccountId: Clone, Index: Clone> Clone for Client<BlockHash, AccountId, Index>

impl<T: Clone, S: Clone> Clone for SourcedMetric<T, S>

impl<T: Clone + Config> Clone for Module<T>

impl<T: Config> Clone for Call<T>

impl Clone for Transfer

impl Clone for Extrinsic

impl Clone for Runtime

impl Clone for Origin

impl Clone for Event

impl Clone for SessionKeys

impl Clone for Command

impl Clone for OnRuntimeUpgradeCmd

impl Clone for OffchainWorkerCmd

impl Clone for ExecuteBlockCmd

impl Clone for SharedParams

impl Clone for TryRuntimeCmd

impl Clone for State