Struct fuel_indexer_utils::prelude::serde_json::Deserializer
source · pub struct Deserializer<R> { /* private fields */ }
Expand description
A structure that deserializes JSON into Rust values.
Implementations§
source§impl<'de, R> Deserializer<R>where
R: Read<'de>,
impl<'de, R> Deserializer<R>where
R: Read<'de>,
sourcepub fn new(read: R) -> Deserializer<R>
pub fn new(read: R) -> Deserializer<R>
Create a JSON deserializer from one of the possible serde_json input sources.
Typically it is more convenient to use one of these methods instead:
- Deserializer::from_str
- Deserializer::from_slice
- Deserializer::from_reader
source§impl<R> Deserializer<IoRead<R>>where
R: Read,
impl<R> Deserializer<IoRead<R>>where
R: Read,
sourcepub fn from_reader(reader: R) -> Deserializer<IoRead<R>>
pub fn from_reader(reader: R) -> Deserializer<IoRead<R>>
Creates a JSON deserializer from an io::Read
.
Reader-based deserializers do not support deserializing borrowed types
like &str
, since the std::io::Read
trait has no non-copying methods
– everything it does involves copying bytes out of the data source.
source§impl<'a> Deserializer<SliceRead<'a>>
impl<'a> Deserializer<SliceRead<'a>>
sourcepub fn from_slice(bytes: &'a [u8]) -> Deserializer<SliceRead<'a>>
pub fn from_slice(bytes: &'a [u8]) -> Deserializer<SliceRead<'a>>
Creates a JSON deserializer from a &[u8]
.
source§impl<'a> Deserializer<StrRead<'a>>
impl<'a> Deserializer<StrRead<'a>>
sourcepub fn from_str(s: &'a str) -> Deserializer<StrRead<'a>>
pub fn from_str(s: &'a str) -> Deserializer<StrRead<'a>>
Creates a JSON deserializer from a &str
.
source§impl<'de, R> Deserializer<R>where
R: Read<'de>,
impl<'de, R> Deserializer<R>where
R: Read<'de>,
sourcepub fn end(&mut self) -> Result<(), Error>
pub fn end(&mut self) -> Result<(), Error>
The Deserializer::end
method should be called after a value has been fully deserialized.
This allows the Deserializer
to validate that the input stream is at the end or that it
only has trailing whitespace.
sourcepub fn into_iter<T>(self) -> StreamDeserializer<'de, R, T> ⓘwhere
T: Deserialize<'de>,
pub fn into_iter<T>(self) -> StreamDeserializer<'de, R, T> ⓘwhere
T: Deserialize<'de>,
Turn a JSON deserializer into an iterator over values of type T.
Trait Implementations§
source§impl<'de, 'a, R> Deserializer<'de> for &'a mut Deserializer<R>where
R: Read<'de>,
impl<'de, 'a, R> Deserializer<'de> for &'a mut Deserializer<R>where
R: Read<'de>,
source§fn deserialize_bytes<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
fn deserialize_bytes<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
Parses a JSON string as bytes. Note that this function does not check whether the bytes represent a valid UTF-8 string.
The relevant part of the JSON specification is Section 8.2 of RFC 7159:
When all the strings represented in a JSON text are composed entirely of Unicode characters (however escaped), then that JSON text is interoperable in the sense that all software implementations that parse it will agree on the contents of names and of string values in objects and arrays.
However, the ABNF in this specification allows member names and string values to contain bit sequences that cannot encode Unicode characters; for example, “\uDEAD” (a single unpaired UTF-16 surrogate). Instances of this have been observed, for example, when a library truncates a UTF-16 string without checking whether the truncation split a surrogate pair. The behavior of software that receives JSON texts containing such values is unpredictable; for example, implementations might return different values for the length of a string value or even suffer fatal runtime exceptions.
The behavior of serde_json is specified to fail on non-UTF-8 strings when deserializing into Rust UTF-8 string types such as String, and succeed with non-UTF-8 bytes when deserializing using this method.
Escape sequences are processed as usual, and for \uXXXX
escapes it is
still checked if the hex number represents a valid Unicode code point.
Examples
You can use this to parse JSON strings containing invalid UTF-8 bytes, or unpaired surrogates.
use serde_bytes::ByteBuf;
fn look_at_bytes() -> Result<(), serde_json::Error> {
let json_data = b"\"some bytes: \xe5\x00\xe5\"";
let bytes: ByteBuf = serde_json::from_slice(json_data)?;
assert_eq!(b'\xe5', bytes[12]);
assert_eq!(b'\0', bytes[13]);
assert_eq!(b'\xe5', bytes[14]);
Ok(())
}
Backslash escape sequences like \n
are still interpreted and required
to be valid. \u
escape sequences are required to represent a valid
Unicode code point or lone surrogate.
use serde_bytes::ByteBuf;
fn look_at_bytes() -> Result<(), serde_json::Error> {
let json_data = b"\"lone surrogate: \\uD801\"";
let bytes: ByteBuf = serde_json::from_slice(json_data)?;
let expected = b"lone surrogate: \xED\xA0\x81";
assert_eq!(expected, bytes.as_slice());
Ok(())
}
source§fn deserialize_option<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
fn deserialize_option<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
Parses a null
as a None, and any other values as a Some(...)
.
source§fn deserialize_newtype_struct<V>(
self,
name: &str,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
fn deserialize_newtype_struct<V>(
self,
name: &str,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
Parses a newtype struct as the underlying value.
source§fn deserialize_enum<V>(
self,
_name: &str,
_variants: &'static [&'static str],
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
fn deserialize_enum<V>(
self,
_name: &str,
_variants: &'static [&'static str],
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
Parses an enum as an object like {"$KEY":$VALUE}
, where $VALUE is either a straight
value, a [..]
, or a {..}
.
source§fn deserialize_any<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
fn deserialize_any<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
Deserializer
to figure out how to drive the visitor based
on what data type is in the input. Read moresource§fn deserialize_bool<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
fn deserialize_bool<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
Deserialize
type is expecting a bool
value.source§fn deserialize_i8<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
fn deserialize_i8<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
Deserialize
type is expecting an i8
value.source§fn deserialize_i16<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
fn deserialize_i16<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
Deserialize
type is expecting an i16
value.source§fn deserialize_i32<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
fn deserialize_i32<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
Deserialize
type is expecting an i32
value.source§fn deserialize_i64<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
fn deserialize_i64<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
Deserialize
type is expecting an i64
value.source§fn deserialize_u8<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
fn deserialize_u8<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
Deserialize
type is expecting a u8
value.source§fn deserialize_u16<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
fn deserialize_u16<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
Deserialize
type is expecting a u16
value.source§fn deserialize_u32<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
fn deserialize_u32<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
Deserialize
type is expecting a u32
value.source§fn deserialize_u64<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
fn deserialize_u64<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
Deserialize
type is expecting a u64
value.source§fn deserialize_f32<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
fn deserialize_f32<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
Deserialize
type is expecting a f32
value.source§fn deserialize_f64<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
fn deserialize_f64<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
Deserialize
type is expecting a f64
value.source§fn deserialize_i128<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
fn deserialize_i128<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
source§fn deserialize_u128<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
fn deserialize_u128<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
source§fn deserialize_char<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
fn deserialize_char<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
Deserialize
type is expecting a char
value.source§fn deserialize_str<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
fn deserialize_str<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
Deserialize
type is expecting a string value and does
not benefit from taking ownership of buffered data owned by the
Deserializer
. Read moresource§fn deserialize_string<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
fn deserialize_string<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
Deserialize
type is expecting a string value and would
benefit from taking ownership of buffered data owned by the
Deserializer
. Read moresource§fn deserialize_byte_buf<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
fn deserialize_byte_buf<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
Deserialize
type is expecting a byte array and would
benefit from taking ownership of buffered data owned by the
Deserializer
. Read moresource§fn deserialize_unit<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
fn deserialize_unit<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
Deserialize
type is expecting a unit value.source§fn deserialize_unit_struct<V>(
self,
_name: &'static str,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
fn deserialize_unit_struct<V>(
self,
_name: &'static str,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
Deserialize
type is expecting a unit struct with a
particular name.source§fn deserialize_seq<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
fn deserialize_seq<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
Deserialize
type is expecting a sequence of values.source§fn deserialize_tuple<V>(
self,
_len: usize,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
fn deserialize_tuple<V>(
self,
_len: usize,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
Deserialize
type is expecting a sequence of values and
knows how many values there are without looking at the serialized data.source§fn deserialize_tuple_struct<V>(
self,
_name: &'static str,
_len: usize,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
fn deserialize_tuple_struct<V>(
self,
_name: &'static str,
_len: usize,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
Deserialize
type is expecting a tuple struct with a
particular name and number of fields.source§fn deserialize_map<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
fn deserialize_map<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
Deserialize
type is expecting a map of key-value pairs.source§fn deserialize_struct<V>(
self,
_name: &'static str,
_fields: &'static [&'static str],
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
fn deserialize_struct<V>(
self,
_name: &'static str,
_fields: &'static [&'static str],
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
Deserialize
type is expecting a struct with a particular
name and fields.source§fn deserialize_identifier<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
fn deserialize_identifier<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
Deserialize
type is expecting the name of a struct
field or the discriminant of an enum variant.source§fn deserialize_ignored_any<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
fn deserialize_ignored_any<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Error>where
V: Visitor<'de>,
Deserialize
type needs to deserialize a value whose type
doesn’t matter because it is ignored. Read moresource§fn is_human_readable(&self) -> bool
fn is_human_readable(&self) -> bool
Deserialize
implementations should expect to
deserialize their human-readable form. Read moreAuto Trait Implementations§
impl<R> RefUnwindSafe for Deserializer<R>where
R: RefUnwindSafe,
impl<R> Send for Deserializer<R>where
R: Send,
impl<R> Sync for Deserializer<R>where
R: Sync,
impl<R> Unpin for Deserializer<R>where
R: Unpin,
impl<R> UnwindSafe for Deserializer<R>where
R: UnwindSafe,
Blanket Implementations§
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
§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>
§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> StorageAsMut for T
impl<T> StorageAsMut for T
fn storage<Type>(&mut self) -> StorageMut<'_, Self, Type>where
Type: Mappable,
fn storage_as_mut<Type>(&mut self) -> StorageMut<'_, Self, Type>where
Type: Mappable,
§impl<T> StorageAsRef for T
impl<T> StorageAsRef for T
fn storage<Type>(&self) -> StorageRef<'_, Self, Type>where
Type: Mappable,
fn storage_as_ref<Type>(&self) -> StorageRef<'_, Self, Type>where
Type: Mappable,
§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.