Enum Token

Source
pub enum Token {
Show 36 variants Word(Word), Arrow, Hash, At, Dot, DotDotDot, Bang, LParen, RParen, LBracket, RBracket, LBrace, RBrace, Semi, Comma, BackQuote, Template { raw: Atom, cooked: LexResult<Atom>, }, Colon, BinOp(BinOpToken), AssignOp(AssignOp), DollarLBrace, QuestionMark, PlusPlus, MinusMinus, Tilde, Str { value: Atom, raw: Atom, }, Regex(Atom, Atom), Num { value: f64, raw: Atom, }, BigInt { value: Box<BigInt>, raw: Atom, }, JSXName { name: Atom, }, JSXText { value: Atom, raw: Atom, }, JSXTagStart, JSXTagEnd, Shebang(Atom), Error(Error), Eof,
}

Variants§

§

Word(Word)

Identifier, “null”, “true”, “false”.

Contains null and ``

§

Arrow

‘=>’

§

Hash

‘#’

§

At

‘@’

§

Dot

‘.’

§

DotDotDot

‘…’

§

Bang

‘!’

§

LParen

‘(’

§

RParen

‘)’

§

LBracket

[

§

RBracket

‘]’

§

LBrace

‘{’

§

RBrace

‘}’

§

Semi

‘;’

§

Comma

‘,’

§

BackQuote

