Struct fc_rpc::Eth

source ·
pub struct Eth<B: BlockT, C, P, CT, BE, A: ChainApi, CIDP, EC: EthConfig<B, C>> { /* private fields */ }
Expand description

Eth API implementation.

Implementations§

source§

impl<B, C, P, CT, BE, A, CIDP, EC> Eth<B, C, P, CT, BE, A, CIDP, EC>where B: BlockT, C: ProvideRuntimeApi<B> + HeaderBackend<B> + StorageProvider<B, BE> + 'static, C::Api: EthereumRuntimeRPCApi<B>, BE: Backend<B>, A: ChainApi<Block = B>, EC: EthConfig<B, C>,

source

pub async fn block_by_hash( &self, hash: H256, full: bool ) -> RpcResult<Option<RichBlock>>

source

pub async fn block_by_number( &self, number: BlockNumber, full: bool ) -> RpcResult<Option<RichBlock>>

source

pub async fn block_transaction_count_by_hash( &self, hash: H256 ) -> RpcResult<Option<U256>>

source

pub async fn block_transaction_count_by_number( &self, number: BlockNumber ) -> RpcResult<Option<U256>>

source

pub fn block_uncles_count_by_hash(&self, _: H256) -> RpcResult<U256>

source

pub fn block_uncles_count_by_number(&self, _: BlockNumber) -> RpcResult<U256>

source

pub fn uncle_by_block_hash_and_index( &self, _: H256, _: Index ) -> RpcResult<Option<RichBlock>>

source

pub fn uncle_by_block_number_and_index( &self, _: BlockNumber, _: Index ) -> RpcResult<Option<RichBlock>>

source§

impl<B, C, P, CT, BE, A, CIDP, EC> Eth<B, C, P, CT, BE, A, CIDP, EC>where B: BlockT, C: ProvideRuntimeApi<B> + HeaderBackend<B> + StorageProvider<B, BE> + 'static, C::Api: EthereumRuntimeRPCApi<B>, BE: Backend<B>, A: ChainApi<Block = B>, EC: EthConfig<B, C>,

source

pub fn protocol_version(&self) -> RpcResult<u64>

source

pub fn syncing(&self) -> RpcResult<SyncStatus>

source

pub fn author(&self) -> RpcResult<H160>

source

pub fn accounts(&self) -> RpcResult<Vec<H160>>

source

pub fn block_number(&self) -> RpcResult<U256>

source

pub fn chain_id(&self) -> RpcResult<Option<U64>>

source§

impl<B, C, P, CT, BE, A, CIDP, EC> Eth<B, C, P, CT, BE, A, CIDP, EC>where B: BlockT, C: CallApiAt<B> + ProvideRuntimeApi<B> + HeaderBackend<B> + StorageProvider<B, BE> + 'static, C::Api: BlockBuilderApi<B> + EthereumRuntimeRPCApi<B>, BE: Backend<B> + 'static, A: ChainApi<Block = B>, CIDP: CreateInherentDataProviders<B, ()> + Send + 'static, EC: EthConfig<B, C>,

source

pub async fn call( &self, request: CallRequest, number: Option<BlockNumber>, state_overrides: Option<BTreeMap<H160, CallStateOverride>> ) -> RpcResult<Bytes>

source

pub async fn estimate_gas( &self, request: CallRequest, number: Option<BlockNumber> ) -> RpcResult<U256>

source§

impl<B, C, P, CT, BE, A, CIDP, EC> Eth<B, C, P, CT, BE, A, CIDP, EC>where B: BlockT, C: ProvideRuntimeApi<B> + HeaderBackend<B> + StorageProvider<B, BE> + 'static, C::Api: EthereumRuntimeRPCApi<B>, BE: Backend<B> + 'static, A: ChainApi<Block = B>, EC: EthConfig<B, C>,

source

pub fn gas_price(&self) -> RpcResult<U256>

source

