Struct frame_benchmarking_cli::PalletCmd
source · pub struct PalletCmd {Show 39 fields
pub pallet: Option<String>,
pub extrinsic: Option<String>,
pub exclude_pallets: Vec<String>,
pub all: bool,
pub steps: u32,
pub lowest_range_values: Vec<u32>,
pub highest_range_values: Vec<u32>,
pub repeat: u32,
pub external_repeat: u32,
pub json_output: bool,
pub json_file: Option<PathBuf>,
pub no_median_slopes: bool,
pub no_min_squares: bool,
pub output: Option<PathBuf>,
pub header: Option<PathBuf>,
pub template: Option<PathBuf>,
pub hostinfo_params: HostInfoParams,
pub output_analysis: Option<String>,
pub output_pov_analysis: Option<String>,
pub default_pov_mode: PovEstimationMode,
pub heap_pages: Option<u64>,
pub no_verify: bool,
pub extra: bool,
pub shared_params: SharedParams,
pub wasm_method: WasmExecutionMethod,
pub wasmtime_instantiation_strategy: WasmtimeInstantiationStrategy,
pub runtime: Option<PathBuf>,
pub allow_missing_host_functions: bool,
pub genesis_builder: Option<GenesisBuilderPolicy>,
pub genesis_builder_preset: String,
pub execution: Option<String>,
pub database_cache_size: u32,
pub list: Option<ListOutput>,
pub no_csv_header: bool,
pub no_storage_info: bool,
pub worst_case_map_values: u32,
pub additional_trie_layers: u8,
pub json_input: Option<PathBuf>,
pub unsafe_overwrite_results: bool,
/* private fields */
}
Expand description
Benchmark the extrinsic weight of FRAME Pallets.
Fields§
§pallet: Option<String>
Select a FRAME Pallet to benchmark, or *
for all (in which case extrinsic
must be *
).
extrinsic: Option<String>
Select an extrinsic inside the pallet to benchmark, or *
for all.
exclude_pallets: Vec<String>
Comma separated list of pallets that should be excluded from the benchmark.
all: bool
Run benchmarks for all pallets and extrinsics.
This is equivalent to running --pallet * --extrinsic *
.
steps: u32
Select how many samples we should take across the variable components.
lowest_range_values: Vec<u32>
Indicates lowest values for each of the component ranges.
highest_range_values: Vec<u32>
Indicates highest values for each of the component ranges.
repeat: u32
Select how many repetitions of this benchmark should run from within the wasm.
external_repeat: u32
Select how many repetitions of this benchmark should run from the client.
NOTE: Using this alone may give slower results, but will afford you maximum Wasm memory.
json_output: bool
Print the raw results in JSON format.
json_file: Option<PathBuf>
Write the raw results in JSON format into the given file.
no_median_slopes: bool
Don’t print the median-slopes linear regression analysis.
no_min_squares: bool
Don’t print the min-squares linear regression analysis.
output: Option<PathBuf>
Output the benchmarks to a Rust file at the given path.
header: Option<PathBuf>
Add a header file to your outputted benchmarks.
template: Option<PathBuf>
Path to Handlebars template file used for outputting benchmark results. (Optional)
hostinfo_params: HostInfoParams
§output_analysis: Option<String>
Which analysis function to use when outputting benchmarks:
- min-squares (default)
- median-slopes
- max (max of min squares and median slopes for each value)
output_pov_analysis: Option<String>
Which analysis function to use when analyzing measured proof sizes.
default_pov_mode: PovEstimationMode
The PoV estimation mode of a benchmark if no pov_mode
attribute is present.
heap_pages: Option<u64>
Set the heap pages while running benchmarks. If not set, the default value from the client is used.
no_verify: bool
Disable verification logic when running benchmarks.
extra: bool
Display and run extra benchmarks that would otherwise not be needed for weight construction.
wasm_method: WasmExecutionMethod
Method for executing Wasm runtime code.
wasmtime_instantiation_strategy: WasmtimeInstantiationStrategy
The WASM instantiation method to use.
Only has an effect when wasm-execution
is set to compiled
.
runtime: Option<PathBuf>
Optional runtime blob to use instead of the one from the genesis config.
allow_missing_host_functions: bool
Do not fail if there are unknown but also unused host functions in the runtime.
genesis_builder: Option<GenesisBuilderPolicy>
How to construct the genesis state.
Uses GenesisBuilderPolicy::Spec
by default.
genesis_builder_preset: String
The preset that we expect to find in the GenesisBuilder runtime API.
This can be useful when a runtime has a dedicated benchmarking preset instead of using the default one.
execution: Option<String>
DEPRECATED: This argument has no effect.
database_cache_size: u32
Limit the memory the database cache can use.
list: Option<ListOutput>
List and print available benchmarks in a csv-friendly format.
NOTE: num_args
and require_equals
are required to allow --list
no_csv_header: bool
Don’t include csv header when listing benchmarks.
no_storage_info: bool
If enabled, the storage info is not displayed in the output next to the analysis.
This is independent of the storage info appearing in the output file. Use a Handlebar template for that purpose.
worst_case_map_values: u32
The assumed default maximum size of any StorageMap
.
When the maximum size of a map is not defined by the runtime developer, this value is used as a worst case scenario. It will affect the calculated worst case PoV size for accessing a value in a map, since the PoV will need to include the trie nodes down to the underlying value.
additional_trie_layers: u8
Adjust the PoV estimation by adding additional trie layers to it.
This should be set to log16(n)
where n
is the number of top-level storage items in the
runtime, eg. StorageMap
s and StorageValue
s. A value of 2 to 3 is usually sufficient.
Each layer will result in an additional 495 bytes PoV per distinct top-level access.
Therefore multiple StorageMap
accesses only suffer from this increase once. The exact
number of storage items depends on the runtime and the deployed pallets.
json_input: Option<PathBuf>
A path to a .json
file with existing benchmark results generated with --json
or
--json-file
. When specified the benchmarks are not actually executed, and the data for
the analysis is read from this file.
unsafe_overwrite_results: bool
Allow overwriting a single file with multiple results.
This exists only to restore legacy behaviour. It should never actually be needed.
Implementations§
source§impl PalletCmd
impl PalletCmd
sourcepub fn run<Hasher, ExtraHostFunctions>(
&self,
config: Configuration,
) -> Result<()>where
Hasher: Hash,
ExtraHostFunctions: HostFunctions,
👎Deprecated: run
will be removed after December 2024. Use run_with_spec
instead or completely remove the code and use the frame-benchmarking-cli
instead (see https://github.com/paritytech/polkadot-sdk/pull/3512).
pub fn run<Hasher, ExtraHostFunctions>(
&self,
config: Configuration,
) -> Result<()>where
Hasher: Hash,
ExtraHostFunctions: HostFunctions,
run
will be removed after December 2024. Use run_with_spec
instead or completely remove the code and use the frame-benchmarking-cli
instead (see https://github.com/paritytech/polkadot-sdk/pull/3512).Runs the command and benchmarks a pallet.
sourcepub fn run_with_spec<Hasher, ExtraHostFunctions>(
&self,
chain_spec: Option<Box<dyn ChainSpec>>,
) -> Result<()>where
Hasher: Hash,
ExtraHostFunctions: HostFunctions,
pub fn run_with_spec<Hasher, ExtraHostFunctions>(
&self,
chain_spec: Option<Box<dyn ChainSpec>>,
) -> Result<()>where
Hasher: Hash,
ExtraHostFunctions: HostFunctions,
Runs the pallet benchmarking command.
Trait Implementations§
source§impl Args for PalletCmd
impl Args for PalletCmd
source§fn group_id() -> Option<Id>
fn group_id() -> Option<Id>
ArgGroup::id
][crate::ArgGroup::id] for this set of argumentssource§fn augment_args<'b>(__clap_app: Command) -> Command
fn augment_args<'b>(__clap_app: Command) -> Command
source§fn augment_args_for_update<'b>(__clap_app: Command) -> Command
fn augment_args_for_update<'b>(__clap_app: Command) -> Command
source§impl CliConfiguration for PalletCmd
impl CliConfiguration for PalletCmd
§fn import_params(&self) -> Option<&ImportParams>
fn import_params(&self) -> Option<&ImportParams>
§fn pruning_params(&self) -> Option<&PruningParams>
fn pruning_params(&self) -> Option<&PruningParams>
§fn keystore_params(&self) -> Option<&KeystoreParams>
fn keystore_params(&self) -> Option<&KeystoreParams>
§fn network_params(&self) -> Option<&NetworkParams>
fn network_params(&self) -> Option<&NetworkParams>
§fn offchain_worker_params(&self) -> Option<&OffchainWorkerParams>
fn offchain_worker_params(&self) -> Option<&OffchainWorkerParams>
OffchainWorkerParams
for this object.§fn node_key_params(&self) -> Option<&NodeKeyParams>
fn node_key_params(&self) -> Option<&NodeKeyParams>
§fn database_params(&self) -> Option<&DatabaseParams>
fn database_params(&self) -> Option<&DatabaseParams>
§fn base_path(&self) -> Result<Option<BasePath>, Error>
fn base_path(&self) -> Result<Option<BasePath>, Error>
§fn is_dev(&self) -> Result<bool, Error>
fn is_dev(&self) -> Result<bool, Error>
true
if the node is for development or not Read more§fn transaction_pool(
&self,
_is_dev: bool,
) -> Result<TransactionPoolOptions, Error>
fn transaction_pool( &self, _is_dev: bool, ) -> Result<TransactionPoolOptions, Error>
§fn network_config(
&self,
chain_spec: &Box<dyn ChainSpec>,
is_dev: bool,
is_validator: bool,
net_config_dir: PathBuf,
client_id: &str,
node_name: &str,
node_key: NodeKeyConfig,
default_listen_port: u16,
) -> Result<NetworkConfiguration, Error>
fn network_config( &self, chain_spec: &Box<dyn ChainSpec>, is_dev: bool, is_validator: bool, net_config_dir: PathBuf, client_id: &str, node_name: &str, node_key: NodeKeyConfig, default_listen_port: u16, ) -> Result<NetworkConfiguration, Error>
§fn keystore_config(&self, config_dir: &PathBuf) -> Result<KeystoreConfig, Error>
fn keystore_config(&self, config_dir: &PathBuf) -> Result<KeystoreConfig, Error>
§fn database_cache_size(&self) -> Result<Option<usize>, Error>
fn database_cache_size(&self) -> Result<Option<usize>, Error>
§fn database_config(
&self,
base_path: &PathBuf,
cache_size: usize,
database: Database,
) -> Result<DatabaseSource, Error>
fn database_config( &self, base_path: &PathBuf, cache_size: usize, database: Database, ) -> Result<DatabaseSource, Error>
§fn trie_cache_maximum_size(&self) -> Result<Option<usize>, Error>
fn trie_cache_maximum_size(&self) -> Result<Option<usize>, Error>
§fn state_pruning(&self) -> Result<Option<PruningMode>, Error>
fn state_pruning(&self) -> Result<Option<PruningMode>, Error>
§fn blocks_pruning(&self) -> Result<BlocksPruning, Error>
fn blocks_pruning(&self) -> Result<BlocksPruning, Error>
§fn wasm_method(&self) -> Result<WasmExecutionMethod, Error>
fn wasm_method(&self) -> Result<WasmExecutionMethod, Error>
§fn wasm_runtime_overrides(&self) -> Option<PathBuf>
fn wasm_runtime_overrides(&self) -> Option<PathBuf>
§fn rpc_addr(
&self,
_default_listen_port: u16,
) -> Result<Option<Vec<RpcEndpoint>>, Error>
fn rpc_addr( &self, _default_listen_port: u16, ) -> Result<Option<Vec<RpcEndpoint>>, Error>
§fn rpc_methods(&self) -> Result<RpcMethods, Error>
fn rpc_methods(&self) -> Result<RpcMethods, Error>
§fn rpc_max_connections(&self) -> Result<u32, Error>
fn rpc_max_connections(&self) -> Result<u32, Error>
§fn rpc_cors(&self, _is_dev: bool) -> Result<Option<Vec<String>>, Error>
fn rpc_cors(&self, _is_dev: bool) -> Result<Option<Vec<String>>, Error>
None
if disabled) Read more§fn rpc_max_request_size(&self) -> Result<u32, Error>
fn rpc_max_request_size(&self) -> Result<u32, Error>
§fn rpc_max_response_size(&self) -> Result<u32, Error>
fn rpc_max_response_size(&self) -> Result<u32, Error>
§fn rpc_max_subscriptions_per_connection(&self) -> Result<u32, Error>
fn rpc_max_subscriptions_per_connection(&self) -> Result<u32, Error>
§fn rpc_buffer_capacity_per_connection(&self) -> Result<u32, Error>
fn rpc_buffer_capacity_per_connection(&self) -> Result<u32, Error>
§fn rpc_batch_config(&self) -> Result<BatchRequestConfig, Error>
fn rpc_batch_config(&self) -> Result<BatchRequestConfig, Error>
§fn rpc_rate_limit_whitelisted_ips(&self) -> Result<Vec<IpNetwork>, Error>
fn rpc_rate_limit_whitelisted_ips(&self) -> Result<Vec<IpNetwork>, Error>
§fn rpc_rate_limit_trust_proxy_headers(&self) -> Result<bool, Error>
fn rpc_rate_limit_trust_proxy_headers(&self) -> Result<bool, Error>
§fn prometheus_config(
&self,
_default_listen_port: u16,
_chain_spec: &Box<dyn ChainSpec>,
) -> Result<Option<PrometheusConfig>, Error>
fn prometheus_config( &self, _default_listen_port: u16, _chain_spec: &Box<dyn ChainSpec>, ) -> Result<Option<PrometheusConfig>, Error>
None
if disabled) Read more§fn telemetry_endpoints(
&self,
chain_spec: &Box<dyn ChainSpec>,
) -> Result<Option<TelemetryEndpoints>, Error>
fn telemetry_endpoints( &self, chain_spec: &Box<dyn ChainSpec>, ) -> Result<Option<TelemetryEndpoints>, Error>
§fn default_heap_pages(&self) -> Result<Option<u64>, Error>
fn default_heap_pages(&self) -> Result<Option<u64>, Error>
§fn offchain_worker(&self, role: &Role) -> Result<OffchainWorkerConfig, Error>
fn offchain_worker(&self, role: &Role) -> Result<OffchainWorkerConfig, Error>
Ok(_)
Read moreOk(true)
if authoring should be forced Read more§fn disable_grandpa(&self) -> Result<bool, Error>
fn disable_grandpa(&self) -> Result<bool, Error>
Ok(true)
if grandpa should be disabled Read more§fn dev_key_seed(&self, _is_dev: bool) -> Result<Option<String>, Error>
fn dev_key_seed(&self, _is_dev: bool) -> Result<Option<String>, Error>
§fn tracing_targets(&self) -> Result<Option<String>, Error>
fn tracing_targets(&self) -> Result<Option<String>, Error>
§fn tracing_receiver(&self) -> Result<TracingReceiver, Error>
fn tracing_receiver(&self) -> Result<TracingReceiver, Error>
§fn node_key(&self, net_config_dir: &PathBuf) -> Result<NodeKeyConfig, Error>
fn node_key(&self, net_config_dir: &PathBuf) -> Result<NodeKeyConfig, Error>
§fn max_runtime_instances(&self) -> Result<Option<usize>, Error>
fn max_runtime_instances(&self) -> Result<Option<usize>, Error>
§fn runtime_cache_size(&self) -> Result<u8, Error>
fn runtime_cache_size(&self) -> Result<u8, Error>
§fn announce_block(&self) -> Result<bool, Error>
fn announce_block(&self) -> Result<bool, Error>
§fn create_configuration<C>(
&self,
cli: &C,
tokio_handle: Handle,
) -> Result<Configuration, Error>where
C: SubstrateCli,
fn create_configuration<C>(
&self,
cli: &C,
tokio_handle: Handle,
) -> Result<Configuration, Error>where
C: SubstrateCli,
§fn log_filters(&self) -> Result<String, Error>
fn log_filters(&self) -> Result<String, Error>
§fn detailed_log_output(&self) -> Result<bool, Error>
fn detailed_log_output(&self) -> Result<bool, Error>
§fn enable_log_reloading(&self) -> Result<bool, Error>
fn enable_log_reloading(&self) -> Result<bool, Error>
§fn disable_log_color(&self) -> Result<bool, Error>
fn disable_log_color(&self) -> Result<bool, Error>
source§impl FromArgMatches for PalletCmd
impl FromArgMatches for PalletCmd
source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches
to self
.source§fn update_from_arg_matches_mut(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches
to self
.source§impl Parser for PalletCmd
impl Parser for PalletCmd
§fn parse_from<I, T>(itr: I) -> Self
fn parse_from<I, T>(itr: I) -> Self
§fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
§fn update_from<I, T>(&mut self, itr: I)
fn update_from<I, T>(&mut self, itr: I)
§fn try_update_from<I, T>(&mut self, itr: I) -> Result<(), Error>
fn try_update_from<I, T>(&mut self, itr: I) -> Result<(), Error>
Auto Trait Implementations§
impl Freeze for PalletCmd
impl RefUnwindSafe for PalletCmd
impl Send for PalletCmd
impl Sync for PalletCmd
impl Unpin for PalletCmd
impl UnwindSafe for PalletCmd
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more§impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
fn into_tuple(self) -> Dest
source§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
source§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
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,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
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) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
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) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
T
. Read moresource§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
T
. Read more§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self
is actually part of its subset T
(and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.§impl<T> TryConv for T
impl<T> TryConv for T
source§impl<T, U> TryIntoKey<U> for Twhere
U: TryFromKey<T>,
impl<T, U> TryIntoKey<U> for Twhere
U: TryFromKey<T>,
type Error = <U as TryFromKey<T>>::Error
fn try_into_key(self) -> Result<U, <U as TryFromKey<T>>::Error>
source§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from
.source§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from
.source§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T
.source§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T
.