‘`’

§

Template

Fields

§raw: Atom
§cooked: LexResult<Atom>
§

Colon

‘:’

§

BinOp(BinOpToken)

§

AssignOp(AssignOp)

§

DollarLBrace

‘${’

§

QuestionMark

‘?’

§

PlusPlus

++

§

MinusMinus

--

§

Tilde

~

§

Str

String literal. Span of this token contains quote.

Fields

§value: Atom
§raw: Atom
§

Regex(Atom, Atom)

Regexp literal.

§

Num

TODO: Make Num as enum and separate decimal, binary, ..etc

Fields

§value: f64
§raw: Atom
§

BigInt

Fields

§value: Box<BigInt>
§raw: Atom
§

JSXName

Fields

§name: Atom
§

JSXText

Fields

§value: Atom
§raw: Atom
§

JSXTagStart

§

JSXTagEnd

§

Shebang(Atom)

§

Error(Error)

§

Eof

Implementations§

Source§

impl Token

Source

pub fn kind(&self) -> TokenKind

Trait Implementations§

Source§

impl Clone for Token

Source§

fn clone(&self) -> Token

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Token

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

This method is called only in the case of parsing failure.

Source§

impl PartialEq for Token

Source§

fn eq(&self, other: &Token) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a, I: Tokens<TokenAndSpan>> TokenFactory<'a, TokenAndSpan, I> for Token

Source§

const ABSTRACT: Self

Source§

const ACCESSOR: Self

Source§

const ANY: Self

Source§

const ARROW: Self = Self::Arrow

Source§

const AS: Self

Source§

const ASSERT: Self

Source§

const ASSERTS: Self

Source§

const ASYNC: Self

Source§

const AT: Self = Self::At

Source§

const AWAIT: Self

Source§

const BACKQUOTE: Self = Self::BackQuote

Source§

const BANG: Self = Self::Bang

Source§

const BIGINT: Self

Source§

const BIT_AND: Self

Source§

const BIT_AND_EQ: Self

Source§

const BIT_OR: Self

Source§

const BIT_OR_EQ: Self

Source§

const BOOLEAN: Self

Source§

const BREAK: Self

Source§

const CASE: Self

Source§

const CATCH: Self

Source§

const CLASS: Self

Source§

const COLON: Self = Self::Colon

Source§

const COMMA: Self = Self::Comma

Source§

const CONST: Self

Source§

const CONTINUE: Self

Source§

const DEBUGGER: Self

Source§

const DECLARE: Self

Source§

const DEFAULT: Self

Source§

const DELETE: Self

Source§

const DIV: Self

Source§

const DIV_EQ: Self

Source§

const DO: Self

Source§

const DOLLAR_LBRACE: Self = Self::DollarLBrace

Source§

const DOT: Self = Self::Dot

Source§

const DOTDOTDOT: Self = Self::DotDotDot

Source§

const ELSE: Self

Source§

const ENUM: Self

Source§

const EOF: Self = Token::Eof

Source§

const EQUAL: Self

Source§

const EXP: Self

Source§

const EXPORT: Self

Source§

const EXP_EQ: Self

Source§

const EXTENDS: Self

Source§

const FALSE: Self

Source§

const FINALLY: Self

Source§

const FOR: Self

Source§

const FROM: Self

Source§

const FUNCTION: Self

Source§

const GET: Self

Source§

const GLOBAL: Self

Source§

const GREATER: Self

Source§

const GREATER_EQ: Self

Source§

const HASH: Self = Self::Hash

Source§

const IF: Self

Source§

const IMPLEMENTS: Self

Source§

const IMPORT: Self

Source§

const IN: Self

Source§

const INFER: Self

Source§

const INSTANCEOF: Self

Source§

const INTERFACE: Self

Source§

const INTRINSIC: Self

Source§

const IS: Self

Source§

const JSX_TAG_END: Self = Self::JSXTagEnd

Source§

const JSX_TAG_START: Self = Self::JSXTagStart

Source§

const KEYOF: Self

Source§

const LBRACE: Self = Self::LBrace

Source§

const LBRACKET: Self = Self::LBracket

Source§

const LESS: Self

Source§

const LESS_EQ: Self

Source§

const LET: Self

Source§

const LOGICAL_AND: Self

Source§

const LOGICAL_AND_EQ: Self

Source§

const LOGICAL_OR: Self

Source§

const LOGICAL_OR_EQ: Self

Source§

const LPAREN: Self = Self::LParen

Source§

const LSHIFT: Self

Source§

const LSHIFT_EQ: Self

Source§

const MINUS: Self

Source§

const MINUS_MINUS: Self = Self::MinusMinus

Source§

const MOD: Self

Source§

const MOD_EQ: Self

Source§

const MUL: Self

Source§

const MUL_EQ: Self

Source§

const NAMESPACE: Self

Source§

const NEVER: Self

Source§

const NEW: Self

Source§

const NULL: Self

Source§

const NULLISH_ASSIGN: Self

Source§

const NULLISH_COALESCING: Self

Source§

const NUMBER: Self

Source§

const OBJECT: Self

Source§

const OF: Self

Source§

const PACKAGE: Self

Source§

const PLUS: Self

Source§

const PLUS_PLUS: Self = Self::PlusPlus

Source§

const PRIVATE: Self

Source§

const PROTECTED: Self

Source§

const PUBLIC: Self

Source§

const QUESTION: Self = Token::QuestionMark

Source§

const RBRACE: Self = Self::RBrace

Source§

const RBRACKET: Self = Self::RBracket

Source§

const READONLY: Self

Source§

const REQUIRE: Self

Source§

const RETURN: Self

Source§

const RPAREN: Self = Self::RParen

Source§

const RSHIFT: Self

Source§

const RSHIFT_EQ: Self

Source§

const SATISFIES: Self

Source§

const SEMI: Self = Self::Semi

Source§

const SET: Self

Source§

const STATIC: Self

Source§

const STRING: Self

Source§

const SUPER: Self

Source§

const SWITCH: Self

Source§

const SYMBOL: Self

Source§

const TARGET: Self

Source§

const THIS: Self

Source§

const THROW: Self

Source§

const TILDE: Self = Self::Tilde

Source§

const TRUE: Self

Source§

const TRY: Self

Source§

const TYPE: Self

Source§

const TYPEOF: Self

Source§

const UNDEFINED: Self

Source§

const UNIQUE: Self

Source§

const UNKNOWN: Self

Source§

const USING: Self

Source§

const VAR: Self

Source§

const VOID: Self

Source§

const WHILE: Self

Source§

const WITH: Self

Source§

const YIELD: Self

Source§

const ZERO_FILL_RSHIFT: Self

Source§

const ZERO_FILL_RSHIFT_EQ: Self

Source§

type Buffer = Buffer<I>

Source§

type Lexer = Lexer<'a>

Source§

fn jsx_name(name: &'a str, lexer: &mut Lexer<'a>) -> Self

Source§

fn is_jsx_name(&self) -> bool

Source§

fn take_jsx_name(self, _: &mut Self::Buffer) -> Atom

Source§

fn str(value: Atom, raw: Atom, _: &mut Lexer<'a>) -> Self

Source§

fn template(cooked: LexResult<Atom>, raw: Atom, _: &mut Lexer<'a>) -> Self

Source§

fn regexp(content: Atom, flags: Atom, _: &mut Lexer<'a>) -> Self

Source§

fn num(value: f64, raw: Atom, _: &mut Lexer<'a>) -> Self

Source§

fn bigint(value: Box<BigIntValue>, raw: Atom, _: &mut Lexer<'a>) -> Self

Source§

fn unknown_ident(value: Atom, _: &mut Lexer<'a>) -> Self

Source§

fn is_word(&self) -> bool

Source§

fn is_reserved(&self, ctx: Context) -> bool

Source§

fn into_atom(self, _: &mut Lexer<'a>) -> Option<Atom>

Source§

fn is_error(&self) -> bool

Source§

fn take_error(self, _: &mut Self::Buffer) -> Error

Source§

fn is_str(&self) -> bool

Source§

fn is_str_raw_content(&self, content: &str, _: &Self::Buffer) -> bool

Source§

fn take_str(self, _: &mut Self::Buffer) -> (Atom, Atom)

Source§

fn is_num(&self) -> bool

Source§

fn take_num(self, _: &mut Self::Buffer) -> (f64, Atom)

Source§

fn is_bigint(&self) -> bool

Source§

fn take_bigint(self, _: &mut Self::Buffer) -> (Box<BigIntValue>, Atom)

Source§

fn take_word(self, _: &Self::Buffer) -> Option<Atom>

Source§

fn is_unknown_ident(&self) -> bool

Source§

fn take_unknown_ident(self, _: &mut Self::Buffer) -> Atom

Source§

fn take_unknown_ident_ref<'b>(&'b self, _: &'b Self::Buffer) -> &'b Atom

Source§

fn is_keyword(&self) -> bool

Source§

fn is_known_ident(&self) -> bool

Source§

fn take_known_ident(&self) -> Atom

Source§

fn is_regexp(&self) -> bool

Source§

fn is_template(&self) -> bool

Source§

fn take_template(self, _: &mut Self::Buffer) -> (LexResult<Atom>, Atom)

Source§

fn jsx_text(value: Atom, raw: Atom, _: &mut Self::Lexer) -> Self

Source§

fn is_jsx_text(&self) -> bool

Source§

fn take_jsx_text(self, _: &mut Self::Buffer) -> (Atom, Atom)

Source§

fn starts_expr(&self) -> bool

Source§

fn to_string(&self, _: &Self::Buffer) -> String

Source§

fn is_bin_op(&self) -> bool

Source§

fn as_assign_op(&self) -> Option<AssignOp>

Source§

fn as_bin_op(&self) -> Option<BinaryOp>

Source§

fn follows_keyword_let(&self) -> bool

Source§

fn is_assign_op(&self) -> bool

Source§

fn take_regexp(self, _: &mut Self::Buffer) -> (Atom, Atom)

Source§

fn shebang(value: Atom, _: &mut Self::Lexer) -> Self

Source§

fn is_shebang(&self) -> bool

Source§

fn take_shebang(self, _: &mut Self::Buffer) -> Atom

Source§

fn is_no_substitution_template_literal(&self) -> bool

Source§

fn is_template_head(&self) -> bool

Source§

fn is_less(&self) -> bool

Source§

fn is_less_eq(&self) -> bool

Source§

fn is_greater(&self) -> bool

Source§

fn is_colon(&self) -> bool

Source§

fn is_comma(&self) -> bool

Source§

fn is_equal(&self) -> bool

Source§

fn is_question(&self) -> bool

Source§

fn is_null(&self) -> bool

Source§

fn is_lshift(&self) -> bool

Source§

fn is_rshift(&self) -> bool

Source§

fn is_rshift_eq(&self) -> bool

Source§

fn is_greater_eq(&self) -> bool

Source§

fn is_true(&self) -> bool

Source§

fn is_false(&self) -> bool

Source§

fn is_enum(&self) -> bool

Source§

fn is_yield(&self) -> bool

Source§

fn is_let(&self) -> bool

Source§

fn is_var(&self) -> bool

Source§

fn is_static(&self) -> bool

Source§

fn is_extends(&self) -> bool

Source§

fn is_implements(&self) -> bool

Source§

fn is_interface(&self) -> bool

Source§

fn is_type(&self) -> bool

Source§

fn is_package(&self) -> bool

Source§

fn is_private(&self) -> bool

Source§

fn is_protected(&self) -> bool

Source§

fn is_public(&self) -> bool

Source§

fn is_readonly(&self) -> bool

Source§

fn is_await(&self) -> bool

Source§

fn is_break(&self) -> bool

Source§

fn is_continue(&self) -> bool

Source§

fn is_arrow(&self) -> bool

Source§

fn is_this(&self) -> bool

Source§

fn is_super(&self) -> bool

Source§

fn is_using(&self) -> bool

Source§

fn is_backquote(&self) -> bool

Source§

fn is_lparen(&self) -> bool

Source§

fn is_rparen(&self) -> bool

Source§

fn is_lbracket(&self) -> bool

Source§

fn is_rbracket(&self) -> bool

Source§

fn is_lbrace(&self) -> bool

Source§

fn is_rbrace(&self) -> bool

Source§

fn is_function(&self) -> bool

Source§

fn is_class(&self) -> bool

Source§

fn is_if(&self) -> bool

Source§

fn is_return(&self) -> bool

Source§

fn is_switch(&self) -> bool

Source§

fn is_throw(&self) -> bool

Source§

fn is_catch(&self) -> bool

Source§

fn is_finally(&self) -> bool

Source§

fn is_try(&self) -> bool

Source§

fn is_with(&self) -> bool

Source§

fn is_while(&self) -> bool

Source§

fn is_new(&self) -> bool

Source§

fn is_ident_ref(&self, ctx: Context) -> bool

Source§

fn is_import(&self) -> bool

Source§

fn is_export(&self) -> bool

Source§

fn is_dot(&self) -> bool

Source§

fn is_do(&self) -> bool

Source§

fn is_for(&self) -> bool

Source§

fn is_from(&self) -> bool

Source§

fn is_dotdotdot(&self) -> bool

Source§

fn is_plus(&self) -> bool

Source§

fn is_minus(&self) -> bool

Source§

fn is_bang(&self) -> bool

Source§

fn is_tilde(&self) -> bool

Source§

fn is_plus_plus(&self) -> bool

Source§

fn is_minus_minus(&self) -> bool

Source§

fn is_delete(&self) -> bool

Source§

fn is_typeof(&self) -> bool

Source§

fn is_of(&self) -> bool

Source§

fn is_void(&self) -> bool

Source§

fn is_hash(&self) -> bool

Source§

fn is_in(&self) -> bool

Source§

fn is_const(&self) -> bool

Source§

fn is_star(&self) -> bool

Source§

fn is_mod(&self) -> bool

Source§

fn is_semi(&self) -> bool

Source§

fn is_slash(&self) -> bool

Source§

fn is_slash_eq(&self) -> bool

Source§

fn is_jsx_tag_start(&self) -> bool

Source§

fn is_jsx_tag_end(&self) -> bool

Source§

fn is_asserts(&self) -> bool

Source§

fn is_is(&self) -> bool

Source§

fn is_as(&self) -> bool

Source§

fn is_satisfies(&self) -> bool

Source§

fn is_instanceof(&self) -> bool

Source§

fn is_async(&self) -> bool

Source§

fn is_case(&self) -> bool

Source§

fn is_default(&self) -> bool

Source§

fn is_debugger(&self) -> bool

Source§

fn is_bit_and(&self) -> bool

Source§

fn is_bit_or(&self) -> bool

Source§

fn is_exp(&self) -> bool

Source§

fn is_eof(&self) -> bool

Source§

impl StructuralPartialEq for Token

Auto Trait Implementations§

§

impl Freeze for Token

§

impl RefUnwindSafe for Token

§

impl Send for Token

§

impl Sync for Token

§

impl Unpin for Token

§

impl UnwindSafe for Token

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where 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.

§

impl<T> Instrument for T

§

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

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

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 T
where 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.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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<T> LayoutRaw for T

§

fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>

Returns the layout of the type.
§

impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
where T: SharedNiching<N1, N2>, N1: Niching<T>, N2: Niching<T>,

§

unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool

Returns whether the given value has been niched. Read more
§

fn resolve_niched(out: Place<NichedOption<T, N1>>)

Writes data to out indicating that a T is niched.
§

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

§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where 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) -> R
where 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) -> R
where 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) -> R
where 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, ) -> R
where 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) -> R
where 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) -> R
where 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) -> R
where 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, ) -> R
where 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

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
§

impl<T> Pointee for T

§

type Metadata = ()

The metadata type for pointers and references to this type.
§

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)) -> Self
where 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)) -> Self
where 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)) -> Self
where 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)) -> Self
where 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)) -> Self
where 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)) -> Self
where 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)) -> Self
where 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)) -> Self
where 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)) -> Self
where 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)) -> Self
where 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)) -> Self
where 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)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

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

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

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 T
where U: Into<T>,

Source§

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 T
where U: TryFrom<T>,

Source§

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<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> ErasedDestructor for T
where T: 'static,

§

impl<T> MaybeSendSync for T