pub async fn fee_history( &self, block_count: U256, newest_block: BlockNumber, reward_percentiles: Option<Vec<f64>> ) -> RpcResult<FeeHistory>

source

pub fn max_priority_fee_per_gas(&self) -> RpcResult<U256>

source§

impl<B, C, P, CT, BE, A, CIDP, EC> Eth<B, C, P, CT, BE, A, CIDP, EC>where B: BlockT, A: ChainApi<Block = B>, EC: EthConfig<B, C>,

source

pub fn is_mining(&self) -> RpcResult<bool>

source

pub fn hashrate(&self) -> RpcResult<U256>

source

pub fn work(&self) -> RpcResult<Work>

source

pub fn submit_hashrate(&self, _: U256, _: H256) -> RpcResult<bool>

source

pub fn submit_work(&self, _: H64, _: H256, _: H256) -> RpcResult<bool>

source§

impl<B, C, P, CT, BE, A, CIDP, EC> Eth<B, C, P, CT, BE, A, CIDP, EC>where B: BlockT, C: ProvideRuntimeApi<B> + HeaderBackend<B> + StorageProvider<B, BE> + 'static, C::Api: BlockBuilderApi<B> + EthereumRuntimeRPCApi<B>, BE: Backend<B> + 'static, P: TransactionPool<Block = B> + 'static, A: ChainApi<Block = B>, CIDP: CreateInherentDataProviders<B, ()> + Send + 'static, EC: EthConfig<B, C>,

source

pub async fn balance( &self, address: H160, number: Option<BlockNumber> ) -> RpcResult<U256>

source

pub async fn storage_at( &self, address: H160, index: U256, number: Option<BlockNumber> ) -> RpcResult<H256>

source

pub async fn transaction_count( &self, address: H160, number: Option<BlockNumber> ) -> RpcResult<U256>

source

pub async fn code_at( &self, address: H160, number: Option<BlockNumber> ) -> RpcResult<Bytes>

source§

impl<B, C, P, CT, BE, A, CIDP, EC> Eth<B, C, P, CT, BE, A, CIDP, EC>where B: BlockT, C: ProvideRuntimeApi<B> + HeaderBackend<B> + StorageProvider<B, BE> + 'static, C::Api: BlockBuilderApi<B> + ConvertTransactionRuntimeApi<B> + EthereumRuntimeRPCApi<B>, BE: Backend<B> + 'static, P: TransactionPool<Block = B> + 'static, CT: ConvertTransaction<<B as BlockT>::Extrinsic> + 'static, A: ChainApi<Block = B>, CIDP: CreateInherentDataProviders<B, ()> + Send + 'static, EC: EthConfig<B, C>,

source

pub async fn send_transaction( &self, request: TransactionRequest ) -> RpcResult<H256>

source

pub async fn send_raw_transaction(&self, bytes: Bytes) -> RpcResult<H256>

source§

impl<B, C, P, CT, BE, A, CIDP, EC> Eth<B, C, P, CT, BE, A, CIDP, EC>where B: BlockT, C: ProvideRuntimeApi<B> + HeaderBackend<B> + StorageProvider<B, BE> + 'static, C::Api: EthereumRuntimeRPCApi<B>, BE: Backend<B> + 'static, A: ChainApi<Block = B>, EC: EthConfig<B, C>,

source

pub async fn transaction_by_hash( &self, hash: H256 ) -> RpcResult<Option<Transaction>>

source

pub async fn transaction_by_block_hash_and_index( &self, hash: H256, index: Index ) -> RpcResult<Option<Transaction>>

source

pub async fn transaction_by_block_number_and_index( &self, number: BlockNumber, index: Index ) -> RpcResult<Option<Transaction>>

source

pub async fn transaction_receipt( &self, hash: H256 ) -> RpcResult<Option<Receipt>>

source§

