pub struct MarketIter<InstrumentKey, T>(pub Vec<Result<MarketEvent<InstrumentKey, T>, DataError>>);Expand description
Convenient new type containing a collection of MarketEvent<T>s.
Tuple Fields§
§0: Vec<Result<MarketEvent<InstrumentKey, T>, DataError>>Trait Implementations§
Source§impl<InstrumentKey> From<(ExchangeId, InstrumentKey, BinanceContinuousKline)> for MarketIter<InstrumentKey, Candle>
impl<InstrumentKey> From<(ExchangeId, InstrumentKey, BinanceContinuousKline)> for MarketIter<InstrumentKey, Candle>
Source§fn from(
(exchange_id, instrument, kline): (ExchangeId, InstrumentKey, BinanceContinuousKline),
) -> Self
fn from( (exchange_id, instrument, kline): (ExchangeId, InstrumentKey, BinanceContinuousKline), ) -> Self
Source§impl<InstrumentKey> From<(ExchangeId, InstrumentKey, BinanceFuturesOrderBookL2Update)> for MarketIter<InstrumentKey, OrderBookEvent>
impl<InstrumentKey> From<(ExchangeId, InstrumentKey, BinanceFuturesOrderBookL2Update)> for MarketIter<InstrumentKey, OrderBookEvent>
Source§fn from(
(exchange, instrument, update): (ExchangeId, InstrumentKey, BinanceFuturesOrderBookL2Update),
) -> Self
fn from( (exchange, instrument, update): (ExchangeId, InstrumentKey, BinanceFuturesOrderBookL2Update), ) -> Self
Source§impl<InstrumentKey> From<(ExchangeId, InstrumentKey, BinanceKline)> for MarketIter<InstrumentKey, Candle>
impl<InstrumentKey> From<(ExchangeId, InstrumentKey, BinanceKline)> for MarketIter<InstrumentKey, Candle>
Source§fn from(
(exchange_id, instrument, kline): (ExchangeId, InstrumentKey, BinanceKline),
) -> Self
fn from( (exchange_id, instrument, kline): (ExchangeId, InstrumentKey, BinanceKline), ) -> Self
Source§impl<InstrumentKey> From<(ExchangeId, InstrumentKey, BinanceLiquidation)> for MarketIter<InstrumentKey, Liquidation>
impl<InstrumentKey> From<(ExchangeId, InstrumentKey, BinanceLiquidation)> for MarketIter<InstrumentKey, Liquidation>
Source§fn from(
(exchange_id, instrument, liquidation): (ExchangeId, InstrumentKey, BinanceLiquidation),
) -> Self
fn from( (exchange_id, instrument, liquidation): (ExchangeId, InstrumentKey, BinanceLiquidation), ) -> Self
Source§impl<InstrumentKey> From<(ExchangeId, InstrumentKey, BinanceOrderBookL1)> for MarketIter<InstrumentKey, OrderBookL1>
impl<InstrumentKey> From<(ExchangeId, InstrumentKey, BinanceOrderBookL1)> for MarketIter<InstrumentKey, OrderBookL1>
Source§fn from(
(exchange_id, instrument, book): (ExchangeId, InstrumentKey, BinanceOrderBookL1),
) -> Self
fn from( (exchange_id, instrument, book): (ExchangeId, InstrumentKey, BinanceOrderBookL1), ) -> Self
Source§impl<InstrumentKey> From<(ExchangeId, InstrumentKey, BinanceSpotOrderBookL2Update)> for MarketIter<InstrumentKey, OrderBookEvent>
impl<InstrumentKey> From<(ExchangeId, InstrumentKey, BinanceSpotOrderBookL2Update)> for MarketIter<InstrumentKey, OrderBookEvent>
Source§fn from(
(exchange_id, instrument, update): (ExchangeId, InstrumentKey, BinanceSpotOrderBookL2Update),
) -> Self
fn from( (exchange_id, instrument, update): (ExchangeId, InstrumentKey, BinanceSpotOrderBookL2Update), ) -> Self
Source§impl<InstrumentKey> From<(ExchangeId, InstrumentKey, BinanceTrade)> for MarketIter<InstrumentKey, PublicTrade>
impl<InstrumentKey> From<(ExchangeId, InstrumentKey, BinanceTrade)> for MarketIter<InstrumentKey, PublicTrade>
Source§fn from(
(exchange_id, instrument, trade): (ExchangeId, InstrumentKey, BinanceTrade),
) -> Self
fn from( (exchange_id, instrument, trade): (ExchangeId, InstrumentKey, BinanceTrade), ) -> Self
Source§impl<InstrumentKey> From<(ExchangeId, InstrumentKey, BitfinexMessage)> for MarketIter<InstrumentKey, PublicTrade>
impl<InstrumentKey> From<(ExchangeId, InstrumentKey, BitfinexMessage)> for MarketIter<InstrumentKey, PublicTrade>
Source§fn from(
(exchange_id, instrument, message): (ExchangeId, InstrumentKey, BitfinexMessage),
) -> Self
fn from( (exchange_id, instrument, message): (ExchangeId, InstrumentKey, BitfinexMessage), ) -> Self
Source§impl<InstrumentKey> From<(ExchangeId, InstrumentKey, BitfinexTrade)> for MarketIter<InstrumentKey, PublicTrade>
impl<InstrumentKey> From<(ExchangeId, InstrumentKey, BitfinexTrade)> for MarketIter<InstrumentKey, PublicTrade>
Source§fn from(
(exchange_id, instrument, trade): (ExchangeId, InstrumentKey, BitfinexTrade),
) -> Self
fn from( (exchange_id, instrument, trade): (ExchangeId, InstrumentKey, BitfinexTrade), ) -> Self
Source§impl<InstrumentKey: Clone> From<(ExchangeId, InstrumentKey, BitmexMessage<BitmexTradeInner>)> for MarketIter<InstrumentKey, PublicTrade>
impl<InstrumentKey: Clone> From<(ExchangeId, InstrumentKey, BitmexMessage<BitmexTradeInner>)> for MarketIter<InstrumentKey, PublicTrade>
Source§fn from(
(exchange, instrument, trades): (ExchangeId, InstrumentKey, BitmexTrade),
) -> Self
fn from( (exchange, instrument, trades): (ExchangeId, InstrumentKey, BitmexTrade), ) -> Self
Source§impl<InstrumentKey> From<(ExchangeId, InstrumentKey, BybitPayload<BybitOrderBookInner>)> for MarketIter<InstrumentKey, OrderBookL1>where
InstrumentKey: Clone,
impl<InstrumentKey> From<(ExchangeId, InstrumentKey, BybitPayload<BybitOrderBookInner>)> for MarketIter<InstrumentKey, OrderBookL1>where
InstrumentKey: Clone,
Source§fn from(
(exchange, instrument, book): (ExchangeId, InstrumentKey, BybitOrderBookMessage),
) -> Self
fn from( (exchange, instrument, book): (ExchangeId, InstrumentKey, BybitOrderBookMessage), ) -> Self
Source§impl<InstrumentKey> From<(ExchangeId, InstrumentKey, BybitPayload<BybitOrderBookInner>)> for MarketIter<InstrumentKey, OrderBookEvent>
impl<InstrumentKey> From<(ExchangeId, InstrumentKey, BybitPayload<BybitOrderBookInner>)> for MarketIter<InstrumentKey, OrderBookEvent>
Source§fn from(
(exchange, instrument, message): (ExchangeId, InstrumentKey, BybitOrderBookMessage),
) -> Self
fn from( (exchange, instrument, message): (ExchangeId, InstrumentKey, BybitOrderBookMessage), ) -> Self
Source§impl<InstrumentKey: Clone> From<(ExchangeId, InstrumentKey, BybitPayload<Vec<BybitTradeInner>>)> for MarketIter<InstrumentKey, PublicTrade>
impl<InstrumentKey: Clone> From<(ExchangeId, InstrumentKey, BybitPayload<Vec<BybitTradeInner>>)> for MarketIter<InstrumentKey, PublicTrade>
Source§fn from(
(exchange, instrument, trades): (ExchangeId, InstrumentKey, BybitTrade),
) -> Self
fn from( (exchange, instrument, trades): (ExchangeId, InstrumentKey, BybitTrade), ) -> Self
Source§impl<InstrumentKey> From<(ExchangeId, InstrumentKey, CoinbaseTrade)> for MarketIter<InstrumentKey, PublicTrade>
impl<InstrumentKey> From<(ExchangeId, InstrumentKey, CoinbaseTrade)> for MarketIter<InstrumentKey, PublicTrade>
Source§fn from(
(exchange_id, instrument, trade): (ExchangeId, InstrumentKey, CoinbaseTrade),
) -> Self
fn from( (exchange_id, instrument, trade): (ExchangeId, InstrumentKey, CoinbaseTrade), ) -> Self
Source§impl<InstrumentKey> From<(ExchangeId, InstrumentKey, GateioMessage<GateioSpotTradeInner>)> for MarketIter<InstrumentKey, PublicTrade>
impl<InstrumentKey> From<(ExchangeId, InstrumentKey, GateioMessage<GateioSpotTradeInner>)> for MarketIter<InstrumentKey, PublicTrade>
Source§fn from(
(exchange_id, instrument, trade): (ExchangeId, InstrumentKey, GateioSpotTrade),
) -> Self
fn from( (exchange_id, instrument, trade): (ExchangeId, InstrumentKey, GateioSpotTrade), ) -> Self
Source§impl<InstrumentKey: Clone> From<(ExchangeId, InstrumentKey, GateioMessage<Vec<GateioFuturesTradeInner>>)> for MarketIter<InstrumentKey, PublicTrade>
impl<InstrumentKey: Clone> From<(ExchangeId, InstrumentKey, GateioMessage<Vec<GateioFuturesTradeInner>>)> for MarketIter<InstrumentKey, PublicTrade>
Source§fn from(
(exchange, instrument, trades): (ExchangeId, InstrumentKey, GateioFuturesTrades),
) -> Self
fn from( (exchange, instrument, trades): (ExchangeId, InstrumentKey, GateioFuturesTrades), ) -> Self
Source§impl<InstrumentKey> From<(ExchangeId, InstrumentKey, HyperliquidL2Book)> for MarketIter<InstrumentKey, OrderBookEvent>where
InstrumentKey: Clone,
impl<InstrumentKey> From<(ExchangeId, InstrumentKey, HyperliquidL2Book)> for MarketIter<InstrumentKey, OrderBookEvent>where
InstrumentKey: Clone,
Source§fn from(
(exchange_id, instrument, book_msg): (ExchangeId, InstrumentKey, HyperliquidL2Book),
) -> Self
fn from( (exchange_id, instrument, book_msg): (ExchangeId, InstrumentKey, HyperliquidL2Book), ) -> Self
Source§impl<InstrumentKey> From<(ExchangeId, InstrumentKey, HyperliquidTrade)> for MarketIter<InstrumentKey, PublicTrade>where
InstrumentKey: Clone,
impl<InstrumentKey> From<(ExchangeId, InstrumentKey, HyperliquidTrade)> for MarketIter<InstrumentKey, PublicTrade>where
InstrumentKey: Clone,
Source§fn from(
(exchange_id, instrument, trade_msg): (ExchangeId, InstrumentKey, HyperliquidTrade),
) -> Self
fn from( (exchange_id, instrument, trade_msg): (ExchangeId, InstrumentKey, HyperliquidTrade), ) -> Self
Source§impl<InstrumentKey> From<(ExchangeId, InstrumentKey, KrakenMessage<KrakenOrderBookL1Inner>)> for MarketIter<InstrumentKey, OrderBookL1>
impl<InstrumentKey> From<(ExchangeId, InstrumentKey, KrakenMessage<KrakenOrderBookL1Inner>)> for MarketIter<InstrumentKey, OrderBookL1>
Source§fn from(
(exchange_id, instrument, book): (ExchangeId, InstrumentKey, KrakenOrderBookL1),
) -> Self
fn from( (exchange_id, instrument, book): (ExchangeId, InstrumentKey, KrakenOrderBookL1), ) -> Self
Source§impl<InstrumentKey: Clone> From<(ExchangeId, InstrumentKey, KrakenMessage<KrakenTradesInner>)> for MarketIter<InstrumentKey, PublicTrade>
impl<InstrumentKey: Clone> From<(ExchangeId, InstrumentKey, KrakenMessage<KrakenTradesInner>)> for MarketIter<InstrumentKey, PublicTrade>
Source§fn from(
(exchange, instrument, trades): (ExchangeId, InstrumentKey, KrakenTrades),
) -> Self
fn from( (exchange, instrument, trades): (ExchangeId, InstrumentKey, KrakenTrades), ) -> Self
Source§impl<InstrumentKey> From<(ExchangeId, InstrumentKey, LseMessage)> for MarketIter<InstrumentKey, OrderBookL1>
Decode a tick frame as a top-of-book quote.
impl<InstrumentKey> From<(ExchangeId, InstrumentKey, LseMessage)> for MarketIter<InstrumentKey, OrderBookL1>
Decode a tick frame as a top-of-book quote.
This is the mapping the frame fits most honestly: the tick carries a bid and an ask, and its
price equals the bid on every sample taken. The trade mapping in
trade exists alongside it and is documented as the approximation it is.
§Both levels carry a ZERO size
The feed publishes no bid or ask size — only prices — so the sizes here are placeholders, not
measurements. This is the same choice the provider’s bulk-export decoder makes, for the same
reason: a fabricated size would be indistinguishable downstream from a real one. It is safe
because DefaultInstrumentMarketData::price in the rustrade crate falls back from the
volume-weighted mid to the plain mid when the sizes are absent, so a zero-size book prices
correctly rather than not at all. Consumers that genuinely need depth must not read these as
available quantity.
The tick’s volume is deliberately not used for either level: it is a traded size, not
resting bid or ask liquidity, and on two of the five venues it is a fabricated constant. See
trade for that warning in full.
§⚠️ A zero PRICE is absent, and it is not the same case as a zero size
The provider publishes 0.0 for a side it has no quote for — a venue outside its session, a
symbol quoted on one side only. Published as Some(Level { price: 0, .. }) that becomes a real
level asserting someone will trade at zero, and the damage is worse than the obvious one: it is
precisely the volume-weighted-mid fallback that makes the zero sizes above harmless which
makes a zero price dangerous. mid_price requires only that both sides be Some, and it
averages whatever prices they carry — so a book quoting a real ask of 42001 against a zero bid
prices at 21000.5, a number that is neither wrong-looking nor recoverable downstream. The
consumer cannot filter it either, because nothing distinguishes it from a genuine quote.
So a zero price maps to None, following the same rule as the Binance L1 decoder. None is the
spelling every consumer of this type already handles as “no quote on this side”; a one-sided
book prices as no book at all, which is the honest answer when there is no quote to average.
Source§fn from(
(exchange, instrument, message): (ExchangeId, InstrumentKey, LseMessage),
) -> Self
fn from( (exchange, instrument, message): (ExchangeId, InstrumentKey, LseMessage), ) -> Self
Source§impl<InstrumentKey> From<(ExchangeId, InstrumentKey, LseMessage)> for MarketIter<InstrumentKey, PublicTrade>
Decode a tick frame as a PublicTrade.
impl<InstrumentKey> From<(ExchangeId, InstrumentKey, LseMessage)> for MarketIter<InstrumentKey, PublicTrade>
Decode a tick frame as a PublicTrade.
§⚠️ The tick is a QUOTE — a PublicTrade from this feed may not be a print
price equals bid exactly on every sample taken — 3,966 of 3,966 ticks spanning every dataset
family, plus every sample from the provider’s separate price endpoint. So the price here is a
bid-side quote wearing a trade’s shape, and its arrival is not evidence that a transaction
occurred, at that price or at all. The mapping ships regardless, because saying so is more useful
than withholding a feed whose sizes do reconcile; but a strategy that treats these as executions
is reading one side of a quote as a fill.
§LseOptions is the exception: its trades ARE prints
Option contract ticks reconcile one-for-one against the provider’s REST option-print tape on
(price, volume), so there price is the traded premium per share and amount the number of
contracts. They carry no quote at all — bid and ask are null on every one — which is why
this is the only kind that venue serves.
§⚠️ amount is genuine on some venues and FABRICATED on others
This is per-dataset and there is no in-band signal separating the two:
LseCryptoandLseEquitiescarry a real per-tick size. Summing it across three whole minutes of one crypto symbol reproduced the provider’s own one-minute candle volume to the last decimal, ratio1.000.LseFxandLseCfdcarry a hard-coded1.0— measured on every tick of every FX and commodity symbol sampled, one distinct value across all of them. It is a placeholder, not a measurement. Because it is a plausible-looking positive number it will aggregate into a legitimate-looking total at any resolution, so volume-weighted prices, participation rates and size filters computed on these two venues are meaningless rather than merely imprecise. Note this also differs from the provider’s REST vault, which omits FX volume entirely — the true absence; the WebSocket invents a value instead.
§⚠️ Identical consecutive ticks are REAL and are both emitted
This decoder performs no de-duplication, deliberately. See
LseTick for the reconciliation that proves the repeats are distinct
prints. The property is pinned by identical_live_ticks_are_never_deduplicated in
transformer, which is the only place a filter could be added: this
impl is a stateless From and has nothing to remember a previous tick with.
Source§fn from(
(exchange, instrument, message): (ExchangeId, InstrumentKey, LseMessage),
) -> Self
fn from( (exchange, instrument, message): (ExchangeId, InstrumentKey, LseMessage), ) -> Self
Source§impl<InstrumentKey: Clone> From<(ExchangeId, InstrumentKey, OkxMessage<OkxTrade>)> for MarketIter<InstrumentKey, PublicTrade>
impl<InstrumentKey: Clone> From<(ExchangeId, InstrumentKey, OkxMessage<OkxTrade>)> for MarketIter<InstrumentKey, PublicTrade>
Source§fn from(
(exchange, instrument, trades): (ExchangeId, InstrumentKey, OkxTrades),
) -> Self
fn from( (exchange, instrument, trades): (ExchangeId, InstrumentKey, OkxTrades), ) -> Self
Source§impl<InstrumentKey, T> FromIterator<Result<MarketEvent<InstrumentKey, T>, DataError>> for MarketIter<InstrumentKey, T>
impl<InstrumentKey, T> FromIterator<Result<MarketEvent<InstrumentKey, T>, DataError>> for MarketIter<InstrumentKey, T>
Auto Trait Implementations§
impl<InstrumentKey, T> Freeze for MarketIter<InstrumentKey, T>
impl<InstrumentKey, T> RefUnwindSafe for MarketIter<InstrumentKey, T>
impl<InstrumentKey, T> Send for MarketIter<InstrumentKey, T>
impl<InstrumentKey, T> Sync for MarketIter<InstrumentKey, T>
impl<InstrumentKey, T> Unpin for MarketIter<InstrumentKey, T>
impl<InstrumentKey, T> UnsafeUnpin for MarketIter<InstrumentKey, T>
impl<InstrumentKey, T> UnwindSafe for MarketIter<InstrumentKey, T>
Blanket Implementations§
Source§impl<T> AttachedTransformer<()> for T
impl<T> AttachedTransformer<()> 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> FmtForward for T
impl<T> FmtForward for T
Source§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.Source§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.Source§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.Source§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.Source§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.Source§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.Source§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.Source§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.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> 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 moreimpl<T> JsonSchemaMaybe for T
Source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§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 moreSource§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 moreSource§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
Source§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
Source§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.Source§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.Source§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.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> Tap for T
impl<T> Tap for T
Source§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 moreSource§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 moreSource§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 moreSource§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 moreSource§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 moreSource§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 moreSource§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.Source§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.Source§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.Source§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.Source§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.Source§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.Source§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.