impl<B, C, P, CT, BE, A, CIDP> Eth<B, C, P, CT, BE, A, CIDP, ()>where B: BlockT, A: ChainApi<Block = B>,

source

pub fn new( client: Arc<C>, pool: Arc<P>, graph: Arc<Pool<A>>, convert_transaction: Option<CT>, sync: Arc<SyncingService<B>>, signers: Vec<Box<dyn EthSigner>>, overrides: Arc<OverrideHandle<B>>, backend: Arc<dyn BackendReader<B> + Send + Sync>, is_authority: bool, block_data_cache: Arc<EthBlockDataCacheTask<B>>, fee_history_cache: FeeHistoryCache, fee_history_cache_limit: FeeHistoryCacheLimit, execute_gas_limit_multiplier: u64, forced_parent_hashes: Option<BTreeMap<H256, H256>>, pending_create_inherent_data_providers: CIDP, pending_consensus_data_provider: Option<Box<dyn ConsensusDataProvider<B>>> ) -> Self

source§

impl<B, C, P, CT, BE, A, CIDP, EC> Eth<B, C, P, CT, BE, A, CIDP, EC>where B: BlockT, A: ChainApi<Block = B>, EC: EthConfig<B, C>,

source

pub fn replace_config<EC2: EthConfig<B, C>>( self ) -> Eth<B, C, P, CT, BE, A, CIDP, EC2>

Trait Implementations§

source§

impl<B, C, P, CT, BE, A, CIDP, EC> EthApiServer for Eth<B, C, P, CT, BE, A, CIDP, EC>where B: BlockT, C: CallApiAt<B> + ProvideRuntimeApi<B> + HeaderBackend<B> + StorageProvider<B, BE> + 'static, C::Api: BlockBuilderApi<B> + ConvertTransactionRuntimeApi<B> + EthereumRuntimeRPCApi<B>, BE: Backend<B> + 'static, P: TransactionPool<Block = B> + 'static, CT: ConvertTransaction<<B as BlockT>::Extrinsic> + Send + Sync + 'static, A: ChainApi<Block = B> + 'static, CIDP: CreateInherentDataProviders<B, ()> + Send + 'static, EC: EthConfig<B, C>,

source§

fn protocol_version(&self) -> RpcResult<u64>

Returns protocol version encoded as a string (quotes are necessary).
source§

fn syncing(&self) -> RpcResult<SyncStatus>

Returns an object with data about the sync status or false. (wtf?)
source§

fn author(&self) -> RpcResult<H160>

Returns block author.
source§

fn accounts(&self) -> RpcResult<Vec<H160>>

Returns accounts list.
source§

fn block_number(&self) -> RpcResult<U256>

Returns highest block number.
source§

fn chain_id(&self) -> RpcResult<Option<U64>>

Returns the chain ID used for transaction signing at the current best block. None is returned if not available.
source§

fn block_by_hash<'life0, 'async_trait>( &'life0 self, hash: H256, full: bool ) -> Pin<Box<dyn Future<Output = RpcResult<Option<RichBlock>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Returns block with given hash.
source§

fn block_by_number<'life0, 'async_trait>( &'life0 self, number: BlockNumber, full: bool ) -> Pin<Box<dyn Future<Output = RpcResult<Option<RichBlock>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Returns block with given number.
source§

fn block_transaction_count_by_hash<'life0, 'async_trait>( &'life0 self, hash: H256 ) -> Pin<Box<dyn Future<Output = RpcResult<Option<U256>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Returns the number of transactions in a block with given hash.
source§

fn block_transaction_count_by_number<'life0, 'async_trait>( &'life0 self, number: BlockNumber ) -> Pin<Box<dyn Future<Output = RpcResult<Option<U256>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Returns the number of transactions in a block with given block number.
source§

fn block_uncles_count_by_hash(&self, hash: H256) -> RpcResult<U256>

Returns the number of uncles in a block with given hash.
source§

fn block_uncles_count_by_number(&self, number: BlockNumber) -> RpcResult<U256>

Returns the number of uncles in a block with given block number.
source§

fn uncle_by_block_hash_and_index( &self, hash: H256, index: Index ) -> RpcResult<Option<RichBlock>>

Returns an uncles at given block and index.
source§

fn uncle_by_block_number_and_index( &self, number: BlockNumber, index: Index ) -> RpcResult<Option<RichBlock>>

Returns an uncles at given block and index.
source§

fn transaction_by_hash<'life0, 'async_trait>( &'life0 self, hash: H256 ) -> Pin<Box<dyn Future<Output = RpcResult<Option<Transaction>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Get transaction by its hash.
source§

fn transaction_by_block_hash_and_index<'life0, 'async_trait>( &'life0 self, hash: H256, index: Index ) -> Pin<Box<dyn Future<Output = RpcResult<Option<Transaction>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Returns transaction at given block hash and index.
source§

fn transaction_by_block_number_and_index<'life0, 'async_trait>( &'life0 self, number: BlockNumber, index: Index ) -> Pin<Box<dyn Future<Output = RpcResult<Option<Transaction>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Returns transaction by given block number and index.
source§

fn transaction_receipt<'life0, 'async_trait>( &'life0 self, hash: H256 ) -> Pin<Box<dyn Future<Output = RpcResult<Option<Receipt>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Returns transaction receipt by transaction hash.
source§

fn balance<'life0, 'async_trait>( &'life0 self, address: H160, number: Option<BlockNumber> ) -> Pin<Box<dyn Future<Output = RpcResult<U256>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Returns balance of the given account.
source§

fn storage_at<'life0, 'async_trait>( &'life0 self, address: H160, index: U256, number: Option<BlockNumber> ) -> Pin<Box<dyn Future<Output = RpcResult<H256>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Returns content of the storage at given address.
source§

fn transaction_count<'life0, 'async_trait>( &'life0 self, address: H160, number: Option<BlockNumber> ) -> Pin<Box<dyn Future<Output = RpcResult<U256>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Returns the number of transactions sent from given address at given time (block number).
source§

fn code_at<'life0, 'async_trait>( &'life0 self, address: H160, number: Option<BlockNumber> ) -> Pin<Box<dyn Future<Output = RpcResult<Bytes>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Returns the code at given address at given time (block number).
source§

fn call<'life0, 'async_trait>( &'life0 self, request: CallRequest, number: Option<BlockNumber>, state_overrides: Option<BTreeMap<H160, CallStateOverride>> ) -> Pin<Box<dyn Future<Output = RpcResult<Bytes>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Call contract, returning the output data.
source§

fn estimate_gas<'life0, 'async_trait>( &'life0 self, request: CallRequest, number: Option<BlockNumber> ) -> Pin<Box<dyn Future<Output = RpcResult<U256>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Estimate gas needed for execution of given contract.
source§

fn gas_price(&self) -> RpcResult<U256>

Returns current gas_price.
source§

fn fee_history<'life0, 'async_trait>( &'life0 self, block_count: U256, newest_block: BlockNumber, reward_percentiles: Option<Vec<f64>> ) -> Pin<Box<dyn Future<Output = RpcResult<FeeHistory>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Introduced in EIP-1159 for getting information on the appropriate priority fee to use.
source§

fn max_priority_fee_per_gas(&self) -> RpcResult<U256>

Introduced in EIP-1159, a Geth-specific and simplified priority fee oracle. Leverages the already existing fee history cache.
source§

fn is_mining(&self) -> RpcResult<bool>

Returns true if client is actively mining new blocks.
source§

fn hashrate(&self) -> RpcResult<U256>

Returns the number of hashes per second that the node is mining with.
source§

fn work(&self) -> RpcResult<Work>

Returns the hash of the current block, the seedHash, and the boundary condition to be met.
source§

fn submit_hashrate(&self, hashrate: U256, id: H256) -> RpcResult<bool>

Used for submitting mining hashrate.
source§

fn submit_work( &self, nonce: H64, pow_hash: H256, mix_digest: H256 ) -> RpcResult<bool>

Used for submitting a proof-of-work solution.
source§

fn send_transaction<'life0, 'async_trait>( &'life0 self, request: TransactionRequest ) -> Pin<Box<dyn Future<Output = RpcResult<H256>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Sends transaction; will block waiting for signer to return the transaction hash.
source§

fn send_raw_transaction<'life0, 'async_trait>( &'life0 self, bytes: Bytes ) -> Pin<Box<dyn Future<Output = RpcResult<H256>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Sends signed transaction, returning its hash.
§

fn into_rpc(self) -> RpcModule<Self>

Collects all the methods and subscriptions defined in the trait and adds them into a single RpcModule.

Auto Trait Implementations§

§

impl<B, C, P, CT, BE, A, CIDP, EC> !RefUnwindSafe for Eth<B, C, P, CT, BE, A, CIDP, EC>

§

impl<B, C, P, CT, BE, A, CIDP, EC> Send for Eth<B, C, P, CT, BE, A, CIDP, EC>where BE: Send, C: Send + Sync, CIDP: Send, CT: Send, P: Send + Sync,

§

impl<B, C, P, CT, BE, A, CIDP, EC> Sync for Eth<B, C, P, CT, BE, A, CIDP, EC>where BE: Sync, C: Send + Sync, CIDP: Sync, CT: Sync, P: Send + Sync,

§

impl<B, C, P, CT, BE, A, CIDP, EC> Unpin for Eth<B, C, P, CT, BE, A, CIDP, EC>where BE: Unpin, CIDP: Unpin, CT: Unpin, EC: Unpin,

§

impl<B, C, P, CT, BE, A, CIDP, EC> !UnwindSafe for Eth<B, C, P, CT, BE, A, CIDP, EC>

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for Twhere T: Any,

§

fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>

§

fn into_any_rc(self: Rc<T, Global>) -> Rc<dyn Any, Global>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for Twhere T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T, Global>) -> Arc<dyn Any + Sync + Send, Global>

source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>where Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
§

impl<T> Conv for T

§

fn conv<T>(self) -> Twhere Self: Into<T>,

Converts self into T using Into<T>. Read more
§

impl<T> FmtForward for T

§

fn fmt_binary(self) -> FmtBinary<Self>where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
§

fn fmt_display(self) -> FmtDisplay<Self>where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
§

fn fmt_octal(self) -> FmtOctal<Self>where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
§

fn fmt_pointer(self) -> FmtPointer<Self>where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> IsType<T> for T

§

fn from_ref(t: &T) -> &T

Cast reference.
§

fn into_ref(&self) -> &T

Cast reference.
§

fn from_mut(t: &mut T) -> &mut T

Cast mutable reference.
§

fn into_mut(&mut self) -> &mut T

Cast mutable reference.
§

impl<T, Outer> IsWrappedBy<Outer> for Twhere Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

§

impl<T> Pipe for Twhere T: ?Sized,

§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> Rwhere Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe function.
§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> Rwhere Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R ) -> Rwhere Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
§

impl<T> Pointable for T

§

const ALIGN: usize = mem::align_of::<T>()

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
§

impl<T> SaturatedConversion for T

§

fn saturated_from<T>(t: T) -> Selfwhere Self: UniqueSaturatedFrom<T>,

Convert from a value of T into an equivalent instance of Self. Read more
§

fn saturated_into<T>(self) -> Twhere Self: UniqueSaturatedInto<T>,

Consume self to return an equivalent value of T. Read more
§

impl<T> Tap for T

§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release builds.
§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release builds.
§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Selfwhere Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
§

impl<T> JsonSchemaMaybe for T

§

impl<T> MaybeSend for Twhere T: Send,