diff --git a/cfg_if/all.html b/cfg_if/all.html new file mode 100644 index 0000000..fb218fa --- /dev/null +++ b/cfg_if/all.html @@ -0,0 +1,6 @@ +List of all items in this crate + +

[] + + List of all items

Macros

\ No newline at end of file diff --git a/cfg_if/index.html b/cfg_if/index.html new file mode 100644 index 0000000..3ec7309 --- /dev/null +++ b/cfg_if/index.html @@ -0,0 +1,25 @@ +cfg_if - Rust + +

[][src]Crate cfg_if

A macro for defining #[cfg] if-else statements.

+

The macro provided by this crate, cfg_if, is similar to the if/elif C +preprocessor macro by allowing definition of a cascade of #[cfg] cases, +emitting the implementation which matches first.

+

This allows you to conveniently provide a long list #[cfg]'d blocks of code +without having to rewrite each clause multiple times.

+

Example

+
+cfg_if::cfg_if! {
+    if #[cfg(unix)] {
+        fn foo() { /* unix specific functionality */ }
+    } else if #[cfg(target_pointer_width = "32")] {
+        fn foo() { /* non-unix, 32-bit functionality */ }
+    } else {
+        fn foo() { /* fallback implementation */ }
+    }
+}
+
+

Macros

+
cfg_if

The main macro provided by this crate. See crate documentation for more +information.

+
\ No newline at end of file diff --git a/cfg_if/macro.cfg_if!.html b/cfg_if/macro.cfg_if!.html new file mode 100644 index 0000000..36f9a6d --- /dev/null +++ b/cfg_if/macro.cfg_if!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.cfg_if.html...

+ + + \ No newline at end of file diff --git a/cfg_if/macro.cfg_if.html b/cfg_if/macro.cfg_if.html new file mode 100644 index 0000000..cbde7d5 --- /dev/null +++ b/cfg_if/macro.cfg_if.html @@ -0,0 +1,23 @@ +cfg_if::cfg_if - Rust + +

[][src]Macro cfg_if::cfg_if

+macro_rules! cfg_if {
+    ($(
+        if #[cfg($meta:meta)] { $($tokens:tt)* }
+    ) else * else {
+        $($tokens2:tt)*
+    }) => { ... };
+    (
+        if #[cfg($i_met:meta)] { $($i_tokens:tt)* }
+        $(
+            else if #[cfg($e_met:meta)] { $($e_tokens:tt)* }
+        )*
+    ) => { ... };
+    (@__items ($($not:meta,)*) ; ) => { ... };
+    (@__items ($($not:meta,)*) ; ( ($($m:meta),*) ($($tokens:tt)*) ), $($rest:tt)*) => { ... };
+    (@__identity $($tokens:tt)*) => { ... };
+}
+

The main macro provided by this crate. See crate documentation for more +information.

+
\ No newline at end of file diff --git a/cfg_if/sidebar-items.js b/cfg_if/sidebar-items.js new file mode 100644 index 0000000..dbc0f91 --- /dev/null +++ b/cfg_if/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"macro":[["cfg_if","The main macro provided by this crate. See crate documentation for more information."]]}); \ No newline at end of file diff --git a/delog/all.html b/delog/all.html new file mode 100644 index 0000000..89a47a6 --- /dev/null +++ b/delog/all.html @@ -0,0 +1,6 @@ +List of all items in this crate + +

[] + + List of all items

Structs

Enums

Traits

Macros

Functions

\ No newline at end of file diff --git a/delog/enum.Level.html b/delog/enum.Level.html new file mode 100644 index 0000000..8f5c2ba --- /dev/null +++ b/delog/enum.Level.html @@ -0,0 +1,82 @@ +delog::Level - Rust + +

[][src]Enum delog::Level

#[repr(usize)]pub enum Level {
+    Error,
+    Warn,
+    Info,
+    Debug,
+    Trace,
+}

An enum representing the available verbosity levels of the logger.

+

Typical usage includes: checking if a certain Level is enabled with +log_enabled!, specifying the Level of +log!, and comparing a Level directly to a +LevelFilter.

+

+ Variants

+
Error

The "error" level.

+

Designates very serious errors.

+
Warn

The "warn" level.

+

Designates hazardous situations.

+
Info

The "info" level.

+

Designates useful information.

+
Debug

The "debug" level.

+

Designates lower priority information.

+
Trace

The "trace" level.

+

Designates very low priority, often extremely verbose, information.

+

Implementations

impl Level[src]

pub fn max() -> Level[src]

Returns the most verbose logging level.

+

pub fn to_level_filter(&self) -> LevelFilter[src]

Converts the Level to the equivalent LevelFilter.

+

pub fn as_str(&self) -> &'static str[src]

Returns the string representation of the Level.

+

This returns the same string as the fmt::Display implementation.

+

Trait Implementations

impl Clone for Level[src]

impl Copy for Level[src]

impl Debug for Level[src]

impl Display for Level[src]

impl Eq for Level[src]

impl FromStr for Level[src]

type Err = ParseLevelError

The associated error which can be returned from parsing.

+

impl Hash for Level[src]

impl Ord for Level[src]

impl PartialEq<Level> for LevelFilter[src]

impl PartialEq<Level> for Level[src]

impl PartialEq<LevelFilter> for Level[src]

impl PartialOrd<Level> for LevelFilter[src]

impl PartialOrd<Level> for Level[src]

impl PartialOrd<LevelFilter> for Level[src]

impl StructuralEq for Level[src]

Auto Trait Implementations

impl Send for Level[src]

impl Sync for Level[src]

impl Unpin for Level[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+
\ No newline at end of file diff --git a/delog/enum.LevelFilter.html b/delog/enum.LevelFilter.html new file mode 100644 index 0000000..df1a367 --- /dev/null +++ b/delog/enum.LevelFilter.html @@ -0,0 +1,78 @@ +delog::LevelFilter - Rust + +

[][src]Enum delog::LevelFilter

#[repr(usize)]pub enum LevelFilter {
+    Off,
+    Error,
+    Warn,
+    Info,
+    Debug,
+    Trace,
+}

An enum representing the available verbosity level filters of the logger.

+

A LevelFilter may be compared directly to a Level. Use this type +to get and set the maximum log level with max_level() and set_max_level.

+

+ Variants

+
Off

A level lower than all log levels.

+
Error

Corresponds to the Error log level.

+
Warn

Corresponds to the Warn log level.

+
Info

Corresponds to the Info log level.

+
Debug

Corresponds to the Debug log level.

+
Trace

Corresponds to the Trace log level.

+

Implementations

impl LevelFilter[src]

pub fn max() -> LevelFilter[src]

Returns the most verbose logging level filter.

+

pub fn to_level(&self) -> Option<Level>[src]

Converts self to the equivalent Level.

+

Returns None if self is LevelFilter::Off.

+

pub fn as_str(&self) -> &'static str[src]

Returns the string representation of the LevelFilter.

+

This returns the same string as the fmt::Display implementation.

+

Trait Implementations

impl Clone for LevelFilter[src]

impl Copy for LevelFilter[src]

impl Debug for LevelFilter[src]

impl Display for LevelFilter[src]

impl Eq for LevelFilter[src]

impl FromStr for LevelFilter[src]

type Err = ParseLevelError

The associated error which can be returned from parsing.

+

impl Hash for LevelFilter[src]

impl Ord for LevelFilter[src]

impl PartialEq<Level> for LevelFilter[src]

impl PartialEq<LevelFilter> for LevelFilter[src]

impl PartialEq<LevelFilter> for Level[src]

impl PartialOrd<Level> for LevelFilter[src]

impl PartialOrd<LevelFilter> for Level[src]

impl PartialOrd<LevelFilter> for LevelFilter[src]

impl StructuralEq for LevelFilter[src]

Auto Trait Implementations

impl Send for LevelFilter[src]

impl Sync for LevelFilter[src]

impl Unpin for LevelFilter[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+
\ No newline at end of file diff --git a/delog/fn.dequeue.html b/delog/fn.dequeue.html new file mode 100644 index 0000000..0fb8a50 --- /dev/null +++ b/delog/fn.dequeue.html @@ -0,0 +1,8 @@ +delog::dequeue - Rust + +

[][src]Function delog::dequeue

pub unsafe fn dequeue(delogger: impl Delogger, buf: &mut [u8]) -> &str

The core "read from circular buffer" method. Marked unsafe to discourage use!

+

Safety

+

Unfortunately exposed for all to see, as the delog! macro needs access to it to +implement the logger at call site. Hence marked as unsafe.

+
\ No newline at end of file diff --git a/delog/fn.enqueue.html b/delog/fn.enqueue.html new file mode 100644 index 0000000..07d56a0 --- /dev/null +++ b/delog/fn.enqueue.html @@ -0,0 +1,8 @@ +delog::enqueue - Rust + +

[][src]Function delog::enqueue

pub unsafe fn enqueue(delogger: impl Delogger, record: &Record<'_>)

The core "write to circular buffer" method. Marked unsafe to discourage use!

+

Safety

+

Unfortunately exposed for all to see, as the delog! macro needs access to it to +implement the logger at call site. Hence marked as unsafe.

+
\ No newline at end of file diff --git a/delog/fn.logger.html b/delog/fn.logger.html new file mode 100644 index 0000000..ba830fe --- /dev/null +++ b/delog/fn.logger.html @@ -0,0 +1,5 @@ +delog::logger - Rust + +

[][src]Function delog::logger

pub fn logger() -> &'static mut Option<&'static dyn TryLogWithStatistics>

Returns a reference to the logger (as TryLogWithStatistics implementation)

+
\ No newline at end of file diff --git a/delog/fn.try_enqueue.html b/delog/fn.try_enqueue.html new file mode 100644 index 0000000..6094ca6 --- /dev/null +++ b/delog/fn.try_enqueue.html @@ -0,0 +1,19 @@ +delog::try_enqueue - Rust + +

[][src]Function delog::try_enqueue

pub unsafe fn try_enqueue(
    delogger: impl Delogger,
    record: &Record<'_>
) -> Result<(), ()>

The fallible "write to circular buffer" method. Marked unsafe to discourage use!

+

Safety

+

Unfortunately exposed for all to see, as the delog! macro needs access to it to +implement the logger at call site. Hence marked as unsafe.

+

This implementation needs some HEAVY testing. It is unsound on PC, where the OS +can schedule threads in any manner, but assumed to be sound in ARM Cortex-M NVIC +situations, where interrupts are "nested", in the sense that one may be interrupted, +then the interrupter can, ..., then the interrupter hands back control, ..., and finally +the original caller of this function regains control.

+

In this situation, we keep track of three counters (read, written, claimed), with +invariants read <= written <= claimed. Each writer pessimistically gauges sufficient +capacity for its log by checking claimed + size <= read + capacity, accounting for the +wraparound. If so, the writer atomically advances the claim counter, and starts copying +its data in this newly claimed space. At the end, it is the duty of the "first" caller +to advance the written counter to the correct state.

+
\ No newline at end of file diff --git a/delog/hex/fn.HexStr.html b/delog/hex/fn.HexStr.html new file mode 100644 index 0000000..b4c8575 --- /dev/null +++ b/delog/hex/fn.HexStr.html @@ -0,0 +1,29 @@ +delog::hex::HexStr - Rust + +

[][src]Function delog::hex::HexStr

pub fn HexStr<T: ?Sized, U: Unsigned, S: Separator>(
    value: &T
) -> HexStr<'_, T, U, S>

Explicitly construct a newtype to format with.

+

The first generic parameter specifies the block size in bytes, the second parameter +the separator string.

+

This function is just here for documentation of what the hex_str! macro +does internally (using the undocumented typeint! and typesep! macros).

+ +
+use delog::hex::{HexStr, Separator, Unsigned};
+
+// typeint!(U3, 3);
+struct U3 {}
+impl Unsigned for U3 {
+    const N: usize = 3;
+}
+
+// typesep!(Pipe, "|");
+struct Pipe {}
+impl Separator for Pipe {
+    const SEPARATOR: &'static str  = "|";
+}
+
+let four_bytes = &[7u8, 0xA1, 255, 0xC7];
+let hex_str = HexStr::<_, U3, Pipe>(four_bytes);
+
+assert_eq!(format!("{}", hex_str), "07A1FF|C7");
+
\ No newline at end of file diff --git a/delog/hex/index.html b/delog/hex/index.html new file mode 100644 index 0000000..8a7f3aa --- /dev/null +++ b/delog/hex/index.html @@ -0,0 +1,39 @@ +delog::hex - Rust + +

[][src]Module delog::hex

Convenient Display and other traits for binary data.

+

Standard Rust uses the fmt::UpperHex and LowerHex traits to implement hexadecimal +representations for use in format strings. For instance, +format_args!("{:02X?}", &[7, 0xA1, 0xFF]) produces the string "[07, A1, FF]".

+ +
+assert_eq!(format!("{:02X?}", [7u8, 0xA1, 0xFF].as_ref()), "[07, A1, FF]");
+

However, this only works for the Debug trait, not Display; needs extra dancing +to pad with leading zeros, and is not very compact when debugging binary data formats.

+

The idea of this module is to generate newtypes around byte arrays/slices, and implement the fmt traits on these. +In release builds, this is all compiled out and translates to direct instructions for the formatting machinery.

+

The ide to implement truncated outputs comes from the hex_fmt library, which we refer to +for additional newtypes that can be used.

+ +
+use delog::{hex_str, hexstr};
+
+let data = &[7u8, 0xA1, 255, 0xC7];
+
+assert_eq!(format!("{}", hexstr!(data)), "07A1FFC7");
+assert_eq!(format!("{:x}", hexstr!(data)), "07a1ffc7");
+assert_eq!(format!("{:2x}", hex_str!(data)), "07..c7");
+assert_eq!(format!("{:<3x}", hex_str!(data)), "07 a1 ff..");
+assert_eq!(format!("{:>3x}", hex_str!(data)), "..a1 ff c7");
+assert_eq!(format!("{}", hex_str!(data, 2)), "07A1 FFC7");
+assert_eq!(format!("{:<3}", hex_str!(data, sep: "|")), "07|A1|FF..");
+

Structs

+
HexStr

Zero-sized wrapper newtype, allowing grouping bytes in blocks of N hexadecimals +during formatting.

+
U1

A type that represents the integer 1.

+

Traits

+
Separator

A type that specifies a separator str.

+
Unsigned

A type that specifies an unsigned integer.

+

Functions

+
HexStr

Explicitly construct a newtype to format with.

+
\ No newline at end of file diff --git a/delog/hex/sidebar-items.js b/delog/hex/sidebar-items.js new file mode 100644 index 0000000..8511c96 --- /dev/null +++ b/delog/hex/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"fn":[["HexStr","Explicitly construct a newtype to format with."]],"struct":[["HexStr","Zero-sized wrapper newtype, allowing grouping bytes in blocks of N hexadecimals during formatting."],["U1","A type that represents the integer `1`."]],"trait":[["Separator","A type that specifies a separator str."],["Unsigned","A type that specifies an unsigned integer."]]}); \ No newline at end of file diff --git a/delog/hex/struct.HexStr.html b/delog/hex/struct.HexStr.html new file mode 100644 index 0000000..903f0cf --- /dev/null +++ b/delog/hex/struct.HexStr.html @@ -0,0 +1,26 @@ +delog::hex::HexStr - Rust + +

[][src]Struct delog::hex::HexStr

pub struct HexStr<'a, T: ?Sized, U, S> where
    U: Unsigned,
    S: Separator
{ + pub value: &'a T, + // some fields omitted +}

Zero-sized wrapper newtype, allowing grouping bytes in blocks of N hexadecimals +during formatting.

+

Use the method with the same name to construct this from your byte array or slice, +or preferrably the hex_str! or hexstr! macro.

+

+ Fields

value: &'a T

The value to be formatted.

+

Trait Implementations

impl<T: ?Sized, S, U> Debug for HexStr<'_, T, U, S> where
    T: AsRef<[u8]>,
    U: Unsigned,
    S: Separator
[src]

impl<T: ?Sized, U, S> Display for HexStr<'_, T, U, S> where
    T: AsRef<[u8]>,
    U: Unsigned,
    S: Separator
[src]

impl<'a, T: ?Sized, U, S> LowerHex for HexStr<'a, T, U, S> where
    T: AsRef<[u8]>,
    U: Unsigned,
    S: Separator
[src]

impl<'a, T: ?Sized, U, S> UpperHex for HexStr<'a, T, U, S> where
    T: AsRef<[u8]>,
    U: Unsigned,
    S: Separator
[src]

Auto Trait Implementations

impl<'a, T: ?Sized, U, S> Send for HexStr<'a, T, U, S> where
    S: Send,
    T: Sync,
    U: Send
[src]

impl<'a, T: ?Sized, U, S> Sync for HexStr<'a, T, U, S> where
    S: Sync,
    T: Sync,
    U: Sync
[src]

impl<'a, T: ?Sized, U, S> Unpin for HexStr<'a, T, U, S> where
    S: Unpin,
    U: Unpin
[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+
\ No newline at end of file diff --git a/delog/hex/struct.U1.html b/delog/hex/struct.U1.html new file mode 100644 index 0000000..a5242d8 --- /dev/null +++ b/delog/hex/struct.U1.html @@ -0,0 +1,15 @@ +delog::hex::U1 - Rust + +

[][src]Struct delog::hex::U1

pub struct U1;

A type that represents the integer 1.

+

Trait Implementations

impl Unsigned for U1[src]

Auto Trait Implementations

impl Send for U1[src]

impl Sync for U1[src]

impl Unpin for U1[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+
\ No newline at end of file diff --git a/delog/hex/trait.Separator.html b/delog/hex/trait.Separator.html new file mode 100644 index 0000000..6cf3cdd --- /dev/null +++ b/delog/hex/trait.Separator.html @@ -0,0 +1,8 @@ +delog::hex::Separator - Rust + +

[][src]Trait delog::hex::Separator

pub trait Separator {
+    const SEPARATOR: &'static str;
+}

A type that specifies a separator str.

+

Associated Constants

const SEPARATOR: &'static str[src]

The actual separator str.

+
Loading content...

Implementors

Loading content...
\ No newline at end of file diff --git a/delog/hex/trait.Unsigned.html b/delog/hex/trait.Unsigned.html new file mode 100644 index 0000000..c4d7adc --- /dev/null +++ b/delog/hex/trait.Unsigned.html @@ -0,0 +1,10 @@ +delog::hex::Unsigned - Rust + +

[][src]Trait delog::hex::Unsigned

pub trait Unsigned {
+    const N: usize;
+}

A type that specifies an unsigned integer.

+

We use this instead of typenum as the latter currently lacks +a mapping from usize to the associated type.

+

Associated Constants

const N: usize[src]

The actual number.

+
Loading content...

Implementors

impl Unsigned for U1[src]

Loading content...
\ No newline at end of file diff --git a/delog/index.html b/delog/index.html new file mode 100644 index 0000000..9a50b84 --- /dev/null +++ b/delog/index.html @@ -0,0 +1,121 @@ +delog - Rust + +

[][src]Crate delog

Compile-time configurable deferred logging (for printf()-debugging aka tracing)

+

This is an implementation of the log::Log trait, suitable for use +in both embedded and desktop environments.

+

It has two main goals:

+ +

Moreover, setting the kill switch feature flag knock-it-off, any and all traces of logging +are removed from the final binary.

+

Usage and defaults

+
+

"Global settings subtractive (default all), local settings additive (default none) but with kill-switch."

+
+

From log, we inherit:

+ +

Libraries that use the logging macros from log are governed by the more restrictive of these two settings.

+

On the other hand, a library that uses the delog::generate_macros!() macro gains macros info!, warn!, etc., +which, by default, do nothing, and are completely optimized out.

+

If such a libray itself defines a feature log-all that is active, then logging calls with these macros are passed through +and goverend by the global filters. Such a library can also define a feature such as +log-info, which activates exactly the info-level logs; it is up to the library to define +logic such as "log-info implies log-warn". There is a kill-switch: if the library defines a +feature log-none, and some intermediate library activates one of the additive log-* +features, setting log-none completely turns off logging for this library.

+

Background

+

Compared to existing approaches such as ufmt, cortex-m-funnel and defmt, +we pursue different values and requirements, namely:

+ +

Non-goals:

+ +

That said, we believe there is opportunity to extend delog in the defmt direction by +using, e.g., the fmt::Binary trait, newtypes and sentinel values to embed raw binary +representations of data in time-critical situations without formatting, deferring +the extraction and actual formatting to some host-side mechanism.

+

Features

+

The flushers and semihosting features mostly exist to share code within the examples, +including the example feature. Without them, dependencies are quite minimal, and compilation fast.

+

The fallible and immediate features (default on) activate the try_*! and *_now! macros, respectively.

+

Warning

+

The current circular buffer implementation (v0.1.0) is definitely unsound on desktop. +For embedded use, atomics are required (so no Cortex-M0/M1, and no plans to support non-atomic +platforms, which are likely to also be too resource-constrained to support the bloat inherent +in core::fmt). While we think the implemented circular buffer algorithm works for the "nested interrupt" +setup of NVICs, it has not been tested much. +The hope is that the worst case scenario is some slightly messed up log outputs.

+

Outlook

+

We plan to iterate towards a v0.2.0 soon, making use of a separate "flusher" for the +"immediate" logging path. For instance, when logging via serial-over-USB, one might want immediate +logs to pend a separate RTIC interrupt handler that blocks until the logs are pushed and read +(allowing one to debug the boot process of a firmware), or one might want to just write to RTT +(or even semihosting xD) for these, during development.

+

Re-exports

+
pub use log;

Modules

+
hex

Convenient Display and other traits for binary data.

+
render

The default, minimal renderer, and some helper functions.

+

Macros

+
delog

Generate a deferred logger with specified capacity and flushing mechanism.

+
generate_macros

Generate logging macros that can be gated by library.

+
hex_str

Compactly format byte arrays and slices as hexadecimals.

+
hexstr

More compactly format byte arrays and slices as hexadecimals.

+
try_log

Fallible (ungated) version of log!.

+

Structs

+
Record

The "payload" of a log message.

+
Statistics

Statistics on logger usage.

+

Enums

+
Level

An enum representing the available verbosity levels of the logger.

+
LevelFilter

An enum representing the available verbosity level filters of the logger.

+

Traits

+
Delogger

Semi-abstract characterization of the deferred loggers that the delog! macro produces.

+
Flusher

A way to pass on logs, user supplied.

+
Renderer

A way to format logs, user supplied.

+
State

Trait for either state or statistics of loggers.

+
TryLog

Fallible, panic-free version of the log::Log trait.

+
TryLogWithStatistics

TryLog with some usage statistics on top.

+

Functions

+
dequeue

The core "read from circular buffer" method. Marked unsafe to discourage use!

+
enqueue

The core "write to circular buffer" method. Marked unsafe to discourage use!

+
logger

Returns a reference to the logger (as TryLogWithStatistics implementation)

+
try_enqueue

The fallible "write to circular buffer" method. Marked unsafe to discourage use!

+
\ No newline at end of file diff --git a/delog/logger/fn.dequeue.html b/delog/logger/fn.dequeue.html new file mode 100644 index 0000000..2bb3ba7 --- /dev/null +++ b/delog/logger/fn.dequeue.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../delog/fn.dequeue.html...

+ + + \ No newline at end of file diff --git a/delog/logger/fn.enqueue.html b/delog/logger/fn.enqueue.html new file mode 100644 index 0000000..94efb01 --- /dev/null +++ b/delog/logger/fn.enqueue.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../delog/fn.enqueue.html...

+ + + \ No newline at end of file diff --git a/delog/logger/fn.try_enqueue.html b/delog/logger/fn.try_enqueue.html new file mode 100644 index 0000000..9ded565 --- /dev/null +++ b/delog/logger/fn.try_enqueue.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../delog/fn.try_enqueue.html...

+ + + \ No newline at end of file diff --git a/delog/logger/struct.Statistics.html b/delog/logger/struct.Statistics.html new file mode 100644 index 0000000..b15c109 --- /dev/null +++ b/delog/logger/struct.Statistics.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../delog/struct.Statistics.html...

+ + + \ No newline at end of file diff --git a/delog/logger/trait.Delogger.html b/delog/logger/trait.Delogger.html new file mode 100644 index 0000000..370c5fe --- /dev/null +++ b/delog/logger/trait.Delogger.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../delog/trait.Delogger.html...

+ + + \ No newline at end of file diff --git a/delog/logger/trait.State.html b/delog/logger/trait.State.html new file mode 100644 index 0000000..22e7f20 --- /dev/null +++ b/delog/logger/trait.State.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../delog/trait.State.html...

+ + + \ No newline at end of file diff --git a/delog/logger/trait.TryLog.html b/delog/logger/trait.TryLog.html new file mode 100644 index 0000000..766a5e4 --- /dev/null +++ b/delog/logger/trait.TryLog.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../delog/trait.TryLog.html...

+ + + \ No newline at end of file diff --git a/delog/logger/trait.TryLogWithStatistics.html b/delog/logger/trait.TryLogWithStatistics.html new file mode 100644 index 0000000..76ba1fb --- /dev/null +++ b/delog/logger/trait.TryLogWithStatistics.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../delog/trait.TryLogWithStatistics.html...

+ + + \ No newline at end of file diff --git a/delog/macro.delog!.html b/delog/macro.delog!.html new file mode 100644 index 0000000..c17c02b --- /dev/null +++ b/delog/macro.delog!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.delog.html...

+ + + \ No newline at end of file diff --git a/delog/macro.delog.html b/delog/macro.delog.html new file mode 100644 index 0000000..e131851 --- /dev/null +++ b/delog/macro.delog.html @@ -0,0 +1,14 @@ +delog::delog - Rust + +

[][src]Macro delog::delog

+macro_rules! delog {
+    ($logger:ident, $capacity:expr, $flusher:ty) => { ... };
+    ($logger:ident, $capacity:expr, $flusher:ty, renderer: $renderer:ty) => { ... };
+}
+

Generate a deferred logger with specified capacity and flushing mechanism.

+

Note that only the final "runner" generates, initializes and flushes such a deferred logger.

+

Libraries simply make calls to log::log!, or its drop-in replacement delog::log!, +and/or its extension delog::log_now!, and/or its alternatives delog::try_log! and delog::try_log_now, +and/or the local logging variants local_log!.

+
\ No newline at end of file diff --git a/delog/macro.generate_macros!.html b/delog/macro.generate_macros!.html new file mode 100644 index 0000000..50e0184 --- /dev/null +++ b/delog/macro.generate_macros!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.generate_macros.html...

+ + + \ No newline at end of file diff --git a/delog/macro.generate_macros.html b/delog/macro.generate_macros.html new file mode 100644 index 0000000..30bfa97 --- /dev/null +++ b/delog/macro.generate_macros.html @@ -0,0 +1,13 @@ +delog::generate_macros - Rust + +

[][src]Macro delog::generate_macros

+macro_rules! generate_macros {
+    () => { ... };
+}
+

Generate logging macros that can be gated by library.

+

Realize that these macros are generated in the namespace of the consuming library, the one +that actally later makes calls to local_warn! etc.

+

To see this in action, compile documentation using cargo doc --features example, or inspect +the gate-tests/ subdirectory.

+
\ No newline at end of file diff --git a/delog/macro.hex_str!.html b/delog/macro.hex_str!.html new file mode 100644 index 0000000..7a6f900 --- /dev/null +++ b/delog/macro.hex_str!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.hex_str.html...

+ + + \ No newline at end of file diff --git a/delog/macro.hex_str.html b/delog/macro.hex_str.html new file mode 100644 index 0000000..6f2f676 --- /dev/null +++ b/delog/macro.hex_str.html @@ -0,0 +1,21 @@ +delog::hex_str - Rust + +

[][src]Macro delog::hex_str

+macro_rules! hex_str {
+    ($array:expr) => { ... };
+    ($array:expr, sep: $separator:expr) => { ... };
+    ($array:expr, $n:tt) => { ... };
+    ($array:expr, $n:tt, sep: $separator:expr) => { ... };
+}
+

Compactly format byte arrays and slices as hexadecimals.

+

The second parameter refers to the number of bytes in a block (separated by spaces).

+ +
+use delog::hex_str;
+let four_bytes = &[7u8, 0xA1, 255, 0xC7];
+assert_eq!(format!("{:x}", hex_str!(four_bytes)), "07 a1 ff c7");
+assert_eq!(format!("{}", hex_str!(four_bytes, 2)), "07A1 FFC7");
+assert_eq!(format!("{}", hex_str!(four_bytes, 2, sep: "|")), "07A1|FFC7");
+assert_eq!(format!("{}", hex_str!(four_bytes, 3)), "07A1FF C7");
+
\ No newline at end of file diff --git a/delog/macro.hexstr!.html b/delog/macro.hexstr!.html new file mode 100644 index 0000000..876826b --- /dev/null +++ b/delog/macro.hexstr!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.hexstr.html...

+ + + \ No newline at end of file diff --git a/delog/macro.hexstr.html b/delog/macro.hexstr.html new file mode 100644 index 0000000..77d8585 --- /dev/null +++ b/delog/macro.hexstr.html @@ -0,0 +1,15 @@ +delog::hexstr - Rust + +

[][src]Macro delog::hexstr

+macro_rules! hexstr {
+    ($array:expr) => { ... };
+}
+

More compactly format byte arrays and slices as hexadecimals.

+ +
+use delog::hexstr;
+let four_bytes = &[7u8, 0xA1, 255, 0xC7];
+assert_eq!(format!("{}", hexstr!(four_bytes)), "07A1FFC7");
+assert_eq!(format!("{:x}", hexstr!(four_bytes)), "07a1ffc7");
+
\ No newline at end of file diff --git a/delog/macro.try_log!.html b/delog/macro.try_log!.html new file mode 100644 index 0000000..d58b57f --- /dev/null +++ b/delog/macro.try_log!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.try_log.html...

+ + + \ No newline at end of file diff --git a/delog/macro.try_log.html b/delog/macro.try_log.html new file mode 100644 index 0000000..6b911df --- /dev/null +++ b/delog/macro.try_log.html @@ -0,0 +1,11 @@ +delog::try_log - Rust + +

[][src]Macro delog::try_log

+macro_rules! try_log {
+    (target: $target:expr, $lvl:expr, $message:expr) => { ... };
+    (target: $target:expr, $lvl:expr, $($arg:tt)+) => { ... };
+    ($lvl:expr, $($arg:tt)+) => { ... };
+}
+

Fallible (ungated) version of log!.

+
\ No newline at end of file diff --git a/delog/render/fn.default.html b/delog/render/fn.default.html new file mode 100644 index 0000000..b58765a --- /dev/null +++ b/delog/render/fn.default.html @@ -0,0 +1,5 @@ +delog::render::default - Rust + +

[][src]Function delog::render::default

pub fn default() -> &'static DefaultRenderer

The default, minimal renderer.

+
\ No newline at end of file diff --git a/delog/render/fn.render_arguments.html b/delog/render/fn.render_arguments.html new file mode 100644 index 0000000..88ff5fc --- /dev/null +++ b/delog/render/fn.render_arguments.html @@ -0,0 +1,7 @@ +delog::render::render_arguments - Rust + +

[][src]Function delog::render::render_arguments

pub fn render_arguments<'a>(buf: &'a mut [u8], args: Arguments<'_>) -> &'a [u8]

For some reason, there seems to be no existing method to easily render +fmt::Arguments in a pre-allocated byte array.

+

That is what this does.

+
\ No newline at end of file diff --git a/delog/render/fn.render_record.html b/delog/render/fn.render_record.html new file mode 100644 index 0000000..3214381 --- /dev/null +++ b/delog/render/fn.render_record.html @@ -0,0 +1,5 @@ +delog::render::render_record - Rust + +

[][src]Function delog::render::render_record

pub fn render_record<'a>(buf: &'a mut [u8], record: &Record<'_>) -> &'a [u8]

Render record, based on feature flags.

+
\ No newline at end of file diff --git a/delog/render/index.html b/delog/render/index.html new file mode 100644 index 0000000..633aecf --- /dev/null +++ b/delog/render/index.html @@ -0,0 +1,13 @@ +delog::render - Rust + +

[][src]Module delog::render

The default, minimal renderer, and some helper functions.

+

Structs

+
DefaultRenderer

Renders just the record.args().

+
RipgrepRenderer

Renders the record.args(), prefixed by level, target, and file, line if they are some.

+

Functions

+
default

The default, minimal renderer.

+
render_arguments

For some reason, there seems to be no existing method to easily render +fmt::Arguments in a pre-allocated byte array.

+
render_record

Render record, based on feature flags.

+
\ No newline at end of file diff --git a/delog/render/sidebar-items.js b/delog/render/sidebar-items.js new file mode 100644 index 0000000..74b25ee --- /dev/null +++ b/delog/render/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"fn":[["default","The default, minimal renderer."],["render_arguments","For some reason, there seems to be no existing method to easily render fmt::Arguments in a pre-allocated byte array."],["render_record","Render record, based on feature flags."]],"struct":[["DefaultRenderer","Renders just the `record.args()`."],["RipgrepRenderer","Renders the `record.args()`, prefixed by level, target, and file, line if they are some."]]}); \ No newline at end of file diff --git a/delog/render/struct.DefaultRenderer.html b/delog/render/struct.DefaultRenderer.html new file mode 100644 index 0000000..9f1f7ec --- /dev/null +++ b/delog/render/struct.DefaultRenderer.html @@ -0,0 +1,18 @@ +delog::render::DefaultRenderer - Rust + +

[][src]Struct delog::render::DefaultRenderer

pub struct DefaultRenderer {}

Renders just the record.args().

+

Trait Implementations

impl Clone for DefaultRenderer[src]

impl Copy for DefaultRenderer[src]

impl Renderer for DefaultRenderer[src]

impl Send for DefaultRenderer[src]

impl Sync for DefaultRenderer[src]

Auto Trait Implementations

impl Unpin for DefaultRenderer[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+
\ No newline at end of file diff --git a/delog/render/struct.RipgrepRenderer.html b/delog/render/struct.RipgrepRenderer.html new file mode 100644 index 0000000..811e561 --- /dev/null +++ b/delog/render/struct.RipgrepRenderer.html @@ -0,0 +1,18 @@ +delog::render::RipgrepRenderer - Rust + +

[][src]Struct delog::render::RipgrepRenderer

pub struct RipgrepRenderer {}

Renders the record.args(), prefixed by level, target, and file, line if they are some.

+

Trait Implementations

impl Clone for RipgrepRenderer[src]

impl Copy for RipgrepRenderer[src]

impl Renderer for RipgrepRenderer[src]

Auto Trait Implementations

impl Send for RipgrepRenderer[src]

impl Sync for RipgrepRenderer[src]

impl Unpin for RipgrepRenderer[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+
\ No newline at end of file diff --git a/delog/sidebar-items.js b/delog/sidebar-items.js new file mode 100644 index 0000000..b4974f8 --- /dev/null +++ b/delog/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"enum":[["Level","An enum representing the available verbosity levels of the logger."],["LevelFilter","An enum representing the available verbosity level filters of the logger."]],"fn":[["dequeue","The core \"read from circular buffer\" method. Marked unsafe to discourage use!"],["enqueue","The core \"write to circular buffer\" method. Marked unsafe to discourage use!"],["logger","Returns a reference to the logger (as `TryLogWithStatistics` implementation)"],["try_enqueue","The fallible \"write to circular buffer\" method. Marked unsafe to discourage use!"]],"macro":[["delog","Generate a deferred logger with specified capacity and flushing mechanism."],["generate_macros","Generate logging macros that can be gated by library."],["hex_str","Compactly format byte arrays and slices as hexadecimals."],["hexstr","More compactly format byte arrays and slices as hexadecimals."],["try_log","Fallible (ungated) version of `log!`."]],"mod":[["hex","Convenient `Display` and other traits for binary data."],["render","The default, minimal renderer, and some helper functions."]],"struct":[["Record","The \"payload\" of a log message."],["Statistics","Statistics on logger usage."]],"trait":[["Delogger","Semi-abstract characterization of the deferred loggers that the `delog!` macro produces."],["Flusher","A way to pass on logs, user supplied."],["Renderer","A way to format logs, user supplied."],["State","Trait for either state or statistics of loggers."],["TryLog","Fallible, panic-free version of the `log::Log` trait."],["TryLogWithStatistics","TryLog with some usage statistics on top."]]}); \ No newline at end of file diff --git a/delog/struct.Record.html b/delog/struct.Record.html new file mode 100644 index 0000000..89937ff --- /dev/null +++ b/delog/struct.Record.html @@ -0,0 +1,59 @@ +delog::Record - Rust + +

[][src]Struct delog::Record

pub struct Record<'a> { /* fields omitted */ }

The "payload" of a log message.

+

Use

+

Record structures are passed as parameters to the log +method of the Log trait. Logger implementors manipulate these +structures in order to display log messages. Records are automatically +created by the log! macro and so are not seen by log users.

+

Note that the level() and target() accessors are equivalent to +self.metadata().level() and self.metadata().target() respectively. +These methods are provided as a convenience for users of this structure.

+

Example

+

The following example shows a simple logger that displays the level, +module path, and message of any Record that is passed to it.

+ +
+struct SimpleLogger;
+
+impl log::Log for SimpleLogger {
+   fn enabled(&self, metadata: &log::Metadata) -> bool {
+       true
+   }
+
+   fn log(&self, record: &log::Record) {
+       if !self.enabled(record.metadata()) {
+           return;
+       }
+
+       println!("{}:{} -- {}",
+                record.level(),
+                record.target(),
+                record.args());
+   }
+   fn flush(&self) {}
+}
+

Implementations

impl<'a> Record<'a>[src]

pub fn builder() -> RecordBuilder<'a>[src]

Returns a new builder.

+

pub fn args(&self) -> &Arguments<'a>[src]

The message body.

+

pub fn metadata(&self) -> &Metadata<'a>[src]

Metadata about the log directive.

+

pub fn level(&self) -> Level[src]

The verbosity level of the message.

+

pub fn target(&self) -> &'a str[src]

The name of the target of the directive.

+

pub fn module_path(&self) -> Option<&'a str>[src]

The module path of the message.

+

pub fn module_path_static(&self) -> Option<&'static str>[src]

The module path of the message, if it is a 'static string.

+

pub fn file(&self) -> Option<&'a str>[src]

The source file containing the message.

+

pub fn file_static(&self) -> Option<&'static str>[src]

The module path of the message, if it is a 'static string.

+

pub fn line(&self) -> Option<u32>[src]

The line containing the message.

+

Trait Implementations

impl<'a> Clone for Record<'a>[src]

impl<'a> Debug for Record<'a>[src]

Auto Trait Implementations

impl<'a> !Send for Record<'a>[src]

impl<'a> !Sync for Record<'a>[src]

impl<'a> Unpin for Record<'a>[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+
\ No newline at end of file diff --git a/delog/struct.Statistics.html b/delog/struct.Statistics.html new file mode 100644 index 0000000..a068938 --- /dev/null +++ b/delog/struct.Statistics.html @@ -0,0 +1,29 @@ +delog::Statistics - Rust + +

[][src]Struct delog::Statistics

pub struct Statistics {
+    pub attempts: usize,
+    pub successes: usize,
+    pub flushes: usize,
+    pub read: usize,
+    pub written: usize,
+}

Statistics on logger usage.

+

+ Fields

attempts: usize

How often was one of the logging macros called.

+
successes: usize

How often was one of the logging macros called without early exit (e.g., buffer not full)

+
flushes: usize

How often was the flusher called.

+
read: usize

How many bytes were flushed so far.

+
written: usize

How many bytes were logged so far.

+

Trait Implementations

impl Clone for Statistics[src]

impl Copy for Statistics[src]

impl Debug for Statistics[src]

Auto Trait Implementations

impl Send for Statistics[src]

impl Sync for Statistics[src]

impl Unpin for Statistics[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+
\ No newline at end of file diff --git a/delog/trait.Delogger.html b/delog/trait.Delogger.html new file mode 100644 index 0000000..569e4c4 --- /dev/null +++ b/delog/trait.Delogger.html @@ -0,0 +1,22 @@ +delog::Delogger - Rust + +

[][src]Trait delog::Delogger

pub unsafe trait Delogger: Log + TryLog + State<&'static AtomicUsize> {
+    fn buffer(&self) -> &'static mut [u8];
+
fn claimed(&self) -> &'static AtomicUsize; +
fn flush(&self, logs: &str); +
fn render(&self, record: &Record<'_>) -> &'static [u8]; + + fn capacity(&self) -> usize { ... } +}

Semi-abstract characterization of the deferred loggers that the delog! macro produces.

+

Safety

+

This trait is markes "unsafe" to signal that users should never (need to) "write their own", +but always go through the delog! macro.

+

The user has access to the global logger via delog::logger(), but only as TryLog/Log +implementation, not with this direct access to implementation details.

+

Required methods

fn buffer(&self) -> &'static mut [u8][src]

the underlying buffer

+

fn claimed(&self) -> &'static AtomicUsize[src]

How many characters were claimed so far.

+

fn flush(&self, logs: &str)[src]

Call the flusher.

+

fn render(&self, record: &Record<'_>) -> &'static [u8][src]

Actually render the arguments (via internal static buffer).

+
Loading content...

Provided methods

fn capacity(&self) -> usize[src]

Capacity of circular buffer.

+
Loading content...

Implementors

Loading content...
\ No newline at end of file diff --git a/delog/trait.Flusher.html b/delog/trait.Flusher.html new file mode 100644 index 0000000..118a111 --- /dev/null +++ b/delog/trait.Flusher.html @@ -0,0 +1,11 @@ +delog::Flusher - Rust + +

[][src]Trait delog::Flusher

pub trait Flusher: Debug + Send {
+    fn flush(&self, logs: &str);
+}

A way to pass on logs, user supplied.

+

In embedded, this is intended to pend an interrupt +to send the logs off via (USB) serial, semihosting, or similar.

+

On PC, typical implemenation will just println! or eprintln!

+

Required methods

fn flush(&self, logs: &str)[src]

Implementor must handle passed log &str in some hopefully useful way.

+
Loading content...

Implementors

Loading content...
\ No newline at end of file diff --git a/delog/trait.Renderer.html b/delog/trait.Renderer.html new file mode 100644 index 0000000..dc8588c --- /dev/null +++ b/delog/trait.Renderer.html @@ -0,0 +1,9 @@ +delog::Renderer - Rust + +

[][src]Trait delog::Renderer

pub trait Renderer: Send + Sync {
+    fn render<'a>(&self, buf: &'a mut [u8], record: &Record<'_>) -> &'a [u8];
+}

A way to format logs, user supplied.

+

Required methods

fn render<'a>(&self, buf: &'a mut [u8], record: &Record<'_>) -> &'a [u8][src]

Implementor must render record into buf, returning the slice containing the rendered +record.

+
Loading content...

Implementors

impl Renderer for DefaultRenderer[src]

impl Renderer for RipgrepRenderer[src]

Loading content...
\ No newline at end of file diff --git a/delog/trait.State.html b/delog/trait.State.html new file mode 100644 index 0000000..b5d3d58 --- /dev/null +++ b/delog/trait.State.html @@ -0,0 +1,16 @@ +delog::State - Rust + +

[][src]Trait delog::State

pub trait State<T> {
+    fn attempts(&self) -> T;
+
fn successes(&self) -> T; +
fn flushes(&self) -> T; +
fn read(&self) -> T; +
fn written(&self) -> T; +}

Trait for either state or statistics of loggers.

+

Required methods

fn attempts(&self) -> T[src]

How often was one of the logging macros called.

+

fn successes(&self) -> T[src]

How often was one of the logging macros called without early exit (e.g., buffer not full)

+

fn flushes(&self) -> T[src]

How often was the flusher called.

+

fn read(&self) -> T[src]

How many bytes were flushed so far.

+

fn written(&self) -> T[src]

How many bytes were logged so far.

+
Loading content...

Implementors

Loading content...
\ No newline at end of file diff --git a/delog/trait.TryLog.html b/delog/trait.TryLog.html new file mode 100644 index 0000000..45266a3 --- /dev/null +++ b/delog/trait.TryLog.html @@ -0,0 +1,13 @@ +delog::TryLog - Rust + +

[][src]Trait delog::TryLog

pub trait TryLog: Log {
+    fn try_log(&self, _: &Record<'_>) -> Result<(), ()>;
+}

Fallible, panic-free version of the log::Log trait.

+

The intention is actually that implementors of this trait also +implement log::Log in a panic-free fashion, and simply drop logs +that can't be logged. Because, if the user can handle the error, they +would be using the fallible macros, and if not, they most likely do not +want to crash.

+

Required methods

fn try_log(&self, _: &Record<'_>) -> Result<(), ()>[src]

Fallible logging call (fails when buffer is full)

+
Loading content...

Implementors

Loading content...
\ No newline at end of file diff --git a/delog/trait.TryLogWithStatistics.html b/delog/trait.TryLogWithStatistics.html new file mode 100644 index 0000000..1f68fc6 --- /dev/null +++ b/delog/trait.TryLogWithStatistics.html @@ -0,0 +1,8 @@ +delog::TryLogWithStatistics - Rust + +

[][src]Trait delog::TryLogWithStatistics

pub trait TryLogWithStatistics: TryLog + State<usize> {
+    fn statistics(&self) -> Statistics { ... }
+}

TryLog with some usage statistics on top.

+

Provided methods

fn statistics(&self) -> Statistics[src]

Read out statistics on logger usage.

+
Loading content...

Implementors

Loading content...
\ No newline at end of file diff --git a/flexiber/all.html b/flexiber/all.html index 54a06ec..83df7ef 100644 --- a/flexiber/all.html +++ b/flexiber/all.html @@ -3,4 +3,4 @@

[] - List of all items

Structs

Enums

Traits

Derive Macros

Typedefs

\ No newline at end of file + List of all items

Structs

Enums

Traits

Macros

Derive Macros

Typedefs

\ No newline at end of file diff --git a/flexiber/index.html b/flexiber/index.html index 49221c2..66b61ab 100644 --- a/flexiber/index.html +++ b/flexiber/index.html @@ -1,7 +1,7 @@ flexiber - Rust -

[][src]Crate flexiber

flexiber

+

[][src]Crate flexiber

flexiber

Implementation of the BER-TLV serialization format from ISO 7816-4:2005.

ITU-T X.690 (08/2015) defines the BER, CER and DER encoding rules for ASN.1

The exact same document is ISO/IET 8825-1, which is freely available, @@ -11,7 +11,31 @@ inconveniently packed as a single PDF in a ZIP file :)

The core idea taken from der is to have Encodable require an encoded_length method. By calling this recursively in a first pass, allocations required in other approaches are avoided.

-

Structs

+

Macros

+
debug

Local version of debug!.

+
debug_now

Immediate version of debug!.

+
error

Local version of error!.

+
error_now

Immediate version of error!.

+
info

Local version of info!.

+
info_now

Immediate version of info!.

+
log

Local version of log!.

+
log_now

Immediate version of log!.

+
trace

Local version of trace!.

+
trace_now

Immediate version of trace!.

+
try_debug

Fallible version of debug!.

+
try_debug_now

Fallible immediate version of debug!.

+
try_error

Fallible version of error!.

+
try_error_now

Fallible immediate version of error!.

+
try_info

Fallible version of info!.

+
try_info_now

Fallible immediate version of info!.

+
try_log_now

Fallible immediate version of log!.

+
try_trace

Fallible version of trace!.

+
try_trace_now

Fallible immediate version of trace!.

+
try_warn

Fallible version of warn!.

+
try_warn_now

Fallible immediate version of warn!.

+
warn

Local version of warn!.

+
warn_now

Immediate version of warn!.

+

Structs

Decoder

BER-TLV decoder.

Encoder

BER-TLV encoder.

Error

Error type.

diff --git a/flexiber/macro.debug!.html b/flexiber/macro.debug!.html new file mode 100644 index 0000000..faa474c --- /dev/null +++ b/flexiber/macro.debug!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.debug.html...

+ + + \ No newline at end of file diff --git a/flexiber/macro.debug.html b/flexiber/macro.debug.html new file mode 100644 index 0000000..4f78e3f --- /dev/null +++ b/flexiber/macro.debug.html @@ -0,0 +1,9 @@ +flexiber::debug - Rust + +

[][src]Macro flexiber::debug

+macro_rules! debug {
+    ($d($arg:tt)+) => { ... };
+}
+

Local version of debug!.

+
\ No newline at end of file diff --git a/flexiber/macro.debug_now!.html b/flexiber/macro.debug_now!.html new file mode 100644 index 0000000..dde5703 --- /dev/null +++ b/flexiber/macro.debug_now!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.debug_now.html...

+ + + \ No newline at end of file diff --git a/flexiber/macro.debug_now.html b/flexiber/macro.debug_now.html new file mode 100644 index 0000000..d38cd17 --- /dev/null +++ b/flexiber/macro.debug_now.html @@ -0,0 +1,9 @@ +flexiber::debug_now - Rust + +

[][src]Macro flexiber::debug_now

+macro_rules! debug_now {
+    ($d($arg:tt)+) => { ... };
+}
+

Immediate version of debug!.

+
\ No newline at end of file diff --git a/flexiber/macro.error!.html b/flexiber/macro.error!.html new file mode 100644 index 0000000..e24b748 --- /dev/null +++ b/flexiber/macro.error!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.error.html...

+ + + \ No newline at end of file diff --git a/flexiber/macro.error.html b/flexiber/macro.error.html new file mode 100644 index 0000000..59ef24a --- /dev/null +++ b/flexiber/macro.error.html @@ -0,0 +1,9 @@ +flexiber::error - Rust + +

[][src]Macro flexiber::error

+macro_rules! error {
+    ($d($arg:tt)+) => { ... };
+}
+

Local version of error!.

+
\ No newline at end of file diff --git a/flexiber/macro.error_now!.html b/flexiber/macro.error_now!.html new file mode 100644 index 0000000..bf01f72 --- /dev/null +++ b/flexiber/macro.error_now!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.error_now.html...

+ + + \ No newline at end of file diff --git a/flexiber/macro.error_now.html b/flexiber/macro.error_now.html new file mode 100644 index 0000000..ac2b7f6 --- /dev/null +++ b/flexiber/macro.error_now.html @@ -0,0 +1,9 @@ +flexiber::error_now - Rust + +

[][src]Macro flexiber::error_now

+macro_rules! error_now {
+    ($d($arg:tt)+) => { ... };
+}
+

Immediate version of error!.

+
\ No newline at end of file diff --git a/flexiber/macro.info!.html b/flexiber/macro.info!.html new file mode 100644 index 0000000..5bad5c4 --- /dev/null +++ b/flexiber/macro.info!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.info.html...

+ + + \ No newline at end of file diff --git a/flexiber/macro.info.html b/flexiber/macro.info.html new file mode 100644 index 0000000..a546caf --- /dev/null +++ b/flexiber/macro.info.html @@ -0,0 +1,9 @@ +flexiber::info - Rust + +

[][src]Macro flexiber::info

+macro_rules! info {
+    ($d($arg:tt)+) => { ... };
+}
+

Local version of info!.

+
\ No newline at end of file diff --git a/flexiber/macro.info_now!.html b/flexiber/macro.info_now!.html new file mode 100644 index 0000000..752da3b --- /dev/null +++ b/flexiber/macro.info_now!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.info_now.html...

+ + + \ No newline at end of file diff --git a/flexiber/macro.info_now.html b/flexiber/macro.info_now.html new file mode 100644 index 0000000..2802b84 --- /dev/null +++ b/flexiber/macro.info_now.html @@ -0,0 +1,9 @@ +flexiber::info_now - Rust + +

[][src]Macro flexiber::info_now

+macro_rules! info_now {
+    ($d($arg:tt)+) => { ... };
+}
+

Immediate version of info!.

+
\ No newline at end of file diff --git a/flexiber/macro.log!.html b/flexiber/macro.log!.html new file mode 100644 index 0000000..7ff1ced --- /dev/null +++ b/flexiber/macro.log!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.log.html...

+ + + \ No newline at end of file diff --git a/flexiber/macro.log.html b/flexiber/macro.log.html new file mode 100644 index 0000000..4b1a846 --- /dev/null +++ b/flexiber/macro.log.html @@ -0,0 +1,10 @@ +flexiber::log - Rust + +

[][src]Macro flexiber::log

+macro_rules! log {
+    (target: $target:expr, $d($arg:tt)+) => { ... };
+    ($d($arg:tt)+) => { ... };
+}
+

Local version of log!.

+
\ No newline at end of file diff --git a/flexiber/macro.log_now!.html b/flexiber/macro.log_now!.html new file mode 100644 index 0000000..f999bfa --- /dev/null +++ b/flexiber/macro.log_now!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.log_now.html...

+ + + \ No newline at end of file diff --git a/flexiber/macro.log_now.html b/flexiber/macro.log_now.html new file mode 100644 index 0000000..cf19744 --- /dev/null +++ b/flexiber/macro.log_now.html @@ -0,0 +1,9 @@ +flexiber::log_now - Rust + +

[][src]Macro flexiber::log_now

+macro_rules! log_now {
+    ($lvl:expr, $d($arg:tt)+) => { ... };
+}
+

Immediate version of log!.

+
\ No newline at end of file diff --git a/flexiber/macro.trace!.html b/flexiber/macro.trace!.html new file mode 100644 index 0000000..68417a7 --- /dev/null +++ b/flexiber/macro.trace!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.trace.html...

+ + + \ No newline at end of file diff --git a/flexiber/macro.trace.html b/flexiber/macro.trace.html new file mode 100644 index 0000000..164cd18 --- /dev/null +++ b/flexiber/macro.trace.html @@ -0,0 +1,9 @@ +flexiber::trace - Rust + +

[][src]Macro flexiber::trace

+macro_rules! trace {
+    ($d($arg:tt)+) => { ... };
+}
+

Local version of trace!.

+
\ No newline at end of file diff --git a/flexiber/macro.trace_now!.html b/flexiber/macro.trace_now!.html new file mode 100644 index 0000000..c4999a3 --- /dev/null +++ b/flexiber/macro.trace_now!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.trace_now.html...

+ + + \ No newline at end of file diff --git a/flexiber/macro.trace_now.html b/flexiber/macro.trace_now.html new file mode 100644 index 0000000..a8817db --- /dev/null +++ b/flexiber/macro.trace_now.html @@ -0,0 +1,9 @@ +flexiber::trace_now - Rust + +

[][src]Macro flexiber::trace_now

+macro_rules! trace_now {
+    ($d($arg:tt)+) => { ... };
+}
+

Immediate version of trace!.

+
\ No newline at end of file diff --git a/flexiber/macro.try_debug!.html b/flexiber/macro.try_debug!.html new file mode 100644 index 0000000..dad54b4 --- /dev/null +++ b/flexiber/macro.try_debug!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.try_debug.html...

+ + + \ No newline at end of file diff --git a/flexiber/macro.try_debug.html b/flexiber/macro.try_debug.html new file mode 100644 index 0000000..a4381b9 --- /dev/null +++ b/flexiber/macro.try_debug.html @@ -0,0 +1,9 @@ +flexiber::try_debug - Rust + +

[][src]Macro flexiber::try_debug

+macro_rules! try_debug {
+    ($d($arg:tt)+) => { ... };
+}
+

Fallible version of debug!.

+
\ No newline at end of file diff --git a/flexiber/macro.try_debug_now!.html b/flexiber/macro.try_debug_now!.html new file mode 100644 index 0000000..44b5b1a --- /dev/null +++ b/flexiber/macro.try_debug_now!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.try_debug_now.html...

+ + + \ No newline at end of file diff --git a/flexiber/macro.try_debug_now.html b/flexiber/macro.try_debug_now.html new file mode 100644 index 0000000..28ec7b8 --- /dev/null +++ b/flexiber/macro.try_debug_now.html @@ -0,0 +1,9 @@ +flexiber::try_debug_now - Rust + +

[][src]Macro flexiber::try_debug_now

+macro_rules! try_debug_now {
+    ($d($arg:tt)+) => { ... };
+}
+

Fallible immediate version of debug!.

+
\ No newline at end of file diff --git a/flexiber/macro.try_error!.html b/flexiber/macro.try_error!.html new file mode 100644 index 0000000..bca8d5f --- /dev/null +++ b/flexiber/macro.try_error!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.try_error.html...

+ + + \ No newline at end of file diff --git a/flexiber/macro.try_error.html b/flexiber/macro.try_error.html new file mode 100644 index 0000000..d386864 --- /dev/null +++ b/flexiber/macro.try_error.html @@ -0,0 +1,9 @@ +flexiber::try_error - Rust + +

[][src]Macro flexiber::try_error

+macro_rules! try_error {
+    ($d($arg:tt)+) => { ... };
+}
+

Fallible version of error!.

+
\ No newline at end of file diff --git a/flexiber/macro.try_error_now!.html b/flexiber/macro.try_error_now!.html new file mode 100644 index 0000000..47573cd --- /dev/null +++ b/flexiber/macro.try_error_now!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.try_error_now.html...

+ + + \ No newline at end of file diff --git a/flexiber/macro.try_error_now.html b/flexiber/macro.try_error_now.html new file mode 100644 index 0000000..0846c6f --- /dev/null +++ b/flexiber/macro.try_error_now.html @@ -0,0 +1,9 @@ +flexiber::try_error_now - Rust + +

[][src]Macro flexiber::try_error_now

+macro_rules! try_error_now {
+    ($d($arg:tt)+) => { ... };
+}
+

Fallible immediate version of error!.

+
\ No newline at end of file diff --git a/flexiber/macro.try_info!.html b/flexiber/macro.try_info!.html new file mode 100644 index 0000000..79ea029 --- /dev/null +++ b/flexiber/macro.try_info!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.try_info.html...

+ + + \ No newline at end of file diff --git a/flexiber/macro.try_info.html b/flexiber/macro.try_info.html new file mode 100644 index 0000000..50f5348 --- /dev/null +++ b/flexiber/macro.try_info.html @@ -0,0 +1,9 @@ +flexiber::try_info - Rust + +

[][src]Macro flexiber::try_info

+macro_rules! try_info {
+    ($d($arg:tt)+) => { ... };
+}
+

Fallible version of info!.

+
\ No newline at end of file diff --git a/flexiber/macro.try_info_now!.html b/flexiber/macro.try_info_now!.html new file mode 100644 index 0000000..932277b --- /dev/null +++ b/flexiber/macro.try_info_now!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.try_info_now.html...

+ + + \ No newline at end of file diff --git a/flexiber/macro.try_info_now.html b/flexiber/macro.try_info_now.html new file mode 100644 index 0000000..b559d84 --- /dev/null +++ b/flexiber/macro.try_info_now.html @@ -0,0 +1,9 @@ +flexiber::try_info_now - Rust + +

[][src]Macro flexiber::try_info_now

+macro_rules! try_info_now {
+    ($d($arg:tt)+) => { ... };
+}
+

Fallible immediate version of info!.

+
\ No newline at end of file diff --git a/flexiber/macro.try_log_now!.html b/flexiber/macro.try_log_now!.html new file mode 100644 index 0000000..0f9b6fa --- /dev/null +++ b/flexiber/macro.try_log_now!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.try_log_now.html...

+ + + \ No newline at end of file diff --git a/flexiber/macro.try_log_now.html b/flexiber/macro.try_log_now.html new file mode 100644 index 0000000..6fcc652 --- /dev/null +++ b/flexiber/macro.try_log_now.html @@ -0,0 +1,9 @@ +flexiber::try_log_now - Rust + +

[][src]Macro flexiber::try_log_now

+macro_rules! try_log_now {
+    ($lvl:expr, $d($arg:tt)+) => { ... };
+}
+

Fallible immediate version of log!.

+
\ No newline at end of file diff --git a/flexiber/macro.try_trace!.html b/flexiber/macro.try_trace!.html new file mode 100644 index 0000000..b1ce26d --- /dev/null +++ b/flexiber/macro.try_trace!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.try_trace.html...

+ + + \ No newline at end of file diff --git a/flexiber/macro.try_trace.html b/flexiber/macro.try_trace.html new file mode 100644 index 0000000..6259ce0 --- /dev/null +++ b/flexiber/macro.try_trace.html @@ -0,0 +1,10 @@ +flexiber::try_trace - Rust + +

[][src]Macro flexiber::try_trace

+macro_rules! try_trace {
+    (target: $target:expr, $d($arg:tt)+) => { ... };
+    ($d($arg:tt)+) => { ... };
+}
+

Fallible version of trace!.

+
\ No newline at end of file diff --git a/flexiber/macro.try_trace_now!.html b/flexiber/macro.try_trace_now!.html new file mode 100644 index 0000000..2a9423e --- /dev/null +++ b/flexiber/macro.try_trace_now!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.try_trace_now.html...

+ + + \ No newline at end of file diff --git a/flexiber/macro.try_trace_now.html b/flexiber/macro.try_trace_now.html new file mode 100644 index 0000000..01a08ac --- /dev/null +++ b/flexiber/macro.try_trace_now.html @@ -0,0 +1,9 @@ +flexiber::try_trace_now - Rust + +

[][src]Macro flexiber::try_trace_now

+macro_rules! try_trace_now {
+    ($d($arg:tt)+) => { ... };
+}
+

Fallible immediate version of trace!.

+
\ No newline at end of file diff --git a/flexiber/macro.try_warn!.html b/flexiber/macro.try_warn!.html new file mode 100644 index 0000000..08e9eda --- /dev/null +++ b/flexiber/macro.try_warn!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.try_warn.html...

+ + + \ No newline at end of file diff --git a/flexiber/macro.try_warn.html b/flexiber/macro.try_warn.html new file mode 100644 index 0000000..134889a --- /dev/null +++ b/flexiber/macro.try_warn.html @@ -0,0 +1,10 @@ +flexiber::try_warn - Rust + +

[][src]Macro flexiber::try_warn

+macro_rules! try_warn {
+    (target: $target:expr, $d($arg:tt)+) => { ... };
+    ($d($arg:tt)+) => { ... };
+}
+

Fallible version of warn!.

+
\ No newline at end of file diff --git a/flexiber/macro.try_warn_now!.html b/flexiber/macro.try_warn_now!.html new file mode 100644 index 0000000..e2f1eca --- /dev/null +++ b/flexiber/macro.try_warn_now!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.try_warn_now.html...

+ + + \ No newline at end of file diff --git a/flexiber/macro.try_warn_now.html b/flexiber/macro.try_warn_now.html new file mode 100644 index 0000000..4b87fb2 --- /dev/null +++ b/flexiber/macro.try_warn_now.html @@ -0,0 +1,9 @@ +flexiber::try_warn_now - Rust + +

[][src]Macro flexiber::try_warn_now

+macro_rules! try_warn_now {
+    ($d($arg:tt)+) => { ... };
+}
+

Fallible immediate version of warn!.

+
\ No newline at end of file diff --git a/flexiber/macro.warn!.html b/flexiber/macro.warn!.html new file mode 100644 index 0000000..70d3235 --- /dev/null +++ b/flexiber/macro.warn!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.warn.html...

+ + + \ No newline at end of file diff --git a/flexiber/macro.warn.html b/flexiber/macro.warn.html new file mode 100644 index 0000000..8bf1b9b --- /dev/null +++ b/flexiber/macro.warn.html @@ -0,0 +1,9 @@ +flexiber::warn - Rust + +

[][src]Macro flexiber::warn

+macro_rules! warn {
+    ($d($arg:tt)+) => { ... };
+}
+

Local version of warn!.

+
\ No newline at end of file diff --git a/flexiber/macro.warn_now!.html b/flexiber/macro.warn_now!.html new file mode 100644 index 0000000..2df4bfa --- /dev/null +++ b/flexiber/macro.warn_now!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.warn_now.html...

+ + + \ No newline at end of file diff --git a/flexiber/macro.warn_now.html b/flexiber/macro.warn_now.html new file mode 100644 index 0000000..fa6affd --- /dev/null +++ b/flexiber/macro.warn_now.html @@ -0,0 +1,9 @@ +flexiber::warn_now - Rust + +

[][src]Macro flexiber::warn_now

+macro_rules! warn_now {
+    ($d($arg:tt)+) => { ... };
+}
+

Immediate version of warn!.

+
\ No newline at end of file diff --git a/flexiber/sidebar-items.js b/flexiber/sidebar-items.js index a081420..e001057 100644 --- a/flexiber/sidebar-items.js +++ b/flexiber/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"derive":[["Decodable","Derive the `Decodable` trait on a struct."],["Encodable","Derive the `Encodable` trait on a struct."]],"enum":[["Class","Class of BER tag."],["ErrorKind","Error type."]],"struct":[["Decoder","BER-TLV decoder."],["Encoder","BER-TLV encoder."],["Error","Error type."],["Length","BER-TLV-encoded length."],["SimpleTag","These are tags like in SIMPLE-TLV."],["Slice","Slice of at most `Length::max()` bytes."],["Tag","The tag field consists of a single byte encoding a tag number from 1 to 254. The values '00' and 'FF' are invalid."],["TaggedValue","BER-TLV data object."]],"trait":[["Container","Multiple encodables in a container."],["Decodable","Decoding trait."],["Encodable","Encoding trait."],["TagLike","This is the common trait that types to be used as tags are supposed to implement."],["Tagged","Types with an associated BER-TLV [`Tag`]."]],"type":[["Result","Result type."],["TaggedSlice","Raw BER-TLV data object `TaggedValue>`."]]}); \ No newline at end of file +initSidebarItems({"derive":[["Decodable","Derive the `Decodable` trait on a struct."],["Encodable","Derive the `Encodable` trait on a struct."]],"enum":[["Class","Class of BER tag."],["ErrorKind","Error type."]],"macro":[["debug","Local version of `debug!`."],["debug_now","Immediate version of `debug!`."],["error","Local version of `error!`."],["error_now","Immediate version of `error!`."],["info","Local version of `info!`."],["info_now","Immediate version of `info!`."],["log","Local version of `log!`."],["log_now","Immediate version of `log!`."],["trace","Local version of `trace!`."],["trace_now","Immediate version of `trace!`."],["try_debug","Fallible version of `debug!`."],["try_debug_now","Fallible immediate version of `debug!`."],["try_error","Fallible version of `error!`."],["try_error_now","Fallible immediate version of `error!`."],["try_info","Fallible version of `info!`."],["try_info_now","Fallible immediate version of `info!`."],["try_log_now","Fallible immediate version of `log!`."],["try_trace","Fallible version of `trace!`."],["try_trace_now","Fallible immediate version of `trace!`."],["try_warn","Fallible version of `warn!`."],["try_warn_now","Fallible immediate version of `warn!`."],["warn","Local version of `warn!`."],["warn_now","Immediate version of `warn!`."]],"struct":[["Decoder","BER-TLV decoder."],["Encoder","BER-TLV encoder."],["Error","Error type."],["Length","BER-TLV-encoded length."],["SimpleTag","These are tags like in SIMPLE-TLV."],["Slice","Slice of at most `Length::max()` bytes."],["Tag","The tag field consists of a single byte encoding a tag number from 1 to 254. The values '00' and 'FF' are invalid."],["TaggedValue","BER-TLV data object."]],"trait":[["Container","Multiple encodables in a container."],["Decodable","Decoding trait."],["Encodable","Encoding trait."],["TagLike","This is the common trait that types to be used as tags are supposed to implement."],["Tagged","Types with an associated BER-TLV [`Tag`]."]],"type":[["Result","Result type."],["TaggedSlice","Raw BER-TLV data object `TaggedValue>`."]]}); \ No newline at end of file diff --git a/flexiber/struct.Length.html b/flexiber/struct.Length.html index 494ae85..784e9ba 100644 --- a/flexiber/struct.Length.html +++ b/flexiber/struct.Length.html @@ -32,7 +32,7 @@ big-endian integer, with any value from zero to 65,535.

impl Display for Length[src]

impl Encodable for Length[src]

impl Eq for Length[src]

impl From<Length> for u16[src]

impl From<Length> for usize[src]

impl Encodable for SimpleTag[src]

impl Eq for SimpleTag[src]

impl PartialEq<SimpleTag> for SimpleTag[src]

impl Display for Tag[src]

impl Encodable for Tag[src]

impl Eq for Tag[src]

impl PartialEq<Tag> for Tag[src]

impl<V: Copy, T: Copy> Copy for TaggedValue<V, T>[src]

impl<V: Debug, T: Debug> Debug for TaggedValue<V, T>[src]

impl<'a, E, T> Encodable for TaggedValue<&'a E, T> where
    E: Encodable,
    T: Copy + Encodable
[src]

impl<V: Eq, T: Eq> Eq for TaggedValue<V, T>[src]

impl<V: PartialEq, T: PartialEq> PartialEq<TaggedValue<V, T>> for TaggedValue<V, T>[src]

Loading content...

Implementations on Foreign Types

impl<'a, T> Decodable<'a> for Option<T> where
    T: Decodable<'a> + Tagged
[src]

This implementation is quite gotcha-y, since only one byte is peeked.

+

It should evaluate to the desired tag via Tag::try_from(byte)?.

+
Loading content...

Implementors

impl Decodable<'_> for Length[src]

impl Decodable<'_> for SimpleTag[src]

impl Decodable<'_> for Tag[src]

impl Decodable<'_> for [u8; 0][src]

impl Decodable<'_> for [u8; 1][src]

impl Decodable<'_> for [u8; 2][src]

impl Decodable<'_> for [u8; 3][src]

impl Decodable<'_> for [u8; 4][src]

impl Decodable<'_> for [u8; 5][src]

impl Decodable<'_> for [u8; 6][src]

impl Decodable<'_> for [u8; 7][src]

impl Decodable<'_> for [u8; 8][src]

impl Decodable<'_> for [u8; 9][src]

impl Decodable<'_> for [u8; 10][src]

impl Decodable<'_> for [u8; 11][src]

impl Decodable<'_> for [u8; 12][src]

impl Decodable<'_> for [u8; 13][src]

impl Decodable<'_> for [u8; 14][src]

impl Decodable<'_> for [u8; 15][src]

impl Decodable<'_> for [u8; 16][src]

impl Decodable<'_> for [u8; 17][src]

impl Decodable<'_> for [u8; 18][src]

impl Decodable<'_> for [u8; 19][src]

impl Decodable<'_> for [u8; 20][src]

impl Decodable<'_> for [u8; 21][src]

impl Decodable<'_> for [u8; 22][src]

impl Decodable<'_> for [u8; 23][src]

impl Decodable<'_> for [u8; 24][src]

impl Decodable<'_> for [u8; 25][src]

impl Decodable<'_> for [u8; 26][src]

impl Decodable<'_> for [u8; 27][src]

impl Decodable<'_> for [u8; 28][src]

impl Decodable<'_> for [u8; 29][src]

impl Decodable<'_> for [u8; 30][src]

impl Decodable<'_> for [u8; 31][src]

impl Decodable<'_> for [u8; 32][src]

impl<'a, T> Decodable<'a> for TaggedSlice<'a, T> where
    T: Decodable<'a> + TagLike
[src]

impl<'a, X> Decodable<'a> for X where
    X: TryFrom<TaggedSlice<'a>, Error = Error>, 
[src]

Loading content... \ No newline at end of file diff --git a/flexiber/trait.Encodable.html b/flexiber/trait.Encodable.html index 406e28d..2fa1594 100644 --- a/flexiber/trait.Encodable.html +++ b/flexiber/trait.Encodable.html @@ -1,7 +1,7 @@ flexiber::Encodable - Rust -

[][src]Trait flexiber::Encodable

pub trait Encodable {
+

[][src]Trait flexiber::Encodable

pub trait Encodable {
     fn encoded_length(&self) -> Result<Length>;
 
fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>; @@ -9,43 +9,43 @@ }

Encoding trait.

Encode into encoder, which essentially is a mutable slice of bytes.

Additionally, the encoded length needs to be known without actually encoding.

-

Required methods

fn encoded_length(&self) -> Result<Length>[src]

Compute the length of this value in bytes when encoded as BER-TLV

-

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-
Loading content...

Provided methods

fn encode_to_slice<'a>(&self, buf: &'a mut [u8]) -> Result<&'a [u8]>[src]

Encode this value to the provided byte slice, returning a sub-slice +

Required methods

fn encoded_length(&self) -> Result<Length>[src]

Compute the length of this value in bytes when encoded as BER-TLV

+

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+
Loading content...

Provided methods

fn encode_to_slice<'a>(&self, buf: &'a mut [u8]) -> Result<&'a [u8]>[src]

Encode this value to the provided byte slice, returning a sub-slice containing the encoded message.

-
Loading content...

Implementations on Foreign Types

impl Encodable for Option<&[u8]>[src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-
Loading content...

Implementors

impl Encodable for &[u8][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-

impl Encodable for Length[src]

impl Encodable for SimpleTag[src]

impl Encodable for Tag[src]

impl Encodable for [u8; 0][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-

impl Encodable for [u8; 1][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-

impl Encodable for [u8; 2][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-

impl Encodable for [u8; 3][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-

impl Encodable for [u8; 4][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-

impl Encodable for [u8; 5][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-

impl Encodable for [u8; 6][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-

impl Encodable for [u8; 7][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-

impl Encodable for [u8; 8][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-

impl Encodable for [u8; 9][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-

impl Encodable for [u8; 10][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-

impl Encodable for [u8; 11][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-

impl Encodable for [u8; 12][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-

impl Encodable for [u8; 13][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-

impl Encodable for [u8; 14][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-

impl Encodable for [u8; 15][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-

impl Encodable for [u8; 16][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-

impl Encodable for [u8; 17][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-

impl Encodable for [u8; 18][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-

impl Encodable for [u8; 19][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-

impl Encodable for [u8; 20][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-

impl Encodable for [u8; 21][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-

impl Encodable for [u8; 22][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-

impl Encodable for [u8; 23][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-

impl Encodable for [u8; 24][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-

impl Encodable for [u8; 25][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-

impl Encodable for [u8; 26][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-

impl Encodable for [u8; 27][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-

impl Encodable for [u8; 28][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-

impl Encodable for [u8; 29][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-

impl Encodable for [u8; 30][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-

impl Encodable for [u8; 31][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-

impl Encodable for [u8; 32][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

-

impl<'a, E, T> Encodable for TaggedValue<&'a E, T> where
    E: Encodable,
    T: Copy + Encodable
[src]

impl<'a, T> Encodable for TaggedSlice<'a, T> where
    T: Copy + Encodable
[src]

impl<TaggedContainer> Encodable for TaggedContainer where
    TaggedContainer: Tagged + Container
[src]

Loading content...
\ No newline at end of file +
Loading content...

Implementations on Foreign Types

impl<T> Encodable for Option<T> where
    T: Encodable
[src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+
Loading content...

Implementors

impl Encodable for &[u8][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+

impl Encodable for Length[src]

impl Encodable for SimpleTag[src]

impl Encodable for Tag[src]

impl Encodable for [u8; 0][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+

impl Encodable for [u8; 1][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+

impl Encodable for [u8; 2][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+

impl Encodable for [u8; 3][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+

impl Encodable for [u8; 4][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+

impl Encodable for [u8; 5][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+

impl Encodable for [u8; 6][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+

impl Encodable for [u8; 7][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+

impl Encodable for [u8; 8][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+

impl Encodable for [u8; 9][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+

impl Encodable for [u8; 10][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+

impl Encodable for [u8; 11][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+

impl Encodable for [u8; 12][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+

impl Encodable for [u8; 13][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+

impl Encodable for [u8; 14][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+

impl Encodable for [u8; 15][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+

impl Encodable for [u8; 16][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+

impl Encodable for [u8; 17][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+

impl Encodable for [u8; 18][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+

impl Encodable for [u8; 19][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+

impl Encodable for [u8; 20][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+

impl Encodable for [u8; 21][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+

impl Encodable for [u8; 22][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+

impl Encodable for [u8; 23][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+

impl Encodable for [u8; 24][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+

impl Encodable for [u8; 25][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+

impl Encodable for [u8; 26][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+

impl Encodable for [u8; 27][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+

impl Encodable for [u8; 28][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+

impl Encodable for [u8; 29][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+

impl Encodable for [u8; 30][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+

impl Encodable for [u8; 31][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+

impl Encodable for [u8; 32][src]

fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>[src]

Encode this value as BER-TLV using the provided Encoder.

+

impl<'a, E, T> Encodable for TaggedValue<&'a E, T> where
    E: Encodable,
    T: Copy + Encodable
[src]

impl<'a, T> Encodable for TaggedSlice<'a, T> where
    T: Copy + Encodable
[src]

impl<TaggedContainer> Encodable for TaggedContainer where
    TaggedContainer: Tagged + Container
[src]

Loading content...
\ No newline at end of file diff --git a/flexiber/trait.Tagged.html b/flexiber/trait.Tagged.html index 091a2e9..4fc68b1 100644 --- a/flexiber/trait.Tagged.html +++ b/flexiber/trait.Tagged.html @@ -1,9 +1,9 @@ flexiber::Tagged - Rust

[][src]Trait flexiber::Tagged

pub trait Tagged {
+                Change settings

[][src]Trait flexiber::Tagged

pub trait Tagged {
     fn tag() -> Tag;
 }

Types with an associated BER-TLV Tag.

A tagged type implementing Container has a blanked implementation of Encodable.

-

Required methods

fn tag() -> Tag[src]

The tag

+

Required methods

fn tag() -> Tag[src]

The tag

Loading content...

Implementors

Loading content...
\ No newline at end of file diff --git a/flexiber/type.TaggedSlice.html b/flexiber/type.TaggedSlice.html index 6c07192..415b5a1 100644 --- a/flexiber/type.TaggedSlice.html +++ b/flexiber/type.TaggedSlice.html @@ -13,6 +13,6 @@ the data contained in the sequence's body and passing it to the provided

impl<'a, T> Encodable for TaggedSlice<'a, T> where
    T: Copy + Encodable
[src]

\ No newline at end of file diff --git a/implementors/core/clone/trait.Clone.js b/implementors/core/clone/trait.Clone.js index 3bc9bd0..e58c605 100644 --- a/implementors/core/clone/trait.Clone.js +++ b/implementors/core/clone/trait.Clone.js @@ -1,5 +1,7 @@ (function() {var implementors = {}; +implementors["delog"] = [{"text":"impl Clone for Statistics","synthetic":false,"types":[]},{"text":"impl Clone for DefaultRenderer","synthetic":false,"types":[]},{"text":"impl Clone for RipgrepRenderer","synthetic":false,"types":[]}]; implementors["flexiber"] = [{"text":"impl Clone for Error","synthetic":false,"types":[]},{"text":"impl Clone for ErrorKind","synthetic":false,"types":[]},{"text":"impl Clone for Length","synthetic":false,"types":[]},{"text":"impl Clone for SimpleTag","synthetic":false,"types":[]},{"text":"impl<'a> Clone for Slice<'a>","synthetic":false,"types":[]},{"text":"impl Clone for Class","synthetic":false,"types":[]},{"text":"impl Clone for Tag","synthetic":false,"types":[]},{"text":"impl<V: Clone, T: Clone> Clone for TaggedValue<V, T>","synthetic":false,"types":[]}]; +implementors["log"] = [{"text":"impl Clone for Level","synthetic":false,"types":[]},{"text":"impl Clone for LevelFilter","synthetic":false,"types":[]},{"text":"impl<'a> Clone for Record<'a>","synthetic":false,"types":[]},{"text":"impl<'a> Clone for Metadata<'a>","synthetic":false,"types":[]}]; implementors["proc_macro2"] = [{"text":"impl Clone for TokenStream","synthetic":false,"types":[]},{"text":"impl Clone for Span","synthetic":false,"types":[]},{"text":"impl Clone for TokenTree","synthetic":false,"types":[]},{"text":"impl Clone for Group","synthetic":false,"types":[]},{"text":"impl Clone for Delimiter","synthetic":false,"types":[]},{"text":"impl Clone for Punct","synthetic":false,"types":[]},{"text":"impl Clone for Spacing","synthetic":false,"types":[]},{"text":"impl Clone for Ident","synthetic":false,"types":[]},{"text":"impl Clone for Literal","synthetic":false,"types":[]},{"text":"impl Clone for IntoIter","synthetic":false,"types":[]}]; implementors["syn"] = [{"text":"impl Clone for Underscore","synthetic":false,"types":[]},{"text":"impl Clone for Abstract","synthetic":false,"types":[]},{"text":"impl Clone for As","synthetic":false,"types":[]},{"text":"impl Clone for Async","synthetic":false,"types":[]},{"text":"impl Clone for Auto","synthetic":false,"types":[]},{"text":"impl Clone for Await","synthetic":false,"types":[]},{"text":"impl Clone for Become","synthetic":false,"types":[]},{"text":"impl Clone for Box","synthetic":false,"types":[]},{"text":"impl Clone for Break","synthetic":false,"types":[]},{"text":"impl Clone for Const","synthetic":false,"types":[]},{"text":"impl Clone for Continue","synthetic":false,"types":[]},{"text":"impl Clone for Crate","synthetic":false,"types":[]},{"text":"impl Clone for Default","synthetic":false,"types":[]},{"text":"impl Clone for Do","synthetic":false,"types":[]},{"text":"impl Clone for Dyn","synthetic":false,"types":[]},{"text":"impl Clone for Else","synthetic":false,"types":[]},{"text":"impl Clone for Enum","synthetic":false,"types":[]},{"text":"impl Clone for Extern","synthetic":false,"types":[]},{"text":"impl Clone for Final","synthetic":false,"types":[]},{"text":"impl Clone for Fn","synthetic":false,"types":[]},{"text":"impl Clone for For","synthetic":false,"types":[]},{"text":"impl Clone for If","synthetic":false,"types":[]},{"text":"impl Clone for Impl","synthetic":false,"types":[]},{"text":"impl Clone for In","synthetic":false,"types":[]},{"text":"impl Clone for Let","synthetic":false,"types":[]},{"text":"impl Clone for Loop","synthetic":false,"types":[]},{"text":"impl Clone for Macro","synthetic":false,"types":[]},{"text":"impl Clone for Match","synthetic":false,"types":[]},{"text":"impl Clone for Mod","synthetic":false,"types":[]},{"text":"impl Clone for Move","synthetic":false,"types":[]},{"text":"impl Clone for Mut","synthetic":false,"types":[]},{"text":"impl Clone for Override","synthetic":false,"types":[]},{"text":"impl Clone for Priv","synthetic":false,"types":[]},{"text":"impl Clone for Pub","synthetic":false,"types":[]},{"text":"impl Clone for Ref","synthetic":false,"types":[]},{"text":"impl Clone for Return","synthetic":false,"types":[]},{"text":"impl Clone for SelfType","synthetic":false,"types":[]},{"text":"impl Clone for SelfValue","synthetic":false,"types":[]},{"text":"impl Clone for Static","synthetic":false,"types":[]},{"text":"impl Clone for Struct","synthetic":false,"types":[]},{"text":"impl Clone for Super","synthetic":false,"types":[]},{"text":"impl Clone for Trait","synthetic":false,"types":[]},{"text":"impl Clone for Try","synthetic":false,"types":[]},{"text":"impl Clone for Type","synthetic":false,"types":[]},{"text":"impl Clone for Typeof","synthetic":false,"types":[]},{"text":"impl Clone for Union","synthetic":false,"types":[]},{"text":"impl Clone for Unsafe","synthetic":false,"types":[]},{"text":"impl Clone for Unsized","synthetic":false,"types":[]},{"text":"impl Clone for Use","synthetic":false,"types":[]},{"text":"impl Clone for Virtual","synthetic":false,"types":[]},{"text":"impl Clone for Where","synthetic":false,"types":[]},{"text":"impl Clone for While","synthetic":false,"types":[]},{"text":"impl Clone for Yield","synthetic":false,"types":[]},{"text":"impl Clone for Add","synthetic":false,"types":[]},{"text":"impl Clone for AddEq","synthetic":false,"types":[]},{"text":"impl Clone for And","synthetic":false,"types":[]},{"text":"impl Clone for AndAnd","synthetic":false,"types":[]},{"text":"impl Clone for AndEq","synthetic":false,"types":[]},{"text":"impl Clone for At","synthetic":false,"types":[]},{"text":"impl Clone for Bang","synthetic":false,"types":[]},{"text":"impl Clone for Caret","synthetic":false,"types":[]},{"text":"impl Clone for CaretEq","synthetic":false,"types":[]},{"text":"impl Clone for Colon","synthetic":false,"types":[]},{"text":"impl Clone for Colon2","synthetic":false,"types":[]},{"text":"impl Clone for Comma","synthetic":false,"types":[]},{"text":"impl Clone for Div","synthetic":false,"types":[]},{"text":"impl Clone for DivEq","synthetic":false,"types":[]},{"text":"impl Clone for Dollar","synthetic":false,"types":[]},{"text":"impl Clone for Dot","synthetic":false,"types":[]},{"text":"impl Clone for Dot2","synthetic":false,"types":[]},{"text":"impl Clone for Dot3","synthetic":false,"types":[]},{"text":"impl Clone for DotDotEq","synthetic":false,"types":[]},{"text":"impl Clone for Eq","synthetic":false,"types":[]},{"text":"impl Clone for EqEq","synthetic":false,"types":[]},{"text":"impl Clone for Ge","synthetic":false,"types":[]},{"text":"impl Clone for Gt","synthetic":false,"types":[]},{"text":"impl Clone for Le","synthetic":false,"types":[]},{"text":"impl Clone for Lt","synthetic":false,"types":[]},{"text":"impl Clone for MulEq","synthetic":false,"types":[]},{"text":"impl Clone for Ne","synthetic":false,"types":[]},{"text":"impl Clone for Or","synthetic":false,"types":[]},{"text":"impl Clone for OrEq","synthetic":false,"types":[]},{"text":"impl Clone for OrOr","synthetic":false,"types":[]},{"text":"impl Clone for Pound","synthetic":false,"types":[]},{"text":"impl Clone for Question","synthetic":false,"types":[]},{"text":"impl Clone for RArrow","synthetic":false,"types":[]},{"text":"impl Clone for LArrow","synthetic":false,"types":[]},{"text":"impl Clone for Rem","synthetic":false,"types":[]},{"text":"impl Clone for RemEq","synthetic":false,"types":[]},{"text":"impl Clone for FatArrow","synthetic":false,"types":[]},{"text":"impl Clone for Semi","synthetic":false,"types":[]},{"text":"impl Clone for Shl","synthetic":false,"types":[]},{"text":"impl Clone for ShlEq","synthetic":false,"types":[]},{"text":"impl Clone for Shr","synthetic":false,"types":[]},{"text":"impl Clone for ShrEq","synthetic":false,"types":[]},{"text":"impl Clone for Star","synthetic":false,"types":[]},{"text":"impl Clone for Sub","synthetic":false,"types":[]},{"text":"impl Clone for SubEq","synthetic":false,"types":[]},{"text":"impl Clone for Tilde","synthetic":false,"types":[]},{"text":"impl Clone for Brace","synthetic":false,"types":[]},{"text":"impl Clone for Bracket","synthetic":false,"types":[]},{"text":"impl Clone for Paren","synthetic":false,"types":[]},{"text":"impl Clone for Group","synthetic":false,"types":[]},{"text":"impl<'a> Clone for ImplGenerics<'a>","synthetic":false,"types":[]},{"text":"impl<'a> Clone for TypeGenerics<'a>","synthetic":false,"types":[]},{"text":"impl<'a> Clone for Turbofish<'a>","synthetic":false,"types":[]},{"text":"impl Clone for Lifetime","synthetic":false,"types":[]},{"text":"impl Clone for LitStr","synthetic":false,"types":[]},{"text":"impl Clone for LitByteStr","synthetic":false,"types":[]},{"text":"impl Clone for LitByte","synthetic":false,"types":[]},{"text":"impl Clone for LitChar","synthetic":false,"types":[]},{"text":"impl Clone for LitInt","synthetic":false,"types":[]},{"text":"impl Clone for LitFloat","synthetic":false,"types":[]},{"text":"impl<'a> Clone for Cursor<'a>","synthetic":false,"types":[]},{"text":"impl<T, P> Clone for Punctuated<T, P> where
    T: Clone,
    P: Clone, 
","synthetic":false,"types":[]},{"text":"impl<'a, T, P> Clone for Pairs<'a, T, P>","synthetic":false,"types":[]},{"text":"impl<T, P> Clone for IntoPairs<T, P> where
    T: Clone,
    P: Clone, 
","synthetic":false,"types":[]},{"text":"impl<T> Clone for IntoIter<T> where
    T: Clone, 
","synthetic":false,"types":[]},{"text":"impl<'a, T> Clone for Iter<'a, T>","synthetic":false,"types":[]},{"text":"impl<T, P> Clone for Pair<T, P> where
    T: Clone,
    P: Clone, 
","synthetic":false,"types":[]},{"text":"impl Clone for Abi","synthetic":false,"types":[]},{"text":"impl Clone for AngleBracketedGenericArguments","synthetic":false,"types":[]},{"text":"impl Clone for AttrStyle","synthetic":false,"types":[]},{"text":"impl Clone for Attribute","synthetic":false,"types":[]},{"text":"impl Clone for BareFnArg","synthetic":false,"types":[]},{"text":"impl Clone for BinOp","synthetic":false,"types":[]},{"text":"impl Clone for Binding","synthetic":false,"types":[]},{"text":"impl Clone for BoundLifetimes","synthetic":false,"types":[]},{"text":"impl Clone for ConstParam","synthetic":false,"types":[]},{"text":"impl Clone for Constraint","synthetic":false,"types":[]},{"text":"impl Clone for Data","synthetic":false,"types":[]},{"text":"impl Clone for DataEnum","synthetic":false,"types":[]},{"text":"impl Clone for DataStruct","synthetic":false,"types":[]},{"text":"impl Clone for DataUnion","synthetic":false,"types":[]},{"text":"impl Clone for DeriveInput","synthetic":false,"types":[]},{"text":"impl Clone for Expr","synthetic":false,"types":[]},{"text":"impl Clone for ExprBinary","synthetic":false,"types":[]},{"text":"impl Clone for ExprCall","synthetic":false,"types":[]},{"text":"impl Clone for ExprCast","synthetic":false,"types":[]},{"text":"impl Clone for ExprField","synthetic":false,"types":[]},{"text":"impl Clone for ExprIndex","synthetic":false,"types":[]},{"text":"impl Clone for ExprLit","synthetic":false,"types":[]},{"text":"impl Clone for ExprParen","synthetic":false,"types":[]},{"text":"impl Clone for ExprPath","synthetic":false,"types":[]},{"text":"impl Clone for ExprUnary","synthetic":false,"types":[]},{"text":"impl Clone for Field","synthetic":false,"types":[]},{"text":"impl Clone for Fields","synthetic":false,"types":[]},{"text":"impl Clone for FieldsNamed","synthetic":false,"types":[]},{"text":"impl Clone for FieldsUnnamed","synthetic":false,"types":[]},{"text":"impl Clone for GenericArgument","synthetic":false,"types":[]},{"text":"impl Clone for GenericParam","synthetic":false,"types":[]},{"text":"impl Clone for Generics","synthetic":false,"types":[]},{"text":"impl Clone for Index","synthetic":false,"types":[]},{"text":"impl Clone for LifetimeDef","synthetic":false,"types":[]},{"text":"impl Clone for Lit","synthetic":false,"types":[]},{"text":"impl Clone for LitBool","synthetic":false,"types":[]},{"text":"impl Clone for Macro","synthetic":false,"types":[]},{"text":"impl Clone for MacroDelimiter","synthetic":false,"types":[]},{"text":"impl Clone for Member","synthetic":false,"types":[]},{"text":"impl Clone for Meta","synthetic":false,"types":[]},{"text":"impl Clone for MetaList","synthetic":false,"types":[]},{"text":"impl Clone for MetaNameValue","synthetic":false,"types":[]},{"text":"impl Clone for NestedMeta","synthetic":false,"types":[]},{"text":"impl Clone for ParenthesizedGenericArguments","synthetic":false,"types":[]},{"text":"impl Clone for Path","synthetic":false,"types":[]},{"text":"impl Clone for PathArguments","synthetic":false,"types":[]},{"text":"impl Clone for PathSegment","synthetic":false,"types":[]},{"text":"impl Clone for PredicateEq","synthetic":false,"types":[]},{"text":"impl Clone for PredicateLifetime","synthetic":false,"types":[]},{"text":"impl Clone for PredicateType","synthetic":false,"types":[]},{"text":"impl Clone for QSelf","synthetic":false,"types":[]},{"text":"impl Clone for ReturnType","synthetic":false,"types":[]},{"text":"impl Clone for TraitBound","synthetic":false,"types":[]},{"text":"impl Clone for TraitBoundModifier","synthetic":false,"types":[]},{"text":"impl Clone for Type","synthetic":false,"types":[]},{"text":"impl Clone for TypeArray","synthetic":false,"types":[]},{"text":"impl Clone for TypeBareFn","synthetic":false,"types":[]},{"text":"impl Clone for TypeGroup","synthetic":false,"types":[]},{"text":"impl Clone for TypeImplTrait","synthetic":false,"types":[]},{"text":"impl Clone for TypeInfer","synthetic":false,"types":[]},{"text":"impl Clone for TypeMacro","synthetic":false,"types":[]},{"text":"impl Clone for TypeNever","synthetic":false,"types":[]},{"text":"impl Clone for TypeParam","synthetic":false,"types":[]},{"text":"impl Clone for TypeParamBound","synthetic":false,"types":[]},{"text":"impl Clone for TypeParen","synthetic":false,"types":[]},{"text":"impl Clone for TypePath","synthetic":false,"types":[]},{"text":"impl Clone for TypePtr","synthetic":false,"types":[]},{"text":"impl Clone for TypeReference","synthetic":false,"types":[]},{"text":"impl Clone for TypeSlice","synthetic":false,"types":[]},{"text":"impl Clone for TypeTraitObject","synthetic":false,"types":[]},{"text":"impl Clone for TypeTuple","synthetic":false,"types":[]},{"text":"impl Clone for UnOp","synthetic":false,"types":[]},{"text":"impl Clone for Variadic","synthetic":false,"types":[]},{"text":"impl Clone for Variant","synthetic":false,"types":[]},{"text":"impl Clone for VisCrate","synthetic":false,"types":[]},{"text":"impl Clone for VisPublic","synthetic":false,"types":[]},{"text":"impl Clone for VisRestricted","synthetic":false,"types":[]},{"text":"impl Clone for Visibility","synthetic":false,"types":[]},{"text":"impl Clone for WhereClause","synthetic":false,"types":[]},{"text":"impl Clone for WherePredicate","synthetic":false,"types":[]},{"text":"impl<'c, 'a> Clone for StepCursor<'c, 'a>","synthetic":false,"types":[]},{"text":"impl Clone for Error","synthetic":false,"types":[]}]; implementors["synstructure"] = [{"text":"impl Clone for AddBounds","synthetic":false,"types":[]},{"text":"impl Clone for BindStyle","synthetic":false,"types":[]},{"text":"impl<'a> Clone for BindingInfo<'a>","synthetic":false,"types":[]},{"text":"impl<'a> Clone for VariantAst<'a>","synthetic":false,"types":[]},{"text":"impl<'a> Clone for VariantInfo<'a>","synthetic":false,"types":[]},{"text":"impl<'a> Clone for Structure<'a>","synthetic":false,"types":[]}]; diff --git a/implementors/core/cmp/trait.Eq.js b/implementors/core/cmp/trait.Eq.js index a2e3af4..115cab1 100644 --- a/implementors/core/cmp/trait.Eq.js +++ b/implementors/core/cmp/trait.Eq.js @@ -1,5 +1,6 @@ (function() {var implementors = {}; implementors["flexiber"] = [{"text":"impl Eq for Error","synthetic":false,"types":[]},{"text":"impl Eq for ErrorKind","synthetic":false,"types":[]},{"text":"impl Eq for Length","synthetic":false,"types":[]},{"text":"impl Eq for SimpleTag","synthetic":false,"types":[]},{"text":"impl<'a> Eq for Slice<'a>","synthetic":false,"types":[]},{"text":"impl Eq for Class","synthetic":false,"types":[]},{"text":"impl Eq for Tag","synthetic":false,"types":[]},{"text":"impl<V: Eq, T: Eq> Eq for TaggedValue<V, T>","synthetic":false,"types":[]}]; +implementors["log"] = [{"text":"impl Eq for Level","synthetic":false,"types":[]},{"text":"impl Eq for LevelFilter","synthetic":false,"types":[]},{"text":"impl<'a> Eq for Metadata<'a>","synthetic":false,"types":[]},{"text":"impl<'a> Eq for MetadataBuilder<'a>","synthetic":false,"types":[]}]; implementors["proc_macro2"] = [{"text":"impl Eq for Delimiter","synthetic":false,"types":[]},{"text":"impl Eq for Spacing","synthetic":false,"types":[]},{"text":"impl Eq for Ident","synthetic":false,"types":[]}]; implementors["syn"] = [{"text":"impl Eq for Underscore","synthetic":false,"types":[]},{"text":"impl Eq for Abstract","synthetic":false,"types":[]},{"text":"impl Eq for As","synthetic":false,"types":[]},{"text":"impl Eq for Async","synthetic":false,"types":[]},{"text":"impl Eq for Auto","synthetic":false,"types":[]},{"text":"impl Eq for Await","synthetic":false,"types":[]},{"text":"impl Eq for Become","synthetic":false,"types":[]},{"text":"impl Eq for Box","synthetic":false,"types":[]},{"text":"impl Eq for Break","synthetic":false,"types":[]},{"text":"impl Eq for Const","synthetic":false,"types":[]},{"text":"impl Eq for Continue","synthetic":false,"types":[]},{"text":"impl Eq for Crate","synthetic":false,"types":[]},{"text":"impl Eq for Default","synthetic":false,"types":[]},{"text":"impl Eq for Do","synthetic":false,"types":[]},{"text":"impl Eq for Dyn","synthetic":false,"types":[]},{"text":"impl Eq for Else","synthetic":false,"types":[]},{"text":"impl Eq for Enum","synthetic":false,"types":[]},{"text":"impl Eq for Extern","synthetic":false,"types":[]},{"text":"impl Eq for Final","synthetic":false,"types":[]},{"text":"impl Eq for Fn","synthetic":false,"types":[]},{"text":"impl Eq for For","synthetic":false,"types":[]},{"text":"impl Eq for If","synthetic":false,"types":[]},{"text":"impl Eq for Impl","synthetic":false,"types":[]},{"text":"impl Eq for In","synthetic":false,"types":[]},{"text":"impl Eq for Let","synthetic":false,"types":[]},{"text":"impl Eq for Loop","synthetic":false,"types":[]},{"text":"impl Eq for Macro","synthetic":false,"types":[]},{"text":"impl Eq for Match","synthetic":false,"types":[]},{"text":"impl Eq for Mod","synthetic":false,"types":[]},{"text":"impl Eq for Move","synthetic":false,"types":[]},{"text":"impl Eq for Mut","synthetic":false,"types":[]},{"text":"impl Eq for Override","synthetic":false,"types":[]},{"text":"impl Eq for Priv","synthetic":false,"types":[]},{"text":"impl Eq for Pub","synthetic":false,"types":[]},{"text":"impl Eq for Ref","synthetic":false,"types":[]},{"text":"impl Eq for Return","synthetic":false,"types":[]},{"text":"impl Eq for SelfType","synthetic":false,"types":[]},{"text":"impl Eq for SelfValue","synthetic":false,"types":[]},{"text":"impl Eq for Static","synthetic":false,"types":[]},{"text":"impl Eq for Struct","synthetic":false,"types":[]},{"text":"impl Eq for Super","synthetic":false,"types":[]},{"text":"impl Eq for Trait","synthetic":false,"types":[]},{"text":"impl Eq for Try","synthetic":false,"types":[]},{"text":"impl Eq for Type","synthetic":false,"types":[]},{"text":"impl Eq for Typeof","synthetic":false,"types":[]},{"text":"impl Eq for Union","synthetic":false,"types":[]},{"text":"impl Eq for Unsafe","synthetic":false,"types":[]},{"text":"impl Eq for Unsized","synthetic":false,"types":[]},{"text":"impl Eq for Use","synthetic":false,"types":[]},{"text":"impl Eq for Virtual","synthetic":false,"types":[]},{"text":"impl Eq for Where","synthetic":false,"types":[]},{"text":"impl Eq for While","synthetic":false,"types":[]},{"text":"impl Eq for Yield","synthetic":false,"types":[]},{"text":"impl Eq for Add","synthetic":false,"types":[]},{"text":"impl Eq for AddEq","synthetic":false,"types":[]},{"text":"impl Eq for And","synthetic":false,"types":[]},{"text":"impl Eq for AndAnd","synthetic":false,"types":[]},{"text":"impl Eq for AndEq","synthetic":false,"types":[]},{"text":"impl Eq for At","synthetic":false,"types":[]},{"text":"impl Eq for Bang","synthetic":false,"types":[]},{"text":"impl Eq for Caret","synthetic":false,"types":[]},{"text":"impl Eq for CaretEq","synthetic":false,"types":[]},{"text":"impl Eq for Colon","synthetic":false,"types":[]},{"text":"impl Eq for Colon2","synthetic":false,"types":[]},{"text":"impl Eq for Comma","synthetic":false,"types":[]},{"text":"impl Eq for Div","synthetic":false,"types":[]},{"text":"impl Eq for DivEq","synthetic":false,"types":[]},{"text":"impl Eq for Dollar","synthetic":false,"types":[]},{"text":"impl Eq for Dot","synthetic":false,"types":[]},{"text":"impl Eq for Dot2","synthetic":false,"types":[]},{"text":"impl Eq for Dot3","synthetic":false,"types":[]},{"text":"impl Eq for DotDotEq","synthetic":false,"types":[]},{"text":"impl Eq for Eq","synthetic":false,"types":[]},{"text":"impl Eq for EqEq","synthetic":false,"types":[]},{"text":"impl Eq for Ge","synthetic":false,"types":[]},{"text":"impl Eq for Gt","synthetic":false,"types":[]},{"text":"impl Eq for Le","synthetic":false,"types":[]},{"text":"impl Eq for Lt","synthetic":false,"types":[]},{"text":"impl Eq for MulEq","synthetic":false,"types":[]},{"text":"impl Eq for Ne","synthetic":false,"types":[]},{"text":"impl Eq for Or","synthetic":false,"types":[]},{"text":"impl Eq for OrEq","synthetic":false,"types":[]},{"text":"impl Eq for OrOr","synthetic":false,"types":[]},{"text":"impl Eq for Pound","synthetic":false,"types":[]},{"text":"impl Eq for Question","synthetic":false,"types":[]},{"text":"impl Eq for RArrow","synthetic":false,"types":[]},{"text":"impl Eq for LArrow","synthetic":false,"types":[]},{"text":"impl Eq for Rem","synthetic":false,"types":[]},{"text":"impl Eq for RemEq","synthetic":false,"types":[]},{"text":"impl Eq for FatArrow","synthetic":false,"types":[]},{"text":"impl Eq for Semi","synthetic":false,"types":[]},{"text":"impl Eq for Shl","synthetic":false,"types":[]},{"text":"impl Eq for ShlEq","synthetic":false,"types":[]},{"text":"impl Eq for Shr","synthetic":false,"types":[]},{"text":"impl Eq for ShrEq","synthetic":false,"types":[]},{"text":"impl Eq for Star","synthetic":false,"types":[]},{"text":"impl Eq for Sub","synthetic":false,"types":[]},{"text":"impl Eq for SubEq","synthetic":false,"types":[]},{"text":"impl Eq for Tilde","synthetic":false,"types":[]},{"text":"impl Eq for Brace","synthetic":false,"types":[]},{"text":"impl Eq for Bracket","synthetic":false,"types":[]},{"text":"impl Eq for Paren","synthetic":false,"types":[]},{"text":"impl Eq for Group","synthetic":false,"types":[]},{"text":"impl Eq for Member","synthetic":false,"types":[]},{"text":"impl Eq for Index","synthetic":false,"types":[]},{"text":"impl<'a> Eq for ImplGenerics<'a>","synthetic":false,"types":[]},{"text":"impl<'a> Eq for TypeGenerics<'a>","synthetic":false,"types":[]},{"text":"impl<'a> Eq for Turbofish<'a>","synthetic":false,"types":[]},{"text":"impl Eq for Lifetime","synthetic":false,"types":[]},{"text":"impl<'a> Eq for Cursor<'a>","synthetic":false,"types":[]},{"text":"impl<T, P> Eq for Punctuated<T, P> where
    T: Eq,
    P: Eq, 
","synthetic":false,"types":[]},{"text":"impl Eq for Abi","synthetic":false,"types":[]},{"text":"impl Eq for AngleBracketedGenericArguments","synthetic":false,"types":[]},{"text":"impl Eq for AttrStyle","synthetic":false,"types":[]},{"text":"impl Eq for Attribute","synthetic":false,"types":[]},{"text":"impl Eq for BareFnArg","synthetic":false,"types":[]},{"text":"impl Eq for BinOp","synthetic":false,"types":[]},{"text":"impl Eq for Binding","synthetic":false,"types":[]},{"text":"impl Eq for BoundLifetimes","synthetic":false,"types":[]},{"text":"impl Eq for ConstParam","synthetic":false,"types":[]},{"text":"impl Eq for Constraint","synthetic":false,"types":[]},{"text":"impl Eq for Data","synthetic":false,"types":[]},{"text":"impl Eq for DataEnum","synthetic":false,"types":[]},{"text":"impl Eq for DataStruct","synthetic":false,"types":[]},{"text":"impl Eq for DataUnion","synthetic":false,"types":[]},{"text":"impl Eq for DeriveInput","synthetic":false,"types":[]},{"text":"impl Eq for Expr","synthetic":false,"types":[]},{"text":"impl Eq for ExprBinary","synthetic":false,"types":[]},{"text":"impl Eq for ExprCall","synthetic":false,"types":[]},{"text":"impl Eq for ExprCast","synthetic":false,"types":[]},{"text":"impl Eq for ExprField","synthetic":false,"types":[]},{"text":"impl Eq for ExprIndex","synthetic":false,"types":[]},{"text":"impl Eq for ExprLit","synthetic":false,"types":[]},{"text":"impl Eq for ExprParen","synthetic":false,"types":[]},{"text":"impl Eq for ExprPath","synthetic":false,"types":[]},{"text":"impl Eq for ExprUnary","synthetic":false,"types":[]},{"text":"impl Eq for Field","synthetic":false,"types":[]},{"text":"impl Eq for Fields","synthetic":false,"types":[]},{"text":"impl Eq for FieldsNamed","synthetic":false,"types":[]},{"text":"impl Eq for FieldsUnnamed","synthetic":false,"types":[]},{"text":"impl Eq for GenericArgument","synthetic":false,"types":[]},{"text":"impl Eq for GenericParam","synthetic":false,"types":[]},{"text":"impl Eq for Generics","synthetic":false,"types":[]},{"text":"impl Eq for LifetimeDef","synthetic":false,"types":[]},{"text":"impl Eq for Lit","synthetic":false,"types":[]},{"text":"impl Eq for LitBool","synthetic":false,"types":[]},{"text":"impl Eq for LitByte","synthetic":false,"types":[]},{"text":"impl Eq for LitByteStr","synthetic":false,"types":[]},{"text":"impl Eq for LitChar","synthetic":false,"types":[]},{"text":"impl Eq for LitFloat","synthetic":false,"types":[]},{"text":"impl Eq for LitInt","synthetic":false,"types":[]},{"text":"impl Eq for LitStr","synthetic":false,"types":[]},{"text":"impl Eq for Macro","synthetic":false,"types":[]},{"text":"impl Eq for MacroDelimiter","synthetic":false,"types":[]},{"text":"impl Eq for Meta","synthetic":false,"types":[]},{"text":"impl Eq for MetaList","synthetic":false,"types":[]},{"text":"impl Eq for MetaNameValue","synthetic":false,"types":[]},{"text":"impl Eq for NestedMeta","synthetic":false,"types":[]},{"text":"impl Eq for ParenthesizedGenericArguments","synthetic":false,"types":[]},{"text":"impl Eq for Path","synthetic":false,"types":[]},{"text":"impl Eq for PathArguments","synthetic":false,"types":[]},{"text":"impl Eq for PathSegment","synthetic":false,"types":[]},{"text":"impl Eq for PredicateEq","synthetic":false,"types":[]},{"text":"impl Eq for PredicateLifetime","synthetic":false,"types":[]},{"text":"impl Eq for PredicateType","synthetic":false,"types":[]},{"text":"impl Eq for QSelf","synthetic":false,"types":[]},{"text":"impl Eq for ReturnType","synthetic":false,"types":[]},{"text":"impl Eq for TraitBound","synthetic":false,"types":[]},{"text":"impl Eq for TraitBoundModifier","synthetic":false,"types":[]},{"text":"impl Eq for Type","synthetic":false,"types":[]},{"text":"impl Eq for TypeArray","synthetic":false,"types":[]},{"text":"impl Eq for TypeBareFn","synthetic":false,"types":[]},{"text":"impl Eq for TypeGroup","synthetic":false,"types":[]},{"text":"impl Eq for TypeImplTrait","synthetic":false,"types":[]},{"text":"impl Eq for TypeInfer","synthetic":false,"types":[]},{"text":"impl Eq for TypeMacro","synthetic":false,"types":[]},{"text":"impl Eq for TypeNever","synthetic":false,"types":[]},{"text":"impl Eq for TypeParam","synthetic":false,"types":[]},{"text":"impl Eq for TypeParamBound","synthetic":false,"types":[]},{"text":"impl Eq for TypeParen","synthetic":false,"types":[]},{"text":"impl Eq for TypePath","synthetic":false,"types":[]},{"text":"impl Eq for TypePtr","synthetic":false,"types":[]},{"text":"impl Eq for TypeReference","synthetic":false,"types":[]},{"text":"impl Eq for TypeSlice","synthetic":false,"types":[]},{"text":"impl Eq for TypeTraitObject","synthetic":false,"types":[]},{"text":"impl Eq for TypeTuple","synthetic":false,"types":[]},{"text":"impl Eq for UnOp","synthetic":false,"types":[]},{"text":"impl Eq for Variadic","synthetic":false,"types":[]},{"text":"impl Eq for Variant","synthetic":false,"types":[]},{"text":"impl Eq for VisCrate","synthetic":false,"types":[]},{"text":"impl Eq for VisPublic","synthetic":false,"types":[]},{"text":"impl Eq for VisRestricted","synthetic":false,"types":[]},{"text":"impl Eq for Visibility","synthetic":false,"types":[]},{"text":"impl Eq for WhereClause","synthetic":false,"types":[]},{"text":"impl Eq for WherePredicate","synthetic":false,"types":[]}]; implementors["synstructure"] = [{"text":"impl Eq for AddBounds","synthetic":false,"types":[]},{"text":"impl Eq for BindStyle","synthetic":false,"types":[]},{"text":"impl<'a> Eq for BindingInfo<'a>","synthetic":false,"types":[]},{"text":"impl<'a> Eq for VariantAst<'a>","synthetic":false,"types":[]},{"text":"impl<'a> Eq for VariantInfo<'a>","synthetic":false,"types":[]},{"text":"impl<'a> Eq for Structure<'a>","synthetic":false,"types":[]}]; diff --git a/implementors/core/cmp/trait.Ord.js b/implementors/core/cmp/trait.Ord.js index 1e01d72..4aced92 100644 --- a/implementors/core/cmp/trait.Ord.js +++ b/implementors/core/cmp/trait.Ord.js @@ -1,5 +1,6 @@ (function() {var implementors = {}; implementors["flexiber"] = [{"text":"impl Ord for Length","synthetic":false,"types":[]}]; +implementors["log"] = [{"text":"impl Ord for Level","synthetic":false,"types":[]},{"text":"impl Ord for LevelFilter","synthetic":false,"types":[]},{"text":"impl<'a> Ord for Metadata<'a>","synthetic":false,"types":[]},{"text":"impl<'a> Ord for MetadataBuilder<'a>","synthetic":false,"types":[]}]; implementors["proc_macro2"] = [{"text":"impl Ord for Ident","synthetic":false,"types":[]}]; implementors["syn"] = [{"text":"impl Ord for Lifetime","synthetic":false,"types":[]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/cmp/trait.PartialEq.js b/implementors/core/cmp/trait.PartialEq.js index cf61f44..a9e1beb 100644 --- a/implementors/core/cmp/trait.PartialEq.js +++ b/implementors/core/cmp/trait.PartialEq.js @@ -1,5 +1,6 @@ (function() {var implementors = {}; implementors["flexiber"] = [{"text":"impl PartialEq<Error> for Error","synthetic":false,"types":[]},{"text":"impl PartialEq<ErrorKind> for ErrorKind","synthetic":false,"types":[]},{"text":"impl PartialEq<Length> for Length","synthetic":false,"types":[]},{"text":"impl PartialEq<SimpleTag> for SimpleTag","synthetic":false,"types":[]},{"text":"impl<'a> PartialEq<Slice<'a>> for Slice<'a>","synthetic":false,"types":[]},{"text":"impl PartialEq<Class> for Class","synthetic":false,"types":[]},{"text":"impl PartialEq<Tag> for Tag","synthetic":false,"types":[]},{"text":"impl<V: PartialEq, T: PartialEq> PartialEq<TaggedValue<V, T>> for TaggedValue<V, T>","synthetic":false,"types":[]}]; +implementors["log"] = [{"text":"impl PartialEq<Level> for Level","synthetic":false,"types":[]},{"text":"impl PartialEq<LevelFilter> for Level","synthetic":false,"types":[]},{"text":"impl PartialEq<LevelFilter> for LevelFilter","synthetic":false,"types":[]},{"text":"impl PartialEq<Level> for LevelFilter","synthetic":false,"types":[]},{"text":"impl<'a> PartialEq<Metadata<'a>> for Metadata<'a>","synthetic":false,"types":[]},{"text":"impl<'a> PartialEq<MetadataBuilder<'a>> for MetadataBuilder<'a>","synthetic":false,"types":[]},{"text":"impl PartialEq<ParseLevelError> for ParseLevelError","synthetic":false,"types":[]}]; implementors["proc_macro2"] = [{"text":"impl PartialEq<Delimiter> for Delimiter","synthetic":false,"types":[]},{"text":"impl PartialEq<Spacing> for Spacing","synthetic":false,"types":[]},{"text":"impl PartialEq<Ident> for Ident","synthetic":false,"types":[]},{"text":"impl<T: ?Sized> PartialEq<T> for Ident where
    T: AsRef<str>, 
","synthetic":false,"types":[]}]; implementors["syn"] = [{"text":"impl PartialEq<Underscore> for Underscore","synthetic":false,"types":[]},{"text":"impl PartialEq<Abstract> for Abstract","synthetic":false,"types":[]},{"text":"impl PartialEq<As> for As","synthetic":false,"types":[]},{"text":"impl PartialEq<Async> for Async","synthetic":false,"types":[]},{"text":"impl PartialEq<Auto> for Auto","synthetic":false,"types":[]},{"text":"impl PartialEq<Await> for Await","synthetic":false,"types":[]},{"text":"impl PartialEq<Become> for Become","synthetic":false,"types":[]},{"text":"impl PartialEq<Box> for Box","synthetic":false,"types":[]},{"text":"impl PartialEq<Break> for Break","synthetic":false,"types":[]},{"text":"impl PartialEq<Const> for Const","synthetic":false,"types":[]},{"text":"impl PartialEq<Continue> for Continue","synthetic":false,"types":[]},{"text":"impl PartialEq<Crate> for Crate","synthetic":false,"types":[]},{"text":"impl PartialEq<Default> for Default","synthetic":false,"types":[]},{"text":"impl PartialEq<Do> for Do","synthetic":false,"types":[]},{"text":"impl PartialEq<Dyn> for Dyn","synthetic":false,"types":[]},{"text":"impl PartialEq<Else> for Else","synthetic":false,"types":[]},{"text":"impl PartialEq<Enum> for Enum","synthetic":false,"types":[]},{"text":"impl PartialEq<Extern> for Extern","synthetic":false,"types":[]},{"text":"impl PartialEq<Final> for Final","synthetic":false,"types":[]},{"text":"impl PartialEq<Fn> for Fn","synthetic":false,"types":[]},{"text":"impl PartialEq<For> for For","synthetic":false,"types":[]},{"text":"impl PartialEq<If> for If","synthetic":false,"types":[]},{"text":"impl PartialEq<Impl> for Impl","synthetic":false,"types":[]},{"text":"impl PartialEq<In> for In","synthetic":false,"types":[]},{"text":"impl PartialEq<Let> for Let","synthetic":false,"types":[]},{"text":"impl PartialEq<Loop> for Loop","synthetic":false,"types":[]},{"text":"impl PartialEq<Macro> for Macro","synthetic":false,"types":[]},{"text":"impl PartialEq<Match> for Match","synthetic":false,"types":[]},{"text":"impl PartialEq<Mod> for Mod","synthetic":false,"types":[]},{"text":"impl PartialEq<Move> for Move","synthetic":false,"types":[]},{"text":"impl PartialEq<Mut> for Mut","synthetic":false,"types":[]},{"text":"impl PartialEq<Override> for Override","synthetic":false,"types":[]},{"text":"impl PartialEq<Priv> for Priv","synthetic":false,"types":[]},{"text":"impl PartialEq<Pub> for Pub","synthetic":false,"types":[]},{"text":"impl PartialEq<Ref> for Ref","synthetic":false,"types":[]},{"text":"impl PartialEq<Return> for Return","synthetic":false,"types":[]},{"text":"impl PartialEq<SelfType> for SelfType","synthetic":false,"types":[]},{"text":"impl PartialEq<SelfValue> for SelfValue","synthetic":false,"types":[]},{"text":"impl PartialEq<Static> for Static","synthetic":false,"types":[]},{"text":"impl PartialEq<Struct> for Struct","synthetic":false,"types":[]},{"text":"impl PartialEq<Super> for Super","synthetic":false,"types":[]},{"text":"impl PartialEq<Trait> for Trait","synthetic":false,"types":[]},{"text":"impl PartialEq<Try> for Try","synthetic":false,"types":[]},{"text":"impl PartialEq<Type> for Type","synthetic":false,"types":[]},{"text":"impl PartialEq<Typeof> for Typeof","synthetic":false,"types":[]},{"text":"impl PartialEq<Union> for Union","synthetic":false,"types":[]},{"text":"impl PartialEq<Unsafe> for Unsafe","synthetic":false,"types":[]},{"text":"impl PartialEq<Unsized> for Unsized","synthetic":false,"types":[]},{"text":"impl PartialEq<Use> for Use","synthetic":false,"types":[]},{"text":"impl PartialEq<Virtual> for Virtual","synthetic":false,"types":[]},{"text":"impl PartialEq<Where> for Where","synthetic":false,"types":[]},{"text":"impl PartialEq<While> for While","synthetic":false,"types":[]},{"text":"impl PartialEq<Yield> for Yield","synthetic":false,"types":[]},{"text":"impl PartialEq<Add> for Add","synthetic":false,"types":[]},{"text":"impl PartialEq<AddEq> for AddEq","synthetic":false,"types":[]},{"text":"impl PartialEq<And> for And","synthetic":false,"types":[]},{"text":"impl PartialEq<AndAnd> for AndAnd","synthetic":false,"types":[]},{"text":"impl PartialEq<AndEq> for AndEq","synthetic":false,"types":[]},{"text":"impl PartialEq<At> for At","synthetic":false,"types":[]},{"text":"impl PartialEq<Bang> for Bang","synthetic":false,"types":[]},{"text":"impl PartialEq<Caret> for Caret","synthetic":false,"types":[]},{"text":"impl PartialEq<CaretEq> for CaretEq","synthetic":false,"types":[]},{"text":"impl PartialEq<Colon> for Colon","synthetic":false,"types":[]},{"text":"impl PartialEq<Colon2> for Colon2","synthetic":false,"types":[]},{"text":"impl PartialEq<Comma> for Comma","synthetic":false,"types":[]},{"text":"impl PartialEq<Div> for Div","synthetic":false,"types":[]},{"text":"impl PartialEq<DivEq> for DivEq","synthetic":false,"types":[]},{"text":"impl PartialEq<Dollar> for Dollar","synthetic":false,"types":[]},{"text":"impl PartialEq<Dot> for Dot","synthetic":false,"types":[]},{"text":"impl PartialEq<Dot2> for Dot2","synthetic":false,"types":[]},{"text":"impl PartialEq<Dot3> for Dot3","synthetic":false,"types":[]},{"text":"impl PartialEq<DotDotEq> for DotDotEq","synthetic":false,"types":[]},{"text":"impl PartialEq<Eq> for Eq","synthetic":false,"types":[]},{"text":"impl PartialEq<EqEq> for EqEq","synthetic":false,"types":[]},{"text":"impl PartialEq<Ge> for Ge","synthetic":false,"types":[]},{"text":"impl PartialEq<Gt> for Gt","synthetic":false,"types":[]},{"text":"impl PartialEq<Le> for Le","synthetic":false,"types":[]},{"text":"impl PartialEq<Lt> for Lt","synthetic":false,"types":[]},{"text":"impl PartialEq<MulEq> for MulEq","synthetic":false,"types":[]},{"text":"impl PartialEq<Ne> for Ne","synthetic":false,"types":[]},{"text":"impl PartialEq<Or> for Or","synthetic":false,"types":[]},{"text":"impl PartialEq<OrEq> for OrEq","synthetic":false,"types":[]},{"text":"impl PartialEq<OrOr> for OrOr","synthetic":false,"types":[]},{"text":"impl PartialEq<Pound> for Pound","synthetic":false,"types":[]},{"text":"impl PartialEq<Question> for Question","synthetic":false,"types":[]},{"text":"impl PartialEq<RArrow> for RArrow","synthetic":false,"types":[]},{"text":"impl PartialEq<LArrow> for LArrow","synthetic":false,"types":[]},{"text":"impl PartialEq<Rem> for Rem","synthetic":false,"types":[]},{"text":"impl PartialEq<RemEq> for RemEq","synthetic":false,"types":[]},{"text":"impl PartialEq<FatArrow> for FatArrow","synthetic":false,"types":[]},{"text":"impl PartialEq<Semi> for Semi","synthetic":false,"types":[]},{"text":"impl PartialEq<Shl> for Shl","synthetic":false,"types":[]},{"text":"impl PartialEq<ShlEq> for ShlEq","synthetic":false,"types":[]},{"text":"impl PartialEq<Shr> for Shr","synthetic":false,"types":[]},{"text":"impl PartialEq<ShrEq> for ShrEq","synthetic":false,"types":[]},{"text":"impl PartialEq<Star> for Star","synthetic":false,"types":[]},{"text":"impl PartialEq<Sub> for Sub","synthetic":false,"types":[]},{"text":"impl PartialEq<SubEq> for SubEq","synthetic":false,"types":[]},{"text":"impl PartialEq<Tilde> for Tilde","synthetic":false,"types":[]},{"text":"impl PartialEq<Brace> for Brace","synthetic":false,"types":[]},{"text":"impl PartialEq<Bracket> for Bracket","synthetic":false,"types":[]},{"text":"impl PartialEq<Paren> for Paren","synthetic":false,"types":[]},{"text":"impl PartialEq<Group> for Group","synthetic":false,"types":[]},{"text":"impl PartialEq<Member> for Member","synthetic":false,"types":[]},{"text":"impl PartialEq<Index> for Index","synthetic":false,"types":[]},{"text":"impl<'a> PartialEq<ImplGenerics<'a>> for ImplGenerics<'a>","synthetic":false,"types":[]},{"text":"impl<'a> PartialEq<TypeGenerics<'a>> for TypeGenerics<'a>","synthetic":false,"types":[]},{"text":"impl<'a> PartialEq<Turbofish<'a>> for Turbofish<'a>","synthetic":false,"types":[]},{"text":"impl PartialEq<Lifetime> for Lifetime","synthetic":false,"types":[]},{"text":"impl PartialEq<LitStr> for LitStr","synthetic":false,"types":[]},{"text":"impl PartialEq<LitByteStr> for LitByteStr","synthetic":false,"types":[]},{"text":"impl PartialEq<LitByte> for LitByte","synthetic":false,"types":[]},{"text":"impl PartialEq<LitChar> for LitChar","synthetic":false,"types":[]},{"text":"impl PartialEq<LitInt> for LitInt","synthetic":false,"types":[]},{"text":"impl PartialEq<LitFloat> for LitFloat","synthetic":false,"types":[]},{"text":"impl<'a> PartialEq<Cursor<'a>> for Cursor<'a>","synthetic":false,"types":[]},{"text":"impl<T, P> PartialEq<Punctuated<T, P>> for Punctuated<T, P> where
    T: PartialEq,
    P: PartialEq, 
","synthetic":false,"types":[]},{"text":"impl PartialEq<Abi> for Abi","synthetic":false,"types":[]},{"text":"impl PartialEq<AngleBracketedGenericArguments> for AngleBracketedGenericArguments","synthetic":false,"types":[]},{"text":"impl PartialEq<AttrStyle> for AttrStyle","synthetic":false,"types":[]},{"text":"impl PartialEq<Attribute> for Attribute","synthetic":false,"types":[]},{"text":"impl PartialEq<BareFnArg> for BareFnArg","synthetic":false,"types":[]},{"text":"impl PartialEq<BinOp> for BinOp","synthetic":false,"types":[]},{"text":"impl PartialEq<Binding> for Binding","synthetic":false,"types":[]},{"text":"impl PartialEq<BoundLifetimes> for BoundLifetimes","synthetic":false,"types":[]},{"text":"impl PartialEq<ConstParam> for ConstParam","synthetic":false,"types":[]},{"text":"impl PartialEq<Constraint> for Constraint","synthetic":false,"types":[]},{"text":"impl PartialEq<Data> for Data","synthetic":false,"types":[]},{"text":"impl PartialEq<DataEnum> for DataEnum","synthetic":false,"types":[]},{"text":"impl PartialEq<DataStruct> for DataStruct","synthetic":false,"types":[]},{"text":"impl PartialEq<DataUnion> for DataUnion","synthetic":false,"types":[]},{"text":"impl PartialEq<DeriveInput> for DeriveInput","synthetic":false,"types":[]},{"text":"impl PartialEq<Expr> for Expr","synthetic":false,"types":[]},{"text":"impl PartialEq<ExprBinary> for ExprBinary","synthetic":false,"types":[]},{"text":"impl PartialEq<ExprCall> for ExprCall","synthetic":false,"types":[]},{"text":"impl PartialEq<ExprCast> for ExprCast","synthetic":false,"types":[]},{"text":"impl PartialEq<ExprField> for ExprField","synthetic":false,"types":[]},{"text":"impl PartialEq<ExprIndex> for ExprIndex","synthetic":false,"types":[]},{"text":"impl PartialEq<ExprLit> for ExprLit","synthetic":false,"types":[]},{"text":"impl PartialEq<ExprParen> for ExprParen","synthetic":false,"types":[]},{"text":"impl PartialEq<ExprPath> for ExprPath","synthetic":false,"types":[]},{"text":"impl PartialEq<ExprUnary> for ExprUnary","synthetic":false,"types":[]},{"text":"impl PartialEq<Field> for Field","synthetic":false,"types":[]},{"text":"impl PartialEq<Fields> for Fields","synthetic":false,"types":[]},{"text":"impl PartialEq<FieldsNamed> for FieldsNamed","synthetic":false,"types":[]},{"text":"impl PartialEq<FieldsUnnamed> for FieldsUnnamed","synthetic":false,"types":[]},{"text":"impl PartialEq<GenericArgument> for GenericArgument","synthetic":false,"types":[]},{"text":"impl PartialEq<GenericParam> for GenericParam","synthetic":false,"types":[]},{"text":"impl PartialEq<Generics> for Generics","synthetic":false,"types":[]},{"text":"impl PartialEq<LifetimeDef> for LifetimeDef","synthetic":false,"types":[]},{"text":"impl PartialEq<Lit> for Lit","synthetic":false,"types":[]},{"text":"impl PartialEq<LitBool> for LitBool","synthetic":false,"types":[]},{"text":"impl PartialEq<Macro> for Macro","synthetic":false,"types":[]},{"text":"impl PartialEq<MacroDelimiter> for MacroDelimiter","synthetic":false,"types":[]},{"text":"impl PartialEq<Meta> for Meta","synthetic":false,"types":[]},{"text":"impl PartialEq<MetaList> for MetaList","synthetic":false,"types":[]},{"text":"impl PartialEq<MetaNameValue> for MetaNameValue","synthetic":false,"types":[]},{"text":"impl PartialEq<NestedMeta> for NestedMeta","synthetic":false,"types":[]},{"text":"impl PartialEq<ParenthesizedGenericArguments> for ParenthesizedGenericArguments","synthetic":false,"types":[]},{"text":"impl PartialEq<Path> for Path","synthetic":false,"types":[]},{"text":"impl PartialEq<PathArguments> for PathArguments","synthetic":false,"types":[]},{"text":"impl PartialEq<PathSegment> for PathSegment","synthetic":false,"types":[]},{"text":"impl PartialEq<PredicateEq> for PredicateEq","synthetic":false,"types":[]},{"text":"impl PartialEq<PredicateLifetime> for PredicateLifetime","synthetic":false,"types":[]},{"text":"impl PartialEq<PredicateType> for PredicateType","synthetic":false,"types":[]},{"text":"impl PartialEq<QSelf> for QSelf","synthetic":false,"types":[]},{"text":"impl PartialEq<ReturnType> for ReturnType","synthetic":false,"types":[]},{"text":"impl PartialEq<TraitBound> for TraitBound","synthetic":false,"types":[]},{"text":"impl PartialEq<TraitBoundModifier> for TraitBoundModifier","synthetic":false,"types":[]},{"text":"impl PartialEq<Type> for Type","synthetic":false,"types":[]},{"text":"impl PartialEq<TypeArray> for TypeArray","synthetic":false,"types":[]},{"text":"impl PartialEq<TypeBareFn> for TypeBareFn","synthetic":false,"types":[]},{"text":"impl PartialEq<TypeGroup> for TypeGroup","synthetic":false,"types":[]},{"text":"impl PartialEq<TypeImplTrait> for TypeImplTrait","synthetic":false,"types":[]},{"text":"impl PartialEq<TypeInfer> for TypeInfer","synthetic":false,"types":[]},{"text":"impl PartialEq<TypeMacro> for TypeMacro","synthetic":false,"types":[]},{"text":"impl PartialEq<TypeNever> for TypeNever","synthetic":false,"types":[]},{"text":"impl PartialEq<TypeParam> for TypeParam","synthetic":false,"types":[]},{"text":"impl PartialEq<TypeParamBound> for TypeParamBound","synthetic":false,"types":[]},{"text":"impl PartialEq<TypeParen> for TypeParen","synthetic":false,"types":[]},{"text":"impl PartialEq<TypePath> for TypePath","synthetic":false,"types":[]},{"text":"impl PartialEq<TypePtr> for TypePtr","synthetic":false,"types":[]},{"text":"impl PartialEq<TypeReference> for TypeReference","synthetic":false,"types":[]},{"text":"impl PartialEq<TypeSlice> for TypeSlice","synthetic":false,"types":[]},{"text":"impl PartialEq<TypeTraitObject> for TypeTraitObject","synthetic":false,"types":[]},{"text":"impl PartialEq<TypeTuple> for TypeTuple","synthetic":false,"types":[]},{"text":"impl PartialEq<UnOp> for UnOp","synthetic":false,"types":[]},{"text":"impl PartialEq<Variadic> for Variadic","synthetic":false,"types":[]},{"text":"impl PartialEq<Variant> for Variant","synthetic":false,"types":[]},{"text":"impl PartialEq<VisCrate> for VisCrate","synthetic":false,"types":[]},{"text":"impl PartialEq<VisPublic> for VisPublic","synthetic":false,"types":[]},{"text":"impl PartialEq<VisRestricted> for VisRestricted","synthetic":false,"types":[]},{"text":"impl PartialEq<Visibility> for Visibility","synthetic":false,"types":[]},{"text":"impl PartialEq<WhereClause> for WhereClause","synthetic":false,"types":[]},{"text":"impl PartialEq<WherePredicate> for WherePredicate","synthetic":false,"types":[]}]; implementors["synstructure"] = [{"text":"impl PartialEq<AddBounds> for AddBounds","synthetic":false,"types":[]},{"text":"impl PartialEq<BindStyle> for BindStyle","synthetic":false,"types":[]},{"text":"impl<'a> PartialEq<BindingInfo<'a>> for BindingInfo<'a>","synthetic":false,"types":[]},{"text":"impl<'a> PartialEq<VariantAst<'a>> for VariantAst<'a>","synthetic":false,"types":[]},{"text":"impl<'a> PartialEq<VariantInfo<'a>> for VariantInfo<'a>","synthetic":false,"types":[]},{"text":"impl<'a> PartialEq<Structure<'a>> for Structure<'a>","synthetic":false,"types":[]}]; diff --git a/implementors/core/cmp/trait.PartialOrd.js b/implementors/core/cmp/trait.PartialOrd.js index 355c81b..9f5ba12 100644 --- a/implementors/core/cmp/trait.PartialOrd.js +++ b/implementors/core/cmp/trait.PartialOrd.js @@ -1,5 +1,6 @@ (function() {var implementors = {}; implementors["flexiber"] = [{"text":"impl PartialOrd<Length> for Length","synthetic":false,"types":[]}]; +implementors["log"] = [{"text":"impl PartialOrd<Level> for Level","synthetic":false,"types":[]},{"text":"impl PartialOrd<LevelFilter> for Level","synthetic":false,"types":[]},{"text":"impl PartialOrd<LevelFilter> for LevelFilter","synthetic":false,"types":[]},{"text":"impl PartialOrd<Level> for LevelFilter","synthetic":false,"types":[]},{"text":"impl<'a> PartialOrd<Metadata<'a>> for Metadata<'a>","synthetic":false,"types":[]},{"text":"impl<'a> PartialOrd<MetadataBuilder<'a>> for MetadataBuilder<'a>","synthetic":false,"types":[]}]; implementors["proc_macro2"] = [{"text":"impl PartialOrd<Ident> for Ident","synthetic":false,"types":[]}]; implementors["syn"] = [{"text":"impl PartialOrd<Lifetime> for Lifetime","synthetic":false,"types":[]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/fmt/trait.Debug.js b/implementors/core/fmt/trait.Debug.js index 9e07ebb..362182d 100644 --- a/implementors/core/fmt/trait.Debug.js +++ b/implementors/core/fmt/trait.Debug.js @@ -1,5 +1,7 @@ (function() {var implementors = {}; +implementors["delog"] = [{"text":"impl<T: ?Sized, S, U> Debug for HexStr<'_, T, U, S> where
    T: AsRef<[u8]>,
    U: Unsigned,
    S: Separator, 
","synthetic":false,"types":[]},{"text":"impl Debug for Statistics","synthetic":false,"types":[]}]; implementors["flexiber"] = [{"text":"impl<'a> Debug for Decoder<'a>","synthetic":false,"types":[]},{"text":"impl<'a> Debug for Encoder<'a>","synthetic":false,"types":[]},{"text":"impl Debug for Error","synthetic":false,"types":[]},{"text":"impl Debug for ErrorKind","synthetic":false,"types":[]},{"text":"impl Debug for Length","synthetic":false,"types":[]},{"text":"impl<'a> Debug for Slice<'a>","synthetic":false,"types":[]},{"text":"impl Debug for Class","synthetic":false,"types":[]},{"text":"impl Debug for Tag","synthetic":false,"types":[]},{"text":"impl<V: Debug, T: Debug> Debug for TaggedValue<V, T>","synthetic":false,"types":[]}]; +implementors["log"] = [{"text":"impl Debug for Level","synthetic":false,"types":[]},{"text":"impl Debug for LevelFilter","synthetic":false,"types":[]},{"text":"impl<'a> Debug for Record<'a>","synthetic":false,"types":[]},{"text":"impl<'a> Debug for RecordBuilder<'a>","synthetic":false,"types":[]},{"text":"impl<'a> Debug for Metadata<'a>","synthetic":false,"types":[]},{"text":"impl<'a> Debug for MetadataBuilder<'a>","synthetic":false,"types":[]},{"text":"impl Debug for SetLoggerError","synthetic":false,"types":[]},{"text":"impl Debug for ParseLevelError","synthetic":false,"types":[]}]; implementors["proc_macro2"] = [{"text":"impl Debug for TokenStream","synthetic":false,"types":[]},{"text":"impl Debug for LexError","synthetic":false,"types":[]},{"text":"impl Debug for Span","synthetic":false,"types":[]},{"text":"impl Debug for TokenTree","synthetic":false,"types":[]},{"text":"impl Debug for Delimiter","synthetic":false,"types":[]},{"text":"impl Debug for Group","synthetic":false,"types":[]},{"text":"impl Debug for Spacing","synthetic":false,"types":[]},{"text":"impl Debug for Punct","synthetic":false,"types":[]},{"text":"impl Debug for Ident","synthetic":false,"types":[]},{"text":"impl Debug for Literal","synthetic":false,"types":[]},{"text":"impl Debug for IntoIter","synthetic":false,"types":[]}]; implementors["syn"] = [{"text":"impl Debug for Underscore","synthetic":false,"types":[]},{"text":"impl Debug for Abstract","synthetic":false,"types":[]},{"text":"impl Debug for As","synthetic":false,"types":[]},{"text":"impl Debug for Async","synthetic":false,"types":[]},{"text":"impl Debug for Auto","synthetic":false,"types":[]},{"text":"impl Debug for Await","synthetic":false,"types":[]},{"text":"impl Debug for Become","synthetic":false,"types":[]},{"text":"impl Debug for Box","synthetic":false,"types":[]},{"text":"impl Debug for Break","synthetic":false,"types":[]},{"text":"impl Debug for Const","synthetic":false,"types":[]},{"text":"impl Debug for Continue","synthetic":false,"types":[]},{"text":"impl Debug for Crate","synthetic":false,"types":[]},{"text":"impl Debug for Default","synthetic":false,"types":[]},{"text":"impl Debug for Do","synthetic":false,"types":[]},{"text":"impl Debug for Dyn","synthetic":false,"types":[]},{"text":"impl Debug for Else","synthetic":false,"types":[]},{"text":"impl Debug for Enum","synthetic":false,"types":[]},{"text":"impl Debug for Extern","synthetic":false,"types":[]},{"text":"impl Debug for Final","synthetic":false,"types":[]},{"text":"impl Debug for Fn","synthetic":false,"types":[]},{"text":"impl Debug for For","synthetic":false,"types":[]},{"text":"impl Debug for If","synthetic":false,"types":[]},{"text":"impl Debug for Impl","synthetic":false,"types":[]},{"text":"impl Debug for In","synthetic":false,"types":[]},{"text":"impl Debug for Let","synthetic":false,"types":[]},{"text":"impl Debug for Loop","synthetic":false,"types":[]},{"text":"impl Debug for Macro","synthetic":false,"types":[]},{"text":"impl Debug for Match","synthetic":false,"types":[]},{"text":"impl Debug for Mod","synthetic":false,"types":[]},{"text":"impl Debug for Move","synthetic":false,"types":[]},{"text":"impl Debug for Mut","synthetic":false,"types":[]},{"text":"impl Debug for Override","synthetic":false,"types":[]},{"text":"impl Debug for Priv","synthetic":false,"types":[]},{"text":"impl Debug for Pub","synthetic":false,"types":[]},{"text":"impl Debug for Ref","synthetic":false,"types":[]},{"text":"impl Debug for Return","synthetic":false,"types":[]},{"text":"impl Debug for SelfType","synthetic":false,"types":[]},{"text":"impl Debug for SelfValue","synthetic":false,"types":[]},{"text":"impl Debug for Static","synthetic":false,"types":[]},{"text":"impl Debug for Struct","synthetic":false,"types":[]},{"text":"impl Debug for Super","synthetic":false,"types":[]},{"text":"impl Debug for Trait","synthetic":false,"types":[]},{"text":"impl Debug for Try","synthetic":false,"types":[]},{"text":"impl Debug for Type","synthetic":false,"types":[]},{"text":"impl Debug for Typeof","synthetic":false,"types":[]},{"text":"impl Debug for Union","synthetic":false,"types":[]},{"text":"impl Debug for Unsafe","synthetic":false,"types":[]},{"text":"impl Debug for Unsized","synthetic":false,"types":[]},{"text":"impl Debug for Use","synthetic":false,"types":[]},{"text":"impl Debug for Virtual","synthetic":false,"types":[]},{"text":"impl Debug for Where","synthetic":false,"types":[]},{"text":"impl Debug for While","synthetic":false,"types":[]},{"text":"impl Debug for Yield","synthetic":false,"types":[]},{"text":"impl Debug for Add","synthetic":false,"types":[]},{"text":"impl Debug for AddEq","synthetic":false,"types":[]},{"text":"impl Debug for And","synthetic":false,"types":[]},{"text":"impl Debug for AndAnd","synthetic":false,"types":[]},{"text":"impl Debug for AndEq","synthetic":false,"types":[]},{"text":"impl Debug for At","synthetic":false,"types":[]},{"text":"impl Debug for Bang","synthetic":false,"types":[]},{"text":"impl Debug for Caret","synthetic":false,"types":[]},{"text":"impl Debug for CaretEq","synthetic":false,"types":[]},{"text":"impl Debug for Colon","synthetic":false,"types":[]},{"text":"impl Debug for Colon2","synthetic":false,"types":[]},{"text":"impl Debug for Comma","synthetic":false,"types":[]},{"text":"impl Debug for Div","synthetic":false,"types":[]},{"text":"impl Debug for DivEq","synthetic":false,"types":[]},{"text":"impl Debug for Dollar","synthetic":false,"types":[]},{"text":"impl Debug for Dot","synthetic":false,"types":[]},{"text":"impl Debug for Dot2","synthetic":false,"types":[]},{"text":"impl Debug for Dot3","synthetic":false,"types":[]},{"text":"impl Debug for DotDotEq","synthetic":false,"types":[]},{"text":"impl Debug for Eq","synthetic":false,"types":[]},{"text":"impl Debug for EqEq","synthetic":false,"types":[]},{"text":"impl Debug for Ge","synthetic":false,"types":[]},{"text":"impl Debug for Gt","synthetic":false,"types":[]},{"text":"impl Debug for Le","synthetic":false,"types":[]},{"text":"impl Debug for Lt","synthetic":false,"types":[]},{"text":"impl Debug for MulEq","synthetic":false,"types":[]},{"text":"impl Debug for Ne","synthetic":false,"types":[]},{"text":"impl Debug for Or","synthetic":false,"types":[]},{"text":"impl Debug for OrEq","synthetic":false,"types":[]},{"text":"impl Debug for OrOr","synthetic":false,"types":[]},{"text":"impl Debug for Pound","synthetic":false,"types":[]},{"text":"impl Debug for Question","synthetic":false,"types":[]},{"text":"impl Debug for RArrow","synthetic":false,"types":[]},{"text":"impl Debug for LArrow","synthetic":false,"types":[]},{"text":"impl Debug for Rem","synthetic":false,"types":[]},{"text":"impl Debug for RemEq","synthetic":false,"types":[]},{"text":"impl Debug for FatArrow","synthetic":false,"types":[]},{"text":"impl Debug for Semi","synthetic":false,"types":[]},{"text":"impl Debug for Shl","synthetic":false,"types":[]},{"text":"impl Debug for ShlEq","synthetic":false,"types":[]},{"text":"impl Debug for Shr","synthetic":false,"types":[]},{"text":"impl Debug for ShrEq","synthetic":false,"types":[]},{"text":"impl Debug for Star","synthetic":false,"types":[]},{"text":"impl Debug for Sub","synthetic":false,"types":[]},{"text":"impl Debug for SubEq","synthetic":false,"types":[]},{"text":"impl Debug for Tilde","synthetic":false,"types":[]},{"text":"impl Debug for Brace","synthetic":false,"types":[]},{"text":"impl Debug for Bracket","synthetic":false,"types":[]},{"text":"impl Debug for Paren","synthetic":false,"types":[]},{"text":"impl Debug for Group","synthetic":false,"types":[]},{"text":"impl<'a> Debug for ImplGenerics<'a>","synthetic":false,"types":[]},{"text":"impl<'a> Debug for TypeGenerics<'a>","synthetic":false,"types":[]},{"text":"impl<'a> Debug for Turbofish<'a>","synthetic":false,"types":[]},{"text":"impl Debug for LitStr","synthetic":false,"types":[]},{"text":"impl Debug for LitByteStr","synthetic":false,"types":[]},{"text":"impl Debug for LitByte","synthetic":false,"types":[]},{"text":"impl Debug for LitChar","synthetic":false,"types":[]},{"text":"impl Debug for LitInt","synthetic":false,"types":[]},{"text":"impl Debug for LitFloat","synthetic":false,"types":[]},{"text":"impl Debug for LitBool","synthetic":false,"types":[]},{"text":"impl<T: Debug, P: Debug> Debug for Punctuated<T, P>","synthetic":false,"types":[]},{"text":"impl Debug for Abi","synthetic":false,"types":[]},{"text":"impl Debug for AngleBracketedGenericArguments","synthetic":false,"types":[]},{"text":"impl Debug for AttrStyle","synthetic":false,"types":[]},{"text":"impl Debug for Attribute","synthetic":false,"types":[]},{"text":"impl Debug for BareFnArg","synthetic":false,"types":[]},{"text":"impl Debug for BinOp","synthetic":false,"types":[]},{"text":"impl Debug for Binding","synthetic":false,"types":[]},{"text":"impl Debug for BoundLifetimes","synthetic":false,"types":[]},{"text":"impl Debug for ConstParam","synthetic":false,"types":[]},{"text":"impl Debug for Constraint","synthetic":false,"types":[]},{"text":"impl Debug for Data","synthetic":false,"types":[]},{"text":"impl Debug for DataEnum","synthetic":false,"types":[]},{"text":"impl Debug for DataStruct","synthetic":false,"types":[]},{"text":"impl Debug for DataUnion","synthetic":false,"types":[]},{"text":"impl Debug for DeriveInput","synthetic":false,"types":[]},{"text":"impl Debug for Expr","synthetic":false,"types":[]},{"text":"impl Debug for ExprBinary","synthetic":false,"types":[]},{"text":"impl Debug for ExprCall","synthetic":false,"types":[]},{"text":"impl Debug for ExprCast","synthetic":false,"types":[]},{"text":"impl Debug for ExprField","synthetic":false,"types":[]},{"text":"impl Debug for ExprIndex","synthetic":false,"types":[]},{"text":"impl Debug for ExprLit","synthetic":false,"types":[]},{"text":"impl Debug for ExprParen","synthetic":false,"types":[]},{"text":"impl Debug for ExprPath","synthetic":false,"types":[]},{"text":"impl Debug for ExprUnary","synthetic":false,"types":[]},{"text":"impl Debug for Field","synthetic":false,"types":[]},{"text":"impl Debug for Fields","synthetic":false,"types":[]},{"text":"impl Debug for FieldsNamed","synthetic":false,"types":[]},{"text":"impl Debug for FieldsUnnamed","synthetic":false,"types":[]},{"text":"impl Debug for GenericArgument","synthetic":false,"types":[]},{"text":"impl Debug for GenericParam","synthetic":false,"types":[]},{"text":"impl Debug for Generics","synthetic":false,"types":[]},{"text":"impl Debug for Index","synthetic":false,"types":[]},{"text":"impl Debug for Lifetime","synthetic":false,"types":[]},{"text":"impl Debug for LifetimeDef","synthetic":false,"types":[]},{"text":"impl Debug for Lit","synthetic":false,"types":[]},{"text":"impl Debug for Macro","synthetic":false,"types":[]},{"text":"impl Debug for MacroDelimiter","synthetic":false,"types":[]},{"text":"impl Debug for Member","synthetic":false,"types":[]},{"text":"impl Debug for Meta","synthetic":false,"types":[]},{"text":"impl Debug for MetaList","synthetic":false,"types":[]},{"text":"impl Debug for MetaNameValue","synthetic":false,"types":[]},{"text":"impl Debug for NestedMeta","synthetic":false,"types":[]},{"text":"impl Debug for ParenthesizedGenericArguments","synthetic":false,"types":[]},{"text":"impl Debug for Path","synthetic":false,"types":[]},{"text":"impl Debug for PathArguments","synthetic":false,"types":[]},{"text":"impl Debug for PathSegment","synthetic":false,"types":[]},{"text":"impl Debug for PredicateEq","synthetic":false,"types":[]},{"text":"impl Debug for PredicateLifetime","synthetic":false,"types":[]},{"text":"impl Debug for PredicateType","synthetic":false,"types":[]},{"text":"impl Debug for QSelf","synthetic":false,"types":[]},{"text":"impl Debug for ReturnType","synthetic":false,"types":[]},{"text":"impl Debug for TraitBound","synthetic":false,"types":[]},{"text":"impl Debug for TraitBoundModifier","synthetic":false,"types":[]},{"text":"impl Debug for Type","synthetic":false,"types":[]},{"text":"impl Debug for TypeArray","synthetic":false,"types":[]},{"text":"impl Debug for TypeBareFn","synthetic":false,"types":[]},{"text":"impl Debug for TypeGroup","synthetic":false,"types":[]},{"text":"impl Debug for TypeImplTrait","synthetic":false,"types":[]},{"text":"impl Debug for TypeInfer","synthetic":false,"types":[]},{"text":"impl Debug for TypeMacro","synthetic":false,"types":[]},{"text":"impl Debug for TypeNever","synthetic":false,"types":[]},{"text":"impl Debug for TypeParam","synthetic":false,"types":[]},{"text":"impl Debug for TypeParamBound","synthetic":false,"types":[]},{"text":"impl Debug for TypeParen","synthetic":false,"types":[]},{"text":"impl Debug for TypePath","synthetic":false,"types":[]},{"text":"impl Debug for TypePtr","synthetic":false,"types":[]},{"text":"impl Debug for TypeReference","synthetic":false,"types":[]},{"text":"impl Debug for TypeSlice","synthetic":false,"types":[]},{"text":"impl Debug for TypeTraitObject","synthetic":false,"types":[]},{"text":"impl Debug for TypeTuple","synthetic":false,"types":[]},{"text":"impl Debug for UnOp","synthetic":false,"types":[]},{"text":"impl Debug for Variadic","synthetic":false,"types":[]},{"text":"impl Debug for Variant","synthetic":false,"types":[]},{"text":"impl Debug for VisCrate","synthetic":false,"types":[]},{"text":"impl Debug for VisPublic","synthetic":false,"types":[]},{"text":"impl Debug for VisRestricted","synthetic":false,"types":[]},{"text":"impl Debug for Visibility","synthetic":false,"types":[]},{"text":"impl Debug for WhereClause","synthetic":false,"types":[]},{"text":"impl Debug for WherePredicate","synthetic":false,"types":[]},{"text":"impl<'a> Debug for ParseBuffer<'a>","synthetic":false,"types":[]},{"text":"impl Debug for Error","synthetic":false,"types":[]}]; implementors["synstructure"] = [{"text":"impl Debug for AddBounds","synthetic":false,"types":[]},{"text":"impl Debug for BindStyle","synthetic":false,"types":[]},{"text":"impl<'a> Debug for BindingInfo<'a>","synthetic":false,"types":[]},{"text":"impl<'a> Debug for VariantAst<'a>","synthetic":false,"types":[]},{"text":"impl<'a> Debug for VariantInfo<'a>","synthetic":false,"types":[]},{"text":"impl<'a> Debug for Structure<'a>","synthetic":false,"types":[]}]; diff --git a/implementors/core/fmt/trait.Display.js b/implementors/core/fmt/trait.Display.js index 37dc813..4cfac4a 100644 --- a/implementors/core/fmt/trait.Display.js +++ b/implementors/core/fmt/trait.Display.js @@ -1,5 +1,7 @@ (function() {var implementors = {}; +implementors["delog"] = [{"text":"impl<T: ?Sized, U, S> Display for HexStr<'_, T, U, S> where
    T: AsRef<[u8]>,
    U: Unsigned,
    S: Separator, 
","synthetic":false,"types":[]}]; implementors["flexiber"] = [{"text":"impl Display for Error","synthetic":false,"types":[]},{"text":"impl Display for ErrorKind","synthetic":false,"types":[]},{"text":"impl Display for Length","synthetic":false,"types":[]},{"text":"impl Display for Tag","synthetic":false,"types":[]}]; +implementors["log"] = [{"text":"impl Display for Level","synthetic":false,"types":[]},{"text":"impl Display for LevelFilter","synthetic":false,"types":[]},{"text":"impl Display for SetLoggerError","synthetic":false,"types":[]},{"text":"impl Display for ParseLevelError","synthetic":false,"types":[]}]; implementors["proc_macro2"] = [{"text":"impl Display for TokenStream","synthetic":false,"types":[]},{"text":"impl Display for LexError","synthetic":false,"types":[]},{"text":"impl Display for TokenTree","synthetic":false,"types":[]},{"text":"impl Display for Group","synthetic":false,"types":[]},{"text":"impl Display for Punct","synthetic":false,"types":[]},{"text":"impl Display for Ident","synthetic":false,"types":[]},{"text":"impl Display for Literal","synthetic":false,"types":[]}]; implementors["syn"] = [{"text":"impl Display for Lifetime","synthetic":false,"types":[]},{"text":"impl Display for LitInt","synthetic":false,"types":[]},{"text":"impl Display for LitFloat","synthetic":false,"types":[]},{"text":"impl<'a> Display for ParseBuffer<'a>","synthetic":false,"types":[]},{"text":"impl Display for Error","synthetic":false,"types":[]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/fmt/trait.LowerHex.js b/implementors/core/fmt/trait.LowerHex.js new file mode 100644 index 0000000..42edf5e --- /dev/null +++ b/implementors/core/fmt/trait.LowerHex.js @@ -0,0 +1,3 @@ +(function() {var implementors = {}; +implementors["delog"] = [{"text":"impl<'a, T: ?Sized, U, S> LowerHex for HexStr<'a, T, U, S> where
    T: AsRef<[u8]>,
    U: Unsigned,
    S: Separator, 
","synthetic":false,"types":[]}]; +if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/fmt/trait.UpperHex.js b/implementors/core/fmt/trait.UpperHex.js new file mode 100644 index 0000000..969007c --- /dev/null +++ b/implementors/core/fmt/trait.UpperHex.js @@ -0,0 +1,3 @@ +(function() {var implementors = {}; +implementors["delog"] = [{"text":"impl<'a, T: ?Sized, U, S> UpperHex for HexStr<'a, T, U, S> where
    T: AsRef<[u8]>,
    U: Unsigned,
    S: Separator, 
","synthetic":false,"types":[]}]; +if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/hash/trait.Hash.js b/implementors/core/hash/trait.Hash.js index 6768b8b..bdc4532 100644 --- a/implementors/core/hash/trait.Hash.js +++ b/implementors/core/hash/trait.Hash.js @@ -1,4 +1,5 @@ (function() {var implementors = {}; +implementors["log"] = [{"text":"impl Hash for Level","synthetic":false,"types":[]},{"text":"impl Hash for LevelFilter","synthetic":false,"types":[]},{"text":"impl<'a> Hash for Metadata<'a>","synthetic":false,"types":[]},{"text":"impl<'a> Hash for MetadataBuilder<'a>","synthetic":false,"types":[]}]; implementors["proc_macro2"] = [{"text":"impl Hash for Ident","synthetic":false,"types":[]}]; implementors["syn"] = [{"text":"impl Hash for Underscore","synthetic":false,"types":[]},{"text":"impl Hash for Abstract","synthetic":false,"types":[]},{"text":"impl Hash for As","synthetic":false,"types":[]},{"text":"impl Hash for Async","synthetic":false,"types":[]},{"text":"impl Hash for Auto","synthetic":false,"types":[]},{"text":"impl Hash for Await","synthetic":false,"types":[]},{"text":"impl Hash for Become","synthetic":false,"types":[]},{"text":"impl Hash for Box","synthetic":false,"types":[]},{"text":"impl Hash for Break","synthetic":false,"types":[]},{"text":"impl Hash for Const","synthetic":false,"types":[]},{"text":"impl Hash for Continue","synthetic":false,"types":[]},{"text":"impl Hash for Crate","synthetic":false,"types":[]},{"text":"impl Hash for Default","synthetic":false,"types":[]},{"text":"impl Hash for Do","synthetic":false,"types":[]},{"text":"impl Hash for Dyn","synthetic":false,"types":[]},{"text":"impl Hash for Else","synthetic":false,"types":[]},{"text":"impl Hash for Enum","synthetic":false,"types":[]},{"text":"impl Hash for Extern","synthetic":false,"types":[]},{"text":"impl Hash for Final","synthetic":false,"types":[]},{"text":"impl Hash for Fn","synthetic":false,"types":[]},{"text":"impl Hash for For","synthetic":false,"types":[]},{"text":"impl Hash for If","synthetic":false,"types":[]},{"text":"impl Hash for Impl","synthetic":false,"types":[]},{"text":"impl Hash for In","synthetic":false,"types":[]},{"text":"impl Hash for Let","synthetic":false,"types":[]},{"text":"impl Hash for Loop","synthetic":false,"types":[]},{"text":"impl Hash for Macro","synthetic":false,"types":[]},{"text":"impl Hash for Match","synthetic":false,"types":[]},{"text":"impl Hash for Mod","synthetic":false,"types":[]},{"text":"impl Hash for Move","synthetic":false,"types":[]},{"text":"impl Hash for Mut","synthetic":false,"types":[]},{"text":"impl Hash for Override","synthetic":false,"types":[]},{"text":"impl Hash for Priv","synthetic":false,"types":[]},{"text":"impl Hash for Pub","synthetic":false,"types":[]},{"text":"impl Hash for Ref","synthetic":false,"types":[]},{"text":"impl Hash for Return","synthetic":false,"types":[]},{"text":"impl Hash for SelfType","synthetic":false,"types":[]},{"text":"impl Hash for SelfValue","synthetic":false,"types":[]},{"text":"impl Hash for Static","synthetic":false,"types":[]},{"text":"impl Hash for Struct","synthetic":false,"types":[]},{"text":"impl Hash for Super","synthetic":false,"types":[]},{"text":"impl Hash for Trait","synthetic":false,"types":[]},{"text":"impl Hash for Try","synthetic":false,"types":[]},{"text":"impl Hash for Type","synthetic":false,"types":[]},{"text":"impl Hash for Typeof","synthetic":false,"types":[]},{"text":"impl Hash for Union","synthetic":false,"types":[]},{"text":"impl Hash for Unsafe","synthetic":false,"types":[]},{"text":"impl Hash for Unsized","synthetic":false,"types":[]},{"text":"impl Hash for Use","synthetic":false,"types":[]},{"text":"impl Hash for Virtual","synthetic":false,"types":[]},{"text":"impl Hash for Where","synthetic":false,"types":[]},{"text":"impl Hash for While","synthetic":false,"types":[]},{"text":"impl Hash for Yield","synthetic":false,"types":[]},{"text":"impl Hash for Add","synthetic":false,"types":[]},{"text":"impl Hash for AddEq","synthetic":false,"types":[]},{"text":"impl Hash for And","synthetic":false,"types":[]},{"text":"impl Hash for AndAnd","synthetic":false,"types":[]},{"text":"impl Hash for AndEq","synthetic":false,"types":[]},{"text":"impl Hash for At","synthetic":false,"types":[]},{"text":"impl Hash for Bang","synthetic":false,"types":[]},{"text":"impl Hash for Caret","synthetic":false,"types":[]},{"text":"impl Hash for CaretEq","synthetic":false,"types":[]},{"text":"impl Hash for Colon","synthetic":false,"types":[]},{"text":"impl Hash for Colon2","synthetic":false,"types":[]},{"text":"impl Hash for Comma","synthetic":false,"types":[]},{"text":"impl Hash for Div","synthetic":false,"types":[]},{"text":"impl Hash for DivEq","synthetic":false,"types":[]},{"text":"impl Hash for Dollar","synthetic":false,"types":[]},{"text":"impl Hash for Dot","synthetic":false,"types":[]},{"text":"impl Hash for Dot2","synthetic":false,"types":[]},{"text":"impl Hash for Dot3","synthetic":false,"types":[]},{"text":"impl Hash for DotDotEq","synthetic":false,"types":[]},{"text":"impl Hash for Eq","synthetic":false,"types":[]},{"text":"impl Hash for EqEq","synthetic":false,"types":[]},{"text":"impl Hash for Ge","synthetic":false,"types":[]},{"text":"impl Hash for Gt","synthetic":false,"types":[]},{"text":"impl Hash for Le","synthetic":false,"types":[]},{"text":"impl Hash for Lt","synthetic":false,"types":[]},{"text":"impl Hash for MulEq","synthetic":false,"types":[]},{"text":"impl Hash for Ne","synthetic":false,"types":[]},{"text":"impl Hash for Or","synthetic":false,"types":[]},{"text":"impl Hash for OrEq","synthetic":false,"types":[]},{"text":"impl Hash for OrOr","synthetic":false,"types":[]},{"text":"impl Hash for Pound","synthetic":false,"types":[]},{"text":"impl Hash for Question","synthetic":false,"types":[]},{"text":"impl Hash for RArrow","synthetic":false,"types":[]},{"text":"impl Hash for LArrow","synthetic":false,"types":[]},{"text":"impl Hash for Rem","synthetic":false,"types":[]},{"text":"impl Hash for RemEq","synthetic":false,"types":[]},{"text":"impl Hash for FatArrow","synthetic":false,"types":[]},{"text":"impl Hash for Semi","synthetic":false,"types":[]},{"text":"impl Hash for Shl","synthetic":false,"types":[]},{"text":"impl Hash for ShlEq","synthetic":false,"types":[]},{"text":"impl Hash for Shr","synthetic":false,"types":[]},{"text":"impl Hash for ShrEq","synthetic":false,"types":[]},{"text":"impl Hash for Star","synthetic":false,"types":[]},{"text":"impl Hash for Sub","synthetic":false,"types":[]},{"text":"impl Hash for SubEq","synthetic":false,"types":[]},{"text":"impl Hash for Tilde","synthetic":false,"types":[]},{"text":"impl Hash for Brace","synthetic":false,"types":[]},{"text":"impl Hash for Bracket","synthetic":false,"types":[]},{"text":"impl Hash for Paren","synthetic":false,"types":[]},{"text":"impl Hash for Group","synthetic":false,"types":[]},{"text":"impl Hash for Member","synthetic":false,"types":[]},{"text":"impl Hash for Index","synthetic":false,"types":[]},{"text":"impl<'a> Hash for ImplGenerics<'a>","synthetic":false,"types":[]},{"text":"impl<'a> Hash for TypeGenerics<'a>","synthetic":false,"types":[]},{"text":"impl<'a> Hash for Turbofish<'a>","synthetic":false,"types":[]},{"text":"impl Hash for Lifetime","synthetic":false,"types":[]},{"text":"impl Hash for LitStr","synthetic":false,"types":[]},{"text":"impl Hash for LitByteStr","synthetic":false,"types":[]},{"text":"impl Hash for LitByte","synthetic":false,"types":[]},{"text":"impl Hash for LitChar","synthetic":false,"types":[]},{"text":"impl Hash for LitInt","synthetic":false,"types":[]},{"text":"impl Hash for LitFloat","synthetic":false,"types":[]},{"text":"impl<T, P> Hash for Punctuated<T, P> where
    T: Hash,
    P: Hash, 
","synthetic":false,"types":[]},{"text":"impl Hash for Abi","synthetic":false,"types":[]},{"text":"impl Hash for AngleBracketedGenericArguments","synthetic":false,"types":[]},{"text":"impl Hash for AttrStyle","synthetic":false,"types":[]},{"text":"impl Hash for Attribute","synthetic":false,"types":[]},{"text":"impl Hash for BareFnArg","synthetic":false,"types":[]},{"text":"impl Hash for BinOp","synthetic":false,"types":[]},{"text":"impl Hash for Binding","synthetic":false,"types":[]},{"text":"impl Hash for BoundLifetimes","synthetic":false,"types":[]},{"text":"impl Hash for ConstParam","synthetic":false,"types":[]},{"text":"impl Hash for Constraint","synthetic":false,"types":[]},{"text":"impl Hash for Data","synthetic":false,"types":[]},{"text":"impl Hash for DataEnum","synthetic":false,"types":[]},{"text":"impl Hash for DataStruct","synthetic":false,"types":[]},{"text":"impl Hash for DataUnion","synthetic":false,"types":[]},{"text":"impl Hash for DeriveInput","synthetic":false,"types":[]},{"text":"impl Hash for Expr","synthetic":false,"types":[]},{"text":"impl Hash for ExprBinary","synthetic":false,"types":[]},{"text":"impl Hash for ExprCall","synthetic":false,"types":[]},{"text":"impl Hash for ExprCast","synthetic":false,"types":[]},{"text":"impl Hash for ExprField","synthetic":false,"types":[]},{"text":"impl Hash for ExprIndex","synthetic":false,"types":[]},{"text":"impl Hash for ExprLit","synthetic":false,"types":[]},{"text":"impl Hash for ExprParen","synthetic":false,"types":[]},{"text":"impl Hash for ExprPath","synthetic":false,"types":[]},{"text":"impl Hash for ExprUnary","synthetic":false,"types":[]},{"text":"impl Hash for Field","synthetic":false,"types":[]},{"text":"impl Hash for Fields","synthetic":false,"types":[]},{"text":"impl Hash for FieldsNamed","synthetic":false,"types":[]},{"text":"impl Hash for FieldsUnnamed","synthetic":false,"types":[]},{"text":"impl Hash for GenericArgument","synthetic":false,"types":[]},{"text":"impl Hash for GenericParam","synthetic":false,"types":[]},{"text":"impl Hash for Generics","synthetic":false,"types":[]},{"text":"impl Hash for LifetimeDef","synthetic":false,"types":[]},{"text":"impl Hash for Lit","synthetic":false,"types":[]},{"text":"impl Hash for LitBool","synthetic":false,"types":[]},{"text":"impl Hash for Macro","synthetic":false,"types":[]},{"text":"impl Hash for MacroDelimiter","synthetic":false,"types":[]},{"text":"impl Hash for Meta","synthetic":false,"types":[]},{"text":"impl Hash for MetaList","synthetic":false,"types":[]},{"text":"impl Hash for MetaNameValue","synthetic":false,"types":[]},{"text":"impl Hash for NestedMeta","synthetic":false,"types":[]},{"text":"impl Hash for ParenthesizedGenericArguments","synthetic":false,"types":[]},{"text":"impl Hash for Path","synthetic":false,"types":[]},{"text":"impl Hash for PathArguments","synthetic":false,"types":[]},{"text":"impl Hash for PathSegment","synthetic":false,"types":[]},{"text":"impl Hash for PredicateEq","synthetic":false,"types":[]},{"text":"impl Hash for PredicateLifetime","synthetic":false,"types":[]},{"text":"impl Hash for PredicateType","synthetic":false,"types":[]},{"text":"impl Hash for QSelf","synthetic":false,"types":[]},{"text":"impl Hash for ReturnType","synthetic":false,"types":[]},{"text":"impl Hash for TraitBound","synthetic":false,"types":[]},{"text":"impl Hash for TraitBoundModifier","synthetic":false,"types":[]},{"text":"impl Hash for Type","synthetic":false,"types":[]},{"text":"impl Hash for TypeArray","synthetic":false,"types":[]},{"text":"impl Hash for TypeBareFn","synthetic":false,"types":[]},{"text":"impl Hash for TypeGroup","synthetic":false,"types":[]},{"text":"impl Hash for TypeImplTrait","synthetic":false,"types":[]},{"text":"impl Hash for TypeInfer","synthetic":false,"types":[]},{"text":"impl Hash for TypeMacro","synthetic":false,"types":[]},{"text":"impl Hash for TypeNever","synthetic":false,"types":[]},{"text":"impl Hash for TypeParam","synthetic":false,"types":[]},{"text":"impl Hash for TypeParamBound","synthetic":false,"types":[]},{"text":"impl Hash for TypeParen","synthetic":false,"types":[]},{"text":"impl Hash for TypePath","synthetic":false,"types":[]},{"text":"impl Hash for TypePtr","synthetic":false,"types":[]},{"text":"impl Hash for TypeReference","synthetic":false,"types":[]},{"text":"impl Hash for TypeSlice","synthetic":false,"types":[]},{"text":"impl Hash for TypeTraitObject","synthetic":false,"types":[]},{"text":"impl Hash for TypeTuple","synthetic":false,"types":[]},{"text":"impl Hash for UnOp","synthetic":false,"types":[]},{"text":"impl Hash for Variadic","synthetic":false,"types":[]},{"text":"impl Hash for Variant","synthetic":false,"types":[]},{"text":"impl Hash for VisCrate","synthetic":false,"types":[]},{"text":"impl Hash for VisPublic","synthetic":false,"types":[]},{"text":"impl Hash for VisRestricted","synthetic":false,"types":[]},{"text":"impl Hash for Visibility","synthetic":false,"types":[]},{"text":"impl Hash for WhereClause","synthetic":false,"types":[]},{"text":"impl Hash for WherePredicate","synthetic":false,"types":[]}]; implementors["synstructure"] = [{"text":"impl Hash for AddBounds","synthetic":false,"types":[]},{"text":"impl Hash for BindStyle","synthetic":false,"types":[]},{"text":"impl<'a> Hash for BindingInfo<'a>","synthetic":false,"types":[]},{"text":"impl<'a> Hash for VariantAst<'a>","synthetic":false,"types":[]},{"text":"impl<'a> Hash for VariantInfo<'a>","synthetic":false,"types":[]},{"text":"impl<'a> Hash for Structure<'a>","synthetic":false,"types":[]}]; diff --git a/implementors/core/marker/trait.Copy.js b/implementors/core/marker/trait.Copy.js index 8ee0f5e..d45e5fc 100644 --- a/implementors/core/marker/trait.Copy.js +++ b/implementors/core/marker/trait.Copy.js @@ -1,5 +1,7 @@ (function() {var implementors = {}; +implementors["delog"] = [{"text":"impl Copy for Statistics","synthetic":false,"types":[]},{"text":"impl Copy for DefaultRenderer","synthetic":false,"types":[]},{"text":"impl Copy for RipgrepRenderer","synthetic":false,"types":[]}]; implementors["flexiber"] = [{"text":"impl Copy for Error","synthetic":false,"types":[]},{"text":"impl Copy for ErrorKind","synthetic":false,"types":[]},{"text":"impl Copy for Length","synthetic":false,"types":[]},{"text":"impl Copy for SimpleTag","synthetic":false,"types":[]},{"text":"impl<'a> Copy for Slice<'a>","synthetic":false,"types":[]},{"text":"impl Copy for Class","synthetic":false,"types":[]},{"text":"impl Copy for Tag","synthetic":false,"types":[]},{"text":"impl<V: Copy, T: Copy> Copy for TaggedValue<V, T>","synthetic":false,"types":[]}]; +implementors["log"] = [{"text":"impl Copy for Level","synthetic":false,"types":[]},{"text":"impl Copy for LevelFilter","synthetic":false,"types":[]}]; implementors["proc_macro2"] = [{"text":"impl Copy for Span","synthetic":false,"types":[]},{"text":"impl Copy for Delimiter","synthetic":false,"types":[]},{"text":"impl Copy for Spacing","synthetic":false,"types":[]}]; implementors["syn"] = [{"text":"impl Copy for Underscore","synthetic":false,"types":[]},{"text":"impl Copy for Abstract","synthetic":false,"types":[]},{"text":"impl Copy for As","synthetic":false,"types":[]},{"text":"impl Copy for Async","synthetic":false,"types":[]},{"text":"impl Copy for Auto","synthetic":false,"types":[]},{"text":"impl Copy for Await","synthetic":false,"types":[]},{"text":"impl Copy for Become","synthetic":false,"types":[]},{"text":"impl Copy for Box","synthetic":false,"types":[]},{"text":"impl Copy for Break","synthetic":false,"types":[]},{"text":"impl Copy for Const","synthetic":false,"types":[]},{"text":"impl Copy for Continue","synthetic":false,"types":[]},{"text":"impl Copy for Crate","synthetic":false,"types":[]},{"text":"impl Copy for Default","synthetic":false,"types":[]},{"text":"impl Copy for Do","synthetic":false,"types":[]},{"text":"impl Copy for Dyn","synthetic":false,"types":[]},{"text":"impl Copy for Else","synthetic":false,"types":[]},{"text":"impl Copy for Enum","synthetic":false,"types":[]},{"text":"impl Copy for Extern","synthetic":false,"types":[]},{"text":"impl Copy for Final","synthetic":false,"types":[]},{"text":"impl Copy for Fn","synthetic":false,"types":[]},{"text":"impl Copy for For","synthetic":false,"types":[]},{"text":"impl Copy for If","synthetic":false,"types":[]},{"text":"impl Copy for Impl","synthetic":false,"types":[]},{"text":"impl Copy for In","synthetic":false,"types":[]},{"text":"impl Copy for Let","synthetic":false,"types":[]},{"text":"impl Copy for Loop","synthetic":false,"types":[]},{"text":"impl Copy for Macro","synthetic":false,"types":[]},{"text":"impl Copy for Match","synthetic":false,"types":[]},{"text":"impl Copy for Mod","synthetic":false,"types":[]},{"text":"impl Copy for Move","synthetic":false,"types":[]},{"text":"impl Copy for Mut","synthetic":false,"types":[]},{"text":"impl Copy for Override","synthetic":false,"types":[]},{"text":"impl Copy for Priv","synthetic":false,"types":[]},{"text":"impl Copy for Pub","synthetic":false,"types":[]},{"text":"impl Copy for Ref","synthetic":false,"types":[]},{"text":"impl Copy for Return","synthetic":false,"types":[]},{"text":"impl Copy for SelfType","synthetic":false,"types":[]},{"text":"impl Copy for SelfValue","synthetic":false,"types":[]},{"text":"impl Copy for Static","synthetic":false,"types":[]},{"text":"impl Copy for Struct","synthetic":false,"types":[]},{"text":"impl Copy for Super","synthetic":false,"types":[]},{"text":"impl Copy for Trait","synthetic":false,"types":[]},{"text":"impl Copy for Try","synthetic":false,"types":[]},{"text":"impl Copy for Type","synthetic":false,"types":[]},{"text":"impl Copy for Typeof","synthetic":false,"types":[]},{"text":"impl Copy for Union","synthetic":false,"types":[]},{"text":"impl Copy for Unsafe","synthetic":false,"types":[]},{"text":"impl Copy for Unsized","synthetic":false,"types":[]},{"text":"impl Copy for Use","synthetic":false,"types":[]},{"text":"impl Copy for Virtual","synthetic":false,"types":[]},{"text":"impl Copy for Where","synthetic":false,"types":[]},{"text":"impl Copy for While","synthetic":false,"types":[]},{"text":"impl Copy for Yield","synthetic":false,"types":[]},{"text":"impl Copy for Add","synthetic":false,"types":[]},{"text":"impl Copy for AddEq","synthetic":false,"types":[]},{"text":"impl Copy for And","synthetic":false,"types":[]},{"text":"impl Copy for AndAnd","synthetic":false,"types":[]},{"text":"impl Copy for AndEq","synthetic":false,"types":[]},{"text":"impl Copy for At","synthetic":false,"types":[]},{"text":"impl Copy for Bang","synthetic":false,"types":[]},{"text":"impl Copy for Caret","synthetic":false,"types":[]},{"text":"impl Copy for CaretEq","synthetic":false,"types":[]},{"text":"impl Copy for Colon","synthetic":false,"types":[]},{"text":"impl Copy for Colon2","synthetic":false,"types":[]},{"text":"impl Copy for Comma","synthetic":false,"types":[]},{"text":"impl Copy for Div","synthetic":false,"types":[]},{"text":"impl Copy for DivEq","synthetic":false,"types":[]},{"text":"impl Copy for Dollar","synthetic":false,"types":[]},{"text":"impl Copy for Dot","synthetic":false,"types":[]},{"text":"impl Copy for Dot2","synthetic":false,"types":[]},{"text":"impl Copy for Dot3","synthetic":false,"types":[]},{"text":"impl Copy for DotDotEq","synthetic":false,"types":[]},{"text":"impl Copy for Eq","synthetic":false,"types":[]},{"text":"impl Copy for EqEq","synthetic":false,"types":[]},{"text":"impl Copy for Ge","synthetic":false,"types":[]},{"text":"impl Copy for Gt","synthetic":false,"types":[]},{"text":"impl Copy for Le","synthetic":false,"types":[]},{"text":"impl Copy for Lt","synthetic":false,"types":[]},{"text":"impl Copy for MulEq","synthetic":false,"types":[]},{"text":"impl Copy for Ne","synthetic":false,"types":[]},{"text":"impl Copy for Or","synthetic":false,"types":[]},{"text":"impl Copy for OrEq","synthetic":false,"types":[]},{"text":"impl Copy for OrOr","synthetic":false,"types":[]},{"text":"impl Copy for Pound","synthetic":false,"types":[]},{"text":"impl Copy for Question","synthetic":false,"types":[]},{"text":"impl Copy for RArrow","synthetic":false,"types":[]},{"text":"impl Copy for LArrow","synthetic":false,"types":[]},{"text":"impl Copy for Rem","synthetic":false,"types":[]},{"text":"impl Copy for RemEq","synthetic":false,"types":[]},{"text":"impl Copy for FatArrow","synthetic":false,"types":[]},{"text":"impl Copy for Semi","synthetic":false,"types":[]},{"text":"impl Copy for Shl","synthetic":false,"types":[]},{"text":"impl Copy for ShlEq","synthetic":false,"types":[]},{"text":"impl Copy for Shr","synthetic":false,"types":[]},{"text":"impl Copy for ShrEq","synthetic":false,"types":[]},{"text":"impl Copy for Star","synthetic":false,"types":[]},{"text":"impl Copy for Sub","synthetic":false,"types":[]},{"text":"impl Copy for SubEq","synthetic":false,"types":[]},{"text":"impl Copy for Tilde","synthetic":false,"types":[]},{"text":"impl Copy for Brace","synthetic":false,"types":[]},{"text":"impl Copy for Bracket","synthetic":false,"types":[]},{"text":"impl Copy for Paren","synthetic":false,"types":[]},{"text":"impl Copy for Group","synthetic":false,"types":[]},{"text":"impl<'a> Copy for Cursor<'a>","synthetic":false,"types":[]},{"text":"impl Copy for AttrStyle","synthetic":false,"types":[]},{"text":"impl Copy for BinOp","synthetic":false,"types":[]},{"text":"impl Copy for TraitBoundModifier","synthetic":false,"types":[]},{"text":"impl Copy for UnOp","synthetic":false,"types":[]},{"text":"impl<'c, 'a> Copy for StepCursor<'c, 'a>","synthetic":false,"types":[]}]; implementors["synstructure"] = [{"text":"impl Copy for AddBounds","synthetic":false,"types":[]},{"text":"impl Copy for BindStyle","synthetic":false,"types":[]},{"text":"impl<'a> Copy for VariantAst<'a>","synthetic":false,"types":[]}]; diff --git a/implementors/core/marker/trait.Freeze.js b/implementors/core/marker/trait.Freeze.js index 8eb1ff1..2e17e96 100644 --- a/implementors/core/marker/trait.Freeze.js +++ b/implementors/core/marker/trait.Freeze.js @@ -1,5 +1,7 @@ (function() {var implementors = {}; +implementors["delog"] = [{"text":"impl Freeze for U1","synthetic":true,"types":[]},{"text":"impl<'a, T: ?Sized, U, S> Freeze for HexStr<'a, T, U, S>","synthetic":true,"types":[]},{"text":"impl Freeze for Statistics","synthetic":true,"types":[]},{"text":"impl Freeze for DefaultRenderer","synthetic":true,"types":[]},{"text":"impl Freeze for RipgrepRenderer","synthetic":true,"types":[]}]; implementors["flexiber"] = [{"text":"impl<'a> Freeze for Decoder<'a>","synthetic":true,"types":[]},{"text":"impl<'a> Freeze for Encoder<'a>","synthetic":true,"types":[]},{"text":"impl Freeze for Error","synthetic":true,"types":[]},{"text":"impl Freeze for ErrorKind","synthetic":true,"types":[]},{"text":"impl Freeze for Length","synthetic":true,"types":[]},{"text":"impl Freeze for SimpleTag","synthetic":true,"types":[]},{"text":"impl<'a> Freeze for Slice<'a>","synthetic":true,"types":[]},{"text":"impl Freeze for Class","synthetic":true,"types":[]},{"text":"impl Freeze for Tag","synthetic":true,"types":[]},{"text":"impl<V, T> Freeze for TaggedValue<V, T> where
    T: Freeze,
    V: Freeze, 
","synthetic":true,"types":[]}]; +implementors["log"] = [{"text":"impl Freeze for Level","synthetic":true,"types":[]},{"text":"impl Freeze for LevelFilter","synthetic":true,"types":[]},{"text":"impl<'a> Freeze for Record<'a>","synthetic":true,"types":[]},{"text":"impl<'a> Freeze for RecordBuilder<'a>","synthetic":true,"types":[]},{"text":"impl<'a> Freeze for Metadata<'a>","synthetic":true,"types":[]},{"text":"impl<'a> Freeze for MetadataBuilder<'a>","synthetic":true,"types":[]},{"text":"impl Freeze for SetLoggerError","synthetic":true,"types":[]},{"text":"impl Freeze for ParseLevelError","synthetic":true,"types":[]}]; implementors["proc_macro2"] = [{"text":"impl Freeze for IntoIter","synthetic":true,"types":[]},{"text":"impl Freeze for TokenStream","synthetic":true,"types":[]},{"text":"impl Freeze for LexError","synthetic":true,"types":[]},{"text":"impl Freeze for Span","synthetic":true,"types":[]},{"text":"impl Freeze for TokenTree","synthetic":true,"types":[]},{"text":"impl Freeze for Group","synthetic":true,"types":[]},{"text":"impl Freeze for Delimiter","synthetic":true,"types":[]},{"text":"impl Freeze for Punct","synthetic":true,"types":[]},{"text":"impl Freeze for Spacing","synthetic":true,"types":[]},{"text":"impl Freeze for Ident","synthetic":true,"types":[]},{"text":"impl Freeze for Literal","synthetic":true,"types":[]}]; implementors["syn"] = [{"text":"impl Freeze for Underscore","synthetic":true,"types":[]},{"text":"impl Freeze for Abstract","synthetic":true,"types":[]},{"text":"impl Freeze for As","synthetic":true,"types":[]},{"text":"impl Freeze for Async","synthetic":true,"types":[]},{"text":"impl Freeze for Auto","synthetic":true,"types":[]},{"text":"impl Freeze for Await","synthetic":true,"types":[]},{"text":"impl Freeze for Become","synthetic":true,"types":[]},{"text":"impl Freeze for Box","synthetic":true,"types":[]},{"text":"impl Freeze for Break","synthetic":true,"types":[]},{"text":"impl Freeze for Const","synthetic":true,"types":[]},{"text":"impl Freeze for Continue","synthetic":true,"types":[]},{"text":"impl Freeze for Crate","synthetic":true,"types":[]},{"text":"impl Freeze for Default","synthetic":true,"types":[]},{"text":"impl Freeze for Do","synthetic":true,"types":[]},{"text":"impl Freeze for Dyn","synthetic":true,"types":[]},{"text":"impl Freeze for Else","synthetic":true,"types":[]},{"text":"impl Freeze for Enum","synthetic":true,"types":[]},{"text":"impl Freeze for Extern","synthetic":true,"types":[]},{"text":"impl Freeze for Final","synthetic":true,"types":[]},{"text":"impl Freeze for Fn","synthetic":true,"types":[]},{"text":"impl Freeze for For","synthetic":true,"types":[]},{"text":"impl Freeze for If","synthetic":true,"types":[]},{"text":"impl Freeze for Impl","synthetic":true,"types":[]},{"text":"impl Freeze for In","synthetic":true,"types":[]},{"text":"impl Freeze for Let","synthetic":true,"types":[]},{"text":"impl Freeze for Loop","synthetic":true,"types":[]},{"text":"impl Freeze for Macro","synthetic":true,"types":[]},{"text":"impl Freeze for Match","synthetic":true,"types":[]},{"text":"impl Freeze for Mod","synthetic":true,"types":[]},{"text":"impl Freeze for Move","synthetic":true,"types":[]},{"text":"impl Freeze for Mut","synthetic":true,"types":[]},{"text":"impl Freeze for Override","synthetic":true,"types":[]},{"text":"impl Freeze for Priv","synthetic":true,"types":[]},{"text":"impl Freeze for Pub","synthetic":true,"types":[]},{"text":"impl Freeze for Ref","synthetic":true,"types":[]},{"text":"impl Freeze for Return","synthetic":true,"types":[]},{"text":"impl Freeze for SelfType","synthetic":true,"types":[]},{"text":"impl Freeze for SelfValue","synthetic":true,"types":[]},{"text":"impl Freeze for Static","synthetic":true,"types":[]},{"text":"impl Freeze for Struct","synthetic":true,"types":[]},{"text":"impl Freeze for Super","synthetic":true,"types":[]},{"text":"impl Freeze for Trait","synthetic":true,"types":[]},{"text":"impl Freeze for Try","synthetic":true,"types":[]},{"text":"impl Freeze for Type","synthetic":true,"types":[]},{"text":"impl Freeze for Typeof","synthetic":true,"types":[]},{"text":"impl Freeze for Union","synthetic":true,"types":[]},{"text":"impl Freeze for Unsafe","synthetic":true,"types":[]},{"text":"impl Freeze for Unsized","synthetic":true,"types":[]},{"text":"impl Freeze for Use","synthetic":true,"types":[]},{"text":"impl Freeze for Virtual","synthetic":true,"types":[]},{"text":"impl Freeze for Where","synthetic":true,"types":[]},{"text":"impl Freeze for While","synthetic":true,"types":[]},{"text":"impl Freeze for Yield","synthetic":true,"types":[]},{"text":"impl Freeze for Add","synthetic":true,"types":[]},{"text":"impl Freeze for AddEq","synthetic":true,"types":[]},{"text":"impl Freeze for And","synthetic":true,"types":[]},{"text":"impl Freeze for AndAnd","synthetic":true,"types":[]},{"text":"impl Freeze for AndEq","synthetic":true,"types":[]},{"text":"impl Freeze for At","synthetic":true,"types":[]},{"text":"impl Freeze for Bang","synthetic":true,"types":[]},{"text":"impl Freeze for Caret","synthetic":true,"types":[]},{"text":"impl Freeze for CaretEq","synthetic":true,"types":[]},{"text":"impl Freeze for Colon","synthetic":true,"types":[]},{"text":"impl Freeze for Colon2","synthetic":true,"types":[]},{"text":"impl Freeze for Comma","synthetic":true,"types":[]},{"text":"impl Freeze for Div","synthetic":true,"types":[]},{"text":"impl Freeze for DivEq","synthetic":true,"types":[]},{"text":"impl Freeze for Dollar","synthetic":true,"types":[]},{"text":"impl Freeze for Dot","synthetic":true,"types":[]},{"text":"impl Freeze for Dot2","synthetic":true,"types":[]},{"text":"impl Freeze for Dot3","synthetic":true,"types":[]},{"text":"impl Freeze for DotDotEq","synthetic":true,"types":[]},{"text":"impl Freeze for Eq","synthetic":true,"types":[]},{"text":"impl Freeze for EqEq","synthetic":true,"types":[]},{"text":"impl Freeze for Ge","synthetic":true,"types":[]},{"text":"impl Freeze for Gt","synthetic":true,"types":[]},{"text":"impl Freeze for Le","synthetic":true,"types":[]},{"text":"impl Freeze for Lt","synthetic":true,"types":[]},{"text":"impl Freeze for MulEq","synthetic":true,"types":[]},{"text":"impl Freeze for Ne","synthetic":true,"types":[]},{"text":"impl Freeze for Or","synthetic":true,"types":[]},{"text":"impl Freeze for OrEq","synthetic":true,"types":[]},{"text":"impl Freeze for OrOr","synthetic":true,"types":[]},{"text":"impl Freeze for Pound","synthetic":true,"types":[]},{"text":"impl Freeze for Question","synthetic":true,"types":[]},{"text":"impl Freeze for RArrow","synthetic":true,"types":[]},{"text":"impl Freeze for LArrow","synthetic":true,"types":[]},{"text":"impl Freeze for Rem","synthetic":true,"types":[]},{"text":"impl Freeze for RemEq","synthetic":true,"types":[]},{"text":"impl Freeze for FatArrow","synthetic":true,"types":[]},{"text":"impl Freeze for Semi","synthetic":true,"types":[]},{"text":"impl Freeze for Shl","synthetic":true,"types":[]},{"text":"impl Freeze for ShlEq","synthetic":true,"types":[]},{"text":"impl Freeze for Shr","synthetic":true,"types":[]},{"text":"impl Freeze for ShrEq","synthetic":true,"types":[]},{"text":"impl Freeze for Star","synthetic":true,"types":[]},{"text":"impl Freeze for Sub","synthetic":true,"types":[]},{"text":"impl Freeze for SubEq","synthetic":true,"types":[]},{"text":"impl Freeze for Tilde","synthetic":true,"types":[]},{"text":"impl Freeze for Brace","synthetic":true,"types":[]},{"text":"impl Freeze for Bracket","synthetic":true,"types":[]},{"text":"impl Freeze for Paren","synthetic":true,"types":[]},{"text":"impl Freeze for Group","synthetic":true,"types":[]},{"text":"impl Freeze for Attribute","synthetic":true,"types":[]},{"text":"impl Freeze for AttrStyle","synthetic":true,"types":[]},{"text":"impl Freeze for Meta","synthetic":true,"types":[]},{"text":"impl Freeze for MetaList","synthetic":true,"types":[]},{"text":"impl Freeze for MetaNameValue","synthetic":true,"types":[]},{"text":"impl Freeze for NestedMeta","synthetic":true,"types":[]},{"text":"impl Freeze for Variant","synthetic":true,"types":[]},{"text":"impl Freeze for Fields","synthetic":true,"types":[]},{"text":"impl Freeze for FieldsNamed","synthetic":true,"types":[]},{"text":"impl Freeze for FieldsUnnamed","synthetic":true,"types":[]},{"text":"impl Freeze for Field","synthetic":true,"types":[]},{"text":"impl Freeze for Visibility","synthetic":true,"types":[]},{"text":"impl Freeze for VisPublic","synthetic":true,"types":[]},{"text":"impl Freeze for VisCrate","synthetic":true,"types":[]},{"text":"impl Freeze for VisRestricted","synthetic":true,"types":[]},{"text":"impl Freeze for Expr","synthetic":true,"types":[]},{"text":"impl Freeze for ExprArray","synthetic":true,"types":[]},{"text":"impl Freeze for ExprAssign","synthetic":true,"types":[]},{"text":"impl Freeze for ExprAssignOp","synthetic":true,"types":[]},{"text":"impl Freeze for ExprAsync","synthetic":true,"types":[]},{"text":"impl Freeze for ExprAwait","synthetic":true,"types":[]},{"text":"impl Freeze for ExprBinary","synthetic":true,"types":[]},{"text":"impl Freeze for ExprBlock","synthetic":true,"types":[]},{"text":"impl Freeze for ExprBox","synthetic":true,"types":[]},{"text":"impl Freeze for ExprBreak","synthetic":true,"types":[]},{"text":"impl Freeze for ExprCall","synthetic":true,"types":[]},{"text":"impl Freeze for ExprCast","synthetic":true,"types":[]},{"text":"impl Freeze for ExprClosure","synthetic":true,"types":[]},{"text":"impl Freeze for ExprContinue","synthetic":true,"types":[]},{"text":"impl Freeze for ExprField","synthetic":true,"types":[]},{"text":"impl Freeze for ExprForLoop","synthetic":true,"types":[]},{"text":"impl Freeze for ExprGroup","synthetic":true,"types":[]},{"text":"impl Freeze for ExprIf","synthetic":true,"types":[]},{"text":"impl Freeze for ExprIndex","synthetic":true,"types":[]},{"text":"impl Freeze for ExprLet","synthetic":true,"types":[]},{"text":"impl Freeze for ExprLit","synthetic":true,"types":[]},{"text":"impl Freeze for ExprLoop","synthetic":true,"types":[]},{"text":"impl Freeze for ExprMacro","synthetic":true,"types":[]},{"text":"impl Freeze for ExprMatch","synthetic":true,"types":[]},{"text":"impl Freeze for ExprMethodCall","synthetic":true,"types":[]},{"text":"impl Freeze for ExprParen","synthetic":true,"types":[]},{"text":"impl Freeze for ExprPath","synthetic":true,"types":[]},{"text":"impl Freeze for ExprRange","synthetic":true,"types":[]},{"text":"impl Freeze for ExprReference","synthetic":true,"types":[]},{"text":"impl Freeze for ExprRepeat","synthetic":true,"types":[]},{"text":"impl Freeze for ExprReturn","synthetic":true,"types":[]},{"text":"impl Freeze for ExprStruct","synthetic":true,"types":[]},{"text":"impl Freeze for ExprTry","synthetic":true,"types":[]},{"text":"impl Freeze for ExprTryBlock","synthetic":true,"types":[]},{"text":"impl Freeze for ExprTuple","synthetic":true,"types":[]},{"text":"impl Freeze for ExprType","synthetic":true,"types":[]},{"text":"impl Freeze for ExprUnary","synthetic":true,"types":[]},{"text":"impl Freeze for ExprUnsafe","synthetic":true,"types":[]},{"text":"impl Freeze for ExprWhile","synthetic":true,"types":[]},{"text":"impl Freeze for ExprYield","synthetic":true,"types":[]},{"text":"impl Freeze for Member","synthetic":true,"types":[]},{"text":"impl Freeze for Index","synthetic":true,"types":[]},{"text":"impl Freeze for Generics","synthetic":true,"types":[]},{"text":"impl Freeze for GenericParam","synthetic":true,"types":[]},{"text":"impl Freeze for TypeParam","synthetic":true,"types":[]},{"text":"impl Freeze for LifetimeDef","synthetic":true,"types":[]},{"text":"impl Freeze for ConstParam","synthetic":true,"types":[]},{"text":"impl<'a> Freeze for ImplGenerics<'a>","synthetic":true,"types":[]},{"text":"impl<'a> Freeze for TypeGenerics<'a>","synthetic":true,"types":[]},{"text":"impl<'a> Freeze for Turbofish<'a>","synthetic":true,"types":[]},{"text":"impl Freeze for BoundLifetimes","synthetic":true,"types":[]},{"text":"impl Freeze for TypeParamBound","synthetic":true,"types":[]},{"text":"impl Freeze for TraitBound","synthetic":true,"types":[]},{"text":"impl Freeze for TraitBoundModifier","synthetic":true,"types":[]},{"text":"impl Freeze for WhereClause","synthetic":true,"types":[]},{"text":"impl Freeze for WherePredicate","synthetic":true,"types":[]},{"text":"impl Freeze for PredicateType","synthetic":true,"types":[]},{"text":"impl Freeze for PredicateLifetime","synthetic":true,"types":[]},{"text":"impl Freeze for PredicateEq","synthetic":true,"types":[]},{"text":"impl Freeze for Lifetime","synthetic":true,"types":[]},{"text":"impl Freeze for Lit","synthetic":true,"types":[]},{"text":"impl Freeze for LitStr","synthetic":true,"types":[]},{"text":"impl Freeze for LitByteStr","synthetic":true,"types":[]},{"text":"impl Freeze for LitByte","synthetic":true,"types":[]},{"text":"impl Freeze for LitChar","synthetic":true,"types":[]},{"text":"impl Freeze for LitInt","synthetic":true,"types":[]},{"text":"impl Freeze for LitFloat","synthetic":true,"types":[]},{"text":"impl Freeze for LitBool","synthetic":true,"types":[]},{"text":"impl Freeze for StrStyle","synthetic":true,"types":[]},{"text":"impl Freeze for Macro","synthetic":true,"types":[]},{"text":"impl Freeze for MacroDelimiter","synthetic":true,"types":[]},{"text":"impl Freeze for DeriveInput","synthetic":true,"types":[]},{"text":"impl Freeze for Data","synthetic":true,"types":[]},{"text":"impl Freeze for DataStruct","synthetic":true,"types":[]},{"text":"impl Freeze for DataEnum","synthetic":true,"types":[]},{"text":"impl Freeze for DataUnion","synthetic":true,"types":[]},{"text":"impl Freeze for BinOp","synthetic":true,"types":[]},{"text":"impl Freeze for UnOp","synthetic":true,"types":[]},{"text":"impl Freeze for Type","synthetic":true,"types":[]},{"text":"impl Freeze for TypeArray","synthetic":true,"types":[]},{"text":"impl Freeze for TypeBareFn","synthetic":true,"types":[]},{"text":"impl Freeze for TypeGroup","synthetic":true,"types":[]},{"text":"impl Freeze for TypeImplTrait","synthetic":true,"types":[]},{"text":"impl Freeze for TypeInfer","synthetic":true,"types":[]},{"text":"impl Freeze for TypeMacro","synthetic":true,"types":[]},{"text":"impl Freeze for TypeNever","synthetic":true,"types":[]},{"text":"impl Freeze for TypeParen","synthetic":true,"types":[]},{"text":"impl Freeze for TypePath","synthetic":true,"types":[]},{"text":"impl Freeze for TypePtr","synthetic":true,"types":[]},{"text":"impl Freeze for TypeReference","synthetic":true,"types":[]},{"text":"impl Freeze for TypeSlice","synthetic":true,"types":[]},{"text":"impl Freeze for TypeTraitObject","synthetic":true,"types":[]},{"text":"impl Freeze for TypeTuple","synthetic":true,"types":[]},{"text":"impl Freeze for Abi","synthetic":true,"types":[]},{"text":"impl Freeze for BareFnArg","synthetic":true,"types":[]},{"text":"impl Freeze for Variadic","synthetic":true,"types":[]},{"text":"impl Freeze for ReturnType","synthetic":true,"types":[]},{"text":"impl Freeze for Path","synthetic":true,"types":[]},{"text":"impl Freeze for PathSegment","synthetic":true,"types":[]},{"text":"impl Freeze for PathArguments","synthetic":true,"types":[]},{"text":"impl Freeze for GenericArgument","synthetic":true,"types":[]},{"text":"impl Freeze for AngleBracketedGenericArguments","synthetic":true,"types":[]},{"text":"impl Freeze for Binding","synthetic":true,"types":[]},{"text":"impl Freeze for Constraint","synthetic":true,"types":[]},{"text":"impl Freeze for ParenthesizedGenericArguments","synthetic":true,"types":[]},{"text":"impl Freeze for QSelf","synthetic":true,"types":[]},{"text":"impl Freeze for TokenBuffer","synthetic":true,"types":[]},{"text":"impl<'a> Freeze for Cursor<'a>","synthetic":true,"types":[]},{"text":"impl<T, P> Freeze for Punctuated<T, P>","synthetic":true,"types":[]},{"text":"impl<'a, T, P> Freeze for Pairs<'a, T, P>","synthetic":true,"types":[]},{"text":"impl<'a, T, P> Freeze for PairsMut<'a, T, P>","synthetic":true,"types":[]},{"text":"impl<T, P> Freeze for IntoPairs<T, P> where
    T: Freeze, 
","synthetic":true,"types":[]},{"text":"impl<T> Freeze for IntoIter<T>","synthetic":true,"types":[]},{"text":"impl<'a, T> Freeze for Iter<'a, T>","synthetic":true,"types":[]},{"text":"impl<'a, T> Freeze for IterMut<'a, T>","synthetic":true,"types":[]},{"text":"impl<T, P> Freeze for Pair<T, P> where
    P: Freeze,
    T: Freeze, 
","synthetic":true,"types":[]},{"text":"impl<'a> !Freeze for Lookahead1<'a>","synthetic":true,"types":[]},{"text":"impl Freeze for Error","synthetic":true,"types":[]},{"text":"impl<'a> !Freeze for ParseBuffer<'a>","synthetic":true,"types":[]},{"text":"impl<'c, 'a> Freeze for StepCursor<'c, 'a>","synthetic":true,"types":[]},{"text":"impl Freeze for Nothing","synthetic":true,"types":[]}]; implementors["synstructure"] = [{"text":"impl Freeze for AddBounds","synthetic":true,"types":[]},{"text":"impl Freeze for BindStyle","synthetic":true,"types":[]},{"text":"impl<'a> Freeze for BindingInfo<'a>","synthetic":true,"types":[]},{"text":"impl<'a> Freeze for VariantAst<'a>","synthetic":true,"types":[]},{"text":"impl<'a> Freeze for VariantInfo<'a>","synthetic":true,"types":[]},{"text":"impl<'a> Freeze for Structure<'a>","synthetic":true,"types":[]}]; diff --git a/implementors/core/marker/trait.Send.js b/implementors/core/marker/trait.Send.js index 342bae2..cdf1562 100644 --- a/implementors/core/marker/trait.Send.js +++ b/implementors/core/marker/trait.Send.js @@ -1,5 +1,7 @@ (function() {var implementors = {}; +implementors["delog"] = [{"text":"impl Send for U1","synthetic":true,"types":[]},{"text":"impl<'a, T: ?Sized, U, S> Send for HexStr<'a, T, U, S> where
    S: Send,
    T: Sync,
    U: Send, 
","synthetic":true,"types":[]},{"text":"impl Send for Statistics","synthetic":true,"types":[]},{"text":"impl Send for RipgrepRenderer","synthetic":true,"types":[]},{"text":"impl Send for DefaultRenderer","synthetic":false,"types":[]}]; implementors["flexiber"] = [{"text":"impl<'a> Send for Decoder<'a>","synthetic":true,"types":[]},{"text":"impl<'a> Send for Encoder<'a>","synthetic":true,"types":[]},{"text":"impl Send for Error","synthetic":true,"types":[]},{"text":"impl Send for ErrorKind","synthetic":true,"types":[]},{"text":"impl Send for Length","synthetic":true,"types":[]},{"text":"impl Send for SimpleTag","synthetic":true,"types":[]},{"text":"impl<'a> Send for Slice<'a>","synthetic":true,"types":[]},{"text":"impl Send for Class","synthetic":true,"types":[]},{"text":"impl Send for Tag","synthetic":true,"types":[]},{"text":"impl<V, T> Send for TaggedValue<V, T> where
    T: Send,
    V: Send, 
","synthetic":true,"types":[]}]; +implementors["log"] = [{"text":"impl Send for Level","synthetic":true,"types":[]},{"text":"impl Send for LevelFilter","synthetic":true,"types":[]},{"text":"impl<'a> !Send for Record<'a>","synthetic":true,"types":[]},{"text":"impl<'a> !Send for RecordBuilder<'a>","synthetic":true,"types":[]},{"text":"impl<'a> Send for Metadata<'a>","synthetic":true,"types":[]},{"text":"impl<'a> Send for MetadataBuilder<'a>","synthetic":true,"types":[]},{"text":"impl Send for SetLoggerError","synthetic":true,"types":[]},{"text":"impl Send for ParseLevelError","synthetic":true,"types":[]}]; implementors["proc_macro2"] = [{"text":"impl !Send for IntoIter","synthetic":true,"types":[]},{"text":"impl !Send for TokenStream","synthetic":true,"types":[]},{"text":"impl !Send for LexError","synthetic":true,"types":[]},{"text":"impl !Send for Span","synthetic":true,"types":[]},{"text":"impl !Send for TokenTree","synthetic":true,"types":[]},{"text":"impl !Send for Group","synthetic":true,"types":[]},{"text":"impl Send for Delimiter","synthetic":true,"types":[]},{"text":"impl !Send for Punct","synthetic":true,"types":[]},{"text":"impl Send for Spacing","synthetic":true,"types":[]},{"text":"impl !Send for Ident","synthetic":true,"types":[]},{"text":"impl !Send for Literal","synthetic":true,"types":[]}]; implementors["syn"] = [{"text":"impl !Send for Underscore","synthetic":true,"types":[]},{"text":"impl !Send for Abstract","synthetic":true,"types":[]},{"text":"impl !Send for As","synthetic":true,"types":[]},{"text":"impl !Send for Async","synthetic":true,"types":[]},{"text":"impl !Send for Auto","synthetic":true,"types":[]},{"text":"impl !Send for Await","synthetic":true,"types":[]},{"text":"impl !Send for Become","synthetic":true,"types":[]},{"text":"impl !Send for Box","synthetic":true,"types":[]},{"text":"impl !Send for Break","synthetic":true,"types":[]},{"text":"impl !Send for Const","synthetic":true,"types":[]},{"text":"impl !Send for Continue","synthetic":true,"types":[]},{"text":"impl !Send for Crate","synthetic":true,"types":[]},{"text":"impl !Send for Default","synthetic":true,"types":[]},{"text":"impl !Send for Do","synthetic":true,"types":[]},{"text":"impl !Send for Dyn","synthetic":true,"types":[]},{"text":"impl !Send for Else","synthetic":true,"types":[]},{"text":"impl !Send for Enum","synthetic":true,"types":[]},{"text":"impl !Send for Extern","synthetic":true,"types":[]},{"text":"impl !Send for Final","synthetic":true,"types":[]},{"text":"impl !Send for Fn","synthetic":true,"types":[]},{"text":"impl !Send for For","synthetic":true,"types":[]},{"text":"impl !Send for If","synthetic":true,"types":[]},{"text":"impl !Send for Impl","synthetic":true,"types":[]},{"text":"impl !Send for In","synthetic":true,"types":[]},{"text":"impl !Send for Let","synthetic":true,"types":[]},{"text":"impl !Send for Loop","synthetic":true,"types":[]},{"text":"impl !Send for Macro","synthetic":true,"types":[]},{"text":"impl !Send for Match","synthetic":true,"types":[]},{"text":"impl !Send for Mod","synthetic":true,"types":[]},{"text":"impl !Send for Move","synthetic":true,"types":[]},{"text":"impl !Send for Mut","synthetic":true,"types":[]},{"text":"impl !Send for Override","synthetic":true,"types":[]},{"text":"impl !Send for Priv","synthetic":true,"types":[]},{"text":"impl !Send for Pub","synthetic":true,"types":[]},{"text":"impl !Send for Ref","synthetic":true,"types":[]},{"text":"impl !Send for Return","synthetic":true,"types":[]},{"text":"impl !Send for SelfType","synthetic":true,"types":[]},{"text":"impl !Send for SelfValue","synthetic":true,"types":[]},{"text":"impl !Send for Static","synthetic":true,"types":[]},{"text":"impl !Send for Struct","synthetic":true,"types":[]},{"text":"impl !Send for Super","synthetic":true,"types":[]},{"text":"impl !Send for Trait","synthetic":true,"types":[]},{"text":"impl !Send for Try","synthetic":true,"types":[]},{"text":"impl !Send for Type","synthetic":true,"types":[]},{"text":"impl !Send for Typeof","synthetic":true,"types":[]},{"text":"impl !Send for Union","synthetic":true,"types":[]},{"text":"impl !Send for Unsafe","synthetic":true,"types":[]},{"text":"impl !Send for Unsized","synthetic":true,"types":[]},{"text":"impl !Send for Use","synthetic":true,"types":[]},{"text":"impl !Send for Virtual","synthetic":true,"types":[]},{"text":"impl !Send for Where","synthetic":true,"types":[]},{"text":"impl !Send for While","synthetic":true,"types":[]},{"text":"impl !Send for Yield","synthetic":true,"types":[]},{"text":"impl !Send for Add","synthetic":true,"types":[]},{"text":"impl !Send for AddEq","synthetic":true,"types":[]},{"text":"impl !Send for And","synthetic":true,"types":[]},{"text":"impl !Send for AndAnd","synthetic":true,"types":[]},{"text":"impl !Send for AndEq","synthetic":true,"types":[]},{"text":"impl !Send for At","synthetic":true,"types":[]},{"text":"impl !Send for Bang","synthetic":true,"types":[]},{"text":"impl !Send for Caret","synthetic":true,"types":[]},{"text":"impl !Send for CaretEq","synthetic":true,"types":[]},{"text":"impl !Send for Colon","synthetic":true,"types":[]},{"text":"impl !Send for Colon2","synthetic":true,"types":[]},{"text":"impl !Send for Comma","synthetic":true,"types":[]},{"text":"impl !Send for Div","synthetic":true,"types":[]},{"text":"impl !Send for DivEq","synthetic":true,"types":[]},{"text":"impl !Send for Dollar","synthetic":true,"types":[]},{"text":"impl !Send for Dot","synthetic":true,"types":[]},{"text":"impl !Send for Dot2","synthetic":true,"types":[]},{"text":"impl !Send for Dot3","synthetic":true,"types":[]},{"text":"impl !Send for DotDotEq","synthetic":true,"types":[]},{"text":"impl !Send for Eq","synthetic":true,"types":[]},{"text":"impl !Send for EqEq","synthetic":true,"types":[]},{"text":"impl !Send for Ge","synthetic":true,"types":[]},{"text":"impl !Send for Gt","synthetic":true,"types":[]},{"text":"impl !Send for Le","synthetic":true,"types":[]},{"text":"impl !Send for Lt","synthetic":true,"types":[]},{"text":"impl !Send for MulEq","synthetic":true,"types":[]},{"text":"impl !Send for Ne","synthetic":true,"types":[]},{"text":"impl !Send for Or","synthetic":true,"types":[]},{"text":"impl !Send for OrEq","synthetic":true,"types":[]},{"text":"impl !Send for OrOr","synthetic":true,"types":[]},{"text":"impl !Send for Pound","synthetic":true,"types":[]},{"text":"impl !Send for Question","synthetic":true,"types":[]},{"text":"impl !Send for RArrow","synthetic":true,"types":[]},{"text":"impl !Send for LArrow","synthetic":true,"types":[]},{"text":"impl !Send for Rem","synthetic":true,"types":[]},{"text":"impl !Send for RemEq","synthetic":true,"types":[]},{"text":"impl !Send for FatArrow","synthetic":true,"types":[]},{"text":"impl !Send for Semi","synthetic":true,"types":[]},{"text":"impl !Send for Shl","synthetic":true,"types":[]},{"text":"impl !Send for ShlEq","synthetic":true,"types":[]},{"text":"impl !Send for Shr","synthetic":true,"types":[]},{"text":"impl !Send for ShrEq","synthetic":true,"types":[]},{"text":"impl !Send for Star","synthetic":true,"types":[]},{"text":"impl !Send for Sub","synthetic":true,"types":[]},{"text":"impl !Send for SubEq","synthetic":true,"types":[]},{"text":"impl !Send for Tilde","synthetic":true,"types":[]},{"text":"impl !Send for Brace","synthetic":true,"types":[]},{"text":"impl !Send for Bracket","synthetic":true,"types":[]},{"text":"impl !Send for Paren","synthetic":true,"types":[]},{"text":"impl !Send for Group","synthetic":true,"types":[]},{"text":"impl !Send for Attribute","synthetic":true,"types":[]},{"text":"impl !Send for AttrStyle","synthetic":true,"types":[]},{"text":"impl !Send for Meta","synthetic":true,"types":[]},{"text":"impl !Send for MetaList","synthetic":true,"types":[]},{"text":"impl !Send for MetaNameValue","synthetic":true,"types":[]},{"text":"impl !Send for NestedMeta","synthetic":true,"types":[]},{"text":"impl !Send for Variant","synthetic":true,"types":[]},{"text":"impl !Send for Fields","synthetic":true,"types":[]},{"text":"impl !Send for FieldsNamed","synthetic":true,"types":[]},{"text":"impl !Send for FieldsUnnamed","synthetic":true,"types":[]},{"text":"impl !Send for Field","synthetic":true,"types":[]},{"text":"impl !Send for Visibility","synthetic":true,"types":[]},{"text":"impl !Send for VisPublic","synthetic":true,"types":[]},{"text":"impl !Send for VisCrate","synthetic":true,"types":[]},{"text":"impl !Send for VisRestricted","synthetic":true,"types":[]},{"text":"impl !Send for Expr","synthetic":true,"types":[]},{"text":"impl !Send for ExprArray","synthetic":true,"types":[]},{"text":"impl !Send for ExprAssign","synthetic":true,"types":[]},{"text":"impl !Send for ExprAssignOp","synthetic":true,"types":[]},{"text":"impl !Send for ExprAsync","synthetic":true,"types":[]},{"text":"impl !Send for ExprAwait","synthetic":true,"types":[]},{"text":"impl !Send for ExprBinary","synthetic":true,"types":[]},{"text":"impl !Send for ExprBlock","synthetic":true,"types":[]},{"text":"impl !Send for ExprBox","synthetic":true,"types":[]},{"text":"impl !Send for ExprBreak","synthetic":true,"types":[]},{"text":"impl !Send for ExprCall","synthetic":true,"types":[]},{"text":"impl !Send for ExprCast","synthetic":true,"types":[]},{"text":"impl !Send for ExprClosure","synthetic":true,"types":[]},{"text":"impl !Send for ExprContinue","synthetic":true,"types":[]},{"text":"impl !Send for ExprField","synthetic":true,"types":[]},{"text":"impl !Send for ExprForLoop","synthetic":true,"types":[]},{"text":"impl !Send for ExprGroup","synthetic":true,"types":[]},{"text":"impl !Send for ExprIf","synthetic":true,"types":[]},{"text":"impl !Send for ExprIndex","synthetic":true,"types":[]},{"text":"impl !Send for ExprLet","synthetic":true,"types":[]},{"text":"impl !Send for ExprLit","synthetic":true,"types":[]},{"text":"impl !Send for ExprLoop","synthetic":true,"types":[]},{"text":"impl !Send for ExprMacro","synthetic":true,"types":[]},{"text":"impl !Send for ExprMatch","synthetic":true,"types":[]},{"text":"impl !Send for ExprMethodCall","synthetic":true,"types":[]},{"text":"impl !Send for ExprParen","synthetic":true,"types":[]},{"text":"impl !Send for ExprPath","synthetic":true,"types":[]},{"text":"impl !Send for ExprRange","synthetic":true,"types":[]},{"text":"impl !Send for ExprReference","synthetic":true,"types":[]},{"text":"impl !Send for ExprRepeat","synthetic":true,"types":[]},{"text":"impl !Send for ExprReturn","synthetic":true,"types":[]},{"text":"impl !Send for ExprStruct","synthetic":true,"types":[]},{"text":"impl !Send for ExprTry","synthetic":true,"types":[]},{"text":"impl !Send for ExprTryBlock","synthetic":true,"types":[]},{"text":"impl !Send for ExprTuple","synthetic":true,"types":[]},{"text":"impl !Send for ExprType","synthetic":true,"types":[]},{"text":"impl !Send for ExprUnary","synthetic":true,"types":[]},{"text":"impl !Send for ExprUnsafe","synthetic":true,"types":[]},{"text":"impl !Send for ExprWhile","synthetic":true,"types":[]},{"text":"impl !Send for ExprYield","synthetic":true,"types":[]},{"text":"impl !Send for Member","synthetic":true,"types":[]},{"text":"impl !Send for Index","synthetic":true,"types":[]},{"text":"impl !Send for Generics","synthetic":true,"types":[]},{"text":"impl !Send for GenericParam","synthetic":true,"types":[]},{"text":"impl !Send for TypeParam","synthetic":true,"types":[]},{"text":"impl !Send for LifetimeDef","synthetic":true,"types":[]},{"text":"impl !Send for ConstParam","synthetic":true,"types":[]},{"text":"impl<'a> !Send for ImplGenerics<'a>","synthetic":true,"types":[]},{"text":"impl<'a> !Send for TypeGenerics<'a>","synthetic":true,"types":[]},{"text":"impl<'a> !Send for Turbofish<'a>","synthetic":true,"types":[]},{"text":"impl !Send for BoundLifetimes","synthetic":true,"types":[]},{"text":"impl !Send for TypeParamBound","synthetic":true,"types":[]},{"text":"impl !Send for TraitBound","synthetic":true,"types":[]},{"text":"impl !Send for TraitBoundModifier","synthetic":true,"types":[]},{"text":"impl !Send for WhereClause","synthetic":true,"types":[]},{"text":"impl !Send for WherePredicate","synthetic":true,"types":[]},{"text":"impl !Send for PredicateType","synthetic":true,"types":[]},{"text":"impl !Send for PredicateLifetime","synthetic":true,"types":[]},{"text":"impl !Send for PredicateEq","synthetic":true,"types":[]},{"text":"impl !Send for Lifetime","synthetic":true,"types":[]},{"text":"impl !Send for Lit","synthetic":true,"types":[]},{"text":"impl !Send for LitStr","synthetic":true,"types":[]},{"text":"impl !Send for LitByteStr","synthetic":true,"types":[]},{"text":"impl !Send for LitByte","synthetic":true,"types":[]},{"text":"impl !Send for LitChar","synthetic":true,"types":[]},{"text":"impl !Send for LitInt","synthetic":true,"types":[]},{"text":"impl !Send for LitFloat","synthetic":true,"types":[]},{"text":"impl !Send for LitBool","synthetic":true,"types":[]},{"text":"impl Send for StrStyle","synthetic":true,"types":[]},{"text":"impl !Send for Macro","synthetic":true,"types":[]},{"text":"impl !Send for MacroDelimiter","synthetic":true,"types":[]},{"text":"impl !Send for DeriveInput","synthetic":true,"types":[]},{"text":"impl !Send for Data","synthetic":true,"types":[]},{"text":"impl !Send for DataStruct","synthetic":true,"types":[]},{"text":"impl !Send for DataEnum","synthetic":true,"types":[]},{"text":"impl !Send for DataUnion","synthetic":true,"types":[]},{"text":"impl !Send for BinOp","synthetic":true,"types":[]},{"text":"impl !Send for UnOp","synthetic":true,"types":[]},{"text":"impl !Send for Type","synthetic":true,"types":[]},{"text":"impl !Send for TypeArray","synthetic":true,"types":[]},{"text":"impl !Send for TypeBareFn","synthetic":true,"types":[]},{"text":"impl !Send for TypeGroup","synthetic":true,"types":[]},{"text":"impl !Send for TypeImplTrait","synthetic":true,"types":[]},{"text":"impl !Send for TypeInfer","synthetic":true,"types":[]},{"text":"impl !Send for TypeMacro","synthetic":true,"types":[]},{"text":"impl !Send for TypeNever","synthetic":true,"types":[]},{"text":"impl !Send for TypeParen","synthetic":true,"types":[]},{"text":"impl !Send for TypePath","synthetic":true,"types":[]},{"text":"impl !Send for TypePtr","synthetic":true,"types":[]},{"text":"impl !Send for TypeReference","synthetic":true,"types":[]},{"text":"impl !Send for TypeSlice","synthetic":true,"types":[]},{"text":"impl !Send for TypeTraitObject","synthetic":true,"types":[]},{"text":"impl !Send for TypeTuple","synthetic":true,"types":[]},{"text":"impl !Send for Abi","synthetic":true,"types":[]},{"text":"impl !Send for BareFnArg","synthetic":true,"types":[]},{"text":"impl !Send for Variadic","synthetic":true,"types":[]},{"text":"impl !Send for ReturnType","synthetic":true,"types":[]},{"text":"impl !Send for Path","synthetic":true,"types":[]},{"text":"impl !Send for PathSegment","synthetic":true,"types":[]},{"text":"impl !Send for PathArguments","synthetic":true,"types":[]},{"text":"impl !Send for GenericArgument","synthetic":true,"types":[]},{"text":"impl !Send for AngleBracketedGenericArguments","synthetic":true,"types":[]},{"text":"impl !Send for Binding","synthetic":true,"types":[]},{"text":"impl !Send for Constraint","synthetic":true,"types":[]},{"text":"impl !Send for ParenthesizedGenericArguments","synthetic":true,"types":[]},{"text":"impl !Send for QSelf","synthetic":true,"types":[]},{"text":"impl !Send for TokenBuffer","synthetic":true,"types":[]},{"text":"impl<'a> !Send for Cursor<'a>","synthetic":true,"types":[]},{"text":"impl<T, P> Send for Punctuated<T, P> where
    P: Send,
    T: Send, 
","synthetic":true,"types":[]},{"text":"impl<'a, T, P> Send for Pairs<'a, T, P> where
    P: Sync,
    T: Sync, 
","synthetic":true,"types":[]},{"text":"impl<'a, T, P> Send for PairsMut<'a, T, P> where
    P: Send,
    T: Send, 
","synthetic":true,"types":[]},{"text":"impl<T, P> Send for IntoPairs<T, P> where
    P: Send,
    T: Send, 
","synthetic":true,"types":[]},{"text":"impl<T> Send for IntoIter<T> where
    T: Send, 
","synthetic":true,"types":[]},{"text":"impl<'a, T> !Send for Iter<'a, T>","synthetic":true,"types":[]},{"text":"impl<'a, T> !Send for IterMut<'a, T>","synthetic":true,"types":[]},{"text":"impl<T, P> Send for Pair<T, P> where
    P: Send,
    T: Send, 
","synthetic":true,"types":[]},{"text":"impl<'a> !Send for Lookahead1<'a>","synthetic":true,"types":[]},{"text":"impl Send for Error","synthetic":true,"types":[]},{"text":"impl<'a> !Send for ParseBuffer<'a>","synthetic":true,"types":[]},{"text":"impl<'c, 'a> !Send for StepCursor<'c, 'a>","synthetic":true,"types":[]},{"text":"impl Send for Nothing","synthetic":true,"types":[]}]; implementors["synstructure"] = [{"text":"impl Send for AddBounds","synthetic":true,"types":[]},{"text":"impl Send for BindStyle","synthetic":true,"types":[]},{"text":"impl<'a> !Send for BindingInfo<'a>","synthetic":true,"types":[]},{"text":"impl<'a> !Send for VariantAst<'a>","synthetic":true,"types":[]},{"text":"impl<'a> !Send for VariantInfo<'a>","synthetic":true,"types":[]},{"text":"impl<'a> !Send for Structure<'a>","synthetic":true,"types":[]}]; diff --git a/implementors/core/marker/trait.StructuralEq.js b/implementors/core/marker/trait.StructuralEq.js index 030f95d..91a72da 100644 --- a/implementors/core/marker/trait.StructuralEq.js +++ b/implementors/core/marker/trait.StructuralEq.js @@ -1,5 +1,6 @@ (function() {var implementors = {}; implementors["flexiber"] = [{"text":"impl StructuralEq for Error","synthetic":false,"types":[]},{"text":"impl StructuralEq for ErrorKind","synthetic":false,"types":[]},{"text":"impl StructuralEq for Length","synthetic":false,"types":[]},{"text":"impl StructuralEq for SimpleTag","synthetic":false,"types":[]},{"text":"impl<'a> StructuralEq for Slice<'a>","synthetic":false,"types":[]},{"text":"impl StructuralEq for Class","synthetic":false,"types":[]},{"text":"impl StructuralEq for Tag","synthetic":false,"types":[]},{"text":"impl<V, T> StructuralEq for TaggedValue<V, T>","synthetic":false,"types":[]}]; +implementors["log"] = [{"text":"impl StructuralEq for Level","synthetic":false,"types":[]},{"text":"impl StructuralEq for LevelFilter","synthetic":false,"types":[]},{"text":"impl<'a> StructuralEq for Metadata<'a>","synthetic":false,"types":[]},{"text":"impl<'a> StructuralEq for MetadataBuilder<'a>","synthetic":false,"types":[]}]; implementors["proc_macro2"] = [{"text":"impl StructuralEq for Delimiter","synthetic":false,"types":[]},{"text":"impl StructuralEq for Spacing","synthetic":false,"types":[]}]; implementors["synstructure"] = [{"text":"impl StructuralEq for AddBounds","synthetic":false,"types":[]},{"text":"impl StructuralEq for BindStyle","synthetic":false,"types":[]},{"text":"impl<'a> StructuralEq for BindingInfo<'a>","synthetic":false,"types":[]},{"text":"impl<'a> StructuralEq for VariantAst<'a>","synthetic":false,"types":[]},{"text":"impl<'a> StructuralEq for VariantInfo<'a>","synthetic":false,"types":[]},{"text":"impl<'a> StructuralEq for Structure<'a>","synthetic":false,"types":[]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.StructuralPartialEq.js b/implementors/core/marker/trait.StructuralPartialEq.js index 7409f61..442bab5 100644 --- a/implementors/core/marker/trait.StructuralPartialEq.js +++ b/implementors/core/marker/trait.StructuralPartialEq.js @@ -1,5 +1,6 @@ (function() {var implementors = {}; implementors["flexiber"] = [{"text":"impl StructuralPartialEq for Error","synthetic":false,"types":[]},{"text":"impl StructuralPartialEq for ErrorKind","synthetic":false,"types":[]},{"text":"impl StructuralPartialEq for Length","synthetic":false,"types":[]},{"text":"impl StructuralPartialEq for SimpleTag","synthetic":false,"types":[]},{"text":"impl<'a> StructuralPartialEq for Slice<'a>","synthetic":false,"types":[]},{"text":"impl StructuralPartialEq for Class","synthetic":false,"types":[]},{"text":"impl StructuralPartialEq for Tag","synthetic":false,"types":[]},{"text":"impl<V, T> StructuralPartialEq for TaggedValue<V, T>","synthetic":false,"types":[]}]; +implementors["log"] = [{"text":"impl<'a> StructuralPartialEq for Metadata<'a>","synthetic":false,"types":[]},{"text":"impl<'a> StructuralPartialEq for MetadataBuilder<'a>","synthetic":false,"types":[]},{"text":"impl StructuralPartialEq for ParseLevelError","synthetic":false,"types":[]}]; implementors["proc_macro2"] = [{"text":"impl StructuralPartialEq for Delimiter","synthetic":false,"types":[]},{"text":"impl StructuralPartialEq for Spacing","synthetic":false,"types":[]}]; implementors["synstructure"] = [{"text":"impl StructuralPartialEq for AddBounds","synthetic":false,"types":[]},{"text":"impl StructuralPartialEq for BindStyle","synthetic":false,"types":[]},{"text":"impl<'a> StructuralPartialEq for BindingInfo<'a>","synthetic":false,"types":[]},{"text":"impl<'a> StructuralPartialEq for VariantAst<'a>","synthetic":false,"types":[]},{"text":"impl<'a> StructuralPartialEq for VariantInfo<'a>","synthetic":false,"types":[]},{"text":"impl<'a> StructuralPartialEq for Structure<'a>","synthetic":false,"types":[]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Sync.js b/implementors/core/marker/trait.Sync.js index defb799..02e8c4b 100644 --- a/implementors/core/marker/trait.Sync.js +++ b/implementors/core/marker/trait.Sync.js @@ -1,5 +1,7 @@ (function() {var implementors = {}; +implementors["delog"] = [{"text":"impl Sync for U1","synthetic":true,"types":[]},{"text":"impl<'a, T: ?Sized, U, S> Sync for HexStr<'a, T, U, S> where
    S: Sync,
    T: Sync,
    U: Sync, 
","synthetic":true,"types":[]},{"text":"impl Sync for Statistics","synthetic":true,"types":[]},{"text":"impl Sync for RipgrepRenderer","synthetic":true,"types":[]},{"text":"impl Sync for DefaultRenderer","synthetic":false,"types":[]}]; implementors["flexiber"] = [{"text":"impl<'a> Sync for Decoder<'a>","synthetic":true,"types":[]},{"text":"impl<'a> Sync for Encoder<'a>","synthetic":true,"types":[]},{"text":"impl Sync for Error","synthetic":true,"types":[]},{"text":"impl Sync for ErrorKind","synthetic":true,"types":[]},{"text":"impl Sync for Length","synthetic":true,"types":[]},{"text":"impl Sync for SimpleTag","synthetic":true,"types":[]},{"text":"impl<'a> Sync for Slice<'a>","synthetic":true,"types":[]},{"text":"impl Sync for Class","synthetic":true,"types":[]},{"text":"impl Sync for Tag","synthetic":true,"types":[]},{"text":"impl<V, T> Sync for TaggedValue<V, T> where
    T: Sync,
    V: Sync, 
","synthetic":true,"types":[]}]; +implementors["log"] = [{"text":"impl Sync for Level","synthetic":true,"types":[]},{"text":"impl Sync for LevelFilter","synthetic":true,"types":[]},{"text":"impl<'a> !Sync for Record<'a>","synthetic":true,"types":[]},{"text":"impl<'a> !Sync for RecordBuilder<'a>","synthetic":true,"types":[]},{"text":"impl<'a> Sync for Metadata<'a>","synthetic":true,"types":[]},{"text":"impl<'a> Sync for MetadataBuilder<'a>","synthetic":true,"types":[]},{"text":"impl Sync for SetLoggerError","synthetic":true,"types":[]},{"text":"impl Sync for ParseLevelError","synthetic":true,"types":[]}]; implementors["proc_macro2"] = [{"text":"impl !Sync for IntoIter","synthetic":true,"types":[]},{"text":"impl !Sync for TokenStream","synthetic":true,"types":[]},{"text":"impl !Sync for LexError","synthetic":true,"types":[]},{"text":"impl !Sync for Span","synthetic":true,"types":[]},{"text":"impl !Sync for TokenTree","synthetic":true,"types":[]},{"text":"impl !Sync for Group","synthetic":true,"types":[]},{"text":"impl Sync for Delimiter","synthetic":true,"types":[]},{"text":"impl !Sync for Punct","synthetic":true,"types":[]},{"text":"impl Sync for Spacing","synthetic":true,"types":[]},{"text":"impl !Sync for Ident","synthetic":true,"types":[]},{"text":"impl !Sync for Literal","synthetic":true,"types":[]}]; implementors["syn"] = [{"text":"impl !Sync for Underscore","synthetic":true,"types":[]},{"text":"impl !Sync for Abstract","synthetic":true,"types":[]},{"text":"impl !Sync for As","synthetic":true,"types":[]},{"text":"impl !Sync for Async","synthetic":true,"types":[]},{"text":"impl !Sync for Auto","synthetic":true,"types":[]},{"text":"impl !Sync for Await","synthetic":true,"types":[]},{"text":"impl !Sync for Become","synthetic":true,"types":[]},{"text":"impl !Sync for Box","synthetic":true,"types":[]},{"text":"impl !Sync for Break","synthetic":true,"types":[]},{"text":"impl !Sync for Const","synthetic":true,"types":[]},{"text":"impl !Sync for Continue","synthetic":true,"types":[]},{"text":"impl !Sync for Crate","synthetic":true,"types":[]},{"text":"impl !Sync for Default","synthetic":true,"types":[]},{"text":"impl !Sync for Do","synthetic":true,"types":[]},{"text":"impl !Sync for Dyn","synthetic":true,"types":[]},{"text":"impl !Sync for Else","synthetic":true,"types":[]},{"text":"impl !Sync for Enum","synthetic":true,"types":[]},{"text":"impl !Sync for Extern","synthetic":true,"types":[]},{"text":"impl !Sync for Final","synthetic":true,"types":[]},{"text":"impl !Sync for Fn","synthetic":true,"types":[]},{"text":"impl !Sync for For","synthetic":true,"types":[]},{"text":"impl !Sync for If","synthetic":true,"types":[]},{"text":"impl !Sync for Impl","synthetic":true,"types":[]},{"text":"impl !Sync for In","synthetic":true,"types":[]},{"text":"impl !Sync for Let","synthetic":true,"types":[]},{"text":"impl !Sync for Loop","synthetic":true,"types":[]},{"text":"impl !Sync for Macro","synthetic":true,"types":[]},{"text":"impl !Sync for Match","synthetic":true,"types":[]},{"text":"impl !Sync for Mod","synthetic":true,"types":[]},{"text":"impl !Sync for Move","synthetic":true,"types":[]},{"text":"impl !Sync for Mut","synthetic":true,"types":[]},{"text":"impl !Sync for Override","synthetic":true,"types":[]},{"text":"impl !Sync for Priv","synthetic":true,"types":[]},{"text":"impl !Sync for Pub","synthetic":true,"types":[]},{"text":"impl !Sync for Ref","synthetic":true,"types":[]},{"text":"impl !Sync for Return","synthetic":true,"types":[]},{"text":"impl !Sync for SelfType","synthetic":true,"types":[]},{"text":"impl !Sync for SelfValue","synthetic":true,"types":[]},{"text":"impl !Sync for Static","synthetic":true,"types":[]},{"text":"impl !Sync for Struct","synthetic":true,"types":[]},{"text":"impl !Sync for Super","synthetic":true,"types":[]},{"text":"impl !Sync for Trait","synthetic":true,"types":[]},{"text":"impl !Sync for Try","synthetic":true,"types":[]},{"text":"impl !Sync for Type","synthetic":true,"types":[]},{"text":"impl !Sync for Typeof","synthetic":true,"types":[]},{"text":"impl !Sync for Union","synthetic":true,"types":[]},{"text":"impl !Sync for Unsafe","synthetic":true,"types":[]},{"text":"impl !Sync for Unsized","synthetic":true,"types":[]},{"text":"impl !Sync for Use","synthetic":true,"types":[]},{"text":"impl !Sync for Virtual","synthetic":true,"types":[]},{"text":"impl !Sync for Where","synthetic":true,"types":[]},{"text":"impl !Sync for While","synthetic":true,"types":[]},{"text":"impl !Sync for Yield","synthetic":true,"types":[]},{"text":"impl !Sync for Add","synthetic":true,"types":[]},{"text":"impl !Sync for AddEq","synthetic":true,"types":[]},{"text":"impl !Sync for And","synthetic":true,"types":[]},{"text":"impl !Sync for AndAnd","synthetic":true,"types":[]},{"text":"impl !Sync for AndEq","synthetic":true,"types":[]},{"text":"impl !Sync for At","synthetic":true,"types":[]},{"text":"impl !Sync for Bang","synthetic":true,"types":[]},{"text":"impl !Sync for Caret","synthetic":true,"types":[]},{"text":"impl !Sync for CaretEq","synthetic":true,"types":[]},{"text":"impl !Sync for Colon","synthetic":true,"types":[]},{"text":"impl !Sync for Colon2","synthetic":true,"types":[]},{"text":"impl !Sync for Comma","synthetic":true,"types":[]},{"text":"impl !Sync for Div","synthetic":true,"types":[]},{"text":"impl !Sync for DivEq","synthetic":true,"types":[]},{"text":"impl !Sync for Dollar","synthetic":true,"types":[]},{"text":"impl !Sync for Dot","synthetic":true,"types":[]},{"text":"impl !Sync for Dot2","synthetic":true,"types":[]},{"text":"impl !Sync for Dot3","synthetic":true,"types":[]},{"text":"impl !Sync for DotDotEq","synthetic":true,"types":[]},{"text":"impl !Sync for Eq","synthetic":true,"types":[]},{"text":"impl !Sync for EqEq","synthetic":true,"types":[]},{"text":"impl !Sync for Ge","synthetic":true,"types":[]},{"text":"impl !Sync for Gt","synthetic":true,"types":[]},{"text":"impl !Sync for Le","synthetic":true,"types":[]},{"text":"impl !Sync for Lt","synthetic":true,"types":[]},{"text":"impl !Sync for MulEq","synthetic":true,"types":[]},{"text":"impl !Sync for Ne","synthetic":true,"types":[]},{"text":"impl !Sync for Or","synthetic":true,"types":[]},{"text":"impl !Sync for OrEq","synthetic":true,"types":[]},{"text":"impl !Sync for OrOr","synthetic":true,"types":[]},{"text":"impl !Sync for Pound","synthetic":true,"types":[]},{"text":"impl !Sync for Question","synthetic":true,"types":[]},{"text":"impl !Sync for RArrow","synthetic":true,"types":[]},{"text":"impl !Sync for LArrow","synthetic":true,"types":[]},{"text":"impl !Sync for Rem","synthetic":true,"types":[]},{"text":"impl !Sync for RemEq","synthetic":true,"types":[]},{"text":"impl !Sync for FatArrow","synthetic":true,"types":[]},{"text":"impl !Sync for Semi","synthetic":true,"types":[]},{"text":"impl !Sync for Shl","synthetic":true,"types":[]},{"text":"impl !Sync for ShlEq","synthetic":true,"types":[]},{"text":"impl !Sync for Shr","synthetic":true,"types":[]},{"text":"impl !Sync for ShrEq","synthetic":true,"types":[]},{"text":"impl !Sync for Star","synthetic":true,"types":[]},{"text":"impl !Sync for Sub","synthetic":true,"types":[]},{"text":"impl !Sync for SubEq","synthetic":true,"types":[]},{"text":"impl !Sync for Tilde","synthetic":true,"types":[]},{"text":"impl !Sync for Brace","synthetic":true,"types":[]},{"text":"impl !Sync for Bracket","synthetic":true,"types":[]},{"text":"impl !Sync for Paren","synthetic":true,"types":[]},{"text":"impl !Sync for Group","synthetic":true,"types":[]},{"text":"impl !Sync for Attribute","synthetic":true,"types":[]},{"text":"impl !Sync for AttrStyle","synthetic":true,"types":[]},{"text":"impl !Sync for Meta","synthetic":true,"types":[]},{"text":"impl !Sync for MetaList","synthetic":true,"types":[]},{"text":"impl !Sync for MetaNameValue","synthetic":true,"types":[]},{"text":"impl !Sync for NestedMeta","synthetic":true,"types":[]},{"text":"impl !Sync for Variant","synthetic":true,"types":[]},{"text":"impl !Sync for Fields","synthetic":true,"types":[]},{"text":"impl !Sync for FieldsNamed","synthetic":true,"types":[]},{"text":"impl !Sync for FieldsUnnamed","synthetic":true,"types":[]},{"text":"impl !Sync for Field","synthetic":true,"types":[]},{"text":"impl !Sync for Visibility","synthetic":true,"types":[]},{"text":"impl !Sync for VisPublic","synthetic":true,"types":[]},{"text":"impl !Sync for VisCrate","synthetic":true,"types":[]},{"text":"impl !Sync for VisRestricted","synthetic":true,"types":[]},{"text":"impl !Sync for Expr","synthetic":true,"types":[]},{"text":"impl !Sync for ExprArray","synthetic":true,"types":[]},{"text":"impl !Sync for ExprAssign","synthetic":true,"types":[]},{"text":"impl !Sync for ExprAssignOp","synthetic":true,"types":[]},{"text":"impl !Sync for ExprAsync","synthetic":true,"types":[]},{"text":"impl !Sync for ExprAwait","synthetic":true,"types":[]},{"text":"impl !Sync for ExprBinary","synthetic":true,"types":[]},{"text":"impl !Sync for ExprBlock","synthetic":true,"types":[]},{"text":"impl !Sync for ExprBox","synthetic":true,"types":[]},{"text":"impl !Sync for ExprBreak","synthetic":true,"types":[]},{"text":"impl !Sync for ExprCall","synthetic":true,"types":[]},{"text":"impl !Sync for ExprCast","synthetic":true,"types":[]},{"text":"impl !Sync for ExprClosure","synthetic":true,"types":[]},{"text":"impl !Sync for ExprContinue","synthetic":true,"types":[]},{"text":"impl !Sync for ExprField","synthetic":true,"types":[]},{"text":"impl !Sync for ExprForLoop","synthetic":true,"types":[]},{"text":"impl !Sync for ExprGroup","synthetic":true,"types":[]},{"text":"impl !Sync for ExprIf","synthetic":true,"types":[]},{"text":"impl !Sync for ExprIndex","synthetic":true,"types":[]},{"text":"impl !Sync for ExprLet","synthetic":true,"types":[]},{"text":"impl !Sync for ExprLit","synthetic":true,"types":[]},{"text":"impl !Sync for ExprLoop","synthetic":true,"types":[]},{"text":"impl !Sync for ExprMacro","synthetic":true,"types":[]},{"text":"impl !Sync for ExprMatch","synthetic":true,"types":[]},{"text":"impl !Sync for ExprMethodCall","synthetic":true,"types":[]},{"text":"impl !Sync for ExprParen","synthetic":true,"types":[]},{"text":"impl !Sync for ExprPath","synthetic":true,"types":[]},{"text":"impl !Sync for ExprRange","synthetic":true,"types":[]},{"text":"impl !Sync for ExprReference","synthetic":true,"types":[]},{"text":"impl !Sync for ExprRepeat","synthetic":true,"types":[]},{"text":"impl !Sync for ExprReturn","synthetic":true,"types":[]},{"text":"impl !Sync for ExprStruct","synthetic":true,"types":[]},{"text":"impl !Sync for ExprTry","synthetic":true,"types":[]},{"text":"impl !Sync for ExprTryBlock","synthetic":true,"types":[]},{"text":"impl !Sync for ExprTuple","synthetic":true,"types":[]},{"text":"impl !Sync for ExprType","synthetic":true,"types":[]},{"text":"impl !Sync for ExprUnary","synthetic":true,"types":[]},{"text":"impl !Sync for ExprUnsafe","synthetic":true,"types":[]},{"text":"impl !Sync for ExprWhile","synthetic":true,"types":[]},{"text":"impl !Sync for ExprYield","synthetic":true,"types":[]},{"text":"impl !Sync for Member","synthetic":true,"types":[]},{"text":"impl !Sync for Index","synthetic":true,"types":[]},{"text":"impl !Sync for Generics","synthetic":true,"types":[]},{"text":"impl !Sync for GenericParam","synthetic":true,"types":[]},{"text":"impl !Sync for TypeParam","synthetic":true,"types":[]},{"text":"impl !Sync for LifetimeDef","synthetic":true,"types":[]},{"text":"impl !Sync for ConstParam","synthetic":true,"types":[]},{"text":"impl<'a> !Sync for ImplGenerics<'a>","synthetic":true,"types":[]},{"text":"impl<'a> !Sync for TypeGenerics<'a>","synthetic":true,"types":[]},{"text":"impl<'a> !Sync for Turbofish<'a>","synthetic":true,"types":[]},{"text":"impl !Sync for BoundLifetimes","synthetic":true,"types":[]},{"text":"impl !Sync for TypeParamBound","synthetic":true,"types":[]},{"text":"impl !Sync for TraitBound","synthetic":true,"types":[]},{"text":"impl !Sync for TraitBoundModifier","synthetic":true,"types":[]},{"text":"impl !Sync for WhereClause","synthetic":true,"types":[]},{"text":"impl !Sync for WherePredicate","synthetic":true,"types":[]},{"text":"impl !Sync for PredicateType","synthetic":true,"types":[]},{"text":"impl !Sync for PredicateLifetime","synthetic":true,"types":[]},{"text":"impl !Sync for PredicateEq","synthetic":true,"types":[]},{"text":"impl !Sync for Lifetime","synthetic":true,"types":[]},{"text":"impl !Sync for Lit","synthetic":true,"types":[]},{"text":"impl !Sync for LitStr","synthetic":true,"types":[]},{"text":"impl !Sync for LitByteStr","synthetic":true,"types":[]},{"text":"impl !Sync for LitByte","synthetic":true,"types":[]},{"text":"impl !Sync for LitChar","synthetic":true,"types":[]},{"text":"impl !Sync for LitInt","synthetic":true,"types":[]},{"text":"impl !Sync for LitFloat","synthetic":true,"types":[]},{"text":"impl !Sync for LitBool","synthetic":true,"types":[]},{"text":"impl Sync for StrStyle","synthetic":true,"types":[]},{"text":"impl !Sync for Macro","synthetic":true,"types":[]},{"text":"impl !Sync for MacroDelimiter","synthetic":true,"types":[]},{"text":"impl !Sync for DeriveInput","synthetic":true,"types":[]},{"text":"impl !Sync for Data","synthetic":true,"types":[]},{"text":"impl !Sync for DataStruct","synthetic":true,"types":[]},{"text":"impl !Sync for DataEnum","synthetic":true,"types":[]},{"text":"impl !Sync for DataUnion","synthetic":true,"types":[]},{"text":"impl !Sync for BinOp","synthetic":true,"types":[]},{"text":"impl !Sync for UnOp","synthetic":true,"types":[]},{"text":"impl !Sync for Type","synthetic":true,"types":[]},{"text":"impl !Sync for TypeArray","synthetic":true,"types":[]},{"text":"impl !Sync for TypeBareFn","synthetic":true,"types":[]},{"text":"impl !Sync for TypeGroup","synthetic":true,"types":[]},{"text":"impl !Sync for TypeImplTrait","synthetic":true,"types":[]},{"text":"impl !Sync for TypeInfer","synthetic":true,"types":[]},{"text":"impl !Sync for TypeMacro","synthetic":true,"types":[]},{"text":"impl !Sync for TypeNever","synthetic":true,"types":[]},{"text":"impl !Sync for TypeParen","synthetic":true,"types":[]},{"text":"impl !Sync for TypePath","synthetic":true,"types":[]},{"text":"impl !Sync for TypePtr","synthetic":true,"types":[]},{"text":"impl !Sync for TypeReference","synthetic":true,"types":[]},{"text":"impl !Sync for TypeSlice","synthetic":true,"types":[]},{"text":"impl !Sync for TypeTraitObject","synthetic":true,"types":[]},{"text":"impl !Sync for TypeTuple","synthetic":true,"types":[]},{"text":"impl !Sync for Abi","synthetic":true,"types":[]},{"text":"impl !Sync for BareFnArg","synthetic":true,"types":[]},{"text":"impl !Sync for Variadic","synthetic":true,"types":[]},{"text":"impl !Sync for ReturnType","synthetic":true,"types":[]},{"text":"impl !Sync for Path","synthetic":true,"types":[]},{"text":"impl !Sync for PathSegment","synthetic":true,"types":[]},{"text":"impl !Sync for PathArguments","synthetic":true,"types":[]},{"text":"impl !Sync for GenericArgument","synthetic":true,"types":[]},{"text":"impl !Sync for AngleBracketedGenericArguments","synthetic":true,"types":[]},{"text":"impl !Sync for Binding","synthetic":true,"types":[]},{"text":"impl !Sync for Constraint","synthetic":true,"types":[]},{"text":"impl !Sync for ParenthesizedGenericArguments","synthetic":true,"types":[]},{"text":"impl !Sync for QSelf","synthetic":true,"types":[]},{"text":"impl !Sync for TokenBuffer","synthetic":true,"types":[]},{"text":"impl<'a> !Sync for Cursor<'a>","synthetic":true,"types":[]},{"text":"impl<T, P> Sync for Punctuated<T, P> where
    P: Sync,
    T: Sync, 
","synthetic":true,"types":[]},{"text":"impl<'a, T, P> Sync for Pairs<'a, T, P> where
    P: Sync,
    T: Sync, 
","synthetic":true,"types":[]},{"text":"impl<'a, T, P> Sync for PairsMut<'a, T, P> where
    P: Sync,
    T: Sync, 
","synthetic":true,"types":[]},{"text":"impl<T, P> Sync for IntoPairs<T, P> where
    P: Sync,
    T: Sync, 
","synthetic":true,"types":[]},{"text":"impl<T> Sync for IntoIter<T> where
    T: Sync, 
","synthetic":true,"types":[]},{"text":"impl<'a, T> !Sync for Iter<'a, T>","synthetic":true,"types":[]},{"text":"impl<'a, T> !Sync for IterMut<'a, T>","synthetic":true,"types":[]},{"text":"impl<T, P> Sync for Pair<T, P> where
    P: Sync,
    T: Sync, 
","synthetic":true,"types":[]},{"text":"impl<'a> !Sync for Lookahead1<'a>","synthetic":true,"types":[]},{"text":"impl Sync for Error","synthetic":true,"types":[]},{"text":"impl<'a> !Sync for ParseBuffer<'a>","synthetic":true,"types":[]},{"text":"impl<'c, 'a> !Sync for StepCursor<'c, 'a>","synthetic":true,"types":[]},{"text":"impl Sync for Nothing","synthetic":true,"types":[]}]; implementors["synstructure"] = [{"text":"impl Sync for AddBounds","synthetic":true,"types":[]},{"text":"impl Sync for BindStyle","synthetic":true,"types":[]},{"text":"impl<'a> !Sync for BindingInfo<'a>","synthetic":true,"types":[]},{"text":"impl<'a> !Sync for VariantAst<'a>","synthetic":true,"types":[]},{"text":"impl<'a> !Sync for VariantInfo<'a>","synthetic":true,"types":[]},{"text":"impl<'a> !Sync for Structure<'a>","synthetic":true,"types":[]}]; diff --git a/implementors/core/marker/trait.Unpin.js b/implementors/core/marker/trait.Unpin.js index bba6046..63f95b0 100644 --- a/implementors/core/marker/trait.Unpin.js +++ b/implementors/core/marker/trait.Unpin.js @@ -1,5 +1,7 @@ (function() {var implementors = {}; +implementors["delog"] = [{"text":"impl Unpin for U1","synthetic":true,"types":[]},{"text":"impl<'a, T: ?Sized, U, S> Unpin for HexStr<'a, T, U, S> where
    S: Unpin,
    U: Unpin, 
","synthetic":true,"types":[]},{"text":"impl Unpin for Statistics","synthetic":true,"types":[]},{"text":"impl Unpin for DefaultRenderer","synthetic":true,"types":[]},{"text":"impl Unpin for RipgrepRenderer","synthetic":true,"types":[]}]; implementors["flexiber"] = [{"text":"impl<'a> Unpin for Decoder<'a>","synthetic":true,"types":[]},{"text":"impl<'a> Unpin for Encoder<'a>","synthetic":true,"types":[]},{"text":"impl Unpin for Error","synthetic":true,"types":[]},{"text":"impl Unpin for ErrorKind","synthetic":true,"types":[]},{"text":"impl Unpin for Length","synthetic":true,"types":[]},{"text":"impl Unpin for SimpleTag","synthetic":true,"types":[]},{"text":"impl<'a> Unpin for Slice<'a>","synthetic":true,"types":[]},{"text":"impl Unpin for Class","synthetic":true,"types":[]},{"text":"impl Unpin for Tag","synthetic":true,"types":[]},{"text":"impl<V, T> Unpin for TaggedValue<V, T> where
    T: Unpin,
    V: Unpin, 
","synthetic":true,"types":[]}]; +implementors["log"] = [{"text":"impl Unpin for Level","synthetic":true,"types":[]},{"text":"impl Unpin for LevelFilter","synthetic":true,"types":[]},{"text":"impl<'a> Unpin for Record<'a>","synthetic":true,"types":[]},{"text":"impl<'a> Unpin for RecordBuilder<'a>","synthetic":true,"types":[]},{"text":"impl<'a> Unpin for Metadata<'a>","synthetic":true,"types":[]},{"text":"impl<'a> Unpin for MetadataBuilder<'a>","synthetic":true,"types":[]},{"text":"impl Unpin for SetLoggerError","synthetic":true,"types":[]},{"text":"impl Unpin for ParseLevelError","synthetic":true,"types":[]}]; implementors["proc_macro2"] = [{"text":"impl Unpin for IntoIter","synthetic":true,"types":[]},{"text":"impl Unpin for TokenStream","synthetic":true,"types":[]},{"text":"impl Unpin for LexError","synthetic":true,"types":[]},{"text":"impl Unpin for Span","synthetic":true,"types":[]},{"text":"impl Unpin for TokenTree","synthetic":true,"types":[]},{"text":"impl Unpin for Group","synthetic":true,"types":[]},{"text":"impl Unpin for Delimiter","synthetic":true,"types":[]},{"text":"impl Unpin for Punct","synthetic":true,"types":[]},{"text":"impl Unpin for Spacing","synthetic":true,"types":[]},{"text":"impl Unpin for Ident","synthetic":true,"types":[]},{"text":"impl Unpin for Literal","synthetic":true,"types":[]}]; implementors["syn"] = [{"text":"impl Unpin for Underscore","synthetic":true,"types":[]},{"text":"impl Unpin for Abstract","synthetic":true,"types":[]},{"text":"impl Unpin for As","synthetic":true,"types":[]},{"text":"impl Unpin for Async","synthetic":true,"types":[]},{"text":"impl Unpin for Auto","synthetic":true,"types":[]},{"text":"impl Unpin for Await","synthetic":true,"types":[]},{"text":"impl Unpin for Become","synthetic":true,"types":[]},{"text":"impl Unpin for Box","synthetic":true,"types":[]},{"text":"impl Unpin for Break","synthetic":true,"types":[]},{"text":"impl Unpin for Const","synthetic":true,"types":[]},{"text":"impl Unpin for Continue","synthetic":true,"types":[]},{"text":"impl Unpin for Crate","synthetic":true,"types":[]},{"text":"impl Unpin for Default","synthetic":true,"types":[]},{"text":"impl Unpin for Do","synthetic":true,"types":[]},{"text":"impl Unpin for Dyn","synthetic":true,"types":[]},{"text":"impl Unpin for Else","synthetic":true,"types":[]},{"text":"impl Unpin for Enum","synthetic":true,"types":[]},{"text":"impl Unpin for Extern","synthetic":true,"types":[]},{"text":"impl Unpin for Final","synthetic":true,"types":[]},{"text":"impl Unpin for Fn","synthetic":true,"types":[]},{"text":"impl Unpin for For","synthetic":true,"types":[]},{"text":"impl Unpin for If","synthetic":true,"types":[]},{"text":"impl Unpin for Impl","synthetic":true,"types":[]},{"text":"impl Unpin for In","synthetic":true,"types":[]},{"text":"impl Unpin for Let","synthetic":true,"types":[]},{"text":"impl Unpin for Loop","synthetic":true,"types":[]},{"text":"impl Unpin for Macro","synthetic":true,"types":[]},{"text":"impl Unpin for Match","synthetic":true,"types":[]},{"text":"impl Unpin for Mod","synthetic":true,"types":[]},{"text":"impl Unpin for Move","synthetic":true,"types":[]},{"text":"impl Unpin for Mut","synthetic":true,"types":[]},{"text":"impl Unpin for Override","synthetic":true,"types":[]},{"text":"impl Unpin for Priv","synthetic":true,"types":[]},{"text":"impl Unpin for Pub","synthetic":true,"types":[]},{"text":"impl Unpin for Ref","synthetic":true,"types":[]},{"text":"impl Unpin for Return","synthetic":true,"types":[]},{"text":"impl Unpin for SelfType","synthetic":true,"types":[]},{"text":"impl Unpin for SelfValue","synthetic":true,"types":[]},{"text":"impl Unpin for Static","synthetic":true,"types":[]},{"text":"impl Unpin for Struct","synthetic":true,"types":[]},{"text":"impl Unpin for Super","synthetic":true,"types":[]},{"text":"impl Unpin for Trait","synthetic":true,"types":[]},{"text":"impl Unpin for Try","synthetic":true,"types":[]},{"text":"impl Unpin for Type","synthetic":true,"types":[]},{"text":"impl Unpin for Typeof","synthetic":true,"types":[]},{"text":"impl Unpin for Union","synthetic":true,"types":[]},{"text":"impl Unpin for Unsafe","synthetic":true,"types":[]},{"text":"impl Unpin for Unsized","synthetic":true,"types":[]},{"text":"impl Unpin for Use","synthetic":true,"types":[]},{"text":"impl Unpin for Virtual","synthetic":true,"types":[]},{"text":"impl Unpin for Where","synthetic":true,"types":[]},{"text":"impl Unpin for While","synthetic":true,"types":[]},{"text":"impl Unpin for Yield","synthetic":true,"types":[]},{"text":"impl Unpin for Add","synthetic":true,"types":[]},{"text":"impl Unpin for AddEq","synthetic":true,"types":[]},{"text":"impl Unpin for And","synthetic":true,"types":[]},{"text":"impl Unpin for AndAnd","synthetic":true,"types":[]},{"text":"impl Unpin for AndEq","synthetic":true,"types":[]},{"text":"impl Unpin for At","synthetic":true,"types":[]},{"text":"impl Unpin for Bang","synthetic":true,"types":[]},{"text":"impl Unpin for Caret","synthetic":true,"types":[]},{"text":"impl Unpin for CaretEq","synthetic":true,"types":[]},{"text":"impl Unpin for Colon","synthetic":true,"types":[]},{"text":"impl Unpin for Colon2","synthetic":true,"types":[]},{"text":"impl Unpin for Comma","synthetic":true,"types":[]},{"text":"impl Unpin for Div","synthetic":true,"types":[]},{"text":"impl Unpin for DivEq","synthetic":true,"types":[]},{"text":"impl Unpin for Dollar","synthetic":true,"types":[]},{"text":"impl Unpin for Dot","synthetic":true,"types":[]},{"text":"impl Unpin for Dot2","synthetic":true,"types":[]},{"text":"impl Unpin for Dot3","synthetic":true,"types":[]},{"text":"impl Unpin for DotDotEq","synthetic":true,"types":[]},{"text":"impl Unpin for Eq","synthetic":true,"types":[]},{"text":"impl Unpin for EqEq","synthetic":true,"types":[]},{"text":"impl Unpin for Ge","synthetic":true,"types":[]},{"text":"impl Unpin for Gt","synthetic":true,"types":[]},{"text":"impl Unpin for Le","synthetic":true,"types":[]},{"text":"impl Unpin for Lt","synthetic":true,"types":[]},{"text":"impl Unpin for MulEq","synthetic":true,"types":[]},{"text":"impl Unpin for Ne","synthetic":true,"types":[]},{"text":"impl Unpin for Or","synthetic":true,"types":[]},{"text":"impl Unpin for OrEq","synthetic":true,"types":[]},{"text":"impl Unpin for OrOr","synthetic":true,"types":[]},{"text":"impl Unpin for Pound","synthetic":true,"types":[]},{"text":"impl Unpin for Question","synthetic":true,"types":[]},{"text":"impl Unpin for RArrow","synthetic":true,"types":[]},{"text":"impl Unpin for LArrow","synthetic":true,"types":[]},{"text":"impl Unpin for Rem","synthetic":true,"types":[]},{"text":"impl Unpin for RemEq","synthetic":true,"types":[]},{"text":"impl Unpin for FatArrow","synthetic":true,"types":[]},{"text":"impl Unpin for Semi","synthetic":true,"types":[]},{"text":"impl Unpin for Shl","synthetic":true,"types":[]},{"text":"impl Unpin for ShlEq","synthetic":true,"types":[]},{"text":"impl Unpin for Shr","synthetic":true,"types":[]},{"text":"impl Unpin for ShrEq","synthetic":true,"types":[]},{"text":"impl Unpin for Star","synthetic":true,"types":[]},{"text":"impl Unpin for Sub","synthetic":true,"types":[]},{"text":"impl Unpin for SubEq","synthetic":true,"types":[]},{"text":"impl Unpin for Tilde","synthetic":true,"types":[]},{"text":"impl Unpin for Brace","synthetic":true,"types":[]},{"text":"impl Unpin for Bracket","synthetic":true,"types":[]},{"text":"impl Unpin for Paren","synthetic":true,"types":[]},{"text":"impl Unpin for Group","synthetic":true,"types":[]},{"text":"impl Unpin for Attribute","synthetic":true,"types":[]},{"text":"impl Unpin for AttrStyle","synthetic":true,"types":[]},{"text":"impl Unpin for Meta","synthetic":true,"types":[]},{"text":"impl Unpin for MetaList","synthetic":true,"types":[]},{"text":"impl Unpin for MetaNameValue","synthetic":true,"types":[]},{"text":"impl Unpin for NestedMeta","synthetic":true,"types":[]},{"text":"impl Unpin for Variant","synthetic":true,"types":[]},{"text":"impl Unpin for Fields","synthetic":true,"types":[]},{"text":"impl Unpin for FieldsNamed","synthetic":true,"types":[]},{"text":"impl Unpin for FieldsUnnamed","synthetic":true,"types":[]},{"text":"impl Unpin for Field","synthetic":true,"types":[]},{"text":"impl Unpin for Visibility","synthetic":true,"types":[]},{"text":"impl Unpin for VisPublic","synthetic":true,"types":[]},{"text":"impl Unpin for VisCrate","synthetic":true,"types":[]},{"text":"impl Unpin for VisRestricted","synthetic":true,"types":[]},{"text":"impl Unpin for Expr","synthetic":true,"types":[]},{"text":"impl Unpin for ExprArray","synthetic":true,"types":[]},{"text":"impl Unpin for ExprAssign","synthetic":true,"types":[]},{"text":"impl Unpin for ExprAssignOp","synthetic":true,"types":[]},{"text":"impl Unpin for ExprAsync","synthetic":true,"types":[]},{"text":"impl Unpin for ExprAwait","synthetic":true,"types":[]},{"text":"impl Unpin for ExprBinary","synthetic":true,"types":[]},{"text":"impl Unpin for ExprBlock","synthetic":true,"types":[]},{"text":"impl Unpin for ExprBox","synthetic":true,"types":[]},{"text":"impl Unpin for ExprBreak","synthetic":true,"types":[]},{"text":"impl Unpin for ExprCall","synthetic":true,"types":[]},{"text":"impl Unpin for ExprCast","synthetic":true,"types":[]},{"text":"impl Unpin for ExprClosure","synthetic":true,"types":[]},{"text":"impl Unpin for ExprContinue","synthetic":true,"types":[]},{"text":"impl Unpin for ExprField","synthetic":true,"types":[]},{"text":"impl Unpin for ExprForLoop","synthetic":true,"types":[]},{"text":"impl Unpin for ExprGroup","synthetic":true,"types":[]},{"text":"impl Unpin for ExprIf","synthetic":true,"types":[]},{"text":"impl Unpin for ExprIndex","synthetic":true,"types":[]},{"text":"impl Unpin for ExprLet","synthetic":true,"types":[]},{"text":"impl Unpin for ExprLit","synthetic":true,"types":[]},{"text":"impl Unpin for ExprLoop","synthetic":true,"types":[]},{"text":"impl Unpin for ExprMacro","synthetic":true,"types":[]},{"text":"impl Unpin for ExprMatch","synthetic":true,"types":[]},{"text":"impl Unpin for ExprMethodCall","synthetic":true,"types":[]},{"text":"impl Unpin for ExprParen","synthetic":true,"types":[]},{"text":"impl Unpin for ExprPath","synthetic":true,"types":[]},{"text":"impl Unpin for ExprRange","synthetic":true,"types":[]},{"text":"impl Unpin for ExprReference","synthetic":true,"types":[]},{"text":"impl Unpin for ExprRepeat","synthetic":true,"types":[]},{"text":"impl Unpin for ExprReturn","synthetic":true,"types":[]},{"text":"impl Unpin for ExprStruct","synthetic":true,"types":[]},{"text":"impl Unpin for ExprTry","synthetic":true,"types":[]},{"text":"impl Unpin for ExprTryBlock","synthetic":true,"types":[]},{"text":"impl Unpin for ExprTuple","synthetic":true,"types":[]},{"text":"impl Unpin for ExprType","synthetic":true,"types":[]},{"text":"impl Unpin for ExprUnary","synthetic":true,"types":[]},{"text":"impl Unpin for ExprUnsafe","synthetic":true,"types":[]},{"text":"impl Unpin for ExprWhile","synthetic":true,"types":[]},{"text":"impl Unpin for ExprYield","synthetic":true,"types":[]},{"text":"impl Unpin for Member","synthetic":true,"types":[]},{"text":"impl Unpin for Index","synthetic":true,"types":[]},{"text":"impl Unpin for Generics","synthetic":true,"types":[]},{"text":"impl Unpin for GenericParam","synthetic":true,"types":[]},{"text":"impl Unpin for TypeParam","synthetic":true,"types":[]},{"text":"impl Unpin for LifetimeDef","synthetic":true,"types":[]},{"text":"impl Unpin for ConstParam","synthetic":true,"types":[]},{"text":"impl<'a> Unpin for ImplGenerics<'a>","synthetic":true,"types":[]},{"text":"impl<'a> Unpin for TypeGenerics<'a>","synthetic":true,"types":[]},{"text":"impl<'a> Unpin for Turbofish<'a>","synthetic":true,"types":[]},{"text":"impl Unpin for BoundLifetimes","synthetic":true,"types":[]},{"text":"impl Unpin for TypeParamBound","synthetic":true,"types":[]},{"text":"impl Unpin for TraitBound","synthetic":true,"types":[]},{"text":"impl Unpin for TraitBoundModifier","synthetic":true,"types":[]},{"text":"impl Unpin for WhereClause","synthetic":true,"types":[]},{"text":"impl Unpin for WherePredicate","synthetic":true,"types":[]},{"text":"impl Unpin for PredicateType","synthetic":true,"types":[]},{"text":"impl Unpin for PredicateLifetime","synthetic":true,"types":[]},{"text":"impl Unpin for PredicateEq","synthetic":true,"types":[]},{"text":"impl Unpin for Lifetime","synthetic":true,"types":[]},{"text":"impl Unpin for Lit","synthetic":true,"types":[]},{"text":"impl Unpin for LitStr","synthetic":true,"types":[]},{"text":"impl Unpin for LitByteStr","synthetic":true,"types":[]},{"text":"impl Unpin for LitByte","synthetic":true,"types":[]},{"text":"impl Unpin for LitChar","synthetic":true,"types":[]},{"text":"impl Unpin for LitInt","synthetic":true,"types":[]},{"text":"impl Unpin for LitFloat","synthetic":true,"types":[]},{"text":"impl Unpin for LitBool","synthetic":true,"types":[]},{"text":"impl Unpin for StrStyle","synthetic":true,"types":[]},{"text":"impl Unpin for Macro","synthetic":true,"types":[]},{"text":"impl Unpin for MacroDelimiter","synthetic":true,"types":[]},{"text":"impl Unpin for DeriveInput","synthetic":true,"types":[]},{"text":"impl Unpin for Data","synthetic":true,"types":[]},{"text":"impl Unpin for DataStruct","synthetic":true,"types":[]},{"text":"impl Unpin for DataEnum","synthetic":true,"types":[]},{"text":"impl Unpin for DataUnion","synthetic":true,"types":[]},{"text":"impl Unpin for BinOp","synthetic":true,"types":[]},{"text":"impl Unpin for UnOp","synthetic":true,"types":[]},{"text":"impl Unpin for Type","synthetic":true,"types":[]},{"text":"impl Unpin for TypeArray","synthetic":true,"types":[]},{"text":"impl Unpin for TypeBareFn","synthetic":true,"types":[]},{"text":"impl Unpin for TypeGroup","synthetic":true,"types":[]},{"text":"impl Unpin for TypeImplTrait","synthetic":true,"types":[]},{"text":"impl Unpin for TypeInfer","synthetic":true,"types":[]},{"text":"impl Unpin for TypeMacro","synthetic":true,"types":[]},{"text":"impl Unpin for TypeNever","synthetic":true,"types":[]},{"text":"impl Unpin for TypeParen","synthetic":true,"types":[]},{"text":"impl Unpin for TypePath","synthetic":true,"types":[]},{"text":"impl Unpin for TypePtr","synthetic":true,"types":[]},{"text":"impl Unpin for TypeReference","synthetic":true,"types":[]},{"text":"impl Unpin for TypeSlice","synthetic":true,"types":[]},{"text":"impl Unpin for TypeTraitObject","synthetic":true,"types":[]},{"text":"impl Unpin for TypeTuple","synthetic":true,"types":[]},{"text":"impl Unpin for Abi","synthetic":true,"types":[]},{"text":"impl Unpin for BareFnArg","synthetic":true,"types":[]},{"text":"impl Unpin for Variadic","synthetic":true,"types":[]},{"text":"impl Unpin for ReturnType","synthetic":true,"types":[]},{"text":"impl Unpin for Path","synthetic":true,"types":[]},{"text":"impl Unpin for PathSegment","synthetic":true,"types":[]},{"text":"impl Unpin for PathArguments","synthetic":true,"types":[]},{"text":"impl Unpin for GenericArgument","synthetic":true,"types":[]},{"text":"impl Unpin for AngleBracketedGenericArguments","synthetic":true,"types":[]},{"text":"impl Unpin for Binding","synthetic":true,"types":[]},{"text":"impl Unpin for Constraint","synthetic":true,"types":[]},{"text":"impl Unpin for ParenthesizedGenericArguments","synthetic":true,"types":[]},{"text":"impl Unpin for QSelf","synthetic":true,"types":[]},{"text":"impl Unpin for TokenBuffer","synthetic":true,"types":[]},{"text":"impl<'a> Unpin for Cursor<'a>","synthetic":true,"types":[]},{"text":"impl<T, P> Unpin for Punctuated<T, P> where
    P: Unpin,
    T: Unpin, 
","synthetic":true,"types":[]},{"text":"impl<'a, T, P> Unpin for Pairs<'a, T, P>","synthetic":true,"types":[]},{"text":"impl<'a, T, P> Unpin for PairsMut<'a, T, P>","synthetic":true,"types":[]},{"text":"impl<T, P> Unpin for IntoPairs<T, P> where
    P: Unpin,
    T: Unpin, 
","synthetic":true,"types":[]},{"text":"impl<T> Unpin for IntoIter<T> where
    T: Unpin, 
","synthetic":true,"types":[]},{"text":"impl<'a, T> Unpin for Iter<'a, T>","synthetic":true,"types":[]},{"text":"impl<'a, T> Unpin for IterMut<'a, T>","synthetic":true,"types":[]},{"text":"impl<T, P> Unpin for Pair<T, P> where
    P: Unpin,
    T: Unpin, 
","synthetic":true,"types":[]},{"text":"impl<'a> Unpin for Lookahead1<'a>","synthetic":true,"types":[]},{"text":"impl Unpin for Error","synthetic":true,"types":[]},{"text":"impl<'a> Unpin for ParseBuffer<'a>","synthetic":true,"types":[]},{"text":"impl<'c, 'a> Unpin for StepCursor<'c, 'a>","synthetic":true,"types":[]},{"text":"impl Unpin for Nothing","synthetic":true,"types":[]}]; implementors["synstructure"] = [{"text":"impl Unpin for AddBounds","synthetic":true,"types":[]},{"text":"impl Unpin for BindStyle","synthetic":true,"types":[]},{"text":"impl<'a> Unpin for BindingInfo<'a>","synthetic":true,"types":[]},{"text":"impl<'a> Unpin for VariantAst<'a>","synthetic":true,"types":[]},{"text":"impl<'a> Unpin for VariantInfo<'a>","synthetic":true,"types":[]},{"text":"impl<'a> Unpin for Structure<'a>","synthetic":true,"types":[]}]; diff --git a/implementors/core/str/traits/trait.FromStr.js b/implementors/core/str/traits/trait.FromStr.js index 0bbdd7a..59d1deb 100644 --- a/implementors/core/str/traits/trait.FromStr.js +++ b/implementors/core/str/traits/trait.FromStr.js @@ -1,3 +1,4 @@ (function() {var implementors = {}; +implementors["log"] = [{"text":"impl FromStr for Level","synthetic":false,"types":[]},{"text":"impl FromStr for LevelFilter","synthetic":false,"types":[]}]; implementors["proc_macro2"] = [{"text":"impl FromStr for TokenStream","synthetic":false,"types":[]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/delog/hex/trait.Unsigned.js b/implementors/delog/hex/trait.Unsigned.js new file mode 100644 index 0000000..0964ad6 --- /dev/null +++ b/implementors/delog/hex/trait.Unsigned.js @@ -0,0 +1,3 @@ +(function() {var implementors = {}; +implementors["delog"] = []; +if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/delog/trait.Renderer.js b/implementors/delog/trait.Renderer.js new file mode 100644 index 0000000..0964ad6 --- /dev/null +++ b/implementors/delog/trait.Renderer.js @@ -0,0 +1,3 @@ +(function() {var implementors = {}; +implementors["delog"] = []; +if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/log/all.html b/log/all.html new file mode 100644 index 0000000..089e682 --- /dev/null +++ b/log/all.html @@ -0,0 +1,4 @@ +List of all items in this crate

[] + + List of all items

Structs

Enums

Traits

Macros

Functions

Constants

\ No newline at end of file diff --git a/log/constant.STATIC_MAX_LEVEL.html b/log/constant.STATIC_MAX_LEVEL.html new file mode 100644 index 0000000..07f1c54 --- /dev/null +++ b/log/constant.STATIC_MAX_LEVEL.html @@ -0,0 +1,7 @@ +log::STATIC_MAX_LEVEL - Rust

[][src]Constant log::STATIC_MAX_LEVEL

pub const STATIC_MAX_LEVEL: LevelFilter;

The statically resolved maximum log level.

+

See the crate level documentation for information on how to configure this.

+

This value is checked by the log macros, but not by the Logger returned by +the logger function. Code that manually calls functions on that value +should compare the level against this value.

+
\ No newline at end of file diff --git a/log/enum.Level.html b/log/enum.Level.html new file mode 100644 index 0000000..cb4ae5f --- /dev/null +++ b/log/enum.Level.html @@ -0,0 +1,80 @@ +log::Level - Rust

[][src]Enum log::Level

#[repr(usize)]pub enum Level {
+    Error,
+    Warn,
+    Info,
+    Debug,
+    Trace,
+}

An enum representing the available verbosity levels of the logger.

+

Typical usage includes: checking if a certain Level is enabled with +log_enabled!, specifying the Level of +log!, and comparing a Level directly to a +LevelFilter.

+

+ Variants

+
Error

The "error" level.

+

Designates very serious errors.

+
Warn

The "warn" level.

+

Designates hazardous situations.

+
Info

The "info" level.

+

Designates useful information.

+
Debug

The "debug" level.

+

Designates lower priority information.

+
Trace

The "trace" level.

+

Designates very low priority, often extremely verbose, information.

+

Implementations

impl Level[src]

pub fn max() -> Level[src]

Returns the most verbose logging level.

+

pub fn to_level_filter(&self) -> LevelFilter[src]

Converts the Level to the equivalent LevelFilter.

+

pub fn as_str(&self) -> &'static str[src]

Returns the string representation of the Level.

+

This returns the same string as the fmt::Display implementation.

+

Trait Implementations

impl Clone for Level[src]

impl Copy for Level[src]

impl Debug for Level[src]

impl Display for Level[src]

impl Eq for Level[src]

impl FromStr for Level[src]

type Err = ParseLevelError

The associated error which can be returned from parsing.

+

impl Hash for Level[src]

impl Ord for Level[src]

impl PartialEq<Level> for Level[src]

impl PartialEq<Level> for LevelFilter[src]

impl PartialEq<LevelFilter> for Level[src]

impl PartialOrd<Level> for Level[src]

impl PartialOrd<Level> for LevelFilter[src]

impl PartialOrd<LevelFilter> for Level[src]

impl StructuralEq for Level[src]

Auto Trait Implementations

impl Send for Level[src]

impl Sync for Level[src]

impl Unpin for Level[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+
\ No newline at end of file diff --git a/log/enum.LevelFilter.html b/log/enum.LevelFilter.html new file mode 100644 index 0000000..529c025 --- /dev/null +++ b/log/enum.LevelFilter.html @@ -0,0 +1,76 @@ +log::LevelFilter - Rust

[][src]Enum log::LevelFilter

#[repr(usize)]pub enum LevelFilter {
+    Off,
+    Error,
+    Warn,
+    Info,
+    Debug,
+    Trace,
+}

An enum representing the available verbosity level filters of the logger.

+

A LevelFilter may be compared directly to a Level. Use this type +to get and set the maximum log level with max_level() and set_max_level.

+

+ Variants

+
Off

A level lower than all log levels.

+
Error

Corresponds to the Error log level.

+
Warn

Corresponds to the Warn log level.

+
Info

Corresponds to the Info log level.

+
Debug

Corresponds to the Debug log level.

+
Trace

Corresponds to the Trace log level.

+

Implementations

impl LevelFilter[src]

pub fn max() -> LevelFilter[src]

Returns the most verbose logging level filter.

+

pub fn to_level(&self) -> Option<Level>[src]

Converts self to the equivalent Level.

+

Returns None if self is LevelFilter::Off.

+

pub fn as_str(&self) -> &'static str[src]

Returns the string representation of the LevelFilter.

+

This returns the same string as the fmt::Display implementation.

+

Trait Implementations

impl Clone for LevelFilter[src]

impl Copy for LevelFilter[src]

impl Debug for LevelFilter[src]

impl Display for LevelFilter[src]

impl Eq for LevelFilter[src]

impl FromStr for LevelFilter[src]

type Err = ParseLevelError

The associated error which can be returned from parsing.

+

impl Hash for LevelFilter[src]

impl Ord for LevelFilter[src]

impl PartialEq<Level> for LevelFilter[src]

impl PartialEq<LevelFilter> for Level[src]

impl PartialEq<LevelFilter> for LevelFilter[src]

impl PartialOrd<Level> for LevelFilter[src]

impl PartialOrd<LevelFilter> for Level[src]

impl PartialOrd<LevelFilter> for LevelFilter[src]

impl StructuralEq for LevelFilter[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+
\ No newline at end of file diff --git a/log/fn.logger.html b/log/fn.logger.html new file mode 100644 index 0000000..9ccaba4 --- /dev/null +++ b/log/fn.logger.html @@ -0,0 +1,4 @@ +log::logger - Rust

[][src]Function log::logger

pub fn logger() -> &'static dyn Log

Returns a reference to the logger.

+

If a logger has not been set, a no-op implementation is returned.

+
\ No newline at end of file diff --git a/log/fn.max_level.html b/log/fn.max_level.html new file mode 100644 index 0000000..db0d8bc --- /dev/null +++ b/log/fn.max_level.html @@ -0,0 +1,6 @@ +log::max_level - Rust

[][src]Function log::max_level

pub fn max_level() -> LevelFilter

Returns the current maximum log level.

+

The log!, error!, warn!, info!, debug!, and trace! macros check +this value and discard any message logged at a higher level. The maximum +log level is set by the set_max_level function.

+
\ No newline at end of file diff --git a/log/fn.set_logger.html b/log/fn.set_logger.html new file mode 100644 index 0000000..dce8f04 --- /dev/null +++ b/log/fn.set_logger.html @@ -0,0 +1,42 @@ +log::set_logger - Rust

[][src]Function log::set_logger

pub fn set_logger(logger: &'static dyn Log) -> Result<(), SetLoggerError>

Sets the global logger to a &'static Log.

+

This function may only be called once in the lifetime of a program. Any log +events that occur before the call to set_logger completes will be ignored.

+

This function does not typically need to be called manually. Logger +implementations should provide an initialization method that installs the +logger internally.

+

Availability

+

This method is available even when the std feature is disabled. However, +it is currently unavailable on thumbv6 targets, which lack support for +some atomic operations which are used by this function. Even on those +targets, set_logger_racy will be available.

+

Errors

+

An error is returned if a logger has already been set.

+

Examples

+
+use log::{error, info, warn, Record, Level, Metadata, LevelFilter};
+
+static MY_LOGGER: MyLogger = MyLogger;
+
+struct MyLogger;
+
+impl log::Log for MyLogger {
+    fn enabled(&self, metadata: &Metadata) -> bool {
+        metadata.level() <= Level::Info
+    }
+
+    fn log(&self, record: &Record) {
+        if self.enabled(record.metadata()) {
+            println!("{} - {}", record.level(), record.args());
+        }
+    }
+    fn flush(&self) {}
+}
+
+log::set_logger(&MY_LOGGER).unwrap();
+log::set_max_level(LevelFilter::Info);
+
+info!("hello log");
+warn!("warning");
+error!("oops");
+
\ No newline at end of file diff --git a/log/fn.set_logger_racy.html b/log/fn.set_logger_racy.html new file mode 100644 index 0000000..094143c --- /dev/null +++ b/log/fn.set_logger_racy.html @@ -0,0 +1,13 @@ +log::set_logger_racy - Rust

[][src]Function log::set_logger_racy

pub unsafe fn set_logger_racy(
    logger: &'static dyn Log
) -> Result<(), SetLoggerError>

A thread-unsafe version of set_logger.

+

This function is available on all platforms, even those that do not have +support for atomics that is needed by set_logger.

+

In almost all cases, set_logger should be preferred.

+

Safety

+

This function is only safe to call when no other logger initialization +function is called while this function still executes.

+

This can be upheld by (for example) making sure that there are no other +threads, and (on embedded) that interrupts are disabled.

+

It is safe to use other logging functions while this function runs +(including all logging macros).

+
\ No newline at end of file diff --git a/log/fn.set_max_level.html b/log/fn.set_max_level.html new file mode 100644 index 0000000..be2a9d4 --- /dev/null +++ b/log/fn.set_max_level.html @@ -0,0 +1,4 @@ +log::set_max_level - Rust

[][src]Function log::set_max_level

pub fn set_max_level(level: LevelFilter)

Sets the global maximum log level.

+

Generally, this should only be called by the active logging implementation.

+
\ No newline at end of file diff --git a/log/index.html b/log/index.html new file mode 100644 index 0000000..6dfc66d --- /dev/null +++ b/log/index.html @@ -0,0 +1,211 @@ +log - Rust

[][src]Crate log

A lightweight logging facade.

+

The log crate provides a single logging API that abstracts over the +actual logging implementation. Libraries can use the logging API provided +by this crate, and the consumer of those libraries can choose the logging +implementation that is most suitable for its use case.

+

If no logging implementation is selected, the facade falls back to a "noop" +implementation that ignores all log messages. The overhead in this case +is very small - just an integer load, comparison and jump.

+

A log request consists of a target, a level, and a body. A target is a +string which defaults to the module path of the location of the log request, +though that default may be overridden. Logger implementations typically use +the target to filter requests based on some user configuration.

+

Use

+

The basic use of the log crate is through the five logging macros: error!, +warn!, info!, debug! and trace! +where error! represents the highest-priority log messages +and trace! the lowest. The log messages are filtered by configuring +the log level to exclude messages with a lower priority. +Each of these macros accept format strings similarly to println!.

+

In libraries

+

Libraries should link only to the log crate, and use the provided +macros to log whatever information will be useful to downstream consumers.

+

Examples

+
+use log::{info, warn};
+
+pub fn shave_the_yak(yak: &mut Yak) {
+    info!(target: "yak_events", "Commencing yak shaving for {:?}", yak);
+
+    loop {
+        match find_a_razor() {
+            Ok(razor) => {
+                info!("Razor located: {}", razor);
+                yak.shave(razor);
+                break;
+            }
+            Err(err) => {
+                warn!("Unable to locate a razor: {}, retrying", err);
+            }
+        }
+    }
+}
+

In executables

+

Executables should choose a logging implementation and initialize it early in the +runtime of the program. Logging implementations will typically include a +function to do this. Any log messages generated before +the implementation is initialized will be ignored.

+

The executable itself may use the log crate to log as well.

+

Warning

+

The logging system may only be initialized once.

+

Available logging implementations

+

In order to produce log output executables have to use +a logger implementation compatible with the facade. +There are many available implementations to choose from, +here are some of the most popular ones:

+ +

Implementing a Logger

+

Loggers implement the Log trait. Here's a very basic example that simply +logs all messages at the Error, Warn or +Info levels to stdout:

+ +
+use log::{Record, Level, Metadata};
+
+struct SimpleLogger;
+
+impl log::Log for SimpleLogger {
+    fn enabled(&self, metadata: &Metadata) -> bool {
+        metadata.level() <= Level::Info
+    }
+
+    fn log(&self, record: &Record) {
+        if self.enabled(record.metadata()) {
+            println!("{} - {}", record.level(), record.args());
+        }
+    }
+
+    fn flush(&self) {}
+}
+
+

Loggers are installed by calling the set_logger function. The maximum +log level also needs to be adjusted via the set_max_level function. The +logging facade uses this as an optimization to improve performance of log +messages at levels that are disabled. It's important to set it, as it +defaults to Off, so no log messages will ever be captured! +In the case of our example logger, we'll want to set the maximum log level +to Info, since we ignore any Debug or +Trace level log messages. A logging implementation should +provide a function that wraps a call to set_logger and +set_max_level, handling initialization of the logger:

+ +
+use log::{SetLoggerError, LevelFilter};
+
+static LOGGER: SimpleLogger = SimpleLogger;
+
+pub fn init() -> Result<(), SetLoggerError> {
+    log::set_logger(&LOGGER)
+        .map(|()| log::set_max_level(LevelFilter::Info))
+}
+

Implementations that adjust their configurations at runtime should take care +to adjust the maximum log level as well.

+

Use with std

+

set_logger requires you to provide a &'static Log, which can be hard to +obtain if your logger depends on some runtime configuration. The +set_boxed_logger function is available with the std Cargo feature. It is +identical to set_logger except that it takes a Box<Log> rather than a +&'static Log:

+ +
+pub fn init() -> Result<(), SetLoggerError> {
+    log::set_boxed_logger(Box::new(SimpleLogger))
+        .map(|()| log::set_max_level(LevelFilter::Info))
+}
+

Compile time filters

+

Log levels can be statically disabled at compile time via Cargo features. Log invocations at +disabled levels will be skipped and will not even be present in the resulting binary. +This level is configured separately for release and debug builds. The features are:

+
    +
  • max_level_off
  • +
  • max_level_error
  • +
  • max_level_warn
  • +
  • max_level_info
  • +
  • max_level_debug
  • +
  • max_level_trace
  • +
  • release_max_level_off
  • +
  • release_max_level_error
  • +
  • release_max_level_warn
  • +
  • release_max_level_info
  • +
  • release_max_level_debug
  • +
  • release_max_level_trace
  • +
+

These features control the value of the STATIC_MAX_LEVEL constant. The logging macros check +this value before logging a message. By default, no levels are disabled.

+

Libraries should avoid using the max level features because they're global and can't be changed +once they're set.

+

For example, a crate can disable trace level logs in debug builds and trace, debug, and info +level logs in release builds with the following configuration:

+
[dependencies]
+log = { version = "0.4", features = ["max_level_debug", "release_max_level_warn"] }
+
+

Crate Feature Flags

+

The following crate feature flags are available in addition to the filters. They are +configured in your Cargo.toml.

+
    +
  • std allows use of std crate instead of the default core. Enables using std::error and +set_boxed_logger functionality.
  • +
  • serde enables support for serialization and deserialization of Level and LevelFilter.
  • +
+
[dependencies]
+log = { version = "0.4", features = ["std", "serde"] }
+
+

Version compatibility

+

The 0.3 and 0.4 versions of the log crate are almost entirely compatible. Log messages +made using log 0.3 will forward transparently to a logger implementation using log 0.4. Log +messages made using log 0.4 will forward to a logger implementation using log 0.3, but the +module path and file name information associated with the message will unfortunately be lost.

+

Macros

+
debug

Logs a message at the debug level.

+
error

Logs a message at the error level.

+
info

Logs a message at the info level.

+
log

The standard logging macro.

+
log_enabled

Determines if a message logged at the specified level in that module will +be logged.

+
trace

Logs a message at the trace level.

+
warn

Logs a message at the warn level.

+

Structs

+
Metadata

Metadata about a log message.

+
MetadataBuilder

Builder for Metadata.

+
ParseLevelError

The type returned by from_str when the string doesn't match any of the log levels.

+
Record

The "payload" of a log message.

+
RecordBuilder

Builder for Record.

+
SetLoggerError

The type returned by set_logger if set_logger has already been called.

+

Enums

+
Level

An enum representing the available verbosity levels of the logger.

+
LevelFilter

An enum representing the available verbosity level filters of the logger.

+

Constants

+
STATIC_MAX_LEVEL

The statically resolved maximum log level.

+

Traits

+
Log

A trait encapsulating the operations required of a logger.

+

Functions

+
logger

Returns a reference to the logger.

+
max_level

Returns the current maximum log level.

+
set_logger

Sets the global logger to a &'static Log.

+
set_logger_racy

A thread-unsafe version of set_logger.

+
set_max_level

Sets the global maximum log level.

+
\ No newline at end of file diff --git a/log/macro.debug!.html b/log/macro.debug!.html new file mode 100644 index 0000000..faa474c --- /dev/null +++ b/log/macro.debug!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.debug.html...

+ + + \ No newline at end of file diff --git a/log/macro.debug.html b/log/macro.debug.html new file mode 100644 index 0000000..b82e99c --- /dev/null +++ b/log/macro.debug.html @@ -0,0 +1,16 @@ +log::debug - Rust

[][src]Macro log::debug

+macro_rules! debug {
+    (target: $target:expr, $($arg:tt)+) => { ... };
+    ($($arg:tt)+) => { ... };
+}
+

Logs a message at the debug level.

+

Examples

+
+use log::debug;
+
+let pos = Position { x: 3.234, y: -1.223 };
+
+debug!("New position: x: {}, y: {}", pos.x, pos.y);
+debug!(target: "app_events", "New position: x: {}, y: {}", pos.x, pos.y);
+
\ No newline at end of file diff --git a/log/macro.error!.html b/log/macro.error!.html new file mode 100644 index 0000000..e24b748 --- /dev/null +++ b/log/macro.error!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.error.html...

+ + + \ No newline at end of file diff --git a/log/macro.error.html b/log/macro.error.html new file mode 100644 index 0000000..0a330ae --- /dev/null +++ b/log/macro.error.html @@ -0,0 +1,16 @@ +log::error - Rust

[][src]Macro log::error

+macro_rules! error {
+    (target: $target:expr, $($arg:tt)+) => { ... };
+    ($($arg:tt)+) => { ... };
+}
+

Logs a message at the error level.

+

Examples

+
+use log::error;
+
+let (err_info, port) = ("No connection", 22);
+
+error!("Error: {} on port {}", err_info, port);
+error!(target: "app_events", "App Error: {}, Port: {}", err_info, 22);
+
\ No newline at end of file diff --git a/log/macro.info!.html b/log/macro.info!.html new file mode 100644 index 0000000..5bad5c4 --- /dev/null +++ b/log/macro.info!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.info.html...

+ + + \ No newline at end of file diff --git a/log/macro.info.html b/log/macro.info.html new file mode 100644 index 0000000..d224a18 --- /dev/null +++ b/log/macro.info.html @@ -0,0 +1,17 @@ +log::info - Rust

[][src]Macro log::info

+macro_rules! info {
+    (target: $target:expr, $($arg:tt)+) => { ... };
+    ($($arg:tt)+) => { ... };
+}
+

Logs a message at the info level.

+

Examples

+
+use log::info;
+
+let conn_info = Connection { port: 40, speed: 3.20 };
+
+info!("Connected to port {} at {} Mb/s", conn_info.port, conn_info.speed);
+info!(target: "connection_events", "Successfull connection, port: {}, speed: {}",
+      conn_info.port, conn_info.speed);
+
\ No newline at end of file diff --git a/log/macro.log!.html b/log/macro.log!.html new file mode 100644 index 0000000..7ff1ced --- /dev/null +++ b/log/macro.log!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.log.html...

+ + + \ No newline at end of file diff --git a/log/macro.log.html b/log/macro.log.html new file mode 100644 index 0000000..e7403a7 --- /dev/null +++ b/log/macro.log.html @@ -0,0 +1,20 @@ +log::log - Rust

[][src]Macro log::log

+macro_rules! log {
+    (target: $target:expr, $lvl:expr, $($arg:tt)+) => { ... };
+    ($lvl:expr, $($arg:tt)+) => { ... };
+}
+

The standard logging macro.

+

This macro will generically log with the specified Level and format! +based argument list.

+

Examples

+
+use log::{log, Level};
+
+let data = (42, "Forty-two");
+let private_data = "private";
+
+log!(Level::Error, "Received errors: {}, {}", data.0, data.1);
+log!(target: "app_events", Level::Warn, "App warning: {}, {}, {}",
+    data.0, data.1, private_data);
+
\ No newline at end of file diff --git a/log/macro.log_enabled!.html b/log/macro.log_enabled!.html new file mode 100644 index 0000000..2731fd3 --- /dev/null +++ b/log/macro.log_enabled!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.log_enabled.html...

+ + + \ No newline at end of file diff --git a/log/macro.log_enabled.html b/log/macro.log_enabled.html new file mode 100644 index 0000000..6a3c6f0 --- /dev/null +++ b/log/macro.log_enabled.html @@ -0,0 +1,24 @@ +log::log_enabled - Rust

[][src]Macro log::log_enabled

+macro_rules! log_enabled {
+    (target: $target:expr, $lvl:expr) => { ... };
+    ($lvl:expr) => { ... };
+}
+

Determines if a message logged at the specified level in that module will +be logged.

+

This can be used to avoid expensive computation of log message arguments if +the message would be ignored anyway.

+

Examples

+
+use log::Level::Debug;
+use log::{debug, log_enabled};
+
+if log_enabled!(Debug) {
+    let data = expensive_call();
+    debug!("expensive debug data: {} {}", data.x, data.y);
+}
+if log_enabled!(target: "Global", Debug) {
+   let data = expensive_call();
+   debug!(target: "Global", "expensive debug data: {} {}", data.x, data.y);
+}
+
\ No newline at end of file diff --git a/log/macro.trace!.html b/log/macro.trace!.html new file mode 100644 index 0000000..68417a7 --- /dev/null +++ b/log/macro.trace!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.trace.html...

+ + + \ No newline at end of file diff --git a/log/macro.trace.html b/log/macro.trace.html new file mode 100644 index 0000000..3e6d6f2 --- /dev/null +++ b/log/macro.trace.html @@ -0,0 +1,18 @@ +log::trace - Rust

[][src]Macro log::trace

+macro_rules! trace {
+    (target: $target:expr, $($arg:tt)+) => { ... };
+    ($($arg:tt)+) => { ... };
+}
+

Logs a message at the trace level.

+

Examples

+
+use log::trace;
+
+let pos = Position { x: 3.234, y: -1.223 };
+
+trace!("Position is: x: {}, y: {}", pos.x, pos.y);
+trace!(target: "app_events", "x is {} and y is {}",
+       if pos.x >= 0.0 { "positive" } else { "negative" },
+       if pos.y >= 0.0 { "positive" } else { "negative" });
+
\ No newline at end of file diff --git a/log/macro.warn!.html b/log/macro.warn!.html new file mode 100644 index 0000000..70d3235 --- /dev/null +++ b/log/macro.warn!.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to macro.warn.html...

+ + + \ No newline at end of file diff --git a/log/macro.warn.html b/log/macro.warn.html new file mode 100644 index 0000000..f4bf92a --- /dev/null +++ b/log/macro.warn.html @@ -0,0 +1,16 @@ +log::warn - Rust

[][src]Macro log::warn

+macro_rules! warn {
+    (target: $target:expr, $($arg:tt)+) => { ... };
+    ($($arg:tt)+) => { ... };
+}
+

Logs a message at the warn level.

+

Examples

+
+use log::warn;
+
+let warn_description = "Invalid Input";
+
+warn!("Warning! {}!", warn_description);
+warn!(target: "input_events", "App received warning: {}", warn_description);
+
\ No newline at end of file diff --git a/log/sidebar-items.js b/log/sidebar-items.js new file mode 100644 index 0000000..b3aff47 --- /dev/null +++ b/log/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"constant":[["STATIC_MAX_LEVEL","The statically resolved maximum log level."]],"enum":[["Level","An enum representing the available verbosity levels of the logger."],["LevelFilter","An enum representing the available verbosity level filters of the logger."]],"fn":[["logger","Returns a reference to the logger."],["max_level","Returns the current maximum log level."],["set_logger","Sets the global logger to a `&'static Log`."],["set_logger_racy","A thread-unsafe version of `set_logger`."],["set_max_level","Sets the global maximum log level."]],"macro":[["debug","Logs a message at the debug level."],["error","Logs a message at the error level."],["info","Logs a message at the info level."],["log","The standard logging macro."],["log_enabled","Determines if a message logged at the specified level in that module will be logged."],["trace","Logs a message at the trace level."],["warn","Logs a message at the warn level."]],"struct":[["Metadata","Metadata about a log message."],["MetadataBuilder","Builder for `Metadata`."],["ParseLevelError","The type returned by `from_str` when the string doesn't match any of the log levels."],["Record","The \"payload\" of a log message."],["RecordBuilder","Builder for `Record`."],["SetLoggerError","The type returned by `set_logger` if `set_logger` has already been called."]],"trait":[["Log","A trait encapsulating the operations required of a logger."]]}); \ No newline at end of file diff --git a/log/struct.Metadata.html b/log/struct.Metadata.html new file mode 100644 index 0000000..9599922 --- /dev/null +++ b/log/struct.Metadata.html @@ -0,0 +1,62 @@ +log::Metadata - Rust

[][src]Struct log::Metadata

pub struct Metadata<'a> { /* fields omitted */ }

Metadata about a log message.

+

Use

+

Metadata structs are created when users of the library use +logging macros.

+

They are consumed by implementations of the Log trait in the +enabled method.

+

Records use Metadata to determine the log message's severity +and target.

+

Users should use the log_enabled! macro in their code to avoid +constructing expensive log messages.

+

Examples

+
+use log::{Record, Level, Metadata};
+
+struct MyLogger;
+
+impl log::Log for MyLogger {
+    fn enabled(&self, metadata: &Metadata) -> bool {
+        metadata.level() <= Level::Info
+    }
+
+    fn log(&self, record: &Record) {
+        if self.enabled(record.metadata()) {
+            println!("{} - {}", record.level(), record.args());
+        }
+    }
+    fn flush(&self) {}
+}
+
+

Implementations

impl<'a> Metadata<'a>[src]

pub fn builder() -> MetadataBuilder<'a>[src]

Returns a new builder.

+

pub fn level(&self) -> Level[src]

The verbosity level of the message.

+

pub fn target(&self) -> &'a str[src]

The name of the target of the directive.

+

Trait Implementations

impl<'a> Clone for Metadata<'a>[src]

impl<'a> Debug for Metadata<'a>[src]

impl<'a> Eq for Metadata<'a>[src]

impl<'a> Hash for Metadata<'a>[src]

impl<'a> Ord for Metadata<'a>[src]

impl<'a> PartialEq<Metadata<'a>> for Metadata<'a>[src]

impl<'a> PartialOrd<Metadata<'a>> for Metadata<'a>[src]

impl<'a> StructuralEq for Metadata<'a>[src]

impl<'a> StructuralPartialEq for Metadata<'a>[src]

Auto Trait Implementations

impl<'a> Send for Metadata<'a>[src]

impl<'a> Sync for Metadata<'a>[src]

impl<'a> Unpin for Metadata<'a>[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+
\ No newline at end of file diff --git a/log/struct.MetadataBuilder.html b/log/struct.MetadataBuilder.html new file mode 100644 index 0000000..c210e50 --- /dev/null +++ b/log/struct.MetadataBuilder.html @@ -0,0 +1,49 @@ +log::MetadataBuilder - Rust

[][src]Struct log::MetadataBuilder

pub struct MetadataBuilder<'a> { /* fields omitted */ }

Builder for Metadata.

+

Typically should only be used by log library creators or for testing and "shim loggers". +The MetadataBuilder can set the different parameters of a Metadata object, and returns +the created object when build is called.

+

Example

+
+let target = "myApp";
+use log::{Level, MetadataBuilder};
+let metadata = MetadataBuilder::new()
+                    .level(Level::Debug)
+                    .target(target)
+                    .build();
+

Implementations

impl<'a> MetadataBuilder<'a>[src]

pub fn new() -> MetadataBuilder<'a>[src]

Construct a new MetadataBuilder.

+

The default options are:

+
    +
  • level: Level::Info
  • +
  • target: ""
  • +
+

pub fn level(&mut self, arg: Level) -> &mut MetadataBuilder<'a>[src]

Setter for level.

+

pub fn target(&mut self, target: &'a str) -> &mut MetadataBuilder<'a>[src]

Setter for target.

+

pub fn build(&self) -> Metadata<'a>[src]

Returns a Metadata object.

+

Trait Implementations

impl<'a> Debug for MetadataBuilder<'a>[src]

impl<'a> Eq for MetadataBuilder<'a>[src]

impl<'a> Hash for MetadataBuilder<'a>[src]

impl<'a> Ord for MetadataBuilder<'a>[src]

impl<'a> PartialEq<MetadataBuilder<'a>> for MetadataBuilder<'a>[src]

impl<'a> PartialOrd<MetadataBuilder<'a>> for MetadataBuilder<'a>[src]

impl<'a> StructuralEq for MetadataBuilder<'a>[src]

impl<'a> StructuralPartialEq for MetadataBuilder<'a>[src]

Auto Trait Implementations

impl<'a> Send for MetadataBuilder<'a>[src]

impl<'a> Sync for MetadataBuilder<'a>[src]

impl<'a> Unpin for MetadataBuilder<'a>[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+
\ No newline at end of file diff --git a/log/struct.ParseLevelError.html b/log/struct.ParseLevelError.html new file mode 100644 index 0000000..47c1d3a --- /dev/null +++ b/log/struct.ParseLevelError.html @@ -0,0 +1,17 @@ +log::ParseLevelError - Rust

[][src]Struct log::ParseLevelError

pub struct ParseLevelError(_);

The type returned by from_str when the string doesn't match any of the log levels.

+

Trait Implementations

impl Debug for ParseLevelError[src]

impl Display for ParseLevelError[src]

impl PartialEq<ParseLevelError> for ParseLevelError[src]

impl StructuralPartialEq for ParseLevelError[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+
\ No newline at end of file diff --git a/log/struct.Record.html b/log/struct.Record.html new file mode 100644 index 0000000..1d995f9 --- /dev/null +++ b/log/struct.Record.html @@ -0,0 +1,57 @@ +log::Record - Rust

[][src]Struct log::Record

pub struct Record<'a> { /* fields omitted */ }

The "payload" of a log message.

+

Use

+

Record structures are passed as parameters to the log +method of the Log trait. Logger implementors manipulate these +structures in order to display log messages. Records are automatically +created by the log! macro and so are not seen by log users.

+

Note that the level() and target() accessors are equivalent to +self.metadata().level() and self.metadata().target() respectively. +These methods are provided as a convenience for users of this structure.

+

Example

+

The following example shows a simple logger that displays the level, +module path, and message of any Record that is passed to it.

+ +
+struct SimpleLogger;
+
+impl log::Log for SimpleLogger {
+   fn enabled(&self, metadata: &log::Metadata) -> bool {
+       true
+   }
+
+   fn log(&self, record: &log::Record) {
+       if !self.enabled(record.metadata()) {
+           return;
+       }
+
+       println!("{}:{} -- {}",
+                record.level(),
+                record.target(),
+                record.args());
+   }
+   fn flush(&self) {}
+}
+

Implementations

impl<'a> Record<'a>[src]

pub fn builder() -> RecordBuilder<'a>[src]

Returns a new builder.

+

pub fn args(&self) -> &Arguments<'a>[src]

The message body.

+

pub fn metadata(&self) -> &Metadata<'a>[src]

Metadata about the log directive.

+

pub fn level(&self) -> Level[src]

The verbosity level of the message.

+

pub fn target(&self) -> &'a str[src]

The name of the target of the directive.

+

pub fn module_path(&self) -> Option<&'a str>[src]

The module path of the message.

+

pub fn module_path_static(&self) -> Option<&'static str>[src]

The module path of the message, if it is a 'static string.

+

pub fn file(&self) -> Option<&'a str>[src]

The source file containing the message.

+

pub fn file_static(&self) -> Option<&'static str>[src]

The module path of the message, if it is a 'static string.

+

pub fn line(&self) -> Option<u32>[src]

The line containing the message.

+

Trait Implementations

impl<'a> Clone for Record<'a>[src]

impl<'a> Debug for Record<'a>[src]

Auto Trait Implementations

impl<'a> !Send for Record<'a>[src]

impl<'a> !Sync for Record<'a>[src]

impl<'a> Unpin for Record<'a>[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+
\ No newline at end of file diff --git a/log/struct.RecordBuilder.html b/log/struct.RecordBuilder.html new file mode 100644 index 0000000..90a394e --- /dev/null +++ b/log/struct.RecordBuilder.html @@ -0,0 +1,64 @@ +log::RecordBuilder - Rust

[][src]Struct log::RecordBuilder

pub struct RecordBuilder<'a> { /* fields omitted */ }

Builder for Record.

+

Typically should only be used by log library creators or for testing and "shim loggers". +The RecordBuilder can set the different parameters of Record object, and returns +the created object when build is called.

+

Examples

+
+use log::{Level, Record};
+
+let record = Record::builder()
+                .args(format_args!("Error!"))
+                .level(Level::Error)
+                .target("myApp")
+                .file(Some("server.rs"))
+                .line(Some(144))
+                .module_path(Some("server"))
+                .build();
+

Alternatively, use MetadataBuilder:

+ +
+use log::{Record, Level, MetadataBuilder};
+
+let error_metadata = MetadataBuilder::new()
+                        .target("myApp")
+                        .level(Level::Error)
+                        .build();
+
+let record = Record::builder()
+                .metadata(error_metadata)
+                .args(format_args!("Error!"))
+                .line(Some(433))
+                .file(Some("app.rs"))
+                .module_path(Some("server"))
+                .build();
+

Implementations

impl<'a> RecordBuilder<'a>[src]

pub fn new() -> RecordBuilder<'a>[src]

Construct new RecordBuilder.

+

The default options are:

+ +

pub fn args(&mut self, args: Arguments<'a>) -> &mut RecordBuilder<'a>[src]

Set args.

+

pub fn metadata(&mut self, metadata: Metadata<'a>) -> &mut RecordBuilder<'a>[src]

Set metadata. Construct a Metadata object with MetadataBuilder.

+

pub fn level(&mut self, level: Level) -> &mut RecordBuilder<'a>[src]

pub fn target(&mut self, target: &'a str) -> &mut RecordBuilder<'a>[src]

pub fn module_path(&mut self, path: Option<&'a str>) -> &mut RecordBuilder<'a>[src]

pub fn module_path_static(
    &mut self,
    path: Option<&'static str>
) -> &mut RecordBuilder<'a>
[src]

Set module_path to a 'static string

+

pub fn file(&mut self, file: Option<&'a str>) -> &mut RecordBuilder<'a>[src]

Set file

+

pub fn file_static(
    &mut self,
    file: Option<&'static str>
) -> &mut RecordBuilder<'a>
[src]

Set file to a 'static string.

+

pub fn line(&mut self, line: Option<u32>) -> &mut RecordBuilder<'a>[src]

Set line

+

pub fn build(&self) -> Record<'a>[src]

Invoke the builder and return a Record

+

Trait Implementations

impl<'a> Debug for RecordBuilder<'a>[src]

Auto Trait Implementations

impl<'a> !Send for RecordBuilder<'a>[src]

impl<'a> !Sync for RecordBuilder<'a>[src]

impl<'a> Unpin for RecordBuilder<'a>[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+
\ No newline at end of file diff --git a/log/struct.SetLoggerError.html b/log/struct.SetLoggerError.html new file mode 100644 index 0000000..ef28a5c --- /dev/null +++ b/log/struct.SetLoggerError.html @@ -0,0 +1,14 @@ +log::SetLoggerError - Rust

[][src]Struct log::SetLoggerError

pub struct SetLoggerError(_);

The type returned by set_logger if set_logger has already been called.

+

Trait Implementations

impl Debug for SetLoggerError[src]

impl Display for SetLoggerError[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

+

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

+
\ No newline at end of file diff --git a/log/trait.Log.html b/log/trait.Log.html new file mode 100644 index 0000000..325d2f8 --- /dev/null +++ b/log/trait.Log.html @@ -0,0 +1,17 @@ +log::Log - Rust

[][src]Trait log::Log

pub trait Log: Sync + Send {
+    fn enabled(&self, metadata: &Metadata<'_>) -> bool;
+
fn log(&self, record: &Record<'_>); +
fn flush(&self); +}

A trait encapsulating the operations required of a logger.

+

Required methods

fn enabled(&self, metadata: &Metadata<'_>) -> bool[src]

Determines if a log message with the specified metadata would be +logged.

+

This is used by the log_enabled! macro to allow callers to avoid +expensive computation of log message arguments if the message would be +discarded anyway.

+

fn log(&self, record: &Record<'_>)[src]

Logs the Record.

+

Note that enabled is not necessarily called before this method. +Implementations of log should perform all necessary filtering +internally.

+

fn flush(&self)[src]

Flushes any buffered records.

+
Loading content...

Implementors

Loading content...
\ No newline at end of file diff --git a/search-index.js b/search-index.js index b07abf5..afea168 100644 --- a/search-index.js +++ b/search-index.js @@ -1,10 +1,13 @@ var searchIndex = JSON.parse('{\ -"flexiber":{"doc":"flexiberImplementation of the BER-TLV serialization …","i":[[24,"Decodable","flexiber","Derive the Decodable trait on a struct.",null,null],[24,"Encodable","","Derive the Encodable trait on a struct.",null,null],[3,"Decoder","","BER-TLV decoder.",null,null],[3,"Encoder","","BER-TLV encoder.",null,null],[3,"Error","","Error type.",null,null],[4,"ErrorKind","","Error type.",null,null],[13,"Failed","","Operation failed due to previous error",0,null],[13,"InvalidClass","","Class has more than 2 bytes",0,null],[12,"value","flexiber::ErrorKind","",1,null],[13,"InvalidTag","flexiber","Invalid tag",0,null],[12,"byte","flexiber::ErrorKind","Raw byte value of the tag",2,null],[13,"InvalidLength","flexiber","Length greater than u16::MAX",0,null],[13,"Length","","Incorrect length for a given field",0,null],[12,"tag","flexiber::ErrorKind","Tag type of the value being decoded",3,null],[13,"Overflow","flexiber","Integer overflow occurred (library bug!)",0,null],[13,"Overlength","","Message is longer than BER-TLV\'s limits support",0,null],[13,"TrailingData","","Undecoded trailing data at end of message",0,null],[12,"decoded","flexiber::ErrorKind","Length of the decoded data",4,null],[12,"remaining","","Total length of the remaining data left in the buffer",4,null],[13,"Truncated","flexiber","Unexpected end-of-message/nested field when decoding",0,null],[13,"Underlength","","Encoded message is shorter than the expected length (i.e. …",0,null],[12,"expected","flexiber::ErrorKind","Expected length",5,null],[12,"actual","","Actual length",5,null],[13,"UnexpectedTag","flexiber","Unexpected tag",0,null],[12,"expected","flexiber::ErrorKind","Tag the decoder was expecting (if there is a single such …",6,null],[12,"actual","","Actual tag encountered in the message",6,null],[13,"UnsupportedTagSize","flexiber","Tag does not fit in 3 bytes",0,null],[6,"Result","","Result type.",null,null],[3,"Length","","BER-TLV-encoded length.",null,null],[3,"SimpleTag","","These are tags like in SIMPLE-TLV.",null,null],[3,"Slice","","Slice of at most Length::max() bytes.",null,null],[4,"Class","","Class of BER tag.",null,null],[13,"Universal","","",7,null],[13,"Application","","",7,null],[13,"Context","","",7,null],[13,"Private","","",7,null],[3,"Tag","","The tag field consists of a single byte encoding a tag …",null,null],[12,"class","","",8,null],[12,"constructed","","",8,null],[12,"number","","",8,null],[8,"TagLike","","This is the common trait that types to be used as tags …",null,null],[10,"embedding","","To stick with one Error type, make sure the tag type can …",9,[[],["tag",3]]],[11,"assert_eq","","Assert that this [Tag] matches the provided expected tag.",9,[[],["result",6]]],[11,"with_value","","Ergonomic way to get a TaggedValue for a given tag and …",9,[[],["taggedvalue",3]]],[6,"TaggedSlice","","Raw BER-TLV data object TaggedValue>.",null,null],[3,"TaggedValue","","BER-TLV data object.",null,null],[8,"Container","","Multiple encodables in a container.",null,null],[10,"fields","","Call the provided function with a slice of [Encodable] …",10,[[],["result",6]]],[8,"Decodable","","Decoding trait.",null,null],[10,"decode","","Attempt to decode this message using the provided decoder.",11,[[["decoder",3]],["result",6]]],[11,"from_bytes","","Parse Self from the provided byte slice.",11,[[],["result",6]]],[8,"Encodable","","Encoding trait.",null,null],[10,"encoded_length","","Compute the length of this value in bytes when encoded as …",12,[[],[["length",3],["result",6]]]],[10,"encode","","Encode this value as BER-TLV using the provided [Encoder].",12,[[["encoder",3]],["result",6]]],[11,"encode_to_slice","","Encode this value to the provided byte slice, returning a …",12,[[],["result",6]]],[8,"Tagged","","Types with an associated BER-TLV [Tag].",null,null],[10,"tag","","The tag",13,[[],["tag",3]]],[11,"from","","",14,[[]]],[11,"borrow","","",14,[[]]],[11,"borrow_mut","","",14,[[]]],[11,"try_from","","",14,[[],["result",4]]],[11,"into","","",14,[[]]],[11,"try_into","","",14,[[],["result",4]]],[11,"type_id","","",14,[[],["typeid",3]]],[11,"from","","",15,[[]]],[11,"borrow","","",15,[[]]],[11,"borrow_mut","","",15,[[]]],[11,"try_from","","",15,[[],["result",4]]],[11,"into","","",15,[[]]],[11,"try_into","","",15,[[],["result",4]]],[11,"type_id","","",15,[[],["typeid",3]]],[11,"from","","",16,[[]]],[11,"borrow","","",16,[[]]],[11,"borrow_mut","","",16,[[]]],[11,"try_from","","",16,[[],["result",4]]],[11,"into","","",16,[[]]],[11,"try_into","","",16,[[],["result",4]]],[11,"type_id","","",16,[[],["typeid",3]]],[11,"from","","",0,[[]]],[11,"borrow","","",0,[[]]],[11,"borrow_mut","","",0,[[]]],[11,"try_from","","",0,[[],["result",4]]],[11,"into","","",0,[[]]],[11,"try_into","","",0,[[],["result",4]]],[11,"type_id","","",0,[[],["typeid",3]]],[11,"from","","",17,[[]]],[11,"borrow","","",17,[[]]],[11,"borrow_mut","","",17,[[]]],[11,"try_from","","",17,[[],["result",4]]],[11,"into","","",17,[[]]],[11,"try_into","","",17,[[],["result",4]]],[11,"type_id","","",17,[[],["typeid",3]]],[11,"from","","",18,[[]]],[11,"borrow","","",18,[[]]],[11,"borrow_mut","","",18,[[]]],[11,"try_from","","",18,[[],["result",4]]],[11,"into","","",18,[[]]],[11,"try_into","","",18,[[],["result",4]]],[11,"type_id","","",18,[[],["typeid",3]]],[11,"from","","",19,[[]]],[11,"borrow","","",19,[[]]],[11,"borrow_mut","","",19,[[]]],[11,"try_from","","",19,[[],["result",4]]],[11,"into","","",19,[[]]],[11,"try_into","","",19,[[],["result",4]]],[11,"type_id","","",19,[[],["typeid",3]]],[11,"from","","",7,[[]]],[11,"borrow","","",7,[[]]],[11,"borrow_mut","","",7,[[]]],[11,"try_from","","",7,[[],["result",4]]],[11,"into","","",7,[[]]],[11,"try_into","","",7,[[],["result",4]]],[11,"type_id","","",7,[[],["typeid",3]]],[11,"from","","",8,[[]]],[11,"borrow","","",8,[[]]],[11,"borrow_mut","","",8,[[]]],[11,"try_from","","",8,[[],["result",4]]],[11,"into","","",8,[[]]],[11,"try_into","","",8,[[],["result",4]]],[11,"type_id","","",8,[[],["typeid",3]]],[11,"from","","",20,[[]]],[11,"borrow","","",20,[[]]],[11,"borrow_mut","","",20,[[]]],[11,"try_from","","",20,[[],["result",4]]],[11,"into","","",20,[[]]],[11,"try_into","","",20,[[],["result",4]]],[11,"type_id","","",20,[[],["typeid",3]]],[11,"embedding","","",18,[[],["tag",3]]],[11,"embedding","","",8,[[],["tag",3]]],[11,"decode","","",17,[[["decoder",3]],[["length",3],["result",6]]]],[11,"decode","","",18,[[["decoder",3]],["result",6]]],[11,"decode","","",8,[[["decoder",3]],["result",6]]],[11,"decode","","",21,[[["decoder",3]],["result",6]]],[11,"encoded_length","","",17,[[],[["length",3],["result",6]]]],[11,"encode","","",17,[[["encoder",3]],["result",6]]],[11,"encoded_length","","",18,[[],[["length",3],["result",6]]]],[11,"encode","","",18,[[["encoder",3]],["result",6]]],[11,"encoded_length","","",8,[[],[["length",3],["result",6]]]],[11,"encode","","",8,[[["encoder",3]],["result",6]]],[11,"encoded_length","","",20,[[],[["length",3],["result",6]]]],[11,"encode","","",20,[[["encoder",3]],["result",6]]],[11,"encoded_length","","",21,[[],[["length",3],["result",6]]]],[11,"encode","","",21,[[["encoder",3]],["result",6]]],[11,"from","","",14,[[],["decoder",3]]],[11,"from","","",16,[[["errorkind",4]],["error",3]]],[11,"from","","",16,[[["infallible",4]],["error",3]]],[11,"from","","",17,[[],["length",3]]],[11,"from","","",17,[[],["length",3]]],[11,"fmt","","",14,[[["formatter",3]],["result",6]]],[11,"fmt","","",15,[[["formatter",3]],["result",6]]],[11,"fmt","","",16,[[["formatter",3]],["result",6]]],[11,"fmt","","",0,[[["formatter",3]],["result",6]]],[11,"fmt","","",17,[[["formatter",3]],["result",6]]],[11,"fmt","","",19,[[["formatter",3]],["result",6]]],[11,"fmt","","",7,[[["formatter",3]],["result",6]]],[11,"fmt","","",8,[[["formatter",3]],["result",6]]],[11,"fmt","","",20,[[["formatter",3]],["result",6]]],[11,"fmt","","",16,[[["formatter",3]],["result",6]]],[11,"fmt","","",0,[[["formatter",3]],["result",6]]],[11,"fmt","","",17,[[["formatter",3]],["result",6]]],[11,"fmt","","",8,[[["formatter",3]],["result",6]]],[11,"eq","","",16,[[["error",3]]]],[11,"ne","","",16,[[["error",3]]]],[11,"eq","","",0,[[["errorkind",4]]]],[11,"ne","","",0,[[["errorkind",4]]]],[11,"eq","","",17,[[["length",3]]]],[11,"ne","","",17,[[["length",3]]]],[11,"eq","","",18,[[["simpletag",3]]]],[11,"ne","","",18,[[["simpletag",3]]]],[11,"eq","","",19,[[["slice",3]]]],[11,"ne","","",19,[[["slice",3]]]],[11,"eq","","",7,[[["class",4]]]],[11,"eq","","",8,[[["tag",3]]]],[11,"ne","","",8,[[["tag",3]]]],[11,"eq","","",20,[[["taggedvalue",3]]]],[11,"ne","","",20,[[["taggedvalue",3]]]],[11,"cmp","","",17,[[["length",3]],["ordering",4]]],[11,"partial_cmp","","",17,[[["length",3]],[["option",4],["ordering",4]]]],[11,"lt","","",17,[[["length",3]]]],[11,"le","","",17,[[["length",3]]]],[11,"gt","","",17,[[["length",3]]]],[11,"ge","","",17,[[["length",3]]]],[11,"add","","",17,[[],["result",6]]],[11,"add","","",17,[[],["result",6]]],[11,"add","","",17,[[],["result",6]]],[11,"add","","",17,[[],["result",6]]],[11,"add","","",22,[[["length",3]]]],[11,"try_from","","",17,[[],[["length",3],["result",6]]]],[11,"try_from","","",17,[[],[["length",3],["result",6]]]],[11,"try_from","","",18,[[],["result",6]]],[11,"try_from","","",7,[[],["result",6]]],[11,"try_from","","",8,[[],["result",6]]],[11,"try_from","","",8,[[],["result",6]]],[11,"as_ref","","",19,[[]]],[11,"clone","","",16,[[],["error",3]]],[11,"clone","","",0,[[],["errorkind",4]]],[11,"clone","","",17,[[],["length",3]]],[11,"clone","","",18,[[],["simpletag",3]]],[11,"clone","","",19,[[],["slice",3]]],[11,"clone","","",7,[[],["class",4]]],[11,"clone","","",8,[[],["tag",3]]],[11,"clone","","",20,[[],["taggedvalue",3]]],[11,"default","","",17,[[],["length",3]]],[11,"new","","Create a new decoder for the given byte slice.",14,[[]]],[11,"decode","","Decode a value which impls the [Decodable] trait.",14,[[],[["decodable",8],["result",6]]]],[11,"decode_tagged_value","","Decode a TaggedValue with tag checked to be as expected, …",14,[[["decodable",8],["taglike",8]],[["decodable",8],["result",6]]]],[11,"decode_tagged_slice","","Decode a TaggedSlice with tag checked to be as expected, …",14,[[["decodable",8],["taglike",8]],["result",6]]],[11,"error","","Return an error with the given [ErrorKind], annotating it …",14,[[["errorkind",4]],["result",6]]],[11,"is_failed","","Did the decoding operation fail due to an error?",14,[[]]],[11,"finish","","Finish decoding, returning the given value if there is no …",14,[[],["result",6]]],[11,"is_finished","","Have we decoded all of the bytes in this [Decoder]?",14,[[]]],[11,"new","","Create a new encoder with the given byte slice as a …",15,[[]]],[11,"encode","","Encode a value which impls the [Encodable] trait.",15,[[],["result",6]]],[11,"error","","Return an error with the given [ErrorKind], annotating it …",15,[[["errorkind",4]],["result",6]]],[11,"is_failed","","Did the decoding operation fail due to an error?",15,[[]]],[11,"finish","","Finish encoding to the buffer, returning a slice …",15,[[],["result",6]]],[11,"encode_tagged_collection","","Encode a collection of values which impl the [Encodable] …",15,[[["tag",3]],["result",6]]],[11,"encode_untagged_collection","","Encode a collection of values which impl the [Encodable] …",15,[[],["result",6]]],[11,"new","","Create a new [Error]",16,[[["errorkind",4],["length",3]],["error",3]]],[11,"kind","","Get the [ErrorKind] which occurred.",16,[[],["errorkind",4]]],[11,"position","","Get the position inside of the message where the error …",16,[[],[["option",4],["length",3]]]],[11,"nested","","For errors occurring inside of a nested message, extend …",16,[[["length",3]]]],[11,"at","","Annotate an [ErrorKind] with context about where it …",0,[[["length",3]],["error",3]]],[11,"zero","","Return a length of 0.",17,[[]]],[11,"max","","Get the maximum length supported by BER-TLV: 65,535.",17,[[]]],[11,"to_usize","","Convert length to usize.",17,[[]]],[11,"new","","Create a new [Slice], ensuring that the provided slice …",19,[[],["result",6]]],[11,"as_bytes","","Borrow the inner byte slice",19,[[]]],[11,"length","","Get the [Length] of this [Slice]",19,[[],["length",3]]],[11,"is_empty","","Is this [Slice] empty?",19,[[]]],[11,"from","","",8,[[["class",4]]]],[11,"universal","","",8,[[]]],[11,"application","","",8,[[]]],[11,"context","","",8,[[]]],[11,"private","","",8,[[]]],[11,"constructed","","",8,[[]]],[11,"assert_eq","","Assert that this [Tag] matches the provided expected tag.",9,[[],["result",6]]],[11,"with_value","","Ergonomic way to get a TaggedValue for a given tag and …",9,[[],["taggedvalue",3]]],[11,"new","","",20,[[]]],[11,"tag","","",20,[[]]],[11,"from","","Create a new tagged slice, checking lengths.",20,[[],["result",6]]],[11,"as_bytes","","Borrow the inner byte slice.",20,[[]]],[11,"length","","Get the length of the inner byte slice.",20,[[],["length",3]]],[11,"is_empty","","Is the inner byte slice empty?",20,[[]]],[11,"decode_nested","","Decode nested values, creating a new [Decoder] for the …",20,[[],["result",6]]],[11,"from","","Create a new tagged slice, checking lengths.",21,[[],["result",6]]],[11,"as_bytes","","Borrow the inner byte slice.",21,[[]]],[11,"length","","Get the length of the inner byte slice.",21,[[],["length",3]]],[11,"is_empty","","Is the inner byte slice empty?",21,[[]]],[11,"decode_nested","","Decode nested values, creating a new [Decoder] for the …",21,[[],["result",6]]],[11,"from_bytes","","Parse Self from the provided byte slice.",11,[[],["result",6]]],[11,"encode_to_slice","","Encode this value to the provided byte slice, returning a …",12,[[],["result",6]]]],"p":[[4,"ErrorKind"],[13,"InvalidClass"],[13,"InvalidTag"],[13,"Length"],[13,"TrailingData"],[13,"Underlength"],[13,"UnexpectedTag"],[4,"Class"],[3,"Tag"],[8,"TagLike"],[8,"Container"],[8,"Decodable"],[8,"Encodable"],[8,"Tagged"],[3,"Decoder"],[3,"Encoder"],[3,"Error"],[3,"Length"],[3,"SimpleTag"],[3,"Slice"],[3,"TaggedValue"],[6,"TaggedSlice"],[6,"Result"]]},\ +"cfg_if":{"doc":"A macro for defining #[cfg] if-else statements.","i":[[14,"cfg_if","cfg_if","The main macro provided by this crate. See crate …",null,null]],"p":[]},\ +"delog":{"doc":"Compile-time configurable deferred logging (for printf()…","i":[[4,"Level","delog","An enum representing the available verbosity levels of …",null,null],[13,"Error","","The \\\"error\\\" level.",0,null],[13,"Warn","","The \\\"warn\\\" level.",0,null],[13,"Info","","The \\\"info\\\" level.",0,null],[13,"Debug","","The \\\"debug\\\" level.",0,null],[13,"Trace","","The \\\"trace\\\" level.",0,null],[4,"LevelFilter","","An enum representing the available verbosity level …",null,null],[13,"Off","","A level lower than all log levels.",1,null],[13,"Error","","Corresponds to the Error log level.",1,null],[13,"Warn","","Corresponds to the Warn log level.",1,null],[13,"Info","","Corresponds to the Info log level.",1,null],[13,"Debug","","Corresponds to the Debug log level.",1,null],[13,"Trace","","Corresponds to the Trace log level.",1,null],[3,"Record","","The \\\"payload\\\" of a log message.",null,null],[0,"hex","","Convenient Display and other traits for binary data.",null,null],[8,"Unsigned","delog::hex","A type that specifies an unsigned integer.",null,null],[18,"N","","The actual number.",2,null],[3,"U1","","A type that represents the integer 1.",null,null],[8,"Separator","","A type that specifies a separator str.",null,null],[18,"SEPARATOR","","The actual separator str.",3,null],[3,"HexStr","","Zero-sized wrapper newtype, allowing grouping bytes in …",null,null],[12,"value","","The value to be formatted.",4,null],[5,"HexStr","","Explicitly construct a newtype to format with.",null,[[],[["hexstr",3],["unsigned",8],["sized",8],["separator",8]]]],[0,"render","delog","The default, minimal renderer, and some helper functions.",null,null],[5,"render_arguments","delog::render","For some reason, there seems to be no existing method to …",null,[[["arguments",3]]]],[5,"render_record","","Render record, based on feature flags.",null,[[["record",3]]]],[3,"DefaultRenderer","","Renders just the record.args().",null,null],[5,"default","","The default, minimal renderer.",null,[[],["defaultrenderer",3]]],[3,"RipgrepRenderer","","Renders the record.args(), prefixed by level, target, and …",null,null],[8,"Delogger","delog","Semi-abstract characterization of the deferred loggers …",null,null],[10,"buffer","","the underlying buffer",5,[[]]],[10,"claimed","","How many characters were claimed so far.",5,[[],["atomicusize",3]]],[10,"flush","","Call the flusher.",5,[[]]],[10,"render","","Actually render the arguments (via internal static …",5,[[["record",3]]]],[11,"capacity","","Capacity of circular buffer.",5,[[]]],[3,"Statistics","","Statistics on logger usage.",null,null],[12,"attempts","","How often was one of the logging macros called.",6,null],[12,"successes","","How often was one of the logging macros called without …",6,null],[12,"flushes","","How often was the flusher called.",6,null],[12,"read","","How many bytes were flushed so far.",6,null],[12,"written","","How many bytes were logged so far.",6,null],[8,"State","","Trait for either state or statistics of loggers.",null,null],[10,"attempts","","How often was one of the logging macros called.",7,[[]]],[10,"successes","","How often was one of the logging macros called without …",7,[[]]],[10,"flushes","","How often was the flusher called.",7,[[]]],[10,"read","","How many bytes were flushed so far.",7,[[]]],[10,"written","","How many bytes were logged so far.",7,[[]]],[8,"TryLog","","Fallible, panic-free version of the log::Log trait.",null,null],[10,"try_log","","Fallible logging call (fails when buffer is full)",8,[[["record",3]],["result",4]]],[8,"TryLogWithStatistics","","TryLog with some usage statistics on top.",null,null],[11,"statistics","","Read out statistics on logger usage.",9,[[],["statistics",3]]],[5,"dequeue","","The core \\\"read from circular buffer\\\" method. Marked …",null,[[]]],[5,"enqueue","","The core \\\"write to circular buffer\\\" method. Marked unsafe …",null,[[["record",3]]]],[5,"try_enqueue","","The fallible \\\"write to circular buffer\\\" method. Marked …",null,[[["record",3]],["result",4]]],[8,"Flusher","","A way to pass on logs, user supplied.",null,null],[10,"flush","","Implementor must handle passed log &str in some hopefully …",10,[[]]],[8,"Renderer","","A way to format logs, user supplied.",null,null],[10,"render","","Implementor must render record into buf, returning the …",11,[[["record",3]]]],[5,"logger","","Returns a reference to the logger (as TryLogWithStatistics…",null,[[],["option",4]]],[14,"hex_str","","Compactly format byte arrays and slices as hexadecimals.",null,null],[14,"hexstr","","More compactly format byte arrays and slices as …",null,null],[14,"try_log","","Fallible (ungated) version of log!.",null,null],[14,"generate_macros","","Generate logging macros that can be gated by library.",null,null],[14,"delog","","Generate a deferred logger with specified capacity and …",null,null],[11,"from","","",0,[[]]],[11,"borrow","","",0,[[]]],[11,"borrow_mut","","",0,[[]]],[11,"try_from","","",0,[[],["result",4]]],[11,"into","","",0,[[]]],[11,"try_into","","",0,[[],["result",4]]],[11,"type_id","","",0,[[],["typeid",3]]],[11,"from","","",1,[[]]],[11,"borrow","","",1,[[]]],[11,"borrow_mut","","",1,[[]]],[11,"try_from","","",1,[[],["result",4]]],[11,"into","","",1,[[]]],[11,"try_into","","",1,[[],["result",4]]],[11,"type_id","","",1,[[],["typeid",3]]],[11,"from","","",12,[[]]],[11,"borrow","","",12,[[]]],[11,"borrow_mut","","",12,[[]]],[11,"try_from","","",12,[[],["result",4]]],[11,"into","","",12,[[]]],[11,"try_into","","",12,[[],["result",4]]],[11,"type_id","","",12,[[],["typeid",3]]],[11,"from","delog::hex","",13,[[]]],[11,"borrow","","",13,[[]]],[11,"borrow_mut","","",13,[[]]],[11,"try_from","","",13,[[],["result",4]]],[11,"into","","",13,[[]]],[11,"try_into","","",13,[[],["result",4]]],[11,"type_id","","",13,[[],["typeid",3]]],[11,"from","","",4,[[]]],[11,"borrow","","",4,[[]]],[11,"borrow_mut","","",4,[[]]],[11,"try_from","","",4,[[],["result",4]]],[11,"into","","",4,[[]]],[11,"try_into","","",4,[[],["result",4]]],[11,"type_id","","",4,[[],["typeid",3]]],[11,"from","delog","",6,[[]]],[11,"borrow","","",6,[[]]],[11,"borrow_mut","","",6,[[]]],[11,"try_from","","",6,[[],["result",4]]],[11,"into","","",6,[[]]],[11,"try_into","","",6,[[],["result",4]]],[11,"type_id","","",6,[[],["typeid",3]]],[11,"from","delog::render","",14,[[]]],[11,"borrow","","",14,[[]]],[11,"borrow_mut","","",14,[[]]],[11,"try_from","","",14,[[],["result",4]]],[11,"into","","",14,[[]]],[11,"try_into","","",14,[[],["result",4]]],[11,"type_id","","",14,[[],["typeid",3]]],[11,"from","","",15,[[]]],[11,"borrow","","",15,[[]]],[11,"borrow_mut","","",15,[[]]],[11,"try_from","","",15,[[],["result",4]]],[11,"into","","",15,[[]]],[11,"try_into","","",15,[[],["result",4]]],[11,"type_id","","",15,[[],["typeid",3]]],[11,"partial_cmp","delog","",0,[[["levelfilter",4]],[["ordering",4],["option",4]]]],[11,"lt","","",0,[[["levelfilter",4]]]],[11,"le","","",0,[[["levelfilter",4]]]],[11,"gt","","",0,[[["levelfilter",4]]]],[11,"ge","","",0,[[["levelfilter",4]]]],[11,"partial_cmp","","",1,[[["level",4]],[["ordering",4],["option",4]]]],[11,"lt","","",1,[[["level",4]]]],[11,"le","","",1,[[["level",4]]]],[11,"gt","","",1,[[["level",4]]]],[11,"ge","","",1,[[["level",4]]]],[11,"partial_cmp","","",0,[[["level",4]],[["ordering",4],["option",4]]]],[11,"lt","","",0,[[["level",4]]]],[11,"le","","",0,[[["level",4]]]],[11,"gt","","",0,[[["level",4]]]],[11,"ge","","",0,[[["level",4]]]],[11,"partial_cmp","","",1,[[["levelfilter",4]],[["ordering",4],["option",4]]]],[11,"lt","","",1,[[["levelfilter",4]]]],[11,"le","","",1,[[["levelfilter",4]]]],[11,"gt","","",1,[[["levelfilter",4]]]],[11,"ge","","",1,[[["levelfilter",4]]]],[11,"cmp","","",0,[[["level",4]],["ordering",4]]],[11,"cmp","","",1,[[["levelfilter",4]],["ordering",4]]],[11,"hash","","",1,[[]]],[11,"hash","","",0,[[]]],[11,"eq","","",1,[[["level",4]]]],[11,"eq","","",1,[[["levelfilter",4]]]],[11,"eq","","",0,[[["levelfilter",4]]]],[11,"eq","","",0,[[["level",4]]]],[11,"fmt","","",1,[[["formatter",3]],[["result",4],["error",3]]]],[11,"fmt","","",0,[[["formatter",3]],[["result",4],["error",3]]]],[11,"fmt","","",0,[[["formatter",3]],[["result",4],["error",3]]]],[11,"fmt","","",1,[[["formatter",3]],[["result",4],["error",3]]]],[11,"fmt","","",12,[[["formatter",3]],[["result",4],["error",3]]]],[11,"from_str","","",0,[[],[["result",4],["level",4]]]],[11,"from_str","","",1,[[],[["result",4],["levelfilter",4]]]],[11,"clone","","",12,[[],["record",3]]],[11,"clone","","",1,[[],["levelfilter",4]]],[11,"clone","","",0,[[],["level",4]]],[11,"render","delog::render","",14,[[["record",3]]]],[11,"render","","",15,[[["record",3]]]],[11,"fmt","delog::hex","",4,[[["formatter",3]],[["error",3],["result",4]]]],[11,"fmt","delog","",6,[[["formatter",3]],["result",6]]],[11,"fmt","delog::hex","",4,[[["formatter",3]],[["error",3],["result",4]]]],[11,"fmt","","",4,[[["formatter",3]],[["error",3],["result",4]]]],[11,"fmt","","",4,[[["formatter",3]],[["error",3],["result",4]]]],[11,"clone","delog","",6,[[],["statistics",3]]],[11,"clone","delog::render","",14,[[],["defaultrenderer",3]]],[11,"clone","","",15,[[],["ripgreprenderer",3]]],[11,"max","delog","Returns the most verbose logging level.",0,[[],["level",4]]],[11,"to_level_filter","","Converts the Level to the equivalent LevelFilter.",0,[[],["levelfilter",4]]],[11,"as_str","","Returns the string representation of the Level.",0,[[]]],[11,"max","","Returns the most verbose logging level filter.",1,[[],["levelfilter",4]]],[11,"to_level","","Converts self to the equivalent Level.",1,[[],[["level",4],["option",4]]]],[11,"as_str","","Returns the string representation of the LevelFilter.",1,[[]]],[11,"builder","","Returns a new builder.",12,[[],["recordbuilder",3]]],[11,"args","","The message body.",12,[[],["arguments",3]]],[11,"metadata","","Metadata about the log directive.",12,[[],["metadata",3]]],[11,"level","","The verbosity level of the message.",12,[[],["level",4]]],[11,"target","","The name of the target of the directive.",12,[[]]],[11,"module_path","","The module path of the message.",12,[[],["option",4]]],[11,"module_path_static","","The module path of the message, if it is a \'static string.",12,[[],["option",4]]],[11,"file","","The source file containing the message.",12,[[],["option",4]]],[11,"file_static","","The module path of the message, if it is a \'static string.",12,[[],["option",4]]],[11,"line","","The line containing the message.",12,[[],["option",4]]],[11,"capacity","","Capacity of circular buffer.",5,[[]]],[11,"statistics","","Read out statistics on logger usage.",9,[[],["statistics",3]]]],"p":[[4,"Level"],[4,"LevelFilter"],[8,"Unsigned"],[8,"Separator"],[3,"HexStr"],[8,"Delogger"],[3,"Statistics"],[8,"State"],[8,"TryLog"],[8,"TryLogWithStatistics"],[8,"Flusher"],[8,"Renderer"],[3,"Record"],[3,"U1"],[3,"DefaultRenderer"],[3,"RipgrepRenderer"]]},\ +"flexiber":{"doc":"flexiberImplementation of the BER-TLV serialization …","i":[[24,"Decodable","flexiber","Derive the Decodable trait on a struct.",null,null],[24,"Encodable","","Derive the Encodable trait on a struct.",null,null],[3,"Decoder","","BER-TLV decoder.",null,null],[3,"Encoder","","BER-TLV encoder.",null,null],[3,"Error","","Error type.",null,null],[4,"ErrorKind","","Error type.",null,null],[13,"Failed","","Operation failed due to previous error",0,null],[13,"InvalidClass","","Class has more than 2 bytes",0,null],[12,"value","flexiber::ErrorKind","",1,null],[13,"InvalidTag","flexiber","Invalid tag",0,null],[12,"byte","flexiber::ErrorKind","Raw byte value of the tag",2,null],[13,"InvalidLength","flexiber","Length greater than u16::MAX",0,null],[13,"Length","","Incorrect length for a given field",0,null],[12,"tag","flexiber::ErrorKind","Tag type of the value being decoded",3,null],[13,"Overflow","flexiber","Integer overflow occurred (library bug!)",0,null],[13,"Overlength","","Message is longer than BER-TLV\'s limits support",0,null],[13,"TrailingData","","Undecoded trailing data at end of message",0,null],[12,"decoded","flexiber::ErrorKind","Length of the decoded data",4,null],[12,"remaining","","Total length of the remaining data left in the buffer",4,null],[13,"Truncated","flexiber","Unexpected end-of-message/nested field when decoding",0,null],[13,"Underlength","","Encoded message is shorter than the expected length (i.e. …",0,null],[12,"expected","flexiber::ErrorKind","Expected length",5,null],[12,"actual","","Actual length",5,null],[13,"UnexpectedTag","flexiber","Unexpected tag",0,null],[12,"expected","flexiber::ErrorKind","Tag the decoder was expecting (if there is a single such …",6,null],[12,"actual","","Actual tag encountered in the message",6,null],[13,"UnsupportedTagSize","flexiber","Tag does not fit in 3 bytes",0,null],[6,"Result","","Result type.",null,null],[3,"Length","","BER-TLV-encoded length.",null,null],[3,"SimpleTag","","These are tags like in SIMPLE-TLV.",null,null],[3,"Slice","","Slice of at most Length::max() bytes.",null,null],[4,"Class","","Class of BER tag.",null,null],[13,"Universal","","",7,null],[13,"Application","","",7,null],[13,"Context","","",7,null],[13,"Private","","",7,null],[3,"Tag","","The tag field consists of a single byte encoding a tag …",null,null],[12,"class","","",8,null],[12,"constructed","","",8,null],[12,"number","","",8,null],[8,"TagLike","","This is the common trait that types to be used as tags …",null,null],[10,"embedding","","To stick with one Error type, make sure the tag type can …",9,[[],["tag",3]]],[11,"assert_eq","","Assert that this [Tag] matches the provided expected tag.",9,[[],["result",6]]],[11,"with_value","","Ergonomic way to get a TaggedValue for a given tag and …",9,[[],["taggedvalue",3]]],[6,"TaggedSlice","","Raw BER-TLV data object TaggedValue>.",null,null],[3,"TaggedValue","","BER-TLV data object.",null,null],[8,"Container","","Multiple encodables in a container.",null,null],[10,"fields","","Call the provided function with a slice of [Encodable] …",10,[[],["result",6]]],[8,"Decodable","","Decoding trait.",null,null],[10,"decode","","Attempt to decode this message using the provided decoder.",11,[[["decoder",3]],["result",6]]],[11,"from_bytes","","Parse Self from the provided byte slice.",11,[[],["result",6]]],[8,"Encodable","","Encoding trait.",null,null],[10,"encoded_length","","Compute the length of this value in bytes when encoded as …",12,[[],[["result",6],["length",3]]]],[10,"encode","","Encode this value as BER-TLV using the provided [Encoder].",12,[[["encoder",3]],["result",6]]],[11,"encode_to_slice","","Encode this value to the provided byte slice, returning a …",12,[[],["result",6]]],[8,"Tagged","","Types with an associated BER-TLV [Tag].",null,null],[10,"tag","","The tag",13,[[],["tag",3]]],[14,"try_debug","","Fallible version of debug!.",null,null],[14,"try_error","","Fallible version of error!.",null,null],[14,"try_info","","Fallible version of info!.",null,null],[14,"try_trace","","Fallible version of trace!.",null,null],[14,"try_warn","","Fallible version of warn!.",null,null],[14,"log","","Local version of log!.",null,null],[14,"debug","","Local version of debug!.",null,null],[14,"error","","Local version of error!.",null,null],[14,"info","","Local version of info!.",null,null],[14,"trace","","Local version of trace!.",null,null],[14,"warn","","Local version of warn!.",null,null],[14,"log_now","","Immediate version of log!.",null,null],[14,"debug_now","","Immediate version of debug!.",null,null],[14,"error_now","","Immediate version of error!.",null,null],[14,"info_now","","Immediate version of info!.",null,null],[14,"trace_now","","Immediate version of trace!.",null,null],[14,"warn_now","","Immediate version of warn!.",null,null],[14,"try_log_now","","Fallible immediate version of log!.",null,null],[14,"try_debug_now","","Fallible immediate version of debug!.",null,null],[14,"try_error_now","","Fallible immediate version of error!.",null,null],[14,"try_info_now","","Fallible immediate version of info!.",null,null],[14,"try_trace_now","","Fallible immediate version of trace!.",null,null],[14,"try_warn_now","","Fallible immediate version of warn!.",null,null],[11,"from","","",14,[[]]],[11,"borrow","","",14,[[]]],[11,"borrow_mut","","",14,[[]]],[11,"try_from","","",14,[[],["result",4]]],[11,"into","","",14,[[]]],[11,"try_into","","",14,[[],["result",4]]],[11,"type_id","","",14,[[],["typeid",3]]],[11,"from","","",15,[[]]],[11,"borrow","","",15,[[]]],[11,"borrow_mut","","",15,[[]]],[11,"try_from","","",15,[[],["result",4]]],[11,"into","","",15,[[]]],[11,"try_into","","",15,[[],["result",4]]],[11,"type_id","","",15,[[],["typeid",3]]],[11,"from","","",16,[[]]],[11,"borrow","","",16,[[]]],[11,"borrow_mut","","",16,[[]]],[11,"try_from","","",16,[[],["result",4]]],[11,"into","","",16,[[]]],[11,"try_into","","",16,[[],["result",4]]],[11,"type_id","","",16,[[],["typeid",3]]],[11,"from","","",0,[[]]],[11,"borrow","","",0,[[]]],[11,"borrow_mut","","",0,[[]]],[11,"try_from","","",0,[[],["result",4]]],[11,"into","","",0,[[]]],[11,"try_into","","",0,[[],["result",4]]],[11,"type_id","","",0,[[],["typeid",3]]],[11,"from","","",17,[[]]],[11,"borrow","","",17,[[]]],[11,"borrow_mut","","",17,[[]]],[11,"try_from","","",17,[[],["result",4]]],[11,"into","","",17,[[]]],[11,"try_into","","",17,[[],["result",4]]],[11,"type_id","","",17,[[],["typeid",3]]],[11,"from","","",18,[[]]],[11,"borrow","","",18,[[]]],[11,"borrow_mut","","",18,[[]]],[11,"try_from","","",18,[[],["result",4]]],[11,"into","","",18,[[]]],[11,"try_into","","",18,[[],["result",4]]],[11,"type_id","","",18,[[],["typeid",3]]],[11,"from","","",19,[[]]],[11,"borrow","","",19,[[]]],[11,"borrow_mut","","",19,[[]]],[11,"try_from","","",19,[[],["result",4]]],[11,"into","","",19,[[]]],[11,"try_into","","",19,[[],["result",4]]],[11,"type_id","","",19,[[],["typeid",3]]],[11,"from","","",7,[[]]],[11,"borrow","","",7,[[]]],[11,"borrow_mut","","",7,[[]]],[11,"try_from","","",7,[[],["result",4]]],[11,"into","","",7,[[]]],[11,"try_into","","",7,[[],["result",4]]],[11,"type_id","","",7,[[],["typeid",3]]],[11,"from","","",8,[[]]],[11,"borrow","","",8,[[]]],[11,"borrow_mut","","",8,[[]]],[11,"try_from","","",8,[[],["result",4]]],[11,"into","","",8,[[]]],[11,"try_into","","",8,[[],["result",4]]],[11,"type_id","","",8,[[],["typeid",3]]],[11,"from","","",20,[[]]],[11,"borrow","","",20,[[]]],[11,"borrow_mut","","",20,[[]]],[11,"try_from","","",20,[[],["result",4]]],[11,"into","","",20,[[]]],[11,"try_into","","",20,[[],["result",4]]],[11,"type_id","","",20,[[],["typeid",3]]],[11,"embedding","","",18,[[],["tag",3]]],[11,"embedding","","",8,[[],["tag",3]]],[11,"decode","","",17,[[["decoder",3]],[["result",6],["length",3]]]],[11,"decode","","",18,[[["decoder",3]],["result",6]]],[11,"decode","","",8,[[["decoder",3]],["result",6]]],[11,"decode","","",21,[[["decoder",3]],["result",6]]],[11,"encoded_length","","",17,[[],[["result",6],["length",3]]]],[11,"encode","","",17,[[["encoder",3]],["result",6]]],[11,"encoded_length","","",18,[[],[["result",6],["length",3]]]],[11,"encode","","",18,[[["encoder",3]],["result",6]]],[11,"encoded_length","","",8,[[],[["result",6],["length",3]]]],[11,"encode","","",8,[[["encoder",3]],["result",6]]],[11,"encoded_length","","",20,[[],[["result",6],["length",3]]]],[11,"encode","","",20,[[["encoder",3]],["result",6]]],[11,"encoded_length","","",21,[[],[["result",6],["length",3]]]],[11,"encode","","",21,[[["encoder",3]],["result",6]]],[11,"from","","",14,[[],["decoder",3]]],[11,"from","","",16,[[["errorkind",4]],["error",3]]],[11,"from","","",16,[[["infallible",4]],["error",3]]],[11,"from","","",17,[[],["length",3]]],[11,"from","","",17,[[],["length",3]]],[11,"fmt","","",14,[[["formatter",3]],["result",6]]],[11,"fmt","","",15,[[["formatter",3]],["result",6]]],[11,"fmt","","",16,[[["formatter",3]],["result",6]]],[11,"fmt","","",0,[[["formatter",3]],["result",6]]],[11,"fmt","","",17,[[["formatter",3]],["result",6]]],[11,"fmt","","",19,[[["formatter",3]],["result",6]]],[11,"fmt","","",7,[[["formatter",3]],["result",6]]],[11,"fmt","","",8,[[["formatter",3]],["result",6]]],[11,"fmt","","",20,[[["formatter",3]],["result",6]]],[11,"fmt","","",16,[[["formatter",3]],["result",6]]],[11,"fmt","","",0,[[["formatter",3]],["result",6]]],[11,"fmt","","",17,[[["formatter",3]],["result",6]]],[11,"fmt","","",8,[[["formatter",3]],["result",6]]],[11,"eq","","",16,[[["error",3]]]],[11,"ne","","",16,[[["error",3]]]],[11,"eq","","",0,[[["errorkind",4]]]],[11,"ne","","",0,[[["errorkind",4]]]],[11,"eq","","",17,[[["length",3]]]],[11,"ne","","",17,[[["length",3]]]],[11,"eq","","",18,[[["simpletag",3]]]],[11,"ne","","",18,[[["simpletag",3]]]],[11,"eq","","",19,[[["slice",3]]]],[11,"ne","","",19,[[["slice",3]]]],[11,"eq","","",7,[[["class",4]]]],[11,"eq","","",8,[[["tag",3]]]],[11,"ne","","",8,[[["tag",3]]]],[11,"eq","","",20,[[["taggedvalue",3]]]],[11,"ne","","",20,[[["taggedvalue",3]]]],[11,"cmp","","",17,[[["length",3]],["ordering",4]]],[11,"partial_cmp","","",17,[[["length",3]],[["option",4],["ordering",4]]]],[11,"lt","","",17,[[["length",3]]]],[11,"le","","",17,[[["length",3]]]],[11,"gt","","",17,[[["length",3]]]],[11,"ge","","",17,[[["length",3]]]],[11,"add","","",17,[[],["result",6]]],[11,"add","","",17,[[],["result",6]]],[11,"add","","",17,[[],["result",6]]],[11,"add","","",17,[[],["result",6]]],[11,"add","","",22,[[["length",3]]]],[11,"try_from","","",17,[[],[["result",6],["length",3]]]],[11,"try_from","","",17,[[],[["result",6],["length",3]]]],[11,"try_from","","",18,[[],["result",6]]],[11,"try_from","","",7,[[],["result",6]]],[11,"try_from","","",8,[[],["result",6]]],[11,"try_from","","",8,[[],["result",6]]],[11,"as_ref","","",19,[[]]],[11,"clone","","",16,[[],["error",3]]],[11,"clone","","",0,[[],["errorkind",4]]],[11,"clone","","",17,[[],["length",3]]],[11,"clone","","",18,[[],["simpletag",3]]],[11,"clone","","",19,[[],["slice",3]]],[11,"clone","","",7,[[],["class",4]]],[11,"clone","","",8,[[],["tag",3]]],[11,"clone","","",20,[[],["taggedvalue",3]]],[11,"default","","",17,[[],["length",3]]],[11,"new","","Create a new decoder for the given byte slice.",14,[[]]],[11,"decode","","Decode a value which impls the [Decodable] trait.",14,[[],[["result",6],["decodable",8]]]],[11,"decode_tagged_value","","Decode a TaggedValue with tag checked to be as expected, …",14,[[["decodable",8],["taglike",8]],[["decodable",8],["result",6]]]],[11,"decode_tagged_slice","","Decode a TaggedSlice with tag checked to be as expected, …",14,[[["decodable",8],["taglike",8]],["result",6]]],[11,"error","","Return an error with the given [ErrorKind], annotating it …",14,[[["errorkind",4]],["result",6]]],[11,"is_failed","","Did the decoding operation fail due to an error?",14,[[]]],[11,"finish","","Finish decoding, returning the given value if there is no …",14,[[],["result",6]]],[11,"is_finished","","Have we decoded all of the bytes in this [Decoder]?",14,[[]]],[11,"new","","Create a new encoder with the given byte slice as a …",15,[[]]],[11,"encode","","Encode a value which impls the [Encodable] trait.",15,[[],["result",6]]],[11,"error","","Return an error with the given [ErrorKind], annotating it …",15,[[["errorkind",4]],["result",6]]],[11,"is_failed","","Did the decoding operation fail due to an error?",15,[[]]],[11,"finish","","Finish encoding to the buffer, returning a slice …",15,[[],["result",6]]],[11,"encode_tagged_collection","","Encode a collection of values which impl the [Encodable] …",15,[[["tag",3]],["result",6]]],[11,"encode_untagged_collection","","Encode a collection of values which impl the [Encodable] …",15,[[],["result",6]]],[11,"new","","Create a new [Error]",16,[[["length",3],["errorkind",4]],["error",3]]],[11,"kind","","Get the [ErrorKind] which occurred.",16,[[],["errorkind",4]]],[11,"position","","Get the position inside of the message where the error …",16,[[],[["length",3],["option",4]]]],[11,"nested","","For errors occurring inside of a nested message, extend …",16,[[["length",3]]]],[11,"at","","Annotate an [ErrorKind] with context about where it …",0,[[["length",3]],["error",3]]],[11,"zero","","Return a length of 0.",17,[[]]],[11,"max","","Get the maximum length supported by BER-TLV: 65,535.",17,[[]]],[11,"to_usize","","Convert length to usize.",17,[[]]],[11,"new","","Create a new [Slice], ensuring that the provided slice …",19,[[],["result",6]]],[11,"as_bytes","","Borrow the inner byte slice",19,[[]]],[11,"length","","Get the [Length] of this [Slice]",19,[[],["length",3]]],[11,"is_empty","","Is this [Slice] empty?",19,[[]]],[11,"from","","",8,[[["class",4]]]],[11,"universal","","",8,[[]]],[11,"application","","",8,[[]]],[11,"context","","",8,[[]]],[11,"private","","",8,[[]]],[11,"constructed","","",8,[[]]],[11,"assert_eq","","Assert that this [Tag] matches the provided expected tag.",9,[[],["result",6]]],[11,"with_value","","Ergonomic way to get a TaggedValue for a given tag and …",9,[[],["taggedvalue",3]]],[11,"new","","",20,[[]]],[11,"tag","","",20,[[]]],[11,"from","","Create a new tagged slice, checking lengths.",20,[[],["result",6]]],[11,"as_bytes","","Borrow the inner byte slice.",20,[[]]],[11,"length","","Get the length of the inner byte slice.",20,[[],["length",3]]],[11,"is_empty","","Is the inner byte slice empty?",20,[[]]],[11,"decode_nested","","Decode nested values, creating a new [Decoder] for the …",20,[[],["result",6]]],[11,"from","","Create a new tagged slice, checking lengths.",21,[[],["result",6]]],[11,"as_bytes","","Borrow the inner byte slice.",21,[[]]],[11,"length","","Get the length of the inner byte slice.",21,[[],["length",3]]],[11,"is_empty","","Is the inner byte slice empty?",21,[[]]],[11,"decode_nested","","Decode nested values, creating a new [Decoder] for the …",21,[[],["result",6]]],[11,"from_bytes","","Parse Self from the provided byte slice.",11,[[],["result",6]]],[11,"encode_to_slice","","Encode this value to the provided byte slice, returning a …",12,[[],["result",6]]]],"p":[[4,"ErrorKind"],[13,"InvalidClass"],[13,"InvalidTag"],[13,"Length"],[13,"TrailingData"],[13,"Underlength"],[13,"UnexpectedTag"],[4,"Class"],[3,"Tag"],[8,"TagLike"],[8,"Container"],[8,"Decodable"],[8,"Encodable"],[8,"Tagged"],[3,"Decoder"],[3,"Encoder"],[3,"Error"],[3,"Length"],[3,"SimpleTag"],[3,"Slice"],[3,"TaggedValue"],[6,"TaggedSlice"],[6,"Result"]]},\ "flexiber_derive":{"doc":"Custom derive support for the flexiber crate","i":[[24,"Decodable","flexiber_derive","Derive the Decodable trait on a struct.",null,null],[24,"Encodable","","Derive the Encodable trait on a struct.",null,null]],"p":[]},\ +"log":{"doc":"A lightweight logging facade.","i":[[4,"Level","log","An enum representing the available verbosity levels of …",null,null],[13,"Error","","The \\\"error\\\" level.",0,null],[13,"Warn","","The \\\"warn\\\" level.",0,null],[13,"Info","","The \\\"info\\\" level.",0,null],[13,"Debug","","The \\\"debug\\\" level.",0,null],[13,"Trace","","The \\\"trace\\\" level.",0,null],[11,"max","","Returns the most verbose logging level.",0,[[],["level",4]]],[11,"to_level_filter","","Converts the Level to the equivalent LevelFilter.",0,[[],["levelfilter",4]]],[11,"as_str","","Returns the string representation of the Level.",0,[[]]],[4,"LevelFilter","","An enum representing the available verbosity level …",null,null],[13,"Off","","A level lower than all log levels.",1,null],[13,"Error","","Corresponds to the Error log level.",1,null],[13,"Warn","","Corresponds to the Warn log level.",1,null],[13,"Info","","Corresponds to the Info log level.",1,null],[13,"Debug","","Corresponds to the Debug log level.",1,null],[13,"Trace","","Corresponds to the Trace log level.",1,null],[11,"max","","Returns the most verbose logging level filter.",1,[[],["levelfilter",4]]],[11,"to_level","","Converts self to the equivalent Level.",1,[[],[["option",4],["level",4]]]],[11,"as_str","","Returns the string representation of the LevelFilter.",1,[[]]],[3,"Record","","The \\\"payload\\\" of a log message.",null,null],[11,"builder","","Returns a new builder.",2,[[],["recordbuilder",3]]],[11,"args","","The message body.",2,[[],["arguments",3]]],[11,"metadata","","Metadata about the log directive.",2,[[],["metadata",3]]],[11,"level","","The verbosity level of the message.",2,[[],["level",4]]],[11,"target","","The name of the target of the directive.",2,[[]]],[11,"module_path","","The module path of the message.",2,[[],["option",4]]],[11,"module_path_static","","The module path of the message, if it is a \'static string.",2,[[],["option",4]]],[11,"file","","The source file containing the message.",2,[[],["option",4]]],[11,"file_static","","The module path of the message, if it is a \'static string.",2,[[],["option",4]]],[11,"line","","The line containing the message.",2,[[],["option",4]]],[3,"RecordBuilder","","Builder for Record.",null,null],[11,"new","","Construct new RecordBuilder.",3,[[],["recordbuilder",3]]],[11,"args","","Set args.",3,[[["arguments",3]],["recordbuilder",3]]],[11,"metadata","","Set metadata. Construct a Metadata object with …",3,[[["metadata",3]],["recordbuilder",3]]],[11,"level","","Set Metadata::level.",3,[[["level",4]],["recordbuilder",3]]],[11,"target","","Set Metadata::target",3,[[],["recordbuilder",3]]],[11,"module_path","","Set module_path",3,[[["option",4]],["recordbuilder",3]]],[11,"module_path_static","","Set module_path to a \'static string",3,[[["option",4]],["recordbuilder",3]]],[11,"file","","Set file",3,[[["option",4]],["recordbuilder",3]]],[11,"file_static","","Set file to a \'static string.",3,[[["option",4]],["recordbuilder",3]]],[11,"line","","Set line",3,[[["option",4]],["recordbuilder",3]]],[11,"build","","Invoke the builder and return a Record",3,[[],["record",3]]],[3,"Metadata","","Metadata about a log message.",null,null],[11,"builder","","Returns a new builder.",4,[[],["metadatabuilder",3]]],[11,"level","","The verbosity level of the message.",4,[[],["level",4]]],[11,"target","","The name of the target of the directive.",4,[[]]],[3,"MetadataBuilder","","Builder for Metadata.",null,null],[11,"new","","Construct a new MetadataBuilder.",5,[[],["metadatabuilder",3]]],[11,"level","","Setter for level.",5,[[["level",4]],["metadatabuilder",3]]],[11,"target","","Setter for target.",5,[[],["metadatabuilder",3]]],[11,"build","","Returns a Metadata object.",5,[[],["metadata",3]]],[8,"Log","","A trait encapsulating the operations required of a logger.",null,null],[10,"enabled","","Determines if a log message with the specified metadata …",6,[[["metadata",3]]]],[10,"log","","Logs the Record.",6,[[["record",3]]]],[10,"flush","","Flushes any buffered records.",6,[[]]],[5,"set_max_level","","Sets the global maximum log level.",null,[[["levelfilter",4]]]],[5,"max_level","","Returns the current maximum log level.",null,[[],["levelfilter",4]]],[5,"set_logger","","Sets the global logger to a &\'static Log.",null,[[["log",8]],[["result",4],["setloggererror",3]]]],[5,"set_logger_racy","","A thread-unsafe version of set_logger.",null,[[["log",8]],[["result",4],["setloggererror",3]]]],[3,"SetLoggerError","","The type returned by set_logger if set_logger has already …",null,null],[3,"ParseLevelError","","The type returned by from_str when the string doesn\'t …",null,null],[5,"logger","","Returns a reference to the logger.",null,[[],["log",8]]],[17,"STATIC_MAX_LEVEL","","The statically resolved maximum log level.",null,null],[14,"log","","The standard logging macro.",null,null],[14,"error","","Logs a message at the error level.",null,null],[14,"warn","","Logs a message at the warn level.",null,null],[14,"info","","Logs a message at the info level.",null,null],[14,"debug","","Logs a message at the debug level.",null,null],[14,"trace","","Logs a message at the trace level.",null,null],[14,"log_enabled","","Determines if a message logged at the specified level in …",null,null],[11,"from","","",0,[[]]],[11,"borrow","","",0,[[]]],[11,"borrow_mut","","",0,[[]]],[11,"try_from","","",0,[[],["result",4]]],[11,"into","","",0,[[]]],[11,"try_into","","",0,[[],["result",4]]],[11,"type_id","","",0,[[],["typeid",3]]],[11,"from","","",1,[[]]],[11,"borrow","","",1,[[]]],[11,"borrow_mut","","",1,[[]]],[11,"try_from","","",1,[[],["result",4]]],[11,"into","","",1,[[]]],[11,"try_into","","",1,[[],["result",4]]],[11,"type_id","","",1,[[],["typeid",3]]],[11,"from","","",2,[[]]],[11,"borrow","","",2,[[]]],[11,"borrow_mut","","",2,[[]]],[11,"try_from","","",2,[[],["result",4]]],[11,"into","","",2,[[]]],[11,"try_into","","",2,[[],["result",4]]],[11,"type_id","","",2,[[],["typeid",3]]],[11,"from","","",3,[[]]],[11,"borrow","","",3,[[]]],[11,"borrow_mut","","",3,[[]]],[11,"try_from","","",3,[[],["result",4]]],[11,"into","","",3,[[]]],[11,"try_into","","",3,[[],["result",4]]],[11,"type_id","","",3,[[],["typeid",3]]],[11,"from","","",4,[[]]],[11,"borrow","","",4,[[]]],[11,"borrow_mut","","",4,[[]]],[11,"try_from","","",4,[[],["result",4]]],[11,"into","","",4,[[]]],[11,"try_into","","",4,[[],["result",4]]],[11,"type_id","","",4,[[],["typeid",3]]],[11,"from","","",5,[[]]],[11,"borrow","","",5,[[]]],[11,"borrow_mut","","",5,[[]]],[11,"try_from","","",5,[[],["result",4]]],[11,"into","","",5,[[]]],[11,"try_into","","",5,[[],["result",4]]],[11,"type_id","","",5,[[],["typeid",3]]],[11,"from","","",7,[[]]],[11,"borrow","","",7,[[]]],[11,"borrow_mut","","",7,[[]]],[11,"try_from","","",7,[[],["result",4]]],[11,"into","","",7,[[]]],[11,"try_into","","",7,[[],["result",4]]],[11,"type_id","","",7,[[],["typeid",3]]],[11,"from","","",8,[[]]],[11,"borrow","","",8,[[]]],[11,"borrow_mut","","",8,[[]]],[11,"try_from","","",8,[[],["result",4]]],[11,"into","","",8,[[]]],[11,"try_into","","",8,[[],["result",4]]],[11,"type_id","","",8,[[],["typeid",3]]],[11,"fmt","","",0,[[["formatter",3]],["result",6]]],[11,"fmt","","",1,[[["formatter",3]],["result",6]]],[11,"fmt","","",2,[[["formatter",3]],["result",6]]],[11,"fmt","","",3,[[["formatter",3]],["result",6]]],[11,"fmt","","",4,[[["formatter",3]],["result",6]]],[11,"fmt","","",5,[[["formatter",3]],["result",6]]],[11,"fmt","","",7,[[["formatter",3]],["result",6]]],[11,"fmt","","",8,[[["formatter",3]],["result",6]]],[11,"fmt","","",0,[[["formatter",3]],["result",6]]],[11,"fmt","","",1,[[["formatter",3]],["result",6]]],[11,"fmt","","",7,[[["formatter",3]],["result",6]]],[11,"fmt","","",8,[[["formatter",3]],["result",6]]],[11,"eq","","",0,[[["level",4]]]],[11,"eq","","",0,[[["levelfilter",4]]]],[11,"eq","","",1,[[["levelfilter",4]]]],[11,"eq","","",1,[[["level",4]]]],[11,"eq","","",4,[[["metadata",3]]]],[11,"ne","","",4,[[["metadata",3]]]],[11,"eq","","",5,[[["metadatabuilder",3]]]],[11,"ne","","",5,[[["metadatabuilder",3]]]],[11,"eq","","",8,[[["parselevelerror",3]]]],[11,"ne","","",8,[[["parselevelerror",3]]]],[11,"cmp","","",0,[[["level",4]],["ordering",4]]],[11,"cmp","","",1,[[["levelfilter",4]],["ordering",4]]],[11,"cmp","","",4,[[["metadata",3]],["ordering",4]]],[11,"cmp","","",5,[[["metadatabuilder",3]],["ordering",4]]],[11,"partial_cmp","","",0,[[["level",4]],[["option",4],["ordering",4]]]],[11,"lt","","",0,[[["level",4]]]],[11,"le","","",0,[[["level",4]]]],[11,"gt","","",0,[[["level",4]]]],[11,"ge","","",0,[[["level",4]]]],[11,"partial_cmp","","",0,[[["levelfilter",4]],[["option",4],["ordering",4]]]],[11,"lt","","",0,[[["levelfilter",4]]]],[11,"le","","",0,[[["levelfilter",4]]]],[11,"gt","","",0,[[["levelfilter",4]]]],[11,"ge","","",0,[[["levelfilter",4]]]],[11,"partial_cmp","","",1,[[["levelfilter",4]],[["option",4],["ordering",4]]]],[11,"lt","","",1,[[["levelfilter",4]]]],[11,"le","","",1,[[["levelfilter",4]]]],[11,"gt","","",1,[[["levelfilter",4]]]],[11,"ge","","",1,[[["levelfilter",4]]]],[11,"partial_cmp","","",1,[[["level",4]],[["option",4],["ordering",4]]]],[11,"lt","","",1,[[["level",4]]]],[11,"le","","",1,[[["level",4]]]],[11,"gt","","",1,[[["level",4]]]],[11,"ge","","",1,[[["level",4]]]],[11,"partial_cmp","","",4,[[["metadata",3]],[["option",4],["ordering",4]]]],[11,"lt","","",4,[[["metadata",3]]]],[11,"le","","",4,[[["metadata",3]]]],[11,"gt","","",4,[[["metadata",3]]]],[11,"ge","","",4,[[["metadata",3]]]],[11,"partial_cmp","","",5,[[["metadatabuilder",3]],[["option",4],["ordering",4]]]],[11,"lt","","",5,[[["metadatabuilder",3]]]],[11,"le","","",5,[[["metadatabuilder",3]]]],[11,"gt","","",5,[[["metadatabuilder",3]]]],[11,"ge","","",5,[[["metadatabuilder",3]]]],[11,"hash","","",0,[[]]],[11,"hash","","",1,[[]]],[11,"hash","","",4,[[]]],[11,"hash","","",5,[[]]],[11,"from_str","","",0,[[],[["level",4],["result",4]]]],[11,"from_str","","",1,[[],[["levelfilter",4],["result",4]]]],[11,"clone","","",0,[[],["level",4]]],[11,"clone","","",1,[[],["levelfilter",4]]],[11,"clone","","",2,[[],["record",3]]],[11,"clone","","",4,[[],["metadata",3]]]],"p":[[4,"Level"],[4,"LevelFilter"],[3,"Record"],[3,"RecordBuilder"],[3,"Metadata"],[3,"MetadataBuilder"],[8,"Log"],[3,"SetLoggerError"],[3,"ParseLevelError"]]},\ "proc_macro2":{"doc":"A wrapper around the procedural macro API of the …","i":[[0,"token_stream","proc_macro2","Public implementation details for the TokenStream type, …",null,null],[3,"IntoIter","proc_macro2::token_stream","An iterator over TokenStream\'s TokenTrees.",null,null],[3,"TokenStream","proc_macro2","An abstract stream of tokens, or more concretely a …",null,null],[3,"LexError","","Error returned from TokenStream::from_str.",null,null],[11,"new","","Returns an empty TokenStream containing no token trees.",0,[[],["tokenstream",3]]],[11,"is_empty","","Checks if this TokenStream is empty.",0,[[]]],[3,"Span","","A region of source code, along with macro expansion …",null,null],[11,"call_site","","The span of the invocation of the current procedural …",1,[[],["span",3]]],[11,"mixed_site","","The span located at the invocation of the procedural …",1,[[],["span",3]]],[11,"resolved_at","","Creates a new span with the same line/column information …",1,[[["span",3]],["span",3]]],[11,"located_at","","Creates a new span with the same name resolution behavior …",1,[[["span",3]],["span",3]]],[11,"unwrap","","Convert proc_macro2::Span to proc_macro::Span.",1,[[],["span",3]]],[11,"join","","Create a new span encompassing self and other.",1,[[["span",3]],[["span",3],["option",4]]]],[4,"TokenTree","","A single token or a delimited sequence of token trees …",null,null],[13,"Group","","A token stream surrounded by bracket delimiters.",2,null],[13,"Ident","","An identifier.",2,null],[13,"Punct","","A single punctuation character (+, ,, $, etc.).",2,null],[13,"Literal","","A literal character (\'a\'), string (\\\"hello\\\"), number (2.3…",2,null],[11,"span","","Returns the span of this tree, delegating to the span …",2,[[],["span",3]]],[11,"set_span","","Configures the span for only this token.",2,[[["span",3]]]],[3,"Group","","A delimited token stream.",null,null],[4,"Delimiter","","Describes how a sequence of token trees is delimited.",null,null],[13,"Parenthesis","","( ... )",3,null],[13,"Brace","","{ ... }",3,null],[13,"Bracket","","[ ... ]",3,null],[13,"None","","Ø ... Ø",3,null],[11,"new","","Creates a new Group with the given delimiter and token …",4,[[["tokenstream",3],["delimiter",4]],["group",3]]],[11,"delimiter","","Returns the delimiter of this Group",4,[[],["delimiter",4]]],[11,"stream","","Returns the TokenStream of tokens that are delimited in …",4,[[],["tokenstream",3]]],[11,"span","","Returns the span for the delimiters of this token stream, …",4,[[],["span",3]]],[11,"span_open","","Returns the span pointing to the opening delimiter of …",4,[[],["span",3]]],[11,"span_close","","Returns the span pointing to the closing delimiter of …",4,[[],["span",3]]],[11,"set_span","","Configures the span for this Group\'s delimiters, but not …",4,[[["span",3]]]],[3,"Punct","","An Punct is an single punctuation character like +, - or #…",null,null],[4,"Spacing","","Whether an Punct is followed immediately by another Punct …",null,null],[13,"Alone","","E.g. + is Alone in + =, +ident or +().",5,null],[13,"Joint","","E.g. + is Joint in += or \' is Joint in \'#.",5,null],[11,"new","","Creates a new Punct from the given character and spacing.",6,[[["spacing",4]],["punct",3]]],[11,"as_char","","Returns the value of this punctuation character as char.",6,[[]]],[11,"spacing","","Returns the spacing of this punctuation character, …",6,[[],["spacing",4]]],[11,"span","","Returns the span for this punctuation character.",6,[[],["span",3]]],[11,"set_span","","Configure the span for this punctuation character.",6,[[["span",3]]]],[3,"Ident","","A word of Rust code, which may be a keyword or legal …",null,null],[11,"new","","Creates a new Ident with the given string as well as the …",7,[[["span",3]],["ident",3]]],[11,"span","","Returns the span of this Ident.",7,[[],["span",3]]],[11,"set_span","","Configures the span of this Ident, possibly changing its …",7,[[["span",3]]]],[3,"Literal","","A literal string (\\\"hello\\\"), byte string (b\\\"hello\\\"), …",null,null],[11,"u8_suffixed","","Creates a new suffixed integer literal with the specified …",8,[[],["literal",3]]],[11,"u16_suffixed","","Creates a new suffixed integer literal with the specified …",8,[[],["literal",3]]],[11,"u32_suffixed","","Creates a new suffixed integer literal with the specified …",8,[[],["literal",3]]],[11,"u64_suffixed","","Creates a new suffixed integer literal with the specified …",8,[[],["literal",3]]],[11,"u128_suffixed","","Creates a new suffixed integer literal with the specified …",8,[[],["literal",3]]],[11,"usize_suffixed","","Creates a new suffixed integer literal with the specified …",8,[[],["literal",3]]],[11,"i8_suffixed","","Creates a new suffixed integer literal with the specified …",8,[[],["literal",3]]],[11,"i16_suffixed","","Creates a new suffixed integer literal with the specified …",8,[[],["literal",3]]],[11,"i32_suffixed","","Creates a new suffixed integer literal with the specified …",8,[[],["literal",3]]],[11,"i64_suffixed","","Creates a new suffixed integer literal with the specified …",8,[[],["literal",3]]],[11,"i128_suffixed","","Creates a new suffixed integer literal with the specified …",8,[[],["literal",3]]],[11,"isize_suffixed","","Creates a new suffixed integer literal with the specified …",8,[[],["literal",3]]],[11,"u8_unsuffixed","","Creates a new unsuffixed integer literal with the …",8,[[],["literal",3]]],[11,"u16_unsuffixed","","Creates a new unsuffixed integer literal with the …",8,[[],["literal",3]]],[11,"u32_unsuffixed","","Creates a new unsuffixed integer literal with the …",8,[[],["literal",3]]],[11,"u64_unsuffixed","","Creates a new unsuffixed integer literal with the …",8,[[],["literal",3]]],[11,"u128_unsuffixed","","Creates a new unsuffixed integer literal with the …",8,[[],["literal",3]]],[11,"usize_unsuffixed","","Creates a new unsuffixed integer literal with the …",8,[[],["literal",3]]],[11,"i8_unsuffixed","","Creates a new unsuffixed integer literal with the …",8,[[],["literal",3]]],[11,"i16_unsuffixed","","Creates a new unsuffixed integer literal with the …",8,[[],["literal",3]]],[11,"i32_unsuffixed","","Creates a new unsuffixed integer literal with the …",8,[[],["literal",3]]],[11,"i64_unsuffixed","","Creates a new unsuffixed integer literal with the …",8,[[],["literal",3]]],[11,"i128_unsuffixed","","Creates a new unsuffixed integer literal with the …",8,[[],["literal",3]]],[11,"isize_unsuffixed","","Creates a new unsuffixed integer literal with the …",8,[[],["literal",3]]],[11,"f64_unsuffixed","","Creates a new unsuffixed floating-point literal.",8,[[],["literal",3]]],[11,"f64_suffixed","","Creates a new suffixed floating-point literal.",8,[[],["literal",3]]],[11,"f32_unsuffixed","","Creates a new unsuffixed floating-point literal.",8,[[],["literal",3]]],[11,"f32_suffixed","","Creates a new suffixed floating-point literal.",8,[[],["literal",3]]],[11,"string","","String literal.",8,[[],["literal",3]]],[11,"character","","Character literal.",8,[[],["literal",3]]],[11,"byte_string","","Byte string literal.",8,[[],["literal",3]]],[11,"span","","Returns the span encompassing this literal.",8,[[],["span",3]]],[11,"set_span","","Configures the span associated for this literal.",8,[[["span",3]]]],[11,"subspan","","Returns a Span that is a subset of self.span() containing …",8,[[["rangebounds",8]],[["span",3],["option",4]]]],[11,"from","proc_macro2::token_stream","",9,[[]]],[11,"into","","",9,[[]]],[11,"into_iter","","",9,[[]]],[11,"to_owned","","",9,[[]]],[11,"clone_into","","",9,[[]]],[11,"borrow","","",9,[[]]],[11,"borrow_mut","","",9,[[]]],[11,"try_from","","",9,[[],["result",4]]],[11,"try_into","","",9,[[],["result",4]]],[11,"type_id","","",9,[[],["typeid",3]]],[11,"from","proc_macro2","",0,[[]]],[11,"into","","",0,[[]]],[11,"to_owned","","",0,[[]]],[11,"clone_into","","",0,[[]]],[11,"to_string","","",0,[[],["string",3]]],[11,"borrow","","",0,[[]]],[11,"borrow_mut","","",0,[[]]],[11,"try_from","","",0,[[],["result",4]]],[11,"try_into","","",0,[[],["result",4]]],[11,"type_id","","",0,[[],["typeid",3]]],[11,"from","","",10,[[]]],[11,"into","","",10,[[]]],[11,"to_string","","",10,[[],["string",3]]],[11,"borrow","","",10,[[]]],[11,"borrow_mut","","",10,[[]]],[11,"try_from","","",10,[[],["result",4]]],[11,"try_into","","",10,[[],["result",4]]],[11,"type_id","","",10,[[],["typeid",3]]],[11,"from","","",1,[[]]],[11,"into","","",1,[[]]],[11,"to_owned","","",1,[[]]],[11,"clone_into","","",1,[[]]],[11,"borrow","","",1,[[]]],[11,"borrow_mut","","",1,[[]]],[11,"try_from","","",1,[[],["result",4]]],[11,"try_into","","",1,[[],["result",4]]],[11,"type_id","","",1,[[],["typeid",3]]],[11,"from","","",2,[[]]],[11,"into","","",2,[[]]],[11,"to_owned","","",2,[[]]],[11,"clone_into","","",2,[[]]],[11,"to_string","","",2,[[],["string",3]]],[11,"borrow","","",2,[[]]],[11,"borrow_mut","","",2,[[]]],[11,"try_from","","",2,[[],["result",4]]],[11,"try_into","","",2,[[],["result",4]]],[11,"type_id","","",2,[[],["typeid",3]]],[11,"from","","",4,[[]]],[11,"into","","",4,[[]]],[11,"to_owned","","",4,[[]]],[11,"clone_into","","",4,[[]]],[11,"to_string","","",4,[[],["string",3]]],[11,"borrow","","",4,[[]]],[11,"borrow_mut","","",4,[[]]],[11,"try_from","","",4,[[],["result",4]]],[11,"try_into","","",4,[[],["result",4]]],[11,"type_id","","",4,[[],["typeid",3]]],[11,"from","","",3,[[]]],[11,"into","","",3,[[]]],[11,"to_owned","","",3,[[]]],[11,"clone_into","","",3,[[]]],[11,"borrow","","",3,[[]]],[11,"borrow_mut","","",3,[[]]],[11,"try_from","","",3,[[],["result",4]]],[11,"try_into","","",3,[[],["result",4]]],[11,"type_id","","",3,[[],["typeid",3]]],[11,"from","","",6,[[]]],[11,"into","","",6,[[]]],[11,"to_owned","","",6,[[]]],[11,"clone_into","","",6,[[]]],[11,"to_string","","",6,[[],["string",3]]],[11,"borrow","","",6,[[]]],[11,"borrow_mut","","",6,[[]]],[11,"try_from","","",6,[[],["result",4]]],[11,"try_into","","",6,[[],["result",4]]],[11,"type_id","","",6,[[],["typeid",3]]],[11,"from","","",5,[[]]],[11,"into","","",5,[[]]],[11,"to_owned","","",5,[[]]],[11,"clone_into","","",5,[[]]],[11,"borrow","","",5,[[]]],[11,"borrow_mut","","",5,[[]]],[11,"try_from","","",5,[[],["result",4]]],[11,"try_into","","",5,[[],["result",4]]],[11,"type_id","","",5,[[],["typeid",3]]],[11,"from","","",7,[[]]],[11,"into","","",7,[[]]],[11,"to_owned","","",7,[[]]],[11,"clone_into","","",7,[[]]],[11,"to_string","","",7,[[],["string",3]]],[11,"borrow","","",7,[[]]],[11,"borrow_mut","","",7,[[]]],[11,"try_from","","",7,[[],["result",4]]],[11,"try_into","","",7,[[],["result",4]]],[11,"type_id","","",7,[[],["typeid",3]]],[11,"from","","",8,[[]]],[11,"into","","",8,[[]]],[11,"to_owned","","",8,[[]]],[11,"clone_into","","",8,[[]]],[11,"to_string","","",8,[[],["string",3]]],[11,"borrow","","",8,[[]]],[11,"borrow_mut","","",8,[[]]],[11,"try_from","","",8,[[],["result",4]]],[11,"try_into","","",8,[[],["result",4]]],[11,"type_id","","",8,[[],["typeid",3]]],[11,"from","","",1,[[["span",3]],["span",3]]],[11,"from","","",0,[[["tokenstream",3]],["tokenstream",3]]],[11,"from","","",0,[[["tokentree",4]]]],[11,"from","","",2,[[["group",3]],["tokentree",4]]],[11,"from","","",2,[[["ident",3]],["tokentree",4]]],[11,"from","","",2,[[["punct",3]],["tokentree",4]]],[11,"from","","",2,[[["literal",3]],["tokentree",4]]],[11,"extend","","",0,[[["intoiterator",8]]]],[11,"extend","","",0,[[["intoiterator",8]]]],[11,"into_iter","","",0,[[],["intoiter",3]]],[11,"next","proc_macro2::token_stream","",9,[[],[["tokentree",4],["option",4]]]],[11,"clone","proc_macro2","",0,[[],["tokenstream",3]]],[11,"clone","","",1,[[],["span",3]]],[11,"clone","","",2,[[],["tokentree",4]]],[11,"clone","","",4,[[],["group",3]]],[11,"clone","","",3,[[],["delimiter",4]]],[11,"clone","","",6,[[],["punct",3]]],[11,"clone","","",5,[[],["spacing",4]]],[11,"clone","","",7,[[],["ident",3]]],[11,"clone","","",8,[[],["literal",3]]],[11,"clone","proc_macro2::token_stream","",9,[[],["intoiter",3]]],[11,"default","proc_macro2","",0,[[]]],[11,"cmp","","",7,[[["ident",3]],["ordering",4]]],[11,"eq","","",3,[[["delimiter",4]]]],[11,"eq","","",5,[[["spacing",4]]]],[11,"eq","","",7,[[["ident",3]]]],[11,"eq","","",7,[[]]],[11,"partial_cmp","","",7,[[["ident",3]],[["option",4],["ordering",4]]]],[11,"fmt","","",0,[[["formatter",3]],["result",6]]],[11,"fmt","","",10,[[["formatter",3]],["result",6]]],[11,"fmt","","",1,[[["formatter",3]],["result",6]]],[11,"fmt","","",2,[[["formatter",3]],["result",6]]],[11,"fmt","","",3,[[["formatter",3]],["result",6]]],[11,"fmt","","",4,[[["formatter",3]],["result",6]]],[11,"fmt","","",5,[[["formatter",3]],["result",6]]],[11,"fmt","","",6,[[["formatter",3]],["result",6]]],[11,"fmt","","",7,[[["formatter",3]],["result",6]]],[11,"fmt","","",8,[[["formatter",3]],["result",6]]],[11,"fmt","proc_macro2::token_stream","",9,[[["formatter",3]],["result",6]]],[11,"fmt","proc_macro2","",0,[[["formatter",3]],["result",6]]],[11,"fmt","","",10,[[["formatter",3]],["result",6]]],[11,"fmt","","",2,[[["formatter",3]],["result",6]]],[11,"fmt","","",4,[[["formatter",3]],["result",6]]],[11,"fmt","","",6,[[["formatter",3]],["result",6]]],[11,"fmt","","",7,[[["formatter",3]],["result",6]]],[11,"fmt","","",8,[[["formatter",3]],["result",6]]],[11,"hash","","",7,[[]]],[11,"from_str","","",0,[[],[["tokenstream",3],["lexerror",3],["result",4]]]],[11,"from_iter","","",0,[[["intoiterator",8]]]],[11,"from_iter","","",0,[[["intoiterator",8]]]]],"p":[[3,"TokenStream"],[3,"Span"],[4,"TokenTree"],[4,"Delimiter"],[3,"Group"],[4,"Spacing"],[3,"Punct"],[3,"Ident"],[3,"Literal"],[3,"IntoIter"],[3,"LexError"]]},\ "quote":{"doc":"github crates-io docs-rs","i":[[8,"TokenStreamExt","quote","TokenStream extension trait with methods for appending …",null,null],[10,"append","","For use by ToTokens implementations.",0,[[]]],[10,"append_all","","For use by ToTokens implementations.",0,[[]]],[10,"append_separated","","For use by ToTokens implementations.",0,[[]]],[10,"append_terminated","","For use by ToTokens implementations.",0,[[]]],[8,"IdentFragment","","Specialized formatting trait used by format_ident!.",null,null],[10,"fmt","","Format this value as an identifier fragment.",1,[[["formatter",3]],["result",6]]],[11,"span","","Span associated with this IdentFragment.",1,[[],[["option",4],["span",3]]]],[8,"ToTokens","","Types that can be interpolated inside a quote! invocation.",null,null],[10,"to_tokens","","Write self to the given TokenStream.",2,[[["tokenstream",3]]]],[11,"to_token_stream","","Convert self directly into a TokenStream object.",2,[[],["tokenstream",3]]],[11,"into_token_stream","","Convert self directly into a TokenStream object.",2,[[],["tokenstream",3]]],[14,"format_ident","","Formatting macro for constructing Idents.",null,null],[14,"quote","","The whole point.",null,null],[14,"quote_spanned","","Same as quote!, but applies a given span to all tokens …",null,null],[11,"span","","Span associated with this IdentFragment.",1,[[],[["option",4],["span",3]]]],[11,"to_token_stream","","Convert self directly into a TokenStream object.",2,[[],["tokenstream",3]]],[11,"into_token_stream","","Convert self directly into a TokenStream object.",2,[[],["tokenstream",3]]]],"p":[[8,"TokenStreamExt"],[8,"IdentFragment"],[8,"ToTokens"]]},\ -"syn":{"doc":"github crates-io docs-rs","i":[[3,"Ident","syn","A word of Rust code, which may be a keyword or legal …",null,null],[0,"token","","Tokens representing Rust punctuation, keywords, and …",null,null],[8,"Token","syn::token","Marker trait for types that represent single tokens.",null,null],[3,"Underscore","","_",null,null],[12,"spans","","",0,null],[3,"Abstract","","abstract",null,null],[12,"span","","",1,null],[3,"As","","as",null,null],[12,"span","","",2,null],[3,"Async","","async",null,null],[12,"span","","",3,null],[3,"Auto","","auto",null,null],[12,"span","","",4,null],[3,"Await","","await",null,null],[12,"span","","",5,null],[3,"Become","","become",null,null],[12,"span","","",6,null],[3,"Box","","box",null,null],[12,"span","","",7,null],[3,"Break","","break",null,null],[12,"span","","",8,null],[3,"Const","","const",null,null],[12,"span","","",9,null],[3,"Continue","","continue",null,null],[12,"span","","",10,null],[3,"Crate","","crate",null,null],[12,"span","","",11,null],[3,"Default","","default",null,null],[12,"span","","",12,null],[3,"Do","","do",null,null],[12,"span","","",13,null],[3,"Dyn","","dyn",null,null],[12,"span","","",14,null],[3,"Else","","else",null,null],[12,"span","","",15,null],[3,"Enum","","enum",null,null],[12,"span","","",16,null],[3,"Extern","","extern",null,null],[12,"span","","",17,null],[3,"Final","","final",null,null],[12,"span","","",18,null],[3,"Fn","","fn",null,null],[12,"span","","",19,null],[3,"For","","for",null,null],[12,"span","","",20,null],[3,"If","","if",null,null],[12,"span","","",21,null],[3,"Impl","","impl",null,null],[12,"span","","",22,null],[3,"In","","in",null,null],[12,"span","","",23,null],[3,"Let","","let",null,null],[12,"span","","",24,null],[3,"Loop","","loop",null,null],[12,"span","","",25,null],[3,"Macro","","macro",null,null],[12,"span","","",26,null],[3,"Match","","match",null,null],[12,"span","","",27,null],[3,"Mod","","mod",null,null],[12,"span","","",28,null],[3,"Move","","move",null,null],[12,"span","","",29,null],[3,"Mut","","mut",null,null],[12,"span","","",30,null],[3,"Override","","override",null,null],[12,"span","","",31,null],[3,"Priv","","priv",null,null],[12,"span","","",32,null],[3,"Pub","","pub",null,null],[12,"span","","",33,null],[3,"Ref","","ref",null,null],[12,"span","","",34,null],[3,"Return","","return",null,null],[12,"span","","",35,null],[3,"SelfType","","Self",null,null],[12,"span","","",36,null],[3,"SelfValue","","self",null,null],[12,"span","","",37,null],[3,"Static","","static",null,null],[12,"span","","",38,null],[3,"Struct","","struct",null,null],[12,"span","","",39,null],[3,"Super","","super",null,null],[12,"span","","",40,null],[3,"Trait","","trait",null,null],[12,"span","","",41,null],[3,"Try","","try",null,null],[12,"span","","",42,null],[3,"Type","","type",null,null],[12,"span","","",43,null],[3,"Typeof","","typeof",null,null],[12,"span","","",44,null],[3,"Union","","union",null,null],[12,"span","","",45,null],[3,"Unsafe","","unsafe",null,null],[12,"span","","",46,null],[3,"Unsized","","unsized",null,null],[12,"span","","",47,null],[3,"Use","","use",null,null],[12,"span","","",48,null],[3,"Virtual","","virtual",null,null],[12,"span","","",49,null],[3,"Where","","where",null,null],[12,"span","","",50,null],[3,"While","","while",null,null],[12,"span","","",51,null],[3,"Yield","","yield",null,null],[12,"span","","",52,null],[3,"Add","","+",null,null],[12,"spans","","",53,null],[3,"AddEq","","+=",null,null],[12,"spans","","",54,null],[3,"And","","&",null,null],[12,"spans","","",55,null],[3,"AndAnd","","&&",null,null],[12,"spans","","",56,null],[3,"AndEq","","&=",null,null],[12,"spans","","",57,null],[3,"At","","@",null,null],[12,"spans","","",58,null],[3,"Bang","","!",null,null],[12,"spans","","",59,null],[3,"Caret","","^",null,null],[12,"spans","","",60,null],[3,"CaretEq","","^=",null,null],[12,"spans","","",61,null],[3,"Colon","",":",null,null],[12,"spans","","",62,null],[3,"Colon2","","::",null,null],[12,"spans","","",63,null],[3,"Comma","",",",null,null],[12,"spans","","",64,null],[3,"Div","","/",null,null],[12,"spans","","",65,null],[3,"DivEq","","/=",null,null],[12,"spans","","",66,null],[3,"Dollar","","$",null,null],[12,"spans","","",67,null],[3,"Dot","",".",null,null],[12,"spans","","",68,null],[3,"Dot2","","..",null,null],[12,"spans","","",69,null],[3,"Dot3","","...",null,null],[12,"spans","","",70,null],[3,"DotDotEq","","..=",null,null],[12,"spans","","",71,null],[3,"Eq","","=",null,null],[12,"spans","","",72,null],[3,"EqEq","","==",null,null],[12,"spans","","",73,null],[3,"Ge","",">=",null,null],[12,"spans","","",74,null],[3,"Gt","",">",null,null],[12,"spans","","",75,null],[3,"Le","","<=",null,null],[12,"spans","","",76,null],[3,"Lt","","<",null,null],[12,"spans","","",77,null],[3,"MulEq","","*=",null,null],[12,"spans","","",78,null],[3,"Ne","","!=",null,null],[12,"spans","","",79,null],[3,"Or","","|",null,null],[12,"spans","","",80,null],[3,"OrEq","","|=",null,null],[12,"spans","","",81,null],[3,"OrOr","","||",null,null],[12,"spans","","",82,null],[3,"Pound","","#",null,null],[12,"spans","","",83,null],[3,"Question","","?",null,null],[12,"spans","","",84,null],[3,"RArrow","","->",null,null],[12,"spans","","",85,null],[3,"LArrow","","<-",null,null],[12,"spans","","",86,null],[3,"Rem","","%",null,null],[12,"spans","","",87,null],[3,"RemEq","","%=",null,null],[12,"spans","","",88,null],[3,"FatArrow","","=>",null,null],[12,"spans","","",89,null],[3,"Semi","",";",null,null],[12,"spans","","",90,null],[3,"Shl","","<<",null,null],[12,"spans","","",91,null],[3,"ShlEq","","<<=",null,null],[12,"spans","","",92,null],[3,"Shr","",">>",null,null],[12,"spans","","",93,null],[3,"ShrEq","",">>=",null,null],[12,"spans","","",94,null],[3,"Star","","*",null,null],[12,"spans","","",95,null],[3,"Sub","","-",null,null],[12,"spans","","",96,null],[3,"SubEq","","-=",null,null],[12,"spans","","",97,null],[3,"Tilde","","~",null,null],[12,"spans","","",98,null],[3,"Brace","","{...}",null,null],[12,"span","","",99,null],[11,"surround","","",99,[[["tokenstream",3]]]],[3,"Bracket","","[...]",null,null],[12,"span","","",100,null],[11,"surround","","",100,[[["tokenstream",3]]]],[3,"Paren","","(...)",null,null],[12,"span","","",101,null],[11,"surround","","",101,[[["tokenstream",3]]]],[3,"Group","","None-delimited group",null,null],[12,"span","","",102,null],[11,"surround","","",102,[[["tokenstream",3]]]],[0,"buffer","syn","A stably addressed token buffer supporting efficient …",null,null],[3,"TokenBuffer","syn::buffer","A buffer that can be efficiently traversed multiple …",null,null],[11,"new","","Creates a TokenBuffer containing all the tokens from the …",103,[[["tokenstream",3]],["tokenbuffer",3]]],[11,"new2","","Creates a TokenBuffer containing all the tokens from the …",103,[[["tokenstream",3]],["tokenbuffer",3]]],[11,"begin","","Creates a cursor referencing the first token in the …",103,[[],["cursor",3]]],[3,"Cursor","","A cheaply copyable cursor into a TokenBuffer.",null,null],[11,"empty","","Creates a cursor referencing a static empty TokenStream.",104,[[]]],[11,"eof","","Checks whether the cursor is currently pointing at the …",104,[[]]],[11,"group","","If the cursor is pointing at a Group with the given …",104,[[["delimiter",4]],["option",4]]],[11,"ident","","If the cursor is pointing at a Ident, returns it along …",104,[[],["option",4]]],[11,"punct","","If the cursor is pointing at an Punct, returns it along …",104,[[],["option",4]]],[11,"literal","","If the cursor is pointing at a Literal, return it along …",104,[[],["option",4]]],[11,"lifetime","","If the cursor is pointing at a Lifetime, returns it along …",104,[[],["option",4]]],[11,"token_stream","","Copies all remaining tokens visible from this cursor into …",104,[[],["tokenstream",3]]],[11,"token_tree","","If the cursor is pointing at a TokenTree, returns it …",104,[[],["option",4]]],[11,"span","","Returns the Span of the current token, or …",104,[[],["span",3]]],[0,"ext","syn","Extension traits to provide parsing methods on foreign …",null,null],[8,"IdentExt","syn::ext","Additional methods for Ident not provided by proc-macro2 …",null,null],[10,"parse_any","","Parses any identifier including keywords.",105,[[["parsestream",6]],["result",6]]],[18,"peek_any","","Peeks any identifier including keywords. Usage: …",105,null],[10,"unraw","","Strips the raw marker r#, if any, from the beginning of …",105,[[],["ident",3]]],[0,"punctuated","syn","A punctuated sequence of syntax tree nodes separated by …",null,null],[3,"Punctuated","syn::punctuated","A punctuated sequence of syntax tree nodes of type T …",null,null],[11,"new","","Creates an empty punctuated sequence.",106,[[]]],[11,"is_empty","","Determines whether this punctuated sequence is empty, …",106,[[]]],[11,"len","","Returns the number of syntax tree nodes in this …",106,[[]]],[11,"first","","Borrows the first element in this sequence.",106,[[],["option",4]]],[11,"first_mut","","Mutably borrows the first element in this sequence.",106,[[],["option",4]]],[11,"last","","Borrows the last element in this sequence.",106,[[],["option",4]]],[11,"last_mut","","Mutably borrows the last element in this sequence.",106,[[],["option",4]]],[11,"iter","","Returns an iterator over borrowed syntax tree nodes of …",106,[[],["iter",3]]],[11,"iter_mut","","Returns an iterator over mutably borrowed syntax tree …",106,[[],["itermut",3]]],[11,"pairs","","Returns an iterator over the contents of this sequence as …",106,[[],["pairs",3]]],[11,"pairs_mut","","Returns an iterator over the contents of this sequence as …",106,[[],["pairsmut",3]]],[11,"into_pairs","","Returns an iterator over the contents of this sequence as …",106,[[],["intopairs",3]]],[11,"push_value","","Appends a syntax tree node onto the end of this …",106,[[]]],[11,"push_punct","","Appends a trailing punctuation onto the end of this …",106,[[]]],[11,"pop","","Removes the last punctuated pair from this sequence, or …",106,[[],[["pair",4],["option",4]]]],[11,"trailing_punct","","Determines whether this punctuated sequence ends with a …",106,[[]]],[11,"empty_or_trailing","","Returns true if either this Punctuated is empty, or it …",106,[[]]],[11,"push","","Appends a syntax tree node onto the end of this …",106,[[]]],[11,"insert","","Inserts an element at position index.",106,[[]]],[11,"clear","","Clears the sequence of all values and punctuation, making …",106,[[]]],[11,"parse_terminated","","Parses zero or more occurrences of T separated by …",106,[[["parsestream",6]],["result",6]]],[11,"parse_terminated_with","","Parses zero or more occurrences of T using the given …",106,[[["parsestream",6]],["result",6]]],[11,"parse_separated_nonempty","","Parses one or more occurrences of T separated by …",106,[[["parsestream",6]],["result",6]]],[11,"parse_separated_nonempty_with","","Parses one or more occurrences of T using the given parse …",106,[[["parsestream",6]],["result",6]]],[3,"Pairs","","An iterator over borrowed pairs of type Pair<&T, &P>.",null,null],[3,"PairsMut","","An iterator over mutably borrowed pairs of type …",null,null],[3,"IntoPairs","","An iterator over owned pairs of type Pair.",null,null],[3,"IntoIter","","An iterator over owned values of type T.",null,null],[3,"Iter","","An iterator over borrowed values of type &T.",null,null],[3,"IterMut","","An iterator over mutably borrowed values of type &mut T.",null,null],[4,"Pair","","A single syntax tree node of type T followed by its …",null,null],[13,"Punctuated","","",107,null],[13,"End","","",107,null],[11,"into_value","","Extracts the syntax tree node from this punctuated pair, …",107,[[]]],[11,"value","","Borrows the syntax tree node from this punctuated pair.",107,[[]]],[11,"value_mut","","Mutably borrows the syntax tree node from this punctuated …",107,[[]]],[11,"punct","","Borrows the punctuation from this punctuated pair, unless …",107,[[],["option",4]]],[11,"new","","Creates a punctuated pair out of a syntax tree node and …",107,[[["option",4]]]],[11,"into_tuple","","Produces this punctuated pair as a tuple of syntax tree …",107,[[]]],[0,"spanned","syn","A trait that can provide the Span of the complete …",null,null],[8,"Spanned","syn::spanned","A trait that can provide the Span of the complete …",null,null],[10,"span","","Returns a Span covering the complete contents of this …",108,[[],["span",3]]],[0,"visit","syn","Syntax tree traversal to walk a shared borrow of a syntax …",null,null],[8,"Visit","syn::visit","Syntax tree traversal to walk a shared borrow of a syntax …",null,null],[11,"visit_abi","","",109,[[["abi",3]]]],[11,"visit_angle_bracketed_generic_arguments","","",109,[[["anglebracketedgenericarguments",3]]]],[11,"visit_attr_style","","",109,[[["attrstyle",4]]]],[11,"visit_attribute","","",109,[[["attribute",3]]]],[11,"visit_bare_fn_arg","","",109,[[["barefnarg",3]]]],[11,"visit_bin_op","","",109,[[["binop",4]]]],[11,"visit_binding","","",109,[[["binding",3]]]],[11,"visit_bound_lifetimes","","",109,[[["boundlifetimes",3]]]],[11,"visit_const_param","","",109,[[["constparam",3]]]],[11,"visit_constraint","","",109,[[["constraint",3]]]],[11,"visit_data","","",109,[[["data",4]]]],[11,"visit_data_enum","","",109,[[["dataenum",3]]]],[11,"visit_data_struct","","",109,[[["datastruct",3]]]],[11,"visit_data_union","","",109,[[["dataunion",3]]]],[11,"visit_derive_input","","",109,[[["deriveinput",3]]]],[11,"visit_expr","","",109,[[["expr",4]]]],[11,"visit_expr_binary","","",109,[[["exprbinary",3]]]],[11,"visit_expr_call","","",109,[[["exprcall",3]]]],[11,"visit_expr_cast","","",109,[[["exprcast",3]]]],[11,"visit_expr_field","","",109,[[["exprfield",3]]]],[11,"visit_expr_index","","",109,[[["exprindex",3]]]],[11,"visit_expr_lit","","",109,[[["exprlit",3]]]],[11,"visit_expr_paren","","",109,[[["exprparen",3]]]],[11,"visit_expr_path","","",109,[[["exprpath",3]]]],[11,"visit_expr_unary","","",109,[[["exprunary",3]]]],[11,"visit_field","","",109,[[["field",3]]]],[11,"visit_fields","","",109,[[["fields",4]]]],[11,"visit_fields_named","","",109,[[["fieldsnamed",3]]]],[11,"visit_fields_unnamed","","",109,[[["fieldsunnamed",3]]]],[11,"visit_generic_argument","","",109,[[["genericargument",4]]]],[11,"visit_generic_param","","",109,[[["genericparam",4]]]],[11,"visit_generics","","",109,[[["generics",3]]]],[11,"visit_ident","","",109,[[["ident",3]]]],[11,"visit_index","","",109,[[["index",3]]]],[11,"visit_lifetime","","",109,[[["lifetime",3]]]],[11,"visit_lifetime_def","","",109,[[["lifetimedef",3]]]],[11,"visit_lit","","",109,[[["lit",4]]]],[11,"visit_lit_bool","","",109,[[["litbool",3]]]],[11,"visit_lit_byte","","",109,[[["litbyte",3]]]],[11,"visit_lit_byte_str","","",109,[[["litbytestr",3]]]],[11,"visit_lit_char","","",109,[[["litchar",3]]]],[11,"visit_lit_float","","",109,[[["litfloat",3]]]],[11,"visit_lit_int","","",109,[[["litint",3]]]],[11,"visit_lit_str","","",109,[[["litstr",3]]]],[11,"visit_macro","","",109,[[["macro",3]]]],[11,"visit_macro_delimiter","","",109,[[["macrodelimiter",4]]]],[11,"visit_member","","",109,[[["member",4]]]],[11,"visit_meta","","",109,[[["meta",4]]]],[11,"visit_meta_list","","",109,[[["metalist",3]]]],[11,"visit_meta_name_value","","",109,[[["metanamevalue",3]]]],[11,"visit_nested_meta","","",109,[[["nestedmeta",4]]]],[11,"visit_parenthesized_generic_arguments","","",109,[[["parenthesizedgenericarguments",3]]]],[11,"visit_path","","",109,[[["path",3]]]],[11,"visit_path_arguments","","",109,[[["patharguments",4]]]],[11,"visit_path_segment","","",109,[[["pathsegment",3]]]],[11,"visit_predicate_eq","","",109,[[["predicateeq",3]]]],[11,"visit_predicate_lifetime","","",109,[[["predicatelifetime",3]]]],[11,"visit_predicate_type","","",109,[[["predicatetype",3]]]],[11,"visit_qself","","",109,[[["qself",3]]]],[11,"visit_return_type","","",109,[[["returntype",4]]]],[11,"visit_span","","",109,[[["span",3]]]],[11,"visit_trait_bound","","",109,[[["traitbound",3]]]],[11,"visit_trait_bound_modifier","","",109,[[["traitboundmodifier",4]]]],[11,"visit_type","","",109,[[["type",4]]]],[11,"visit_type_array","","",109,[[["typearray",3]]]],[11,"visit_type_bare_fn","","",109,[[["typebarefn",3]]]],[11,"visit_type_group","","",109,[[["typegroup",3]]]],[11,"visit_type_impl_trait","","",109,[[["typeimpltrait",3]]]],[11,"visit_type_infer","","",109,[[["typeinfer",3]]]],[11,"visit_type_macro","","",109,[[["typemacro",3]]]],[11,"visit_type_never","","",109,[[["typenever",3]]]],[11,"visit_type_param","","",109,[[["typeparam",3]]]],[11,"visit_type_param_bound","","",109,[[["typeparambound",4]]]],[11,"visit_type_paren","","",109,[[["typeparen",3]]]],[11,"visit_type_path","","",109,[[["typepath",3]]]],[11,"visit_type_ptr","","",109,[[["typeptr",3]]]],[11,"visit_type_reference","","",109,[[["typereference",3]]]],[11,"visit_type_slice","","",109,[[["typeslice",3]]]],[11,"visit_type_trait_object","","",109,[[["typetraitobject",3]]]],[11,"visit_type_tuple","","",109,[[["typetuple",3]]]],[11,"visit_un_op","","",109,[[["unop",4]]]],[11,"visit_variadic","","",109,[[["variadic",3]]]],[11,"visit_variant","","",109,[[["variant",3]]]],[11,"visit_vis_crate","","",109,[[["viscrate",3]]]],[11,"visit_vis_public","","",109,[[["vispublic",3]]]],[11,"visit_vis_restricted","","",109,[[["visrestricted",3]]]],[11,"visit_visibility","","",109,[[["visibility",4]]]],[11,"visit_where_clause","","",109,[[["whereclause",3]]]],[11,"visit_where_predicate","","",109,[[["wherepredicate",4]]]],[5,"visit_abi","","",null,[[["abi",3]]]],[5,"visit_angle_bracketed_generic_arguments","","",null,[[["anglebracketedgenericarguments",3]]]],[5,"visit_attr_style","","",null,[[["attrstyle",4]]]],[5,"visit_attribute","","",null,[[["attribute",3]]]],[5,"visit_bare_fn_arg","","",null,[[["barefnarg",3]]]],[5,"visit_bin_op","","",null,[[["binop",4]]]],[5,"visit_binding","","",null,[[["binding",3]]]],[5,"visit_bound_lifetimes","","",null,[[["boundlifetimes",3]]]],[5,"visit_const_param","","",null,[[["constparam",3]]]],[5,"visit_constraint","","",null,[[["constraint",3]]]],[5,"visit_data","","",null,[[["data",4]]]],[5,"visit_data_enum","","",null,[[["dataenum",3]]]],[5,"visit_data_struct","","",null,[[["datastruct",3]]]],[5,"visit_data_union","","",null,[[["dataunion",3]]]],[5,"visit_derive_input","","",null,[[["deriveinput",3]]]],[5,"visit_expr","","",null,[[["expr",4]]]],[5,"visit_expr_binary","","",null,[[["exprbinary",3]]]],[5,"visit_expr_call","","",null,[[["exprcall",3]]]],[5,"visit_expr_cast","","",null,[[["exprcast",3]]]],[5,"visit_expr_field","","",null,[[["exprfield",3]]]],[5,"visit_expr_index","","",null,[[["exprindex",3]]]],[5,"visit_expr_lit","","",null,[[["exprlit",3]]]],[5,"visit_expr_paren","","",null,[[["exprparen",3]]]],[5,"visit_expr_path","","",null,[[["exprpath",3]]]],[5,"visit_expr_unary","","",null,[[["exprunary",3]]]],[5,"visit_field","","",null,[[["field",3]]]],[5,"visit_fields","","",null,[[["fields",4]]]],[5,"visit_fields_named","","",null,[[["fieldsnamed",3]]]],[5,"visit_fields_unnamed","","",null,[[["fieldsunnamed",3]]]],[5,"visit_generic_argument","","",null,[[["genericargument",4]]]],[5,"visit_generic_param","","",null,[[["genericparam",4]]]],[5,"visit_generics","","",null,[[["generics",3]]]],[5,"visit_ident","","",null,[[["ident",3]]]],[5,"visit_index","","",null,[[["index",3]]]],[5,"visit_lifetime","","",null,[[["lifetime",3]]]],[5,"visit_lifetime_def","","",null,[[["lifetimedef",3]]]],[5,"visit_lit","","",null,[[["lit",4]]]],[5,"visit_lit_bool","","",null,[[["litbool",3]]]],[5,"visit_lit_byte","","",null,[[["litbyte",3]]]],[5,"visit_lit_byte_str","","",null,[[["litbytestr",3]]]],[5,"visit_lit_char","","",null,[[["litchar",3]]]],[5,"visit_lit_float","","",null,[[["litfloat",3]]]],[5,"visit_lit_int","","",null,[[["litint",3]]]],[5,"visit_lit_str","","",null,[[["litstr",3]]]],[5,"visit_macro","","",null,[[["macro",3]]]],[5,"visit_macro_delimiter","","",null,[[["macrodelimiter",4]]]],[5,"visit_member","","",null,[[["member",4]]]],[5,"visit_meta","","",null,[[["meta",4]]]],[5,"visit_meta_list","","",null,[[["metalist",3]]]],[5,"visit_meta_name_value","","",null,[[["metanamevalue",3]]]],[5,"visit_nested_meta","","",null,[[["nestedmeta",4]]]],[5,"visit_parenthesized_generic_arguments","","",null,[[["parenthesizedgenericarguments",3]]]],[5,"visit_path","","",null,[[["path",3]]]],[5,"visit_path_arguments","","",null,[[["patharguments",4]]]],[5,"visit_path_segment","","",null,[[["pathsegment",3]]]],[5,"visit_predicate_eq","","",null,[[["predicateeq",3]]]],[5,"visit_predicate_lifetime","","",null,[[["predicatelifetime",3]]]],[5,"visit_predicate_type","","",null,[[["predicatetype",3]]]],[5,"visit_qself","","",null,[[["qself",3]]]],[5,"visit_return_type","","",null,[[["returntype",4]]]],[5,"visit_span","","",null,[[["span",3]]]],[5,"visit_trait_bound","","",null,[[["traitbound",3]]]],[5,"visit_trait_bound_modifier","","",null,[[["traitboundmodifier",4]]]],[5,"visit_type","","",null,[[["type",4]]]],[5,"visit_type_array","","",null,[[["typearray",3]]]],[5,"visit_type_bare_fn","","",null,[[["typebarefn",3]]]],[5,"visit_type_group","","",null,[[["typegroup",3]]]],[5,"visit_type_impl_trait","","",null,[[["typeimpltrait",3]]]],[5,"visit_type_infer","","",null,[[["typeinfer",3]]]],[5,"visit_type_macro","","",null,[[["typemacro",3]]]],[5,"visit_type_never","","",null,[[["typenever",3]]]],[5,"visit_type_param","","",null,[[["typeparam",3]]]],[5,"visit_type_param_bound","","",null,[[["typeparambound",4]]]],[5,"visit_type_paren","","",null,[[["typeparen",3]]]],[5,"visit_type_path","","",null,[[["typepath",3]]]],[5,"visit_type_ptr","","",null,[[["typeptr",3]]]],[5,"visit_type_reference","","",null,[[["typereference",3]]]],[5,"visit_type_slice","","",null,[[["typeslice",3]]]],[5,"visit_type_trait_object","","",null,[[["typetraitobject",3]]]],[5,"visit_type_tuple","","",null,[[["typetuple",3]]]],[5,"visit_un_op","","",null,[[["unop",4]]]],[5,"visit_variadic","","",null,[[["variadic",3]]]],[5,"visit_variant","","",null,[[["variant",3]]]],[5,"visit_vis_crate","","",null,[[["viscrate",3]]]],[5,"visit_vis_public","","",null,[[["vispublic",3]]]],[5,"visit_vis_restricted","","",null,[[["visrestricted",3]]]],[5,"visit_visibility","","",null,[[["visibility",4]]]],[5,"visit_where_clause","","",null,[[["whereclause",3]]]],[5,"visit_where_predicate","","",null,[[["wherepredicate",4]]]],[0,"parse","syn","Parsing interface for parsing a token stream into a …",null,null],[0,"discouraged","syn::parse","Extensions to the parsing API with niche applicability.",null,null],[8,"Speculative","syn::parse::discouraged","Extensions to the ParseStream API to support speculative …",null,null],[10,"advance_to","","Advance this parse stream to the position of a forked …",110,[[]]],[3,"Error","syn::parse","Error returned when a Syn parser cannot parse the input …",null,null],[6,"Result","","The result of a Syn parser.",null,null],[3,"Lookahead1","","Support for checking the next token in a stream to decide …",null,null],[8,"Peek","","Types that can be parsed by looking at just one token.",null,null],[8,"Parse","","Parsing interface implemented by all types that can be …",null,null],[10,"parse","","",111,[[["parsestream",6]],["result",6]]],[6,"ParseStream","","Input to a Syn parser function.",null,null],[3,"ParseBuffer","","Cursor position within a buffered token stream.",null,null],[3,"StepCursor","","Cursor state associated with speculative parsing.",null,null],[11,"error","","Triggers an error at the current position of the parse …",112,[[["display",8]],["error",3]]],[11,"parse","","Parses a syntax tree node of type T, advancing the …",113,[[],[["result",6],["parse",8]]]],[11,"call","","Calls the given parser function to parse a syntax tree …",113,[[],["result",6]]],[11,"peek","","Looks at the next token in the parse stream to determine …",113,[[["peek",8]]]],[11,"peek2","","Looks at the second-next token in the parse stream.",113,[[["peek",8]]]],[11,"peek3","","Looks at the third-next token in the parse stream.",113,[[["peek",8]]]],[11,"parse_terminated","","Parses zero or more occurrences of T separated by …",113,[[],[["result",6],["punctuated",3]]]],[11,"is_empty","","Returns whether there are tokens remaining in this stream.",113,[[]]],[11,"lookahead1","","Constructs a helper for peeking at the next token in this …",113,[[],["lookahead1",3]]],[11,"fork","","Forks a parse stream so that parsing tokens out of either …",113,[[]]],[11,"error","","Triggers an error at the current position of the parse …",113,[[["display",8]],["error",3]]],[11,"step","","Speculatively parses tokens from this parse stream, …",113,[[],["result",6]]],[11,"span","","Returns the Span of the next token in the parse stream, or…",113,[[],["span",3]]],[11,"cursor","","Provides low-level access to the token representation …",113,[[],["cursor",3]]],[8,"Parser","","Parser that can parse Rust tokens into a particular …",null,null],[16,"Output","","",114,null],[10,"parse2","","Parse a proc-macro2 token stream into the chosen syntax …",114,[[["tokenstream",3]],["result",6]]],[11,"parse","","Parse tokens of source code into the chosen syntax tree …",114,[[["tokenstream",3]],["result",6]]],[11,"parse_str","","Parse a string of Rust code into the chosen syntax tree …",114,[[],["result",6]]],[3,"Nothing","","An empty syntax tree node that consumes no tokens when …",null,null],[11,"new","","Usually the ParseStream::error method will be used …",115,[[["display",8],["span",3]]]],[11,"new_spanned","","Creates an error with the specified message spanning the …",115,[[["display",8],["totokens",8]]]],[11,"span","","The source location of the error.",115,[[],["span",3]]],[11,"to_compile_error","","Render the error as an invocation of compile_error!.",115,[[],["tokenstream",3]]],[11,"into_compile_error","","Render the error as an invocation of compile_error!.",115,[[],["tokenstream",3]]],[11,"combine","","Add another error message to self such that when …",115,[[["error",3]]]],[4,"AttrStyle","syn","Distinguishes between attributes that decorate an item …",null,null],[13,"Outer","","",116,null],[13,"Inner","","",116,null],[3,"Attribute","","An attribute like #[repr(transparent)].",null,null],[12,"pound_token","","",117,null],[12,"style","","",117,null],[12,"bracket_token","","",117,null],[12,"path","","",117,null],[12,"tokens","","",117,null],[6,"AttributeArgs","","Conventional argument type associated with an invocation …",null,null],[4,"Meta","","Content of a compile-time structured attribute.",null,null],[13,"Path","","",118,null],[13,"List","","A structured list within an attribute, like …",118,null],[13,"NameValue","","A name-value pair within an attribute, like …",118,null],[3,"MetaList","","A structured list within an attribute, like …",null,null],[12,"path","","",119,null],[12,"paren_token","","",119,null],[12,"nested","","",119,null],[3,"MetaNameValue","","A name-value pair within an attribute, like …",null,null],[12,"path","","",120,null],[12,"eq_token","","",120,null],[12,"lit","","",120,null],[4,"NestedMeta","","Element of a compile-time attribute list.",null,null],[13,"Meta","","A structured meta item, like the Copy in #[derive(Copy)] …",121,null],[13,"Lit","","A Rust literal, like the \\\"new_name\\\" in …",121,null],[3,"Field","","A field of a struct or enum variant.",null,null],[12,"attrs","","Attributes tagged on the field.",122,null],[12,"vis","","Visibility of the field.",122,null],[12,"ident","","Name of the field, if any.",122,null],[12,"colon_token","","",122,null],[12,"ty","","Type of the field.",122,null],[4,"Fields","","Data stored within an enum variant or struct.",null,null],[13,"Named","","Named fields of a struct or struct variant such as …",123,null],[13,"Unnamed","","Unnamed fields of a tuple struct or tuple variant such as …",123,null],[13,"Unit","","Unit struct or unit variant such as None.",123,null],[3,"FieldsNamed","","Named fields of a struct or struct variant such as …",null,null],[12,"brace_token","","",124,null],[12,"named","","",124,null],[3,"FieldsUnnamed","","Unnamed fields of a tuple struct or tuple variant such as …",null,null],[12,"paren_token","","",125,null],[12,"unnamed","","",125,null],[3,"Variant","","An enum variant.",null,null],[12,"attrs","","Attributes tagged on the variant.",126,null],[12,"ident","","Name of the variant.",126,null],[12,"fields","","Content stored in the variant.",126,null],[12,"discriminant","","Explicit discriminant: Variant = 1",126,null],[3,"VisCrate","","A crate-level visibility: crate.",null,null],[12,"crate_token","","",127,null],[3,"VisPublic","","A public visibility level: pub.",null,null],[12,"pub_token","","",128,null],[3,"VisRestricted","","A visibility level restricted to some path: pub(self) or …",null,null],[12,"pub_token","","",129,null],[12,"paren_token","","",129,null],[12,"in_token","","",129,null],[12,"path","","",129,null],[4,"Visibility","","The visibility level of an item: inherited or pub or …",null,null],[13,"Public","","A public visibility level: pub.",130,null],[13,"Crate","","A crate-level visibility: crate.",130,null],[13,"Restricted","","A visibility level restricted to some path: pub(self) or …",130,null],[13,"Inherited","","An inherited visibility, which usually means private.",130,null],[4,"Expr","","A Rust expression.",null,null],[13,"Array","","A slice literal expression: [a, b, c, d].",131,null],[13,"Assign","","An assignment expression: a = compute().",131,null],[13,"AssignOp","","A compound assignment expression: counter += 1.",131,null],[13,"Async","","An async block: async { ... }.",131,null],[13,"Await","","An await expression: fut.await.",131,null],[13,"Binary","","A binary operation: a + b, a * b.",131,null],[13,"Block","","A blocked scope: { ... }.",131,null],[13,"Box","","A box expression: box f.",131,null],[13,"Break","","A break, with an optional label to break and an optional …",131,null],[13,"Call","","A function call expression: invoke(a, b).",131,null],[13,"Cast","","A cast expression: foo as f64.",131,null],[13,"Closure","","A closure expression: |a, b| a + b.",131,null],[13,"Continue","","A continue, with an optional label.",131,null],[13,"Field","","Access of a named struct field (obj.k) or unnamed tuple …",131,null],[13,"ForLoop","","A for loop: for pat in expr { ... }.",131,null],[13,"Group","","An expression contained within invisible delimiters.",131,null],[13,"If","","An if expression with an optional else block: …",131,null],[13,"Index","","A square bracketed indexing expression: vector[2].",131,null],[13,"Let","","A let guard: let Some(x) = opt.",131,null],[13,"Lit","","A literal in place of an expression: 1, \\\"foo\\\".",131,null],[13,"Loop","","Conditionless loop: loop { ... }.",131,null],[13,"Macro","","A macro invocation expression: format!(\\\"{}\\\", q).",131,null],[13,"Match","","A match expression: match n { Some(n) => {}, None => {} }.",131,null],[13,"MethodCall","","A method call expression: x.foo::(a, b).",131,null],[13,"Paren","","A parenthesized expression: (a + b).",131,null],[13,"Path","","A path like std::mem::replace possibly containing generic …",131,null],[13,"Range","","A range expression: 1..2, 1.., ..2, 1..=2, ..=2.",131,null],[13,"Reference","","A referencing operation: &a or &mut a.",131,null],[13,"Repeat","","An array literal constructed from one repeated element: …",131,null],[13,"Return","","A return, with an optional value to be returned.",131,null],[13,"Struct","","A struct literal expression: Point { x: 1, y: 1 }.",131,null],[13,"Try","","A try-expression: expr?.",131,null],[13,"TryBlock","","A try block: try { ... }.",131,null],[13,"Tuple","","A tuple expression: (a, b, c, d).",131,null],[13,"Type","","A type ascription expression: foo: f64.",131,null],[13,"Unary","","A unary operation: !x, *x.",131,null],[13,"Unsafe","","An unsafe block: unsafe { ... }.",131,null],[13,"Verbatim","","Tokens in expression position not interpreted by Syn.",131,null],[13,"While","","A while loop: while expr { ... }.",131,null],[13,"Yield","","A yield expression: yield expr.",131,null],[3,"ExprArray","","A slice literal expression: [a, b, c, d].",null,null],[3,"ExprAssign","","An assignment expression: a = compute().",null,null],[3,"ExprAssignOp","","A compound assignment expression: counter += 1.",null,null],[3,"ExprAsync","","An async block: async { ... }.",null,null],[3,"ExprAwait","","An await expression: fut.await.",null,null],[3,"ExprBinary","","A binary operation: a + b, a * b.",null,null],[12,"attrs","","",132,null],[12,"left","","",132,null],[12,"op","","",132,null],[12,"right","","",132,null],[3,"ExprBlock","","A blocked scope: { ... }.",null,null],[3,"ExprBox","","A box expression: box f.",null,null],[3,"ExprBreak","","A break, with an optional label to break and an optional …",null,null],[3,"ExprCall","","A function call expression: invoke(a, b).",null,null],[12,"attrs","","",133,null],[12,"func","","",133,null],[12,"paren_token","","",133,null],[12,"args","","",133,null],[3,"ExprCast","","A cast expression: foo as f64.",null,null],[12,"attrs","","",134,null],[12,"expr","","",134,null],[12,"as_token","","",134,null],[12,"ty","","",134,null],[3,"ExprClosure","","A closure expression: |a, b| a + b.",null,null],[3,"ExprContinue","","A continue, with an optional label.",null,null],[3,"ExprField","","Access of a named struct field (obj.k) or unnamed tuple …",null,null],[12,"attrs","","",135,null],[12,"base","","",135,null],[12,"dot_token","","",135,null],[12,"member","","",135,null],[3,"ExprForLoop","","A for loop: for pat in expr { ... }.",null,null],[3,"ExprGroup","","An expression contained within invisible delimiters.",null,null],[3,"ExprIf","","An if expression with an optional else block: …",null,null],[3,"ExprIndex","","A square bracketed indexing expression: vector[2].",null,null],[12,"attrs","","",136,null],[12,"expr","","",136,null],[12,"bracket_token","","",136,null],[12,"index","","",136,null],[3,"ExprLet","","A let guard: let Some(x) = opt.",null,null],[3,"ExprLit","","A literal in place of an expression: 1, \\\"foo\\\".",null,null],[12,"attrs","","",137,null],[12,"lit","","",137,null],[3,"ExprLoop","","Conditionless loop: loop { ... }.",null,null],[3,"ExprMacro","","A macro invocation expression: format!(\\\"{}\\\", q).",null,null],[3,"ExprMatch","","A match expression: match n { Some(n) => {}, None => {} }.",null,null],[3,"ExprMethodCall","","A method call expression: x.foo::(a, b).",null,null],[3,"ExprParen","","A parenthesized expression: (a + b).",null,null],[12,"attrs","","",138,null],[12,"paren_token","","",138,null],[12,"expr","","",138,null],[3,"ExprPath","","A path like std::mem::replace possibly containing generic …",null,null],[12,"attrs","","",139,null],[12,"qself","","",139,null],[12,"path","","",139,null],[3,"ExprRange","","A range expression: 1..2, 1.., ..2, 1..=2, ..=2.",null,null],[3,"ExprReference","","A referencing operation: &a or &mut a.",null,null],[3,"ExprRepeat","","An array literal constructed from one repeated element: …",null,null],[3,"ExprReturn","","A return, with an optional value to be returned.",null,null],[3,"ExprStruct","","A struct literal expression: Point { x: 1, y: 1 }.",null,null],[3,"ExprTry","","A try-expression: expr?.",null,null],[3,"ExprTryBlock","","A try block: try { ... }.",null,null],[3,"ExprTuple","","A tuple expression: (a, b, c, d).",null,null],[3,"ExprType","","A type ascription expression: foo: f64.",null,null],[3,"ExprUnary","","A unary operation: !x, *x.",null,null],[12,"attrs","","",140,null],[12,"op","","",140,null],[12,"expr","","",140,null],[3,"ExprUnsafe","","An unsafe block: unsafe { ... }.",null,null],[3,"ExprWhile","","A while loop: while expr { ... }.",null,null],[3,"ExprYield","","A yield expression: yield expr.",null,null],[3,"Index","","The index of an unnamed tuple struct field.",null,null],[12,"index","","",141,null],[12,"span","","",141,null],[4,"Member","","A struct or tuple struct field accessed in a struct …",null,null],[13,"Named","","A named field like self.x.",142,null],[13,"Unnamed","","An unnamed field like self.0.",142,null],[3,"BoundLifetimes","","A set of bound lifetimes: for<\'a, \'b, \'c>.",null,null],[12,"for_token","","",143,null],[12,"lt_token","","",143,null],[12,"lifetimes","","",143,null],[12,"gt_token","","",143,null],[3,"ConstParam","","A const generic parameter: const LENGTH: usize.",null,null],[12,"attrs","","",144,null],[12,"const_token","","",144,null],[12,"ident","","",144,null],[12,"colon_token","","",144,null],[12,"ty","","",144,null],[12,"eq_token","","",144,null],[12,"default","","",144,null],[4,"GenericParam","","A generic type parameter, lifetime, or const generic: …",null,null],[13,"Type","","A generic type parameter: T: Into.",145,null],[13,"Lifetime","","A lifetime definition: \'a: \'b + \'c + \'d.",145,null],[13,"Const","","A const generic parameter: const LENGTH: usize.",145,null],[3,"Generics","","Lifetimes and type parameters attached to a declaration …",null,null],[12,"lt_token","","",146,null],[12,"params","","",146,null],[12,"gt_token","","",146,null],[12,"where_clause","","",146,null],[3,"LifetimeDef","","A lifetime definition: \'a: \'b + \'c + \'d.",null,null],[12,"attrs","","",147,null],[12,"lifetime","","",147,null],[12,"colon_token","","",147,null],[12,"bounds","","",147,null],[3,"PredicateEq","","An equality predicate in a where clause (unsupported).",null,null],[12,"lhs_ty","","",148,null],[12,"eq_token","","",148,null],[12,"rhs_ty","","",148,null],[3,"PredicateLifetime","","A lifetime predicate in a where clause: \'a: \'b + \'c.",null,null],[12,"lifetime","","",149,null],[12,"colon_token","","",149,null],[12,"bounds","","",149,null],[3,"PredicateType","","A type predicate in a where clause: …",null,null],[12,"lifetimes","","Any lifetimes from a for binding",150,null],[12,"bounded_ty","","The type being bounded",150,null],[12,"colon_token","","",150,null],[12,"bounds","","Trait and lifetime bounds (Clone+Send+\'static)",150,null],[3,"TraitBound","","A trait used as a bound on a type parameter.",null,null],[12,"paren_token","","",151,null],[12,"modifier","","",151,null],[12,"lifetimes","","The for<\'a> in for<\'a> Foo<&\'a T>",151,null],[12,"path","","The Foo<&\'a T> in for<\'a> Foo<&\'a T>",151,null],[4,"TraitBoundModifier","","A modifier on a trait bound, currently only used for the ?…",null,null],[13,"None","","",152,null],[13,"Maybe","","",152,null],[3,"TypeParam","","A generic type parameter: T: Into.",null,null],[12,"attrs","","",153,null],[12,"ident","","",153,null],[12,"colon_token","","",153,null],[12,"bounds","","",153,null],[12,"eq_token","","",153,null],[12,"default","","",153,null],[4,"TypeParamBound","","A trait or lifetime used as a bound on a type parameter.",null,null],[13,"Trait","","",154,null],[13,"Lifetime","","",154,null],[3,"WhereClause","","A where clause in a definition: …",null,null],[12,"where_token","","",155,null],[12,"predicates","","",155,null],[4,"WherePredicate","","A single predicate in a where clause: T: Deserialize<\'de>.",null,null],[13,"Type","","A type predicate in a where clause: …",156,null],[13,"Lifetime","","A lifetime predicate in a where clause: \'a: \'b + \'c.",156,null],[13,"Eq","","An equality predicate in a where clause (unsupported).",156,null],[3,"ImplGenerics","","Returned by Generics::split_for_impl.",null,null],[3,"Turbofish","","Returned by TypeGenerics::as_turbofish.",null,null],[3,"TypeGenerics","","Returned by Generics::split_for_impl.",null,null],[3,"Lifetime","","A Rust lifetime: \'a.",null,null],[12,"apostrophe","","",157,null],[12,"ident","","",157,null],[4,"Lit","","A Rust literal such as a string or integer or boolean.",null,null],[13,"Str","","A UTF-8 string literal: \\\"foo\\\".",158,null],[13,"ByteStr","","A byte string literal: b\\\"foo\\\".",158,null],[13,"Byte","","A byte literal: b\'f\'.",158,null],[13,"Char","","A character literal: \'a\'.",158,null],[13,"Int","","An integer literal: 1 or 1u16.",158,null],[13,"Float","","A floating point literal: 1f64 or 1.0e10f64.",158,null],[13,"Bool","","A boolean literal: true or false.",158,null],[13,"Verbatim","","A raw token literal not interpreted by Syn.",158,null],[3,"LitBool","","A boolean literal: true or false.",null,null],[12,"value","","",159,null],[12,"span","","",159,null],[3,"LitByte","","A byte literal: b\'f\'.",null,null],[3,"LitByteStr","","A byte string literal: b\\\"foo\\\".",null,null],[3,"LitChar","","A character literal: \'a\'.",null,null],[3,"LitFloat","","A floating point literal: 1f64 or 1.0e10f64.",null,null],[3,"LitInt","","An integer literal: 1 or 1u16.",null,null],[3,"LitStr","","A UTF-8 string literal: \\\"foo\\\".",null,null],[4,"StrStyle","","The style of a string literal, either plain quoted or a …",null,null],[13,"Cooked","","An ordinary string like \\\"data\\\".",160,null],[13,"Raw","","A raw string like r##\\\"data\\\"##.",160,null],[3,"Macro","","A macro invocation: println!(\\\"{}\\\", mac).",null,null],[12,"path","","",161,null],[12,"bang_token","","",161,null],[12,"delimiter","","",161,null],[12,"tokens","","",161,null],[4,"MacroDelimiter","","A grouping token that surrounds a macro body: m!(...) or …",null,null],[13,"Paren","","",162,null],[13,"Brace","","",162,null],[13,"Bracket","","",162,null],[4,"Data","","The storage of a struct, enum or union data structure.",null,null],[13,"Struct","","A struct input to a proc_macro_derive macro.",163,null],[13,"Enum","","An enum input to a proc_macro_derive macro.",163,null],[13,"Union","","An untagged union input to a proc_macro_derive macro.",163,null],[3,"DataEnum","","An enum input to a proc_macro_derive macro.",null,null],[12,"enum_token","","",164,null],[12,"brace_token","","",164,null],[12,"variants","","",164,null],[3,"DataStruct","","A struct input to a proc_macro_derive macro.",null,null],[12,"struct_token","","",165,null],[12,"fields","","",165,null],[12,"semi_token","","",165,null],[3,"DataUnion","","An untagged union input to a proc_macro_derive macro.",null,null],[12,"union_token","","",166,null],[12,"fields","","",166,null],[3,"DeriveInput","","Data structure sent to a proc_macro_derive macro.",null,null],[12,"attrs","","Attributes tagged on the whole struct or enum.",167,null],[12,"vis","","Visibility of the struct or enum.",167,null],[12,"ident","","Name of the struct or enum.",167,null],[12,"generics","","Generics required to complete the definition.",167,null],[12,"data","","Data within the struct or enum.",167,null],[4,"BinOp","","A binary operator: +, +=, &.",null,null],[13,"Add","","The + operator (addition)",168,null],[13,"Sub","","The - operator (subtraction)",168,null],[13,"Mul","","The * operator (multiplication)",168,null],[13,"Div","","The / operator (division)",168,null],[13,"Rem","","The % operator (modulus)",168,null],[13,"And","","The && operator (logical and)",168,null],[13,"Or","","The || operator (logical or)",168,null],[13,"BitXor","","The ^ operator (bitwise xor)",168,null],[13,"BitAnd","","The & operator (bitwise and)",168,null],[13,"BitOr","","The | operator (bitwise or)",168,null],[13,"Shl","","The << operator (shift left)",168,null],[13,"Shr","","The >> operator (shift right)",168,null],[13,"Eq","","The == operator (equality)",168,null],[13,"Lt","","The < operator (less than)",168,null],[13,"Le","","The <= operator (less than or equal to)",168,null],[13,"Ne","","The != operator (not equal to)",168,null],[13,"Ge","","The >= operator (greater than or equal to)",168,null],[13,"Gt","","The > operator (greater than)",168,null],[13,"AddEq","","The += operator",168,null],[13,"SubEq","","The -= operator",168,null],[13,"MulEq","","The *= operator",168,null],[13,"DivEq","","The /= operator",168,null],[13,"RemEq","","The %= operator",168,null],[13,"BitXorEq","","The ^= operator",168,null],[13,"BitAndEq","","The &= operator",168,null],[13,"BitOrEq","","The |= operator",168,null],[13,"ShlEq","","The <<= operator",168,null],[13,"ShrEq","","The >>= operator",168,null],[4,"UnOp","","A unary operator: *, !, -.",null,null],[13,"Deref","","The * operator for dereferencing",169,null],[13,"Not","","The ! operator for logical inversion",169,null],[13,"Neg","","The - operator for negation",169,null],[3,"Abi","","The binary interface of a function: extern \\\"C\\\".",null,null],[12,"extern_token","","",170,null],[12,"name","","",170,null],[3,"BareFnArg","","An argument in a function type: the usize in …",null,null],[12,"attrs","","",171,null],[12,"name","","",171,null],[12,"ty","","",171,null],[4,"ReturnType","","Return type of a function signature.",null,null],[13,"Default","","Return type is not specified.",172,null],[13,"Type","","A particular type is returned.",172,null],[4,"Type","","The possible types that a Rust value could have.",null,null],[13,"Array","","A fixed size array type: [T; n].",173,null],[13,"BareFn","","A bare function type: fn(usize) -> bool.",173,null],[13,"Group","","A type contained within invisible delimiters.",173,null],[13,"ImplTrait","","An impl Bound1 + Bound2 + Bound3 type where Bound is a …",173,null],[13,"Infer","","Indication that a type should be inferred by the …",173,null],[13,"Macro","","A macro in the type position.",173,null],[13,"Never","","The never type: !.",173,null],[13,"Paren","","A parenthesized type equivalent to the inner type.",173,null],[13,"Path","","A path like std::slice::Iter, optionally qualified with a …",173,null],[13,"Ptr","","A raw pointer type: *const T or *mut T.",173,null],[13,"Reference","","A reference type: &\'a T or &\'a mut T.",173,null],[13,"Slice","","A dynamically sized slice type: [T].",173,null],[13,"TraitObject","","A trait object type Bound1 + Bound2 + Bound3 where Bound …",173,null],[13,"Tuple","","A tuple type: (A, B, C, String).",173,null],[13,"Verbatim","","Tokens in type position not interpreted by Syn.",173,null],[3,"TypeArray","","A fixed size array type: [T; n].",null,null],[12,"bracket_token","","",174,null],[12,"elem","","",174,null],[12,"semi_token","","",174,null],[12,"len","","",174,null],[3,"TypeBareFn","","A bare function type: fn(usize) -> bool.",null,null],[12,"lifetimes","","",175,null],[12,"unsafety","","",175,null],[12,"abi","","",175,null],[12,"fn_token","","",175,null],[12,"paren_token","","",175,null],[12,"inputs","","",175,null],[12,"variadic","","",175,null],[12,"output","","",175,null],[3,"TypeGroup","","A type contained within invisible delimiters.",null,null],[12,"group_token","","",176,null],[12,"elem","","",176,null],[3,"TypeImplTrait","","An impl Bound1 + Bound2 + Bound3 type where Bound is a …",null,null],[12,"impl_token","","",177,null],[12,"bounds","","",177,null],[3,"TypeInfer","","Indication that a type should be inferred by the …",null,null],[12,"underscore_token","","",178,null],[3,"TypeMacro","","A macro in the type position.",null,null],[12,"mac","","",179,null],[3,"TypeNever","","The never type: !.",null,null],[12,"bang_token","","",180,null],[3,"TypeParen","","A parenthesized type equivalent to the inner type.",null,null],[12,"paren_token","","",181,null],[12,"elem","","",181,null],[3,"TypePath","","A path like std::slice::Iter, optionally qualified with a …",null,null],[12,"qself","","",182,null],[12,"path","","",182,null],[3,"TypePtr","","A raw pointer type: *const T or *mut T.",null,null],[12,"star_token","","",183,null],[12,"const_token","","",183,null],[12,"mutability","","",183,null],[12,"elem","","",183,null],[3,"TypeReference","","A reference type: &\'a T or &\'a mut T.",null,null],[12,"and_token","","",184,null],[12,"lifetime","","",184,null],[12,"mutability","","",184,null],[12,"elem","","",184,null],[3,"TypeSlice","","A dynamically sized slice type: [T].",null,null],[12,"bracket_token","","",185,null],[12,"elem","","",185,null],[3,"TypeTraitObject","","A trait object type Bound1 + Bound2 + Bound3 where Bound …",null,null],[12,"dyn_token","","",186,null],[12,"bounds","","",186,null],[3,"TypeTuple","","A tuple type: (A, B, C, String).",null,null],[12,"paren_token","","",187,null],[12,"elems","","",187,null],[3,"Variadic","","The variadic argument of a foreign function.",null,null],[12,"attrs","","",188,null],[12,"dots","","",188,null],[3,"AngleBracketedGenericArguments","","Angle bracketed arguments of a path segment: the …",null,null],[12,"colon2_token","","",189,null],[12,"lt_token","","",189,null],[12,"args","","",189,null],[12,"gt_token","","",189,null],[3,"Binding","","A binding (equality constraint) on an associated type: …",null,null],[12,"ident","","",190,null],[12,"eq_token","","",190,null],[12,"ty","","",190,null],[3,"Constraint","","An associated type bound: Iterator.",null,null],[12,"ident","","",191,null],[12,"colon_token","","",191,null],[12,"bounds","","",191,null],[4,"GenericArgument","","An individual generic argument, like \'a, T, or Item = T.",null,null],[13,"Lifetime","","A lifetime argument.",192,null],[13,"Type","","A type argument.",192,null],[13,"Binding","","A binding (equality constraint) on an associated type: …",192,null],[13,"Constraint","","An associated type bound: Iterator.",192,null],[13,"Const","","A const expression. Must be inside of a block.",192,null],[3,"ParenthesizedGenericArguments","","Arguments of a function path segment: the (A, B) -> C in …",null,null],[12,"paren_token","","",193,null],[12,"inputs","","(A, B)",193,null],[12,"output","","C",193,null],[3,"Path","","A path at which a named item is exported (e.g. …",null,null],[12,"leading_colon","","",194,null],[12,"segments","","",194,null],[4,"PathArguments","","Angle bracketed or parenthesized arguments of a path …",null,null],[13,"None","","",195,null],[13,"AngleBracketed","","The <\'a, T> in std::slice::iter<\'a, T>.",195,null],[13,"Parenthesized","","The (A, B) -> C in Fn(A, B) -> C.",195,null],[3,"PathSegment","","A segment of a path together with any path arguments on …",null,null],[12,"ident","","",196,null],[12,"arguments","","",196,null],[3,"QSelf","","The explicit Self type in a qualified path: the T in …",null,null],[12,"lt_token","","",197,null],[12,"ty","","",197,null],[12,"position","","",197,null],[12,"as_token","","",197,null],[12,"gt_token","","",197,null],[3,"Error","","Error returned when a Syn parser cannot parse the input …",null,null],[6,"Result","","The result of a Syn parser.",null,null],[5,"parse","","Parse tokens of source code into the chosen syntax tree …",null,[[["tokenstream",3]],[["result",6],["parse",8]]]],[5,"parse2","","Parse a proc-macro2 token stream into the chosen syntax …",null,[[["tokenstream",3]],[["result",6],["parse",8]]]],[5,"parse_str","","Parse a string of Rust code into the chosen syntax tree …",null,[[],[["result",6],["parse",8]]]],[14,"parenthesized","","Parse a set of parentheses and expose their content to …",null,null],[14,"braced","","Parse a set of curly braces and expose their content to …",null,null],[14,"bracketed","","Parse a set of square brackets and expose their content …",null,null],[14,"Token","","A type-macro that expands to the name of the Rust type …",null,null],[14,"parse_quote","","Quasi-quotation macro that accepts input like the quote! …",null,null],[14,"parse_macro_input","","Parse the input TokenStream of a macro, triggering a …",null,null],[14,"custom_keyword","","Define a type that supports parsing and printing a given …",null,null],[14,"custom_punctuation","","Define a type that supports parsing and printing a …",null,null],[11,"span","","",198,[[],["span",3]]],[11,"from","","",198,[[]]],[11,"into","","",198,[[]]],[11,"to_owned","","",198,[[]]],[11,"clone_into","","",198,[[]]],[11,"to_string","","",198,[[],["string",3]]],[11,"borrow","","",198,[[]]],[11,"borrow_mut","","",198,[[]]],[11,"try_from","","",198,[[],["result",4]]],[11,"try_into","","",198,[[],["result",4]]],[11,"type_id","","",198,[[],["typeid",3]]],[11,"span","syn::token","",0,[[],["span",3]]],[11,"from","","",0,[[]]],[11,"into","","",0,[[]]],[11,"to_owned","","",0,[[]]],[11,"clone_into","","",0,[[]]],[11,"borrow","","",0,[[]]],[11,"borrow_mut","","",0,[[]]],[11,"try_from","","",0,[[],["result",4]]],[11,"try_into","","",0,[[],["result",4]]],[11,"type_id","","",0,[[],["typeid",3]]],[11,"span","","",1,[[],["span",3]]],[11,"from","","",1,[[]]],[11,"into","","",1,[[]]],[11,"to_owned","","",1,[[]]],[11,"clone_into","","",1,[[]]],[11,"borrow","","",1,[[]]],[11,"borrow_mut","","",1,[[]]],[11,"try_from","","",1,[[],["result",4]]],[11,"try_into","","",1,[[],["result",4]]],[11,"type_id","","",1,[[],["typeid",3]]],[11,"span","","",2,[[],["span",3]]],[11,"from","","",2,[[]]],[11,"into","","",2,[[]]],[11,"to_owned","","",2,[[]]],[11,"clone_into","","",2,[[]]],[11,"borrow","","",2,[[]]],[11,"borrow_mut","","",2,[[]]],[11,"try_from","","",2,[[],["result",4]]],[11,"try_into","","",2,[[],["result",4]]],[11,"type_id","","",2,[[],["typeid",3]]],[11,"span","","",3,[[],["span",3]]],[11,"from","","",3,[[]]],[11,"into","","",3,[[]]],[11,"to_owned","","",3,[[]]],[11,"clone_into","","",3,[[]]],[11,"borrow","","",3,[[]]],[11,"borrow_mut","","",3,[[]]],[11,"try_from","","",3,[[],["result",4]]],[11,"try_into","","",3,[[],["result",4]]],[11,"type_id","","",3,[[],["typeid",3]]],[11,"span","","",4,[[],["span",3]]],[11,"from","","",4,[[]]],[11,"into","","",4,[[]]],[11,"to_owned","","",4,[[]]],[11,"clone_into","","",4,[[]]],[11,"borrow","","",4,[[]]],[11,"borrow_mut","","",4,[[]]],[11,"try_from","","",4,[[],["result",4]]],[11,"try_into","","",4,[[],["result",4]]],[11,"type_id","","",4,[[],["typeid",3]]],[11,"span","","",5,[[],["span",3]]],[11,"from","","",5,[[]]],[11,"into","","",5,[[]]],[11,"to_owned","","",5,[[]]],[11,"clone_into","","",5,[[]]],[11,"borrow","","",5,[[]]],[11,"borrow_mut","","",5,[[]]],[11,"try_from","","",5,[[],["result",4]]],[11,"try_into","","",5,[[],["result",4]]],[11,"type_id","","",5,[[],["typeid",3]]],[11,"span","","",6,[[],["span",3]]],[11,"from","","",6,[[]]],[11,"into","","",6,[[]]],[11,"to_owned","","",6,[[]]],[11,"clone_into","","",6,[[]]],[11,"borrow","","",6,[[]]],[11,"borrow_mut","","",6,[[]]],[11,"try_from","","",6,[[],["result",4]]],[11,"try_into","","",6,[[],["result",4]]],[11,"type_id","","",6,[[],["typeid",3]]],[11,"span","","",7,[[],["span",3]]],[11,"from","","",7,[[]]],[11,"into","","",7,[[]]],[11,"to_owned","","",7,[[]]],[11,"clone_into","","",7,[[]]],[11,"borrow","","",7,[[]]],[11,"borrow_mut","","",7,[[]]],[11,"try_from","","",7,[[],["result",4]]],[11,"try_into","","",7,[[],["result",4]]],[11,"type_id","","",7,[[],["typeid",3]]],[11,"span","","",8,[[],["span",3]]],[11,"from","","",8,[[]]],[11,"into","","",8,[[]]],[11,"to_owned","","",8,[[]]],[11,"clone_into","","",8,[[]]],[11,"borrow","","",8,[[]]],[11,"borrow_mut","","",8,[[]]],[11,"try_from","","",8,[[],["result",4]]],[11,"try_into","","",8,[[],["result",4]]],[11,"type_id","","",8,[[],["typeid",3]]],[11,"span","","",9,[[],["span",3]]],[11,"from","","",9,[[]]],[11,"into","","",9,[[]]],[11,"to_owned","","",9,[[]]],[11,"clone_into","","",9,[[]]],[11,"borrow","","",9,[[]]],[11,"borrow_mut","","",9,[[]]],[11,"try_from","","",9,[[],["result",4]]],[11,"try_into","","",9,[[],["result",4]]],[11,"type_id","","",9,[[],["typeid",3]]],[11,"span","","",10,[[],["span",3]]],[11,"from","","",10,[[]]],[11,"into","","",10,[[]]],[11,"to_owned","","",10,[[]]],[11,"clone_into","","",10,[[]]],[11,"borrow","","",10,[[]]],[11,"borrow_mut","","",10,[[]]],[11,"try_from","","",10,[[],["result",4]]],[11,"try_into","","",10,[[],["result",4]]],[11,"type_id","","",10,[[],["typeid",3]]],[11,"span","","",11,[[],["span",3]]],[11,"from","","",11,[[]]],[11,"into","","",11,[[]]],[11,"to_owned","","",11,[[]]],[11,"clone_into","","",11,[[]]],[11,"borrow","","",11,[[]]],[11,"borrow_mut","","",11,[[]]],[11,"try_from","","",11,[[],["result",4]]],[11,"try_into","","",11,[[],["result",4]]],[11,"type_id","","",11,[[],["typeid",3]]],[11,"span","","",12,[[],["span",3]]],[11,"from","","",12,[[]]],[11,"into","","",12,[[]]],[11,"to_owned","","",12,[[]]],[11,"clone_into","","",12,[[]]],[11,"borrow","","",12,[[]]],[11,"borrow_mut","","",12,[[]]],[11,"try_from","","",12,[[],["result",4]]],[11,"try_into","","",12,[[],["result",4]]],[11,"type_id","","",12,[[],["typeid",3]]],[11,"span","","",13,[[],["span",3]]],[11,"from","","",13,[[]]],[11,"into","","",13,[[]]],[11,"to_owned","","",13,[[]]],[11,"clone_into","","",13,[[]]],[11,"borrow","","",13,[[]]],[11,"borrow_mut","","",13,[[]]],[11,"try_from","","",13,[[],["result",4]]],[11,"try_into","","",13,[[],["result",4]]],[11,"type_id","","",13,[[],["typeid",3]]],[11,"span","","",14,[[],["span",3]]],[11,"from","","",14,[[]]],[11,"into","","",14,[[]]],[11,"to_owned","","",14,[[]]],[11,"clone_into","","",14,[[]]],[11,"borrow","","",14,[[]]],[11,"borrow_mut","","",14,[[]]],[11,"try_from","","",14,[[],["result",4]]],[11,"try_into","","",14,[[],["result",4]]],[11,"type_id","","",14,[[],["typeid",3]]],[11,"span","","",15,[[],["span",3]]],[11,"from","","",15,[[]]],[11,"into","","",15,[[]]],[11,"to_owned","","",15,[[]]],[11,"clone_into","","",15,[[]]],[11,"borrow","","",15,[[]]],[11,"borrow_mut","","",15,[[]]],[11,"try_from","","",15,[[],["result",4]]],[11,"try_into","","",15,[[],["result",4]]],[11,"type_id","","",15,[[],["typeid",3]]],[11,"span","","",16,[[],["span",3]]],[11,"from","","",16,[[]]],[11,"into","","",16,[[]]],[11,"to_owned","","",16,[[]]],[11,"clone_into","","",16,[[]]],[11,"borrow","","",16,[[]]],[11,"borrow_mut","","",16,[[]]],[11,"try_from","","",16,[[],["result",4]]],[11,"try_into","","",16,[[],["result",4]]],[11,"type_id","","",16,[[],["typeid",3]]],[11,"span","","",17,[[],["span",3]]],[11,"from","","",17,[[]]],[11,"into","","",17,[[]]],[11,"to_owned","","",17,[[]]],[11,"clone_into","","",17,[[]]],[11,"borrow","","",17,[[]]],[11,"borrow_mut","","",17,[[]]],[11,"try_from","","",17,[[],["result",4]]],[11,"try_into","","",17,[[],["result",4]]],[11,"type_id","","",17,[[],["typeid",3]]],[11,"span","","",18,[[],["span",3]]],[11,"from","","",18,[[]]],[11,"into","","",18,[[]]],[11,"to_owned","","",18,[[]]],[11,"clone_into","","",18,[[]]],[11,"borrow","","",18,[[]]],[11,"borrow_mut","","",18,[[]]],[11,"try_from","","",18,[[],["result",4]]],[11,"try_into","","",18,[[],["result",4]]],[11,"type_id","","",18,[[],["typeid",3]]],[11,"span","","",19,[[],["span",3]]],[11,"from","","",19,[[]]],[11,"into","","",19,[[]]],[11,"to_owned","","",19,[[]]],[11,"clone_into","","",19,[[]]],[11,"borrow","","",19,[[]]],[11,"borrow_mut","","",19,[[]]],[11,"try_from","","",19,[[],["result",4]]],[11,"try_into","","",19,[[],["result",4]]],[11,"type_id","","",19,[[],["typeid",3]]],[11,"span","","",20,[[],["span",3]]],[11,"from","","",20,[[]]],[11,"into","","",20,[[]]],[11,"to_owned","","",20,[[]]],[11,"clone_into","","",20,[[]]],[11,"borrow","","",20,[[]]],[11,"borrow_mut","","",20,[[]]],[11,"try_from","","",20,[[],["result",4]]],[11,"try_into","","",20,[[],["result",4]]],[11,"type_id","","",20,[[],["typeid",3]]],[11,"span","","",21,[[],["span",3]]],[11,"from","","",21,[[]]],[11,"into","","",21,[[]]],[11,"to_owned","","",21,[[]]],[11,"clone_into","","",21,[[]]],[11,"borrow","","",21,[[]]],[11,"borrow_mut","","",21,[[]]],[11,"try_from","","",21,[[],["result",4]]],[11,"try_into","","",21,[[],["result",4]]],[11,"type_id","","",21,[[],["typeid",3]]],[11,"span","","",22,[[],["span",3]]],[11,"from","","",22,[[]]],[11,"into","","",22,[[]]],[11,"to_owned","","",22,[[]]],[11,"clone_into","","",22,[[]]],[11,"borrow","","",22,[[]]],[11,"borrow_mut","","",22,[[]]],[11,"try_from","","",22,[[],["result",4]]],[11,"try_into","","",22,[[],["result",4]]],[11,"type_id","","",22,[[],["typeid",3]]],[11,"span","","",23,[[],["span",3]]],[11,"from","","",23,[[]]],[11,"into","","",23,[[]]],[11,"to_owned","","",23,[[]]],[11,"clone_into","","",23,[[]]],[11,"borrow","","",23,[[]]],[11,"borrow_mut","","",23,[[]]],[11,"try_from","","",23,[[],["result",4]]],[11,"try_into","","",23,[[],["result",4]]],[11,"type_id","","",23,[[],["typeid",3]]],[11,"span","","",24,[[],["span",3]]],[11,"from","","",24,[[]]],[11,"into","","",24,[[]]],[11,"to_owned","","",24,[[]]],[11,"clone_into","","",24,[[]]],[11,"borrow","","",24,[[]]],[11,"borrow_mut","","",24,[[]]],[11,"try_from","","",24,[[],["result",4]]],[11,"try_into","","",24,[[],["result",4]]],[11,"type_id","","",24,[[],["typeid",3]]],[11,"span","","",25,[[],["span",3]]],[11,"from","","",25,[[]]],[11,"into","","",25,[[]]],[11,"to_owned","","",25,[[]]],[11,"clone_into","","",25,[[]]],[11,"borrow","","",25,[[]]],[11,"borrow_mut","","",25,[[]]],[11,"try_from","","",25,[[],["result",4]]],[11,"try_into","","",25,[[],["result",4]]],[11,"type_id","","",25,[[],["typeid",3]]],[11,"span","","",26,[[],["span",3]]],[11,"from","","",26,[[]]],[11,"into","","",26,[[]]],[11,"to_owned","","",26,[[]]],[11,"clone_into","","",26,[[]]],[11,"borrow","","",26,[[]]],[11,"borrow_mut","","",26,[[]]],[11,"try_from","","",26,[[],["result",4]]],[11,"try_into","","",26,[[],["result",4]]],[11,"type_id","","",26,[[],["typeid",3]]],[11,"span","","",27,[[],["span",3]]],[11,"from","","",27,[[]]],[11,"into","","",27,[[]]],[11,"to_owned","","",27,[[]]],[11,"clone_into","","",27,[[]]],[11,"borrow","","",27,[[]]],[11,"borrow_mut","","",27,[[]]],[11,"try_from","","",27,[[],["result",4]]],[11,"try_into","","",27,[[],["result",4]]],[11,"type_id","","",27,[[],["typeid",3]]],[11,"span","","",28,[[],["span",3]]],[11,"from","","",28,[[]]],[11,"into","","",28,[[]]],[11,"to_owned","","",28,[[]]],[11,"clone_into","","",28,[[]]],[11,"borrow","","",28,[[]]],[11,"borrow_mut","","",28,[[]]],[11,"try_from","","",28,[[],["result",4]]],[11,"try_into","","",28,[[],["result",4]]],[11,"type_id","","",28,[[],["typeid",3]]],[11,"span","","",29,[[],["span",3]]],[11,"from","","",29,[[]]],[11,"into","","",29,[[]]],[11,"to_owned","","",29,[[]]],[11,"clone_into","","",29,[[]]],[11,"borrow","","",29,[[]]],[11,"borrow_mut","","",29,[[]]],[11,"try_from","","",29,[[],["result",4]]],[11,"try_into","","",29,[[],["result",4]]],[11,"type_id","","",29,[[],["typeid",3]]],[11,"span","","",30,[[],["span",3]]],[11,"from","","",30,[[]]],[11,"into","","",30,[[]]],[11,"to_owned","","",30,[[]]],[11,"clone_into","","",30,[[]]],[11,"borrow","","",30,[[]]],[11,"borrow_mut","","",30,[[]]],[11,"try_from","","",30,[[],["result",4]]],[11,"try_into","","",30,[[],["result",4]]],[11,"type_id","","",30,[[],["typeid",3]]],[11,"span","","",31,[[],["span",3]]],[11,"from","","",31,[[]]],[11,"into","","",31,[[]]],[11,"to_owned","","",31,[[]]],[11,"clone_into","","",31,[[]]],[11,"borrow","","",31,[[]]],[11,"borrow_mut","","",31,[[]]],[11,"try_from","","",31,[[],["result",4]]],[11,"try_into","","",31,[[],["result",4]]],[11,"type_id","","",31,[[],["typeid",3]]],[11,"span","","",32,[[],["span",3]]],[11,"from","","",32,[[]]],[11,"into","","",32,[[]]],[11,"to_owned","","",32,[[]]],[11,"clone_into","","",32,[[]]],[11,"borrow","","",32,[[]]],[11,"borrow_mut","","",32,[[]]],[11,"try_from","","",32,[[],["result",4]]],[11,"try_into","","",32,[[],["result",4]]],[11,"type_id","","",32,[[],["typeid",3]]],[11,"span","","",33,[[],["span",3]]],[11,"from","","",33,[[]]],[11,"into","","",33,[[]]],[11,"to_owned","","",33,[[]]],[11,"clone_into","","",33,[[]]],[11,"borrow","","",33,[[]]],[11,"borrow_mut","","",33,[[]]],[11,"try_from","","",33,[[],["result",4]]],[11,"try_into","","",33,[[],["result",4]]],[11,"type_id","","",33,[[],["typeid",3]]],[11,"span","","",34,[[],["span",3]]],[11,"from","","",34,[[]]],[11,"into","","",34,[[]]],[11,"to_owned","","",34,[[]]],[11,"clone_into","","",34,[[]]],[11,"borrow","","",34,[[]]],[11,"borrow_mut","","",34,[[]]],[11,"try_from","","",34,[[],["result",4]]],[11,"try_into","","",34,[[],["result",4]]],[11,"type_id","","",34,[[],["typeid",3]]],[11,"span","","",35,[[],["span",3]]],[11,"from","","",35,[[]]],[11,"into","","",35,[[]]],[11,"to_owned","","",35,[[]]],[11,"clone_into","","",35,[[]]],[11,"borrow","","",35,[[]]],[11,"borrow_mut","","",35,[[]]],[11,"try_from","","",35,[[],["result",4]]],[11,"try_into","","",35,[[],["result",4]]],[11,"type_id","","",35,[[],["typeid",3]]],[11,"span","","",36,[[],["span",3]]],[11,"from","","",36,[[]]],[11,"into","","",36,[[]]],[11,"to_owned","","",36,[[]]],[11,"clone_into","","",36,[[]]],[11,"borrow","","",36,[[]]],[11,"borrow_mut","","",36,[[]]],[11,"try_from","","",36,[[],["result",4]]],[11,"try_into","","",36,[[],["result",4]]],[11,"type_id","","",36,[[],["typeid",3]]],[11,"span","","",37,[[],["span",3]]],[11,"from","","",37,[[]]],[11,"into","","",37,[[]]],[11,"to_owned","","",37,[[]]],[11,"clone_into","","",37,[[]]],[11,"borrow","","",37,[[]]],[11,"borrow_mut","","",37,[[]]],[11,"try_from","","",37,[[],["result",4]]],[11,"try_into","","",37,[[],["result",4]]],[11,"type_id","","",37,[[],["typeid",3]]],[11,"span","","",38,[[],["span",3]]],[11,"from","","",38,[[]]],[11,"into","","",38,[[]]],[11,"to_owned","","",38,[[]]],[11,"clone_into","","",38,[[]]],[11,"borrow","","",38,[[]]],[11,"borrow_mut","","",38,[[]]],[11,"try_from","","",38,[[],["result",4]]],[11,"try_into","","",38,[[],["result",4]]],[11,"type_id","","",38,[[],["typeid",3]]],[11,"span","","",39,[[],["span",3]]],[11,"from","","",39,[[]]],[11,"into","","",39,[[]]],[11,"to_owned","","",39,[[]]],[11,"clone_into","","",39,[[]]],[11,"borrow","","",39,[[]]],[11,"borrow_mut","","",39,[[]]],[11,"try_from","","",39,[[],["result",4]]],[11,"try_into","","",39,[[],["result",4]]],[11,"type_id","","",39,[[],["typeid",3]]],[11,"span","","",40,[[],["span",3]]],[11,"from","","",40,[[]]],[11,"into","","",40,[[]]],[11,"to_owned","","",40,[[]]],[11,"clone_into","","",40,[[]]],[11,"borrow","","",40,[[]]],[11,"borrow_mut","","",40,[[]]],[11,"try_from","","",40,[[],["result",4]]],[11,"try_into","","",40,[[],["result",4]]],[11,"type_id","","",40,[[],["typeid",3]]],[11,"span","","",41,[[],["span",3]]],[11,"from","","",41,[[]]],[11,"into","","",41,[[]]],[11,"to_owned","","",41,[[]]],[11,"clone_into","","",41,[[]]],[11,"borrow","","",41,[[]]],[11,"borrow_mut","","",41,[[]]],[11,"try_from","","",41,[[],["result",4]]],[11,"try_into","","",41,[[],["result",4]]],[11,"type_id","","",41,[[],["typeid",3]]],[11,"span","","",42,[[],["span",3]]],[11,"from","","",42,[[]]],[11,"into","","",42,[[]]],[11,"to_owned","","",42,[[]]],[11,"clone_into","","",42,[[]]],[11,"borrow","","",42,[[]]],[11,"borrow_mut","","",42,[[]]],[11,"try_from","","",42,[[],["result",4]]],[11,"try_into","","",42,[[],["result",4]]],[11,"type_id","","",42,[[],["typeid",3]]],[11,"span","","",43,[[],["span",3]]],[11,"from","","",43,[[]]],[11,"into","","",43,[[]]],[11,"to_owned","","",43,[[]]],[11,"clone_into","","",43,[[]]],[11,"borrow","","",43,[[]]],[11,"borrow_mut","","",43,[[]]],[11,"try_from","","",43,[[],["result",4]]],[11,"try_into","","",43,[[],["result",4]]],[11,"type_id","","",43,[[],["typeid",3]]],[11,"span","","",44,[[],["span",3]]],[11,"from","","",44,[[]]],[11,"into","","",44,[[]]],[11,"to_owned","","",44,[[]]],[11,"clone_into","","",44,[[]]],[11,"borrow","","",44,[[]]],[11,"borrow_mut","","",44,[[]]],[11,"try_from","","",44,[[],["result",4]]],[11,"try_into","","",44,[[],["result",4]]],[11,"type_id","","",44,[[],["typeid",3]]],[11,"span","","",45,[[],["span",3]]],[11,"from","","",45,[[]]],[11,"into","","",45,[[]]],[11,"to_owned","","",45,[[]]],[11,"clone_into","","",45,[[]]],[11,"borrow","","",45,[[]]],[11,"borrow_mut","","",45,[[]]],[11,"try_from","","",45,[[],["result",4]]],[11,"try_into","","",45,[[],["result",4]]],[11,"type_id","","",45,[[],["typeid",3]]],[11,"span","","",46,[[],["span",3]]],[11,"from","","",46,[[]]],[11,"into","","",46,[[]]],[11,"to_owned","","",46,[[]]],[11,"clone_into","","",46,[[]]],[11,"borrow","","",46,[[]]],[11,"borrow_mut","","",46,[[]]],[11,"try_from","","",46,[[],["result",4]]],[11,"try_into","","",46,[[],["result",4]]],[11,"type_id","","",46,[[],["typeid",3]]],[11,"span","","",47,[[],["span",3]]],[11,"from","","",47,[[]]],[11,"into","","",47,[[]]],[11,"to_owned","","",47,[[]]],[11,"clone_into","","",47,[[]]],[11,"borrow","","",47,[[]]],[11,"borrow_mut","","",47,[[]]],[11,"try_from","","",47,[[],["result",4]]],[11,"try_into","","",47,[[],["result",4]]],[11,"type_id","","",47,[[],["typeid",3]]],[11,"span","","",48,[[],["span",3]]],[11,"from","","",48,[[]]],[11,"into","","",48,[[]]],[11,"to_owned","","",48,[[]]],[11,"clone_into","","",48,[[]]],[11,"borrow","","",48,[[]]],[11,"borrow_mut","","",48,[[]]],[11,"try_from","","",48,[[],["result",4]]],[11,"try_into","","",48,[[],["result",4]]],[11,"type_id","","",48,[[],["typeid",3]]],[11,"span","","",49,[[],["span",3]]],[11,"from","","",49,[[]]],[11,"into","","",49,[[]]],[11,"to_owned","","",49,[[]]],[11,"clone_into","","",49,[[]]],[11,"borrow","","",49,[[]]],[11,"borrow_mut","","",49,[[]]],[11,"try_from","","",49,[[],["result",4]]],[11,"try_into","","",49,[[],["result",4]]],[11,"type_id","","",49,[[],["typeid",3]]],[11,"span","","",50,[[],["span",3]]],[11,"from","","",50,[[]]],[11,"into","","",50,[[]]],[11,"to_owned","","",50,[[]]],[11,"clone_into","","",50,[[]]],[11,"borrow","","",50,[[]]],[11,"borrow_mut","","",50,[[]]],[11,"try_from","","",50,[[],["result",4]]],[11,"try_into","","",50,[[],["result",4]]],[11,"type_id","","",50,[[],["typeid",3]]],[11,"span","","",51,[[],["span",3]]],[11,"from","","",51,[[]]],[11,"into","","",51,[[]]],[11,"to_owned","","",51,[[]]],[11,"clone_into","","",51,[[]]],[11,"borrow","","",51,[[]]],[11,"borrow_mut","","",51,[[]]],[11,"try_from","","",51,[[],["result",4]]],[11,"try_into","","",51,[[],["result",4]]],[11,"type_id","","",51,[[],["typeid",3]]],[11,"span","","",52,[[],["span",3]]],[11,"from","","",52,[[]]],[11,"into","","",52,[[]]],[11,"to_owned","","",52,[[]]],[11,"clone_into","","",52,[[]]],[11,"borrow","","",52,[[]]],[11,"borrow_mut","","",52,[[]]],[11,"try_from","","",52,[[],["result",4]]],[11,"try_into","","",52,[[],["result",4]]],[11,"type_id","","",52,[[],["typeid",3]]],[11,"span","","",53,[[],["span",3]]],[11,"from","","",53,[[]]],[11,"into","","",53,[[]]],[11,"to_owned","","",53,[[]]],[11,"clone_into","","",53,[[]]],[11,"borrow","","",53,[[]]],[11,"borrow_mut","","",53,[[]]],[11,"try_from","","",53,[[],["result",4]]],[11,"try_into","","",53,[[],["result",4]]],[11,"type_id","","",53,[[],["typeid",3]]],[11,"span","","",54,[[],["span",3]]],[11,"from","","",54,[[]]],[11,"into","","",54,[[]]],[11,"to_owned","","",54,[[]]],[11,"clone_into","","",54,[[]]],[11,"borrow","","",54,[[]]],[11,"borrow_mut","","",54,[[]]],[11,"try_from","","",54,[[],["result",4]]],[11,"try_into","","",54,[[],["result",4]]],[11,"type_id","","",54,[[],["typeid",3]]],[11,"span","","",55,[[],["span",3]]],[11,"from","","",55,[[]]],[11,"into","","",55,[[]]],[11,"to_owned","","",55,[[]]],[11,"clone_into","","",55,[[]]],[11,"borrow","","",55,[[]]],[11,"borrow_mut","","",55,[[]]],[11,"try_from","","",55,[[],["result",4]]],[11,"try_into","","",55,[[],["result",4]]],[11,"type_id","","",55,[[],["typeid",3]]],[11,"span","","",56,[[],["span",3]]],[11,"from","","",56,[[]]],[11,"into","","",56,[[]]],[11,"to_owned","","",56,[[]]],[11,"clone_into","","",56,[[]]],[11,"borrow","","",56,[[]]],[11,"borrow_mut","","",56,[[]]],[11,"try_from","","",56,[[],["result",4]]],[11,"try_into","","",56,[[],["result",4]]],[11,"type_id","","",56,[[],["typeid",3]]],[11,"span","","",57,[[],["span",3]]],[11,"from","","",57,[[]]],[11,"into","","",57,[[]]],[11,"to_owned","","",57,[[]]],[11,"clone_into","","",57,[[]]],[11,"borrow","","",57,[[]]],[11,"borrow_mut","","",57,[[]]],[11,"try_from","","",57,[[],["result",4]]],[11,"try_into","","",57,[[],["result",4]]],[11,"type_id","","",57,[[],["typeid",3]]],[11,"span","","",58,[[],["span",3]]],[11,"from","","",58,[[]]],[11,"into","","",58,[[]]],[11,"to_owned","","",58,[[]]],[11,"clone_into","","",58,[[]]],[11,"borrow","","",58,[[]]],[11,"borrow_mut","","",58,[[]]],[11,"try_from","","",58,[[],["result",4]]],[11,"try_into","","",58,[[],["result",4]]],[11,"type_id","","",58,[[],["typeid",3]]],[11,"span","","",59,[[],["span",3]]],[11,"from","","",59,[[]]],[11,"into","","",59,[[]]],[11,"to_owned","","",59,[[]]],[11,"clone_into","","",59,[[]]],[11,"borrow","","",59,[[]]],[11,"borrow_mut","","",59,[[]]],[11,"try_from","","",59,[[],["result",4]]],[11,"try_into","","",59,[[],["result",4]]],[11,"type_id","","",59,[[],["typeid",3]]],[11,"span","","",60,[[],["span",3]]],[11,"from","","",60,[[]]],[11,"into","","",60,[[]]],[11,"to_owned","","",60,[[]]],[11,"clone_into","","",60,[[]]],[11,"borrow","","",60,[[]]],[11,"borrow_mut","","",60,[[]]],[11,"try_from","","",60,[[],["result",4]]],[11,"try_into","","",60,[[],["result",4]]],[11,"type_id","","",60,[[],["typeid",3]]],[11,"span","","",61,[[],["span",3]]],[11,"from","","",61,[[]]],[11,"into","","",61,[[]]],[11,"to_owned","","",61,[[]]],[11,"clone_into","","",61,[[]]],[11,"borrow","","",61,[[]]],[11,"borrow_mut","","",61,[[]]],[11,"try_from","","",61,[[],["result",4]]],[11,"try_into","","",61,[[],["result",4]]],[11,"type_id","","",61,[[],["typeid",3]]],[11,"span","","",62,[[],["span",3]]],[11,"from","","",62,[[]]],[11,"into","","",62,[[]]],[11,"to_owned","","",62,[[]]],[11,"clone_into","","",62,[[]]],[11,"borrow","","",62,[[]]],[11,"borrow_mut","","",62,[[]]],[11,"try_from","","",62,[[],["result",4]]],[11,"try_into","","",62,[[],["result",4]]],[11,"type_id","","",62,[[],["typeid",3]]],[11,"span","","",63,[[],["span",3]]],[11,"from","","",63,[[]]],[11,"into","","",63,[[]]],[11,"to_owned","","",63,[[]]],[11,"clone_into","","",63,[[]]],[11,"borrow","","",63,[[]]],[11,"borrow_mut","","",63,[[]]],[11,"try_from","","",63,[[],["result",4]]],[11,"try_into","","",63,[[],["result",4]]],[11,"type_id","","",63,[[],["typeid",3]]],[11,"span","","",64,[[],["span",3]]],[11,"from","","",64,[[]]],[11,"into","","",64,[[]]],[11,"to_owned","","",64,[[]]],[11,"clone_into","","",64,[[]]],[11,"borrow","","",64,[[]]],[11,"borrow_mut","","",64,[[]]],[11,"try_from","","",64,[[],["result",4]]],[11,"try_into","","",64,[[],["result",4]]],[11,"type_id","","",64,[[],["typeid",3]]],[11,"span","","",65,[[],["span",3]]],[11,"from","","",65,[[]]],[11,"into","","",65,[[]]],[11,"to_owned","","",65,[[]]],[11,"clone_into","","",65,[[]]],[11,"borrow","","",65,[[]]],[11,"borrow_mut","","",65,[[]]],[11,"try_from","","",65,[[],["result",4]]],[11,"try_into","","",65,[[],["result",4]]],[11,"type_id","","",65,[[],["typeid",3]]],[11,"span","","",66,[[],["span",3]]],[11,"from","","",66,[[]]],[11,"into","","",66,[[]]],[11,"to_owned","","",66,[[]]],[11,"clone_into","","",66,[[]]],[11,"borrow","","",66,[[]]],[11,"borrow_mut","","",66,[[]]],[11,"try_from","","",66,[[],["result",4]]],[11,"try_into","","",66,[[],["result",4]]],[11,"type_id","","",66,[[],["typeid",3]]],[11,"span","","",67,[[],["span",3]]],[11,"from","","",67,[[]]],[11,"into","","",67,[[]]],[11,"to_owned","","",67,[[]]],[11,"clone_into","","",67,[[]]],[11,"borrow","","",67,[[]]],[11,"borrow_mut","","",67,[[]]],[11,"try_from","","",67,[[],["result",4]]],[11,"try_into","","",67,[[],["result",4]]],[11,"type_id","","",67,[[],["typeid",3]]],[11,"span","","",68,[[],["span",3]]],[11,"from","","",68,[[]]],[11,"into","","",68,[[]]],[11,"to_owned","","",68,[[]]],[11,"clone_into","","",68,[[]]],[11,"borrow","","",68,[[]]],[11,"borrow_mut","","",68,[[]]],[11,"try_from","","",68,[[],["result",4]]],[11,"try_into","","",68,[[],["result",4]]],[11,"type_id","","",68,[[],["typeid",3]]],[11,"span","","",69,[[],["span",3]]],[11,"from","","",69,[[]]],[11,"into","","",69,[[]]],[11,"to_owned","","",69,[[]]],[11,"clone_into","","",69,[[]]],[11,"borrow","","",69,[[]]],[11,"borrow_mut","","",69,[[]]],[11,"try_from","","",69,[[],["result",4]]],[11,"try_into","","",69,[[],["result",4]]],[11,"type_id","","",69,[[],["typeid",3]]],[11,"span","","",70,[[],["span",3]]],[11,"from","","",70,[[]]],[11,"into","","",70,[[]]],[11,"to_owned","","",70,[[]]],[11,"clone_into","","",70,[[]]],[11,"borrow","","",70,[[]]],[11,"borrow_mut","","",70,[[]]],[11,"try_from","","",70,[[],["result",4]]],[11,"try_into","","",70,[[],["result",4]]],[11,"type_id","","",70,[[],["typeid",3]]],[11,"span","","",71,[[],["span",3]]],[11,"from","","",71,[[]]],[11,"into","","",71,[[]]],[11,"to_owned","","",71,[[]]],[11,"clone_into","","",71,[[]]],[11,"borrow","","",71,[[]]],[11,"borrow_mut","","",71,[[]]],[11,"try_from","","",71,[[],["result",4]]],[11,"try_into","","",71,[[],["result",4]]],[11,"type_id","","",71,[[],["typeid",3]]],[11,"span","","",72,[[],["span",3]]],[11,"from","","",72,[[]]],[11,"into","","",72,[[]]],[11,"to_owned","","",72,[[]]],[11,"clone_into","","",72,[[]]],[11,"borrow","","",72,[[]]],[11,"borrow_mut","","",72,[[]]],[11,"try_from","","",72,[[],["result",4]]],[11,"try_into","","",72,[[],["result",4]]],[11,"type_id","","",72,[[],["typeid",3]]],[11,"span","","",73,[[],["span",3]]],[11,"from","","",73,[[]]],[11,"into","","",73,[[]]],[11,"to_owned","","",73,[[]]],[11,"clone_into","","",73,[[]]],[11,"borrow","","",73,[[]]],[11,"borrow_mut","","",73,[[]]],[11,"try_from","","",73,[[],["result",4]]],[11,"try_into","","",73,[[],["result",4]]],[11,"type_id","","",73,[[],["typeid",3]]],[11,"span","","",74,[[],["span",3]]],[11,"from","","",74,[[]]],[11,"into","","",74,[[]]],[11,"to_owned","","",74,[[]]],[11,"clone_into","","",74,[[]]],[11,"borrow","","",74,[[]]],[11,"borrow_mut","","",74,[[]]],[11,"try_from","","",74,[[],["result",4]]],[11,"try_into","","",74,[[],["result",4]]],[11,"type_id","","",74,[[],["typeid",3]]],[11,"span","","",75,[[],["span",3]]],[11,"from","","",75,[[]]],[11,"into","","",75,[[]]],[11,"to_owned","","",75,[[]]],[11,"clone_into","","",75,[[]]],[11,"borrow","","",75,[[]]],[11,"borrow_mut","","",75,[[]]],[11,"try_from","","",75,[[],["result",4]]],[11,"try_into","","",75,[[],["result",4]]],[11,"type_id","","",75,[[],["typeid",3]]],[11,"span","","",76,[[],["span",3]]],[11,"from","","",76,[[]]],[11,"into","","",76,[[]]],[11,"to_owned","","",76,[[]]],[11,"clone_into","","",76,[[]]],[11,"borrow","","",76,[[]]],[11,"borrow_mut","","",76,[[]]],[11,"try_from","","",76,[[],["result",4]]],[11,"try_into","","",76,[[],["result",4]]],[11,"type_id","","",76,[[],["typeid",3]]],[11,"span","","",77,[[],["span",3]]],[11,"from","","",77,[[]]],[11,"into","","",77,[[]]],[11,"to_owned","","",77,[[]]],[11,"clone_into","","",77,[[]]],[11,"borrow","","",77,[[]]],[11,"borrow_mut","","",77,[[]]],[11,"try_from","","",77,[[],["result",4]]],[11,"try_into","","",77,[[],["result",4]]],[11,"type_id","","",77,[[],["typeid",3]]],[11,"span","","",78,[[],["span",3]]],[11,"from","","",78,[[]]],[11,"into","","",78,[[]]],[11,"to_owned","","",78,[[]]],[11,"clone_into","","",78,[[]]],[11,"borrow","","",78,[[]]],[11,"borrow_mut","","",78,[[]]],[11,"try_from","","",78,[[],["result",4]]],[11,"try_into","","",78,[[],["result",4]]],[11,"type_id","","",78,[[],["typeid",3]]],[11,"span","","",79,[[],["span",3]]],[11,"from","","",79,[[]]],[11,"into","","",79,[[]]],[11,"to_owned","","",79,[[]]],[11,"clone_into","","",79,[[]]],[11,"borrow","","",79,[[]]],[11,"borrow_mut","","",79,[[]]],[11,"try_from","","",79,[[],["result",4]]],[11,"try_into","","",79,[[],["result",4]]],[11,"type_id","","",79,[[],["typeid",3]]],[11,"span","","",80,[[],["span",3]]],[11,"from","","",80,[[]]],[11,"into","","",80,[[]]],[11,"to_owned","","",80,[[]]],[11,"clone_into","","",80,[[]]],[11,"borrow","","",80,[[]]],[11,"borrow_mut","","",80,[[]]],[11,"try_from","","",80,[[],["result",4]]],[11,"try_into","","",80,[[],["result",4]]],[11,"type_id","","",80,[[],["typeid",3]]],[11,"span","","",81,[[],["span",3]]],[11,"from","","",81,[[]]],[11,"into","","",81,[[]]],[11,"to_owned","","",81,[[]]],[11,"clone_into","","",81,[[]]],[11,"borrow","","",81,[[]]],[11,"borrow_mut","","",81,[[]]],[11,"try_from","","",81,[[],["result",4]]],[11,"try_into","","",81,[[],["result",4]]],[11,"type_id","","",81,[[],["typeid",3]]],[11,"span","","",82,[[],["span",3]]],[11,"from","","",82,[[]]],[11,"into","","",82,[[]]],[11,"to_owned","","",82,[[]]],[11,"clone_into","","",82,[[]]],[11,"borrow","","",82,[[]]],[11,"borrow_mut","","",82,[[]]],[11,"try_from","","",82,[[],["result",4]]],[11,"try_into","","",82,[[],["result",4]]],[11,"type_id","","",82,[[],["typeid",3]]],[11,"span","","",83,[[],["span",3]]],[11,"from","","",83,[[]]],[11,"into","","",83,[[]]],[11,"to_owned","","",83,[[]]],[11,"clone_into","","",83,[[]]],[11,"borrow","","",83,[[]]],[11,"borrow_mut","","",83,[[]]],[11,"try_from","","",83,[[],["result",4]]],[11,"try_into","","",83,[[],["result",4]]],[11,"type_id","","",83,[[],["typeid",3]]],[11,"span","","",84,[[],["span",3]]],[11,"from","","",84,[[]]],[11,"into","","",84,[[]]],[11,"to_owned","","",84,[[]]],[11,"clone_into","","",84,[[]]],[11,"borrow","","",84,[[]]],[11,"borrow_mut","","",84,[[]]],[11,"try_from","","",84,[[],["result",4]]],[11,"try_into","","",84,[[],["result",4]]],[11,"type_id","","",84,[[],["typeid",3]]],[11,"span","","",85,[[],["span",3]]],[11,"from","","",85,[[]]],[11,"into","","",85,[[]]],[11,"to_owned","","",85,[[]]],[11,"clone_into","","",85,[[]]],[11,"borrow","","",85,[[]]],[11,"borrow_mut","","",85,[[]]],[11,"try_from","","",85,[[],["result",4]]],[11,"try_into","","",85,[[],["result",4]]],[11,"type_id","","",85,[[],["typeid",3]]],[11,"span","","",86,[[],["span",3]]],[11,"from","","",86,[[]]],[11,"into","","",86,[[]]],[11,"to_owned","","",86,[[]]],[11,"clone_into","","",86,[[]]],[11,"borrow","","",86,[[]]],[11,"borrow_mut","","",86,[[]]],[11,"try_from","","",86,[[],["result",4]]],[11,"try_into","","",86,[[],["result",4]]],[11,"type_id","","",86,[[],["typeid",3]]],[11,"span","","",87,[[],["span",3]]],[11,"from","","",87,[[]]],[11,"into","","",87,[[]]],[11,"to_owned","","",87,[[]]],[11,"clone_into","","",87,[[]]],[11,"borrow","","",87,[[]]],[11,"borrow_mut","","",87,[[]]],[11,"try_from","","",87,[[],["result",4]]],[11,"try_into","","",87,[[],["result",4]]],[11,"type_id","","",87,[[],["typeid",3]]],[11,"span","","",88,[[],["span",3]]],[11,"from","","",88,[[]]],[11,"into","","",88,[[]]],[11,"to_owned","","",88,[[]]],[11,"clone_into","","",88,[[]]],[11,"borrow","","",88,[[]]],[11,"borrow_mut","","",88,[[]]],[11,"try_from","","",88,[[],["result",4]]],[11,"try_into","","",88,[[],["result",4]]],[11,"type_id","","",88,[[],["typeid",3]]],[11,"span","","",89,[[],["span",3]]],[11,"from","","",89,[[]]],[11,"into","","",89,[[]]],[11,"to_owned","","",89,[[]]],[11,"clone_into","","",89,[[]]],[11,"borrow","","",89,[[]]],[11,"borrow_mut","","",89,[[]]],[11,"try_from","","",89,[[],["result",4]]],[11,"try_into","","",89,[[],["result",4]]],[11,"type_id","","",89,[[],["typeid",3]]],[11,"span","","",90,[[],["span",3]]],[11,"from","","",90,[[]]],[11,"into","","",90,[[]]],[11,"to_owned","","",90,[[]]],[11,"clone_into","","",90,[[]]],[11,"borrow","","",90,[[]]],[11,"borrow_mut","","",90,[[]]],[11,"try_from","","",90,[[],["result",4]]],[11,"try_into","","",90,[[],["result",4]]],[11,"type_id","","",90,[[],["typeid",3]]],[11,"span","","",91,[[],["span",3]]],[11,"from","","",91,[[]]],[11,"into","","",91,[[]]],[11,"to_owned","","",91,[[]]],[11,"clone_into","","",91,[[]]],[11,"borrow","","",91,[[]]],[11,"borrow_mut","","",91,[[]]],[11,"try_from","","",91,[[],["result",4]]],[11,"try_into","","",91,[[],["result",4]]],[11,"type_id","","",91,[[],["typeid",3]]],[11,"span","","",92,[[],["span",3]]],[11,"from","","",92,[[]]],[11,"into","","",92,[[]]],[11,"to_owned","","",92,[[]]],[11,"clone_into","","",92,[[]]],[11,"borrow","","",92,[[]]],[11,"borrow_mut","","",92,[[]]],[11,"try_from","","",92,[[],["result",4]]],[11,"try_into","","",92,[[],["result",4]]],[11,"type_id","","",92,[[],["typeid",3]]],[11,"span","","",93,[[],["span",3]]],[11,"from","","",93,[[]]],[11,"into","","",93,[[]]],[11,"to_owned","","",93,[[]]],[11,"clone_into","","",93,[[]]],[11,"borrow","","",93,[[]]],[11,"borrow_mut","","",93,[[]]],[11,"try_from","","",93,[[],["result",4]]],[11,"try_into","","",93,[[],["result",4]]],[11,"type_id","","",93,[[],["typeid",3]]],[11,"span","","",94,[[],["span",3]]],[11,"from","","",94,[[]]],[11,"into","","",94,[[]]],[11,"to_owned","","",94,[[]]],[11,"clone_into","","",94,[[]]],[11,"borrow","","",94,[[]]],[11,"borrow_mut","","",94,[[]]],[11,"try_from","","",94,[[],["result",4]]],[11,"try_into","","",94,[[],["result",4]]],[11,"type_id","","",94,[[],["typeid",3]]],[11,"span","","",95,[[],["span",3]]],[11,"from","","",95,[[]]],[11,"into","","",95,[[]]],[11,"to_owned","","",95,[[]]],[11,"clone_into","","",95,[[]]],[11,"borrow","","",95,[[]]],[11,"borrow_mut","","",95,[[]]],[11,"try_from","","",95,[[],["result",4]]],[11,"try_into","","",95,[[],["result",4]]],[11,"type_id","","",95,[[],["typeid",3]]],[11,"span","","",96,[[],["span",3]]],[11,"from","","",96,[[]]],[11,"into","","",96,[[]]],[11,"to_owned","","",96,[[]]],[11,"clone_into","","",96,[[]]],[11,"borrow","","",96,[[]]],[11,"borrow_mut","","",96,[[]]],[11,"try_from","","",96,[[],["result",4]]],[11,"try_into","","",96,[[],["result",4]]],[11,"type_id","","",96,[[],["typeid",3]]],[11,"span","","",97,[[],["span",3]]],[11,"from","","",97,[[]]],[11,"into","","",97,[[]]],[11,"to_owned","","",97,[[]]],[11,"clone_into","","",97,[[]]],[11,"borrow","","",97,[[]]],[11,"borrow_mut","","",97,[[]]],[11,"try_from","","",97,[[],["result",4]]],[11,"try_into","","",97,[[],["result",4]]],[11,"type_id","","",97,[[],["typeid",3]]],[11,"span","","",98,[[],["span",3]]],[11,"from","","",98,[[]]],[11,"into","","",98,[[]]],[11,"to_owned","","",98,[[]]],[11,"clone_into","","",98,[[]]],[11,"borrow","","",98,[[]]],[11,"borrow_mut","","",98,[[]]],[11,"try_from","","",98,[[],["result",4]]],[11,"try_into","","",98,[[],["result",4]]],[11,"type_id","","",98,[[],["typeid",3]]],[11,"from","","",99,[[]]],[11,"into","","",99,[[]]],[11,"to_owned","","",99,[[]]],[11,"clone_into","","",99,[[]]],[11,"borrow","","",99,[[]]],[11,"borrow_mut","","",99,[[]]],[11,"try_from","","",99,[[],["result",4]]],[11,"try_into","","",99,[[],["result",4]]],[11,"type_id","","",99,[[],["typeid",3]]],[11,"from","","",100,[[]]],[11,"into","","",100,[[]]],[11,"to_owned","","",100,[[]]],[11,"clone_into","","",100,[[]]],[11,"borrow","","",100,[[]]],[11,"borrow_mut","","",100,[[]]],[11,"try_from","","",100,[[],["result",4]]],[11,"try_into","","",100,[[],["result",4]]],[11,"type_id","","",100,[[],["typeid",3]]],[11,"from","","",101,[[]]],[11,"into","","",101,[[]]],[11,"to_owned","","",101,[[]]],[11,"clone_into","","",101,[[]]],[11,"borrow","","",101,[[]]],[11,"borrow_mut","","",101,[[]]],[11,"try_from","","",101,[[],["result",4]]],[11,"try_into","","",101,[[],["result",4]]],[11,"type_id","","",101,[[],["typeid",3]]],[11,"from","","",102,[[]]],[11,"into","","",102,[[]]],[11,"to_owned","","",102,[[]]],[11,"clone_into","","",102,[[]]],[11,"borrow","","",102,[[]]],[11,"borrow_mut","","",102,[[]]],[11,"try_from","","",102,[[],["result",4]]],[11,"try_into","","",102,[[],["result",4]]],[11,"type_id","","",102,[[],["typeid",3]]],[11,"span","syn","",117,[[],["span",3]]],[11,"from","","",117,[[]]],[11,"into","","",117,[[]]],[11,"to_owned","","",117,[[]]],[11,"clone_into","","",117,[[]]],[11,"borrow","","",117,[[]]],[11,"borrow_mut","","",117,[[]]],[11,"try_from","","",117,[[],["result",4]]],[11,"try_into","","",117,[[],["result",4]]],[11,"type_id","","",117,[[],["typeid",3]]],[11,"from","","",116,[[]]],[11,"into","","",116,[[]]],[11,"to_owned","","",116,[[]]],[11,"clone_into","","",116,[[]]],[11,"borrow","","",116,[[]]],[11,"borrow_mut","","",116,[[]]],[11,"try_from","","",116,[[],["result",4]]],[11,"try_into","","",116,[[],["result",4]]],[11,"type_id","","",116,[[],["typeid",3]]],[11,"span","","",118,[[],["span",3]]],[11,"from","","",118,[[]]],[11,"into","","",118,[[]]],[11,"to_owned","","",118,[[]]],[11,"clone_into","","",118,[[]]],[11,"borrow","","",118,[[]]],[11,"borrow_mut","","",118,[[]]],[11,"try_from","","",118,[[],["result",4]]],[11,"try_into","","",118,[[],["result",4]]],[11,"type_id","","",118,[[],["typeid",3]]],[11,"span","","",119,[[],["span",3]]],[11,"from","","",119,[[]]],[11,"into","","",119,[[]]],[11,"to_owned","","",119,[[]]],[11,"clone_into","","",119,[[]]],[11,"borrow","","",119,[[]]],[11,"borrow_mut","","",119,[[]]],[11,"try_from","","",119,[[],["result",4]]],[11,"try_into","","",119,[[],["result",4]]],[11,"type_id","","",119,[[],["typeid",3]]],[11,"span","","",120,[[],["span",3]]],[11,"from","","",120,[[]]],[11,"into","","",120,[[]]],[11,"to_owned","","",120,[[]]],[11,"clone_into","","",120,[[]]],[11,"borrow","","",120,[[]]],[11,"borrow_mut","","",120,[[]]],[11,"try_from","","",120,[[],["result",4]]],[11,"try_into","","",120,[[],["result",4]]],[11,"type_id","","",120,[[],["typeid",3]]],[11,"span","","",121,[[],["span",3]]],[11,"from","","",121,[[]]],[11,"into","","",121,[[]]],[11,"to_owned","","",121,[[]]],[11,"clone_into","","",121,[[]]],[11,"borrow","","",121,[[]]],[11,"borrow_mut","","",121,[[]]],[11,"try_from","","",121,[[],["result",4]]],[11,"try_into","","",121,[[],["result",4]]],[11,"type_id","","",121,[[],["typeid",3]]],[11,"span","","",126,[[],["span",3]]],[11,"from","","",126,[[]]],[11,"into","","",126,[[]]],[11,"to_owned","","",126,[[]]],[11,"clone_into","","",126,[[]]],[11,"borrow","","",126,[[]]],[11,"borrow_mut","","",126,[[]]],[11,"try_from","","",126,[[],["result",4]]],[11,"try_into","","",126,[[],["result",4]]],[11,"type_id","","",126,[[],["typeid",3]]],[11,"span","","",123,[[],["span",3]]],[11,"from","","",123,[[]]],[11,"into","","",123,[[]]],[11,"to_owned","","",123,[[]]],[11,"clone_into","","",123,[[]]],[11,"borrow","","",123,[[]]],[11,"borrow_mut","","",123,[[]]],[11,"try_from","","",123,[[],["result",4]]],[11,"try_into","","",123,[[],["result",4]]],[11,"type_id","","",123,[[],["typeid",3]]],[11,"span","","",124,[[],["span",3]]],[11,"from","","",124,[[]]],[11,"into","","",124,[[]]],[11,"to_owned","","",124,[[]]],[11,"clone_into","","",124,[[]]],[11,"borrow","","",124,[[]]],[11,"borrow_mut","","",124,[[]]],[11,"try_from","","",124,[[],["result",4]]],[11,"try_into","","",124,[[],["result",4]]],[11,"type_id","","",124,[[],["typeid",3]]],[11,"span","","",125,[[],["span",3]]],[11,"from","","",125,[[]]],[11,"into","","",125,[[]]],[11,"to_owned","","",125,[[]]],[11,"clone_into","","",125,[[]]],[11,"borrow","","",125,[[]]],[11,"borrow_mut","","",125,[[]]],[11,"try_from","","",125,[[],["result",4]]],[11,"try_into","","",125,[[],["result",4]]],[11,"type_id","","",125,[[],["typeid",3]]],[11,"span","","",122,[[],["span",3]]],[11,"from","","",122,[[]]],[11,"into","","",122,[[]]],[11,"to_owned","","",122,[[]]],[11,"clone_into","","",122,[[]]],[11,"borrow","","",122,[[]]],[11,"borrow_mut","","",122,[[]]],[11,"try_from","","",122,[[],["result",4]]],[11,"try_into","","",122,[[],["result",4]]],[11,"type_id","","",122,[[],["typeid",3]]],[11,"span","","",130,[[],["span",3]]],[11,"from","","",130,[[]]],[11,"into","","",130,[[]]],[11,"to_owned","","",130,[[]]],[11,"clone_into","","",130,[[]]],[11,"borrow","","",130,[[]]],[11,"borrow_mut","","",130,[[]]],[11,"try_from","","",130,[[],["result",4]]],[11,"try_into","","",130,[[],["result",4]]],[11,"type_id","","",130,[[],["typeid",3]]],[11,"span","","",128,[[],["span",3]]],[11,"from","","",128,[[]]],[11,"into","","",128,[[]]],[11,"to_owned","","",128,[[]]],[11,"clone_into","","",128,[[]]],[11,"borrow","","",128,[[]]],[11,"borrow_mut","","",128,[[]]],[11,"try_from","","",128,[[],["result",4]]],[11,"try_into","","",128,[[],["result",4]]],[11,"type_id","","",128,[[],["typeid",3]]],[11,"span","","",127,[[],["span",3]]],[11,"from","","",127,[[]]],[11,"into","","",127,[[]]],[11,"to_owned","","",127,[[]]],[11,"clone_into","","",127,[[]]],[11,"borrow","","",127,[[]]],[11,"borrow_mut","","",127,[[]]],[11,"try_from","","",127,[[],["result",4]]],[11,"try_into","","",127,[[],["result",4]]],[11,"type_id","","",127,[[],["typeid",3]]],[11,"span","","",129,[[],["span",3]]],[11,"from","","",129,[[]]],[11,"into","","",129,[[]]],[11,"to_owned","","",129,[[]]],[11,"clone_into","","",129,[[]]],[11,"borrow","","",129,[[]]],[11,"borrow_mut","","",129,[[]]],[11,"try_from","","",129,[[],["result",4]]],[11,"try_into","","",129,[[],["result",4]]],[11,"type_id","","",129,[[],["typeid",3]]],[11,"span","","",131,[[],["span",3]]],[11,"from","","",131,[[]]],[11,"into","","",131,[[]]],[11,"to_owned","","",131,[[]]],[11,"clone_into","","",131,[[]]],[11,"borrow","","",131,[[]]],[11,"borrow_mut","","",131,[[]]],[11,"try_from","","",131,[[],["result",4]]],[11,"try_into","","",131,[[],["result",4]]],[11,"type_id","","",131,[[],["typeid",3]]],[11,"span","","",199,[[],["span",3]]],[11,"from","","",199,[[]]],[11,"into","","",199,[[]]],[11,"borrow","","",199,[[]]],[11,"borrow_mut","","",199,[[]]],[11,"try_from","","",199,[[],["result",4]]],[11,"try_into","","",199,[[],["result",4]]],[11,"type_id","","",199,[[],["typeid",3]]],[11,"span","","",200,[[],["span",3]]],[11,"from","","",200,[[]]],[11,"into","","",200,[[]]],[11,"borrow","","",200,[[]]],[11,"borrow_mut","","",200,[[]]],[11,"try_from","","",200,[[],["result",4]]],[11,"try_into","","",200,[[],["result",4]]],[11,"type_id","","",200,[[],["typeid",3]]],[11,"span","","",201,[[],["span",3]]],[11,"from","","",201,[[]]],[11,"into","","",201,[[]]],[11,"borrow","","",201,[[]]],[11,"borrow_mut","","",201,[[]]],[11,"try_from","","",201,[[],["result",4]]],[11,"try_into","","",201,[[],["result",4]]],[11,"type_id","","",201,[[],["typeid",3]]],[11,"span","","",202,[[],["span",3]]],[11,"from","","",202,[[]]],[11,"into","","",202,[[]]],[11,"borrow","","",202,[[]]],[11,"borrow_mut","","",202,[[]]],[11,"try_from","","",202,[[],["result",4]]],[11,"try_into","","",202,[[],["result",4]]],[11,"type_id","","",202,[[],["typeid",3]]],[11,"span","","",203,[[],["span",3]]],[11,"from","","",203,[[]]],[11,"into","","",203,[[]]],[11,"borrow","","",203,[[]]],[11,"borrow_mut","","",203,[[]]],[11,"try_from","","",203,[[],["result",4]]],[11,"try_into","","",203,[[],["result",4]]],[11,"type_id","","",203,[[],["typeid",3]]],[11,"span","","",132,[[],["span",3]]],[11,"from","","",132,[[]]],[11,"into","","",132,[[]]],[11,"to_owned","","",132,[[]]],[11,"clone_into","","",132,[[]]],[11,"borrow","","",132,[[]]],[11,"borrow_mut","","",132,[[]]],[11,"try_from","","",132,[[],["result",4]]],[11,"try_into","","",132,[[],["result",4]]],[11,"type_id","","",132,[[],["typeid",3]]],[11,"span","","",204,[[],["span",3]]],[11,"from","","",204,[[]]],[11,"into","","",204,[[]]],[11,"borrow","","",204,[[]]],[11,"borrow_mut","","",204,[[]]],[11,"try_from","","",204,[[],["result",4]]],[11,"try_into","","",204,[[],["result",4]]],[11,"type_id","","",204,[[],["typeid",3]]],[11,"span","","",205,[[],["span",3]]],[11,"from","","",205,[[]]],[11,"into","","",205,[[]]],[11,"borrow","","",205,[[]]],[11,"borrow_mut","","",205,[[]]],[11,"try_from","","",205,[[],["result",4]]],[11,"try_into","","",205,[[],["result",4]]],[11,"type_id","","",205,[[],["typeid",3]]],[11,"span","","",206,[[],["span",3]]],[11,"from","","",206,[[]]],[11,"into","","",206,[[]]],[11,"borrow","","",206,[[]]],[11,"borrow_mut","","",206,[[]]],[11,"try_from","","",206,[[],["result",4]]],[11,"try_into","","",206,[[],["result",4]]],[11,"type_id","","",206,[[],["typeid",3]]],[11,"span","","",133,[[],["span",3]]],[11,"from","","",133,[[]]],[11,"into","","",133,[[]]],[11,"to_owned","","",133,[[]]],[11,"clone_into","","",133,[[]]],[11,"borrow","","",133,[[]]],[11,"borrow_mut","","",133,[[]]],[11,"try_from","","",133,[[],["result",4]]],[11,"try_into","","",133,[[],["result",4]]],[11,"type_id","","",133,[[],["typeid",3]]],[11,"span","","",134,[[],["span",3]]],[11,"from","","",134,[[]]],[11,"into","","",134,[[]]],[11,"to_owned","","",134,[[]]],[11,"clone_into","","",134,[[]]],[11,"borrow","","",134,[[]]],[11,"borrow_mut","","",134,[[]]],[11,"try_from","","",134,[[],["result",4]]],[11,"try_into","","",134,[[],["result",4]]],[11,"type_id","","",134,[[],["typeid",3]]],[11,"span","","",207,[[],["span",3]]],[11,"from","","",207,[[]]],[11,"into","","",207,[[]]],[11,"borrow","","",207,[[]]],[11,"borrow_mut","","",207,[[]]],[11,"try_from","","",207,[[],["result",4]]],[11,"try_into","","",207,[[],["result",4]]],[11,"type_id","","",207,[[],["typeid",3]]],[11,"span","","",208,[[],["span",3]]],[11,"from","","",208,[[]]],[11,"into","","",208,[[]]],[11,"borrow","","",208,[[]]],[11,"borrow_mut","","",208,[[]]],[11,"try_from","","",208,[[],["result",4]]],[11,"try_into","","",208,[[],["result",4]]],[11,"type_id","","",208,[[],["typeid",3]]],[11,"span","","",135,[[],["span",3]]],[11,"from","","",135,[[]]],[11,"into","","",135,[[]]],[11,"to_owned","","",135,[[]]],[11,"clone_into","","",135,[[]]],[11,"borrow","","",135,[[]]],[11,"borrow_mut","","",135,[[]]],[11,"try_from","","",135,[[],["result",4]]],[11,"try_into","","",135,[[],["result",4]]],[11,"type_id","","",135,[[],["typeid",3]]],[11,"span","","",209,[[],["span",3]]],[11,"from","","",209,[[]]],[11,"into","","",209,[[]]],[11,"borrow","","",209,[[]]],[11,"borrow_mut","","",209,[[]]],[11,"try_from","","",209,[[],["result",4]]],[11,"try_into","","",209,[[],["result",4]]],[11,"type_id","","",209,[[],["typeid",3]]],[11,"span","","",210,[[],["span",3]]],[11,"from","","",210,[[]]],[11,"into","","",210,[[]]],[11,"borrow","","",210,[[]]],[11,"borrow_mut","","",210,[[]]],[11,"try_from","","",210,[[],["result",4]]],[11,"try_into","","",210,[[],["result",4]]],[11,"type_id","","",210,[[],["typeid",3]]],[11,"span","","",211,[[],["span",3]]],[11,"from","","",211,[[]]],[11,"into","","",211,[[]]],[11,"borrow","","",211,[[]]],[11,"borrow_mut","","",211,[[]]],[11,"try_from","","",211,[[],["result",4]]],[11,"try_into","","",211,[[],["result",4]]],[11,"type_id","","",211,[[],["typeid",3]]],[11,"span","","",136,[[],["span",3]]],[11,"from","","",136,[[]]],[11,"into","","",136,[[]]],[11,"to_owned","","",136,[[]]],[11,"clone_into","","",136,[[]]],[11,"borrow","","",136,[[]]],[11,"borrow_mut","","",136,[[]]],[11,"try_from","","",136,[[],["result",4]]],[11,"try_into","","",136,[[],["result",4]]],[11,"type_id","","",136,[[],["typeid",3]]],[11,"span","","",212,[[],["span",3]]],[11,"from","","",212,[[]]],[11,"into","","",212,[[]]],[11,"borrow","","",212,[[]]],[11,"borrow_mut","","",212,[[]]],[11,"try_from","","",212,[[],["result",4]]],[11,"try_into","","",212,[[],["result",4]]],[11,"type_id","","",212,[[],["typeid",3]]],[11,"span","","",137,[[],["span",3]]],[11,"from","","",137,[[]]],[11,"into","","",137,[[]]],[11,"to_owned","","",137,[[]]],[11,"clone_into","","",137,[[]]],[11,"borrow","","",137,[[]]],[11,"borrow_mut","","",137,[[]]],[11,"try_from","","",137,[[],["result",4]]],[11,"try_into","","",137,[[],["result",4]]],[11,"type_id","","",137,[[],["typeid",3]]],[11,"span","","",213,[[],["span",3]]],[11,"from","","",213,[[]]],[11,"into","","",213,[[]]],[11,"borrow","","",213,[[]]],[11,"borrow_mut","","",213,[[]]],[11,"try_from","","",213,[[],["result",4]]],[11,"try_into","","",213,[[],["result",4]]],[11,"type_id","","",213,[[],["typeid",3]]],[11,"span","","",214,[[],["span",3]]],[11,"from","","",214,[[]]],[11,"into","","",214,[[]]],[11,"borrow","","",214,[[]]],[11,"borrow_mut","","",214,[[]]],[11,"try_from","","",214,[[],["result",4]]],[11,"try_into","","",214,[[],["result",4]]],[11,"type_id","","",214,[[],["typeid",3]]],[11,"span","","",215,[[],["span",3]]],[11,"from","","",215,[[]]],[11,"into","","",215,[[]]],[11,"borrow","","",215,[[]]],[11,"borrow_mut","","",215,[[]]],[11,"try_from","","",215,[[],["result",4]]],[11,"try_into","","",215,[[],["result",4]]],[11,"type_id","","",215,[[],["typeid",3]]],[11,"span","","",216,[[],["span",3]]],[11,"from","","",216,[[]]],[11,"into","","",216,[[]]],[11,"borrow","","",216,[[]]],[11,"borrow_mut","","",216,[[]]],[11,"try_from","","",216,[[],["result",4]]],[11,"try_into","","",216,[[],["result",4]]],[11,"type_id","","",216,[[],["typeid",3]]],[11,"span","","",138,[[],["span",3]]],[11,"from","","",138,[[]]],[11,"into","","",138,[[]]],[11,"to_owned","","",138,[[]]],[11,"clone_into","","",138,[[]]],[11,"borrow","","",138,[[]]],[11,"borrow_mut","","",138,[[]]],[11,"try_from","","",138,[[],["result",4]]],[11,"try_into","","",138,[[],["result",4]]],[11,"type_id","","",138,[[],["typeid",3]]],[11,"span","","",139,[[],["span",3]]],[11,"from","","",139,[[]]],[11,"into","","",139,[[]]],[11,"to_owned","","",139,[[]]],[11,"clone_into","","",139,[[]]],[11,"borrow","","",139,[[]]],[11,"borrow_mut","","",139,[[]]],[11,"try_from","","",139,[[],["result",4]]],[11,"try_into","","",139,[[],["result",4]]],[11,"type_id","","",139,[[],["typeid",3]]],[11,"span","","",217,[[],["span",3]]],[11,"from","","",217,[[]]],[11,"into","","",217,[[]]],[11,"borrow","","",217,[[]]],[11,"borrow_mut","","",217,[[]]],[11,"try_from","","",217,[[],["result",4]]],[11,"try_into","","",217,[[],["result",4]]],[11,"type_id","","",217,[[],["typeid",3]]],[11,"span","","",218,[[],["span",3]]],[11,"from","","",218,[[]]],[11,"into","","",218,[[]]],[11,"borrow","","",218,[[]]],[11,"borrow_mut","","",218,[[]]],[11,"try_from","","",218,[[],["result",4]]],[11,"try_into","","",218,[[],["result",4]]],[11,"type_id","","",218,[[],["typeid",3]]],[11,"span","","",219,[[],["span",3]]],[11,"from","","",219,[[]]],[11,"into","","",219,[[]]],[11,"borrow","","",219,[[]]],[11,"borrow_mut","","",219,[[]]],[11,"try_from","","",219,[[],["result",4]]],[11,"try_into","","",219,[[],["result",4]]],[11,"type_id","","",219,[[],["typeid",3]]],[11,"span","","",220,[[],["span",3]]],[11,"from","","",220,[[]]],[11,"into","","",220,[[]]],[11,"borrow","","",220,[[]]],[11,"borrow_mut","","",220,[[]]],[11,"try_from","","",220,[[],["result",4]]],[11,"try_into","","",220,[[],["result",4]]],[11,"type_id","","",220,[[],["typeid",3]]],[11,"span","","",221,[[],["span",3]]],[11,"from","","",221,[[]]],[11,"into","","",221,[[]]],[11,"borrow","","",221,[[]]],[11,"borrow_mut","","",221,[[]]],[11,"try_from","","",221,[[],["result",4]]],[11,"try_into","","",221,[[],["result",4]]],[11,"type_id","","",221,[[],["typeid",3]]],[11,"span","","",222,[[],["span",3]]],[11,"from","","",222,[[]]],[11,"into","","",222,[[]]],[11,"borrow","","",222,[[]]],[11,"borrow_mut","","",222,[[]]],[11,"try_from","","",222,[[],["result",4]]],[11,"try_into","","",222,[[],["result",4]]],[11,"type_id","","",222,[[],["typeid",3]]],[11,"span","","",223,[[],["span",3]]],[11,"from","","",223,[[]]],[11,"into","","",223,[[]]],[11,"borrow","","",223,[[]]],[11,"borrow_mut","","",223,[[]]],[11,"try_from","","",223,[[],["result",4]]],[11,"try_into","","",223,[[],["result",4]]],[11,"type_id","","",223,[[],["typeid",3]]],[11,"span","","",224,[[],["span",3]]],[11,"from","","",224,[[]]],[11,"into","","",224,[[]]],[11,"borrow","","",224,[[]]],[11,"borrow_mut","","",224,[[]]],[11,"try_from","","",224,[[],["result",4]]],[11,"try_into","","",224,[[],["result",4]]],[11,"type_id","","",224,[[],["typeid",3]]],[11,"span","","",225,[[],["span",3]]],[11,"from","","",225,[[]]],[11,"into","","",225,[[]]],[11,"borrow","","",225,[[]]],[11,"borrow_mut","","",225,[[]]],[11,"try_from","","",225,[[],["result",4]]],[11,"try_into","","",225,[[],["result",4]]],[11,"type_id","","",225,[[],["typeid",3]]],[11,"span","","",140,[[],["span",3]]],[11,"from","","",140,[[]]],[11,"into","","",140,[[]]],[11,"to_owned","","",140,[[]]],[11,"clone_into","","",140,[[]]],[11,"borrow","","",140,[[]]],[11,"borrow_mut","","",140,[[]]],[11,"try_from","","",140,[[],["result",4]]],[11,"try_into","","",140,[[],["result",4]]],[11,"type_id","","",140,[[],["typeid",3]]],[11,"span","","",226,[[],["span",3]]],[11,"from","","",226,[[]]],[11,"into","","",226,[[]]],[11,"borrow","","",226,[[]]],[11,"borrow_mut","","",226,[[]]],[11,"try_from","","",226,[[],["result",4]]],[11,"try_into","","",226,[[],["result",4]]],[11,"type_id","","",226,[[],["typeid",3]]],[11,"span","","",227,[[],["span",3]]],[11,"from","","",227,[[]]],[11,"into","","",227,[[]]],[11,"borrow","","",227,[[]]],[11,"borrow_mut","","",227,[[]]],[11,"try_from","","",227,[[],["result",4]]],[11,"try_into","","",227,[[],["result",4]]],[11,"type_id","","",227,[[],["typeid",3]]],[11,"span","","",228,[[],["span",3]]],[11,"from","","",228,[[]]],[11,"into","","",228,[[]]],[11,"borrow","","",228,[[]]],[11,"borrow_mut","","",228,[[]]],[11,"try_from","","",228,[[],["result",4]]],[11,"try_into","","",228,[[],["result",4]]],[11,"type_id","","",228,[[],["typeid",3]]],[11,"span","","",142,[[],["span",3]]],[11,"from","","",142,[[]]],[11,"into","","",142,[[]]],[11,"to_owned","","",142,[[]]],[11,"clone_into","","",142,[[]]],[11,"borrow","","",142,[[]]],[11,"borrow_mut","","",142,[[]]],[11,"try_from","","",142,[[],["result",4]]],[11,"try_into","","",142,[[],["result",4]]],[11,"type_id","","",142,[[],["typeid",3]]],[11,"span","","",141,[[],["span",3]]],[11,"from","","",141,[[]]],[11,"into","","",141,[[]]],[11,"to_owned","","",141,[[]]],[11,"clone_into","","",141,[[]]],[11,"borrow","","",141,[[]]],[11,"borrow_mut","","",141,[[]]],[11,"try_from","","",141,[[],["result",4]]],[11,"try_into","","",141,[[],["result",4]]],[11,"type_id","","",141,[[],["typeid",3]]],[11,"span","","",146,[[],["span",3]]],[11,"from","","",146,[[]]],[11,"into","","",146,[[]]],[11,"to_owned","","",146,[[]]],[11,"clone_into","","",146,[[]]],[11,"borrow","","",146,[[]]],[11,"borrow_mut","","",146,[[]]],[11,"try_from","","",146,[[],["result",4]]],[11,"try_into","","",146,[[],["result",4]]],[11,"type_id","","",146,[[],["typeid",3]]],[11,"span","","",145,[[],["span",3]]],[11,"from","","",145,[[]]],[11,"into","","",145,[[]]],[11,"to_owned","","",145,[[]]],[11,"clone_into","","",145,[[]]],[11,"borrow","","",145,[[]]],[11,"borrow_mut","","",145,[[]]],[11,"try_from","","",145,[[],["result",4]]],[11,"try_into","","",145,[[],["result",4]]],[11,"type_id","","",145,[[],["typeid",3]]],[11,"span","","",153,[[],["span",3]]],[11,"from","","",153,[[]]],[11,"into","","",153,[[]]],[11,"to_owned","","",153,[[]]],[11,"clone_into","","",153,[[]]],[11,"borrow","","",153,[[]]],[11,"borrow_mut","","",153,[[]]],[11,"try_from","","",153,[[],["result",4]]],[11,"try_into","","",153,[[],["result",4]]],[11,"type_id","","",153,[[],["typeid",3]]],[11,"span","","",147,[[],["span",3]]],[11,"from","","",147,[[]]],[11,"into","","",147,[[]]],[11,"to_owned","","",147,[[]]],[11,"clone_into","","",147,[[]]],[11,"borrow","","",147,[[]]],[11,"borrow_mut","","",147,[[]]],[11,"try_from","","",147,[[],["result",4]]],[11,"try_into","","",147,[[],["result",4]]],[11,"type_id","","",147,[[],["typeid",3]]],[11,"span","","",144,[[],["span",3]]],[11,"from","","",144,[[]]],[11,"into","","",144,[[]]],[11,"to_owned","","",144,[[]]],[11,"clone_into","","",144,[[]]],[11,"borrow","","",144,[[]]],[11,"borrow_mut","","",144,[[]]],[11,"try_from","","",144,[[],["result",4]]],[11,"try_into","","",144,[[],["result",4]]],[11,"type_id","","",144,[[],["typeid",3]]],[11,"span","","",229,[[],["span",3]]],[11,"from","","",229,[[]]],[11,"into","","",229,[[]]],[11,"to_owned","","",229,[[]]],[11,"clone_into","","",229,[[]]],[11,"borrow","","",229,[[]]],[11,"borrow_mut","","",229,[[]]],[11,"try_from","","",229,[[],["result",4]]],[11,"try_into","","",229,[[],["result",4]]],[11,"type_id","","",229,[[],["typeid",3]]],[11,"span","","",230,[[],["span",3]]],[11,"from","","",230,[[]]],[11,"into","","",230,[[]]],[11,"to_owned","","",230,[[]]],[11,"clone_into","","",230,[[]]],[11,"borrow","","",230,[[]]],[11,"borrow_mut","","",230,[[]]],[11,"try_from","","",230,[[],["result",4]]],[11,"try_into","","",230,[[],["result",4]]],[11,"type_id","","",230,[[],["typeid",3]]],[11,"span","","",231,[[],["span",3]]],[11,"from","","",231,[[]]],[11,"into","","",231,[[]]],[11,"to_owned","","",231,[[]]],[11,"clone_into","","",231,[[]]],[11,"borrow","","",231,[[]]],[11,"borrow_mut","","",231,[[]]],[11,"try_from","","",231,[[],["result",4]]],[11,"try_into","","",231,[[],["result",4]]],[11,"type_id","","",231,[[],["typeid",3]]],[11,"span","","",143,[[],["span",3]]],[11,"from","","",143,[[]]],[11,"into","","",143,[[]]],[11,"to_owned","","",143,[[]]],[11,"clone_into","","",143,[[]]],[11,"borrow","","",143,[[]]],[11,"borrow_mut","","",143,[[]]],[11,"try_from","","",143,[[],["result",4]]],[11,"try_into","","",143,[[],["result",4]]],[11,"type_id","","",143,[[],["typeid",3]]],[11,"span","","",154,[[],["span",3]]],[11,"from","","",154,[[]]],[11,"into","","",154,[[]]],[11,"to_owned","","",154,[[]]],[11,"clone_into","","",154,[[]]],[11,"borrow","","",154,[[]]],[11,"borrow_mut","","",154,[[]]],[11,"try_from","","",154,[[],["result",4]]],[11,"try_into","","",154,[[],["result",4]]],[11,"type_id","","",154,[[],["typeid",3]]],[11,"span","","",151,[[],["span",3]]],[11,"from","","",151,[[]]],[11,"into","","",151,[[]]],[11,"to_owned","","",151,[[]]],[11,"clone_into","","",151,[[]]],[11,"borrow","","",151,[[]]],[11,"borrow_mut","","",151,[[]]],[11,"try_from","","",151,[[],["result",4]]],[11,"try_into","","",151,[[],["result",4]]],[11,"type_id","","",151,[[],["typeid",3]]],[11,"span","","",152,[[],["span",3]]],[11,"from","","",152,[[]]],[11,"into","","",152,[[]]],[11,"to_owned","","",152,[[]]],[11,"clone_into","","",152,[[]]],[11,"borrow","","",152,[[]]],[11,"borrow_mut","","",152,[[]]],[11,"try_from","","",152,[[],["result",4]]],[11,"try_into","","",152,[[],["result",4]]],[11,"type_id","","",152,[[],["typeid",3]]],[11,"span","","",155,[[],["span",3]]],[11,"from","","",155,[[]]],[11,"into","","",155,[[]]],[11,"to_owned","","",155,[[]]],[11,"clone_into","","",155,[[]]],[11,"borrow","","",155,[[]]],[11,"borrow_mut","","",155,[[]]],[11,"try_from","","",155,[[],["result",4]]],[11,"try_into","","",155,[[],["result",4]]],[11,"type_id","","",155,[[],["typeid",3]]],[11,"span","","",156,[[],["span",3]]],[11,"from","","",156,[[]]],[11,"into","","",156,[[]]],[11,"to_owned","","",156,[[]]],[11,"clone_into","","",156,[[]]],[11,"borrow","","",156,[[]]],[11,"borrow_mut","","",156,[[]]],[11,"try_from","","",156,[[],["result",4]]],[11,"try_into","","",156,[[],["result",4]]],[11,"type_id","","",156,[[],["typeid",3]]],[11,"span","","",150,[[],["span",3]]],[11,"from","","",150,[[]]],[11,"into","","",150,[[]]],[11,"to_owned","","",150,[[]]],[11,"clone_into","","",150,[[]]],[11,"borrow","","",150,[[]]],[11,"borrow_mut","","",150,[[]]],[11,"try_from","","",150,[[],["result",4]]],[11,"try_into","","",150,[[],["result",4]]],[11,"type_id","","",150,[[],["typeid",3]]],[11,"span","","",149,[[],["span",3]]],[11,"from","","",149,[[]]],[11,"into","","",149,[[]]],[11,"to_owned","","",149,[[]]],[11,"clone_into","","",149,[[]]],[11,"borrow","","",149,[[]]],[11,"borrow_mut","","",149,[[]]],[11,"try_from","","",149,[[],["result",4]]],[11,"try_into","","",149,[[],["result",4]]],[11,"type_id","","",149,[[],["typeid",3]]],[11,"span","","",148,[[],["span",3]]],[11,"from","","",148,[[]]],[11,"into","","",148,[[]]],[11,"to_owned","","",148,[[]]],[11,"clone_into","","",148,[[]]],[11,"borrow","","",148,[[]]],[11,"borrow_mut","","",148,[[]]],[11,"try_from","","",148,[[],["result",4]]],[11,"try_into","","",148,[[],["result",4]]],[11,"type_id","","",148,[[],["typeid",3]]],[11,"span","","",157,[[],["span",3]]],[11,"from","","",157,[[]]],[11,"into","","",157,[[]]],[11,"to_owned","","",157,[[]]],[11,"clone_into","","",157,[[]]],[11,"to_string","","",157,[[],["string",3]]],[11,"borrow","","",157,[[]]],[11,"borrow_mut","","",157,[[]]],[11,"try_from","","",157,[[],["result",4]]],[11,"try_into","","",157,[[],["result",4]]],[11,"type_id","","",157,[[],["typeid",3]]],[11,"span","","",158,[[],["span",3]]],[11,"from","","",158,[[]]],[11,"into","","",158,[[]]],[11,"to_owned","","",158,[[]]],[11,"clone_into","","",158,[[]]],[11,"borrow","","",158,[[]]],[11,"borrow_mut","","",158,[[]]],[11,"try_from","","",158,[[],["result",4]]],[11,"try_into","","",158,[[],["result",4]]],[11,"type_id","","",158,[[],["typeid",3]]],[11,"span","","",232,[[],["span",3]]],[11,"from","","",232,[[]]],[11,"into","","",232,[[]]],[11,"to_owned","","",232,[[]]],[11,"clone_into","","",232,[[]]],[11,"borrow","","",232,[[]]],[11,"borrow_mut","","",232,[[]]],[11,"try_from","","",232,[[],["result",4]]],[11,"try_into","","",232,[[],["result",4]]],[11,"type_id","","",232,[[],["typeid",3]]],[11,"span","","",233,[[],["span",3]]],[11,"from","","",233,[[]]],[11,"into","","",233,[[]]],[11,"to_owned","","",233,[[]]],[11,"clone_into","","",233,[[]]],[11,"borrow","","",233,[[]]],[11,"borrow_mut","","",233,[[]]],[11,"try_from","","",233,[[],["result",4]]],[11,"try_into","","",233,[[],["result",4]]],[11,"type_id","","",233,[[],["typeid",3]]],[11,"span","","",234,[[],["span",3]]],[11,"from","","",234,[[]]],[11,"into","","",234,[[]]],[11,"to_owned","","",234,[[]]],[11,"clone_into","","",234,[[]]],[11,"borrow","","",234,[[]]],[11,"borrow_mut","","",234,[[]]],[11,"try_from","","",234,[[],["result",4]]],[11,"try_into","","",234,[[],["result",4]]],[11,"type_id","","",234,[[],["typeid",3]]],[11,"span","","",235,[[],["span",3]]],[11,"from","","",235,[[]]],[11,"into","","",235,[[]]],[11,"to_owned","","",235,[[]]],[11,"clone_into","","",235,[[]]],[11,"borrow","","",235,[[]]],[11,"borrow_mut","","",235,[[]]],[11,"try_from","","",235,[[],["result",4]]],[11,"try_into","","",235,[[],["result",4]]],[11,"type_id","","",235,[[],["typeid",3]]],[11,"span","","",236,[[],["span",3]]],[11,"from","","",236,[[]]],[11,"into","","",236,[[]]],[11,"to_owned","","",236,[[]]],[11,"clone_into","","",236,[[]]],[11,"to_string","","",236,[[],["string",3]]],[11,"borrow","","",236,[[]]],[11,"borrow_mut","","",236,[[]]],[11,"try_from","","",236,[[],["result",4]]],[11,"try_into","","",236,[[],["result",4]]],[11,"type_id","","",236,[[],["typeid",3]]],[11,"span","","",237,[[],["span",3]]],[11,"from","","",237,[[]]],[11,"into","","",237,[[]]],[11,"to_owned","","",237,[[]]],[11,"clone_into","","",237,[[]]],[11,"to_string","","",237,[[],["string",3]]],[11,"borrow","","",237,[[]]],[11,"borrow_mut","","",237,[[]]],[11,"try_from","","",237,[[],["result",4]]],[11,"try_into","","",237,[[],["result",4]]],[11,"type_id","","",237,[[],["typeid",3]]],[11,"span","","",159,[[],["span",3]]],[11,"from","","",159,[[]]],[11,"into","","",159,[[]]],[11,"to_owned","","",159,[[]]],[11,"clone_into","","",159,[[]]],[11,"borrow","","",159,[[]]],[11,"borrow_mut","","",159,[[]]],[11,"try_from","","",159,[[],["result",4]]],[11,"try_into","","",159,[[],["result",4]]],[11,"type_id","","",159,[[],["typeid",3]]],[11,"from","","",160,[[]]],[11,"into","","",160,[[]]],[11,"borrow","","",160,[[]]],[11,"borrow_mut","","",160,[[]]],[11,"try_from","","",160,[[],["result",4]]],[11,"try_into","","",160,[[],["result",4]]],[11,"type_id","","",160,[[],["typeid",3]]],[11,"span","","",161,[[],["span",3]]],[11,"from","","",161,[[]]],[11,"into","","",161,[[]]],[11,"to_owned","","",161,[[]]],[11,"clone_into","","",161,[[]]],[11,"borrow","","",161,[[]]],[11,"borrow_mut","","",161,[[]]],[11,"try_from","","",161,[[],["result",4]]],[11,"try_into","","",161,[[],["result",4]]],[11,"type_id","","",161,[[],["typeid",3]]],[11,"from","","",162,[[]]],[11,"into","","",162,[[]]],[11,"to_owned","","",162,[[]]],[11,"clone_into","","",162,[[]]],[11,"borrow","","",162,[[]]],[11,"borrow_mut","","",162,[[]]],[11,"try_from","","",162,[[],["result",4]]],[11,"try_into","","",162,[[],["result",4]]],[11,"type_id","","",162,[[],["typeid",3]]],[11,"span","","",167,[[],["span",3]]],[11,"from","","",167,[[]]],[11,"into","","",167,[[]]],[11,"to_owned","","",167,[[]]],[11,"clone_into","","",167,[[]]],[11,"borrow","","",167,[[]]],[11,"borrow_mut","","",167,[[]]],[11,"try_from","","",167,[[],["result",4]]],[11,"try_into","","",167,[[],["result",4]]],[11,"type_id","","",167,[[],["typeid",3]]],[11,"from","","",163,[[]]],[11,"into","","",163,[[]]],[11,"to_owned","","",163,[[]]],[11,"clone_into","","",163,[[]]],[11,"borrow","","",163,[[]]],[11,"borrow_mut","","",163,[[]]],[11,"try_from","","",163,[[],["result",4]]],[11,"try_into","","",163,[[],["result",4]]],[11,"type_id","","",163,[[],["typeid",3]]],[11,"from","","",165,[[]]],[11,"into","","",165,[[]]],[11,"to_owned","","",165,[[]]],[11,"clone_into","","",165,[[]]],[11,"borrow","","",165,[[]]],[11,"borrow_mut","","",165,[[]]],[11,"try_from","","",165,[[],["result",4]]],[11,"try_into","","",165,[[],["result",4]]],[11,"type_id","","",165,[[],["typeid",3]]],[11,"from","","",164,[[]]],[11,"into","","",164,[[]]],[11,"to_owned","","",164,[[]]],[11,"clone_into","","",164,[[]]],[11,"borrow","","",164,[[]]],[11,"borrow_mut","","",164,[[]]],[11,"try_from","","",164,[[],["result",4]]],[11,"try_into","","",164,[[],["result",4]]],[11,"type_id","","",164,[[],["typeid",3]]],[11,"from","","",166,[[]]],[11,"into","","",166,[[]]],[11,"to_owned","","",166,[[]]],[11,"clone_into","","",166,[[]]],[11,"borrow","","",166,[[]]],[11,"borrow_mut","","",166,[[]]],[11,"try_from","","",166,[[],["result",4]]],[11,"try_into","","",166,[[],["result",4]]],[11,"type_id","","",166,[[],["typeid",3]]],[11,"span","","",168,[[],["span",3]]],[11,"from","","",168,[[]]],[11,"into","","",168,[[]]],[11,"to_owned","","",168,[[]]],[11,"clone_into","","",168,[[]]],[11,"borrow","","",168,[[]]],[11,"borrow_mut","","",168,[[]]],[11,"try_from","","",168,[[],["result",4]]],[11,"try_into","","",168,[[],["result",4]]],[11,"type_id","","",168,[[],["typeid",3]]],[11,"span","","",169,[[],["span",3]]],[11,"from","","",169,[[]]],[11,"into","","",169,[[]]],[11,"to_owned","","",169,[[]]],[11,"clone_into","","",169,[[]]],[11,"borrow","","",169,[[]]],[11,"borrow_mut","","",169,[[]]],[11,"try_from","","",169,[[],["result",4]]],[11,"try_into","","",169,[[],["result",4]]],[11,"type_id","","",169,[[],["typeid",3]]],[11,"span","","",173,[[],["span",3]]],[11,"from","","",173,[[]]],[11,"into","","",173,[[]]],[11,"to_owned","","",173,[[]]],[11,"clone_into","","",173,[[]]],[11,"borrow","","",173,[[]]],[11,"borrow_mut","","",173,[[]]],[11,"try_from","","",173,[[],["result",4]]],[11,"try_into","","",173,[[],["result",4]]],[11,"type_id","","",173,[[],["typeid",3]]],[11,"span","","",174,[[],["span",3]]],[11,"from","","",174,[[]]],[11,"into","","",174,[[]]],[11,"to_owned","","",174,[[]]],[11,"clone_into","","",174,[[]]],[11,"borrow","","",174,[[]]],[11,"borrow_mut","","",174,[[]]],[11,"try_from","","",174,[[],["result",4]]],[11,"try_into","","",174,[[],["result",4]]],[11,"type_id","","",174,[[],["typeid",3]]],[11,"span","","",175,[[],["span",3]]],[11,"from","","",175,[[]]],[11,"into","","",175,[[]]],[11,"to_owned","","",175,[[]]],[11,"clone_into","","",175,[[]]],[11,"borrow","","",175,[[]]],[11,"borrow_mut","","",175,[[]]],[11,"try_from","","",175,[[],["result",4]]],[11,"try_into","","",175,[[],["result",4]]],[11,"type_id","","",175,[[],["typeid",3]]],[11,"span","","",176,[[],["span",3]]],[11,"from","","",176,[[]]],[11,"into","","",176,[[]]],[11,"to_owned","","",176,[[]]],[11,"clone_into","","",176,[[]]],[11,"borrow","","",176,[[]]],[11,"borrow_mut","","",176,[[]]],[11,"try_from","","",176,[[],["result",4]]],[11,"try_into","","",176,[[],["result",4]]],[11,"type_id","","",176,[[],["typeid",3]]],[11,"span","","",177,[[],["span",3]]],[11,"from","","",177,[[]]],[11,"into","","",177,[[]]],[11,"to_owned","","",177,[[]]],[11,"clone_into","","",177,[[]]],[11,"borrow","","",177,[[]]],[11,"borrow_mut","","",177,[[]]],[11,"try_from","","",177,[[],["result",4]]],[11,"try_into","","",177,[[],["result",4]]],[11,"type_id","","",177,[[],["typeid",3]]],[11,"span","","",178,[[],["span",3]]],[11,"from","","",178,[[]]],[11,"into","","",178,[[]]],[11,"to_owned","","",178,[[]]],[11,"clone_into","","",178,[[]]],[11,"borrow","","",178,[[]]],[11,"borrow_mut","","",178,[[]]],[11,"try_from","","",178,[[],["result",4]]],[11,"try_into","","",178,[[],["result",4]]],[11,"type_id","","",178,[[],["typeid",3]]],[11,"span","","",179,[[],["span",3]]],[11,"from","","",179,[[]]],[11,"into","","",179,[[]]],[11,"to_owned","","",179,[[]]],[11,"clone_into","","",179,[[]]],[11,"borrow","","",179,[[]]],[11,"borrow_mut","","",179,[[]]],[11,"try_from","","",179,[[],["result",4]]],[11,"try_into","","",179,[[],["result",4]]],[11,"type_id","","",179,[[],["typeid",3]]],[11,"span","","",180,[[],["span",3]]],[11,"from","","",180,[[]]],[11,"into","","",180,[[]]],[11,"to_owned","","",180,[[]]],[11,"clone_into","","",180,[[]]],[11,"borrow","","",180,[[]]],[11,"borrow_mut","","",180,[[]]],[11,"try_from","","",180,[[],["result",4]]],[11,"try_into","","",180,[[],["result",4]]],[11,"type_id","","",180,[[],["typeid",3]]],[11,"span","","",181,[[],["span",3]]],[11,"from","","",181,[[]]],[11,"into","","",181,[[]]],[11,"to_owned","","",181,[[]]],[11,"clone_into","","",181,[[]]],[11,"borrow","","",181,[[]]],[11,"borrow_mut","","",181,[[]]],[11,"try_from","","",181,[[],["result",4]]],[11,"try_into","","",181,[[],["result",4]]],[11,"type_id","","",181,[[],["typeid",3]]],[11,"span","","",182,[[],["span",3]]],[11,"from","","",182,[[]]],[11,"into","","",182,[[]]],[11,"to_owned","","",182,[[]]],[11,"clone_into","","",182,[[]]],[11,"borrow","","",182,[[]]],[11,"borrow_mut","","",182,[[]]],[11,"try_from","","",182,[[],["result",4]]],[11,"try_into","","",182,[[],["result",4]]],[11,"type_id","","",182,[[],["typeid",3]]],[11,"span","","",183,[[],["span",3]]],[11,"from","","",183,[[]]],[11,"into","","",183,[[]]],[11,"to_owned","","",183,[[]]],[11,"clone_into","","",183,[[]]],[11,"borrow","","",183,[[]]],[11,"borrow_mut","","",183,[[]]],[11,"try_from","","",183,[[],["result",4]]],[11,"try_into","","",183,[[],["result",4]]],[11,"type_id","","",183,[[],["typeid",3]]],[11,"span","","",184,[[],["span",3]]],[11,"from","","",184,[[]]],[11,"into","","",184,[[]]],[11,"to_owned","","",184,[[]]],[11,"clone_into","","",184,[[]]],[11,"borrow","","",184,[[]]],[11,"borrow_mut","","",184,[[]]],[11,"try_from","","",184,[[],["result",4]]],[11,"try_into","","",184,[[],["result",4]]],[11,"type_id","","",184,[[],["typeid",3]]],[11,"span","","",185,[[],["span",3]]],[11,"from","","",185,[[]]],[11,"into","","",185,[[]]],[11,"to_owned","","",185,[[]]],[11,"clone_into","","",185,[[]]],[11,"borrow","","",185,[[]]],[11,"borrow_mut","","",185,[[]]],[11,"try_from","","",185,[[],["result",4]]],[11,"try_into","","",185,[[],["result",4]]],[11,"type_id","","",185,[[],["typeid",3]]],[11,"span","","",186,[[],["span",3]]],[11,"from","","",186,[[]]],[11,"into","","",186,[[]]],[11,"to_owned","","",186,[[]]],[11,"clone_into","","",186,[[]]],[11,"borrow","","",186,[[]]],[11,"borrow_mut","","",186,[[]]],[11,"try_from","","",186,[[],["result",4]]],[11,"try_into","","",186,[[],["result",4]]],[11,"type_id","","",186,[[],["typeid",3]]],[11,"span","","",187,[[],["span",3]]],[11,"from","","",187,[[]]],[11,"into","","",187,[[]]],[11,"to_owned","","",187,[[]]],[11,"clone_into","","",187,[[]]],[11,"borrow","","",187,[[]]],[11,"borrow_mut","","",187,[[]]],[11,"try_from","","",187,[[],["result",4]]],[11,"try_into","","",187,[[],["result",4]]],[11,"type_id","","",187,[[],["typeid",3]]],[11,"span","","",170,[[],["span",3]]],[11,"from","","",170,[[]]],[11,"into","","",170,[[]]],[11,"to_owned","","",170,[[]]],[11,"clone_into","","",170,[[]]],[11,"borrow","","",170,[[]]],[11,"borrow_mut","","",170,[[]]],[11,"try_from","","",170,[[],["result",4]]],[11,"try_into","","",170,[[],["result",4]]],[11,"type_id","","",170,[[],["typeid",3]]],[11,"span","","",171,[[],["span",3]]],[11,"from","","",171,[[]]],[11,"into","","",171,[[]]],[11,"to_owned","","",171,[[]]],[11,"clone_into","","",171,[[]]],[11,"borrow","","",171,[[]]],[11,"borrow_mut","","",171,[[]]],[11,"try_from","","",171,[[],["result",4]]],[11,"try_into","","",171,[[],["result",4]]],[11,"type_id","","",171,[[],["typeid",3]]],[11,"span","","",188,[[],["span",3]]],[11,"from","","",188,[[]]],[11,"into","","",188,[[]]],[11,"to_owned","","",188,[[]]],[11,"clone_into","","",188,[[]]],[11,"borrow","","",188,[[]]],[11,"borrow_mut","","",188,[[]]],[11,"try_from","","",188,[[],["result",4]]],[11,"try_into","","",188,[[],["result",4]]],[11,"type_id","","",188,[[],["typeid",3]]],[11,"span","","",172,[[],["span",3]]],[11,"from","","",172,[[]]],[11,"into","","",172,[[]]],[11,"to_owned","","",172,[[]]],[11,"clone_into","","",172,[[]]],[11,"borrow","","",172,[[]]],[11,"borrow_mut","","",172,[[]]],[11,"try_from","","",172,[[],["result",4]]],[11,"try_into","","",172,[[],["result",4]]],[11,"type_id","","",172,[[],["typeid",3]]],[11,"span","","",194,[[],["span",3]]],[11,"from","","",194,[[]]],[11,"into","","",194,[[]]],[11,"to_owned","","",194,[[]]],[11,"clone_into","","",194,[[]]],[11,"borrow","","",194,[[]]],[11,"borrow_mut","","",194,[[]]],[11,"try_from","","",194,[[],["result",4]]],[11,"try_into","","",194,[[],["result",4]]],[11,"type_id","","",194,[[],["typeid",3]]],[11,"span","","",196,[[],["span",3]]],[11,"from","","",196,[[]]],[11,"into","","",196,[[]]],[11,"to_owned","","",196,[[]]],[11,"clone_into","","",196,[[]]],[11,"borrow","","",196,[[]]],[11,"borrow_mut","","",196,[[]]],[11,"try_from","","",196,[[],["result",4]]],[11,"try_into","","",196,[[],["result",4]]],[11,"type_id","","",196,[[],["typeid",3]]],[11,"span","","",195,[[],["span",3]]],[11,"from","","",195,[[]]],[11,"into","","",195,[[]]],[11,"to_owned","","",195,[[]]],[11,"clone_into","","",195,[[]]],[11,"borrow","","",195,[[]]],[11,"borrow_mut","","",195,[[]]],[11,"try_from","","",195,[[],["result",4]]],[11,"try_into","","",195,[[],["result",4]]],[11,"type_id","","",195,[[],["typeid",3]]],[11,"span","","",192,[[],["span",3]]],[11,"from","","",192,[[]]],[11,"into","","",192,[[]]],[11,"to_owned","","",192,[[]]],[11,"clone_into","","",192,[[]]],[11,"borrow","","",192,[[]]],[11,"borrow_mut","","",192,[[]]],[11,"try_from","","",192,[[],["result",4]]],[11,"try_into","","",192,[[],["result",4]]],[11,"type_id","","",192,[[],["typeid",3]]],[11,"span","","",189,[[],["span",3]]],[11,"from","","",189,[[]]],[11,"into","","",189,[[]]],[11,"to_owned","","",189,[[]]],[11,"clone_into","","",189,[[]]],[11,"borrow","","",189,[[]]],[11,"borrow_mut","","",189,[[]]],[11,"try_from","","",189,[[],["result",4]]],[11,"try_into","","",189,[[],["result",4]]],[11,"type_id","","",189,[[],["typeid",3]]],[11,"span","","",190,[[],["span",3]]],[11,"from","","",190,[[]]],[11,"into","","",190,[[]]],[11,"to_owned","","",190,[[]]],[11,"clone_into","","",190,[[]]],[11,"borrow","","",190,[[]]],[11,"borrow_mut","","",190,[[]]],[11,"try_from","","",190,[[],["result",4]]],[11,"try_into","","",190,[[],["result",4]]],[11,"type_id","","",190,[[],["typeid",3]]],[11,"span","","",191,[[],["span",3]]],[11,"from","","",191,[[]]],[11,"into","","",191,[[]]],[11,"to_owned","","",191,[[]]],[11,"clone_into","","",191,[[]]],[11,"borrow","","",191,[[]]],[11,"borrow_mut","","",191,[[]]],[11,"try_from","","",191,[[],["result",4]]],[11,"try_into","","",191,[[],["result",4]]],[11,"type_id","","",191,[[],["typeid",3]]],[11,"span","","",193,[[],["span",3]]],[11,"from","","",193,[[]]],[11,"into","","",193,[[]]],[11,"to_owned","","",193,[[]]],[11,"clone_into","","",193,[[]]],[11,"borrow","","",193,[[]]],[11,"borrow_mut","","",193,[[]]],[11,"try_from","","",193,[[],["result",4]]],[11,"try_into","","",193,[[],["result",4]]],[11,"type_id","","",193,[[],["typeid",3]]],[11,"from","","",197,[[]]],[11,"into","","",197,[[]]],[11,"to_owned","","",197,[[]]],[11,"clone_into","","",197,[[]]],[11,"borrow","","",197,[[]]],[11,"borrow_mut","","",197,[[]]],[11,"try_from","","",197,[[],["result",4]]],[11,"try_into","","",197,[[],["result",4]]],[11,"type_id","","",197,[[],["typeid",3]]],[11,"from","syn::buffer","",103,[[]]],[11,"into","","",103,[[]]],[11,"borrow","","",103,[[]]],[11,"borrow_mut","","",103,[[]]],[11,"try_from","","",103,[[],["result",4]]],[11,"try_into","","",103,[[],["result",4]]],[11,"type_id","","",103,[[],["typeid",3]]],[11,"from","","",104,[[]]],[11,"into","","",104,[[]]],[11,"to_owned","","",104,[[]]],[11,"clone_into","","",104,[[]]],[11,"borrow","","",104,[[]]],[11,"borrow_mut","","",104,[[]]],[11,"try_from","","",104,[[],["result",4]]],[11,"try_into","","",104,[[],["result",4]]],[11,"type_id","","",104,[[],["typeid",3]]],[11,"span","syn::punctuated","",106,[[],["span",3]]],[11,"from","","",106,[[]]],[11,"into","","",106,[[]]],[11,"to_owned","","",106,[[]]],[11,"clone_into","","",106,[[]]],[11,"borrow","","",106,[[]]],[11,"borrow_mut","","",106,[[]]],[11,"try_from","","",106,[[],["result",4]]],[11,"try_into","","",106,[[],["result",4]]],[11,"type_id","","",106,[[],["typeid",3]]],[11,"from","","",238,[[]]],[11,"into","","",238,[[]]],[11,"into_iter","","",238,[[]]],[11,"to_owned","","",238,[[]]],[11,"clone_into","","",238,[[]]],[11,"borrow","","",238,[[]]],[11,"borrow_mut","","",238,[[]]],[11,"try_from","","",238,[[],["result",4]]],[11,"try_into","","",238,[[],["result",4]]],[11,"type_id","","",238,[[],["typeid",3]]],[11,"from","","",239,[[]]],[11,"into","","",239,[[]]],[11,"into_iter","","",239,[[]]],[11,"borrow","","",239,[[]]],[11,"borrow_mut","","",239,[[]]],[11,"try_from","","",239,[[],["result",4]]],[11,"try_into","","",239,[[],["result",4]]],[11,"type_id","","",239,[[],["typeid",3]]],[11,"from","","",240,[[]]],[11,"into","","",240,[[]]],[11,"into_iter","","",240,[[]]],[11,"to_owned","","",240,[[]]],[11,"clone_into","","",240,[[]]],[11,"borrow","","",240,[[]]],[11,"borrow_mut","","",240,[[]]],[11,"try_from","","",240,[[],["result",4]]],[11,"try_into","","",240,[[],["result",4]]],[11,"type_id","","",240,[[],["typeid",3]]],[11,"from","","",241,[[]]],[11,"into","","",241,[[]]],[11,"into_iter","","",241,[[]]],[11,"to_owned","","",241,[[]]],[11,"clone_into","","",241,[[]]],[11,"borrow","","",241,[[]]],[11,"borrow_mut","","",241,[[]]],[11,"try_from","","",241,[[],["result",4]]],[11,"try_into","","",241,[[],["result",4]]],[11,"type_id","","",241,[[],["typeid",3]]],[11,"from","","",242,[[]]],[11,"into","","",242,[[]]],[11,"into_iter","","",242,[[]]],[11,"to_owned","","",242,[[]]],[11,"clone_into","","",242,[[]]],[11,"borrow","","",242,[[]]],[11,"borrow_mut","","",242,[[]]],[11,"try_from","","",242,[[],["result",4]]],[11,"try_into","","",242,[[],["result",4]]],[11,"type_id","","",242,[[],["typeid",3]]],[11,"from","","",243,[[]]],[11,"into","","",243,[[]]],[11,"into_iter","","",243,[[]]],[11,"borrow","","",243,[[]]],[11,"borrow_mut","","",243,[[]]],[11,"try_from","","",243,[[],["result",4]]],[11,"try_into","","",243,[[],["result",4]]],[11,"type_id","","",243,[[],["typeid",3]]],[11,"span","","",107,[[],["span",3]]],[11,"from","","",107,[[]]],[11,"into","","",107,[[]]],[11,"to_owned","","",107,[[]]],[11,"clone_into","","",107,[[]]],[11,"borrow","","",107,[[]]],[11,"borrow_mut","","",107,[[]]],[11,"try_from","","",107,[[],["result",4]]],[11,"try_into","","",107,[[],["result",4]]],[11,"type_id","","",107,[[],["typeid",3]]],[11,"from","syn::parse","",244,[[]]],[11,"into","","",244,[[]]],[11,"borrow","","",244,[[]]],[11,"borrow_mut","","",244,[[]]],[11,"try_from","","",244,[[],["result",4]]],[11,"try_into","","",244,[[],["result",4]]],[11,"type_id","","",244,[[],["typeid",3]]],[11,"from","","",115,[[]]],[11,"into","","",115,[[]]],[11,"to_owned","","",115,[[]]],[11,"clone_into","","",115,[[]]],[11,"to_string","","",115,[[],["string",3]]],[11,"borrow","","",115,[[]]],[11,"borrow_mut","","",115,[[]]],[11,"try_from","","",115,[[],["result",4]]],[11,"try_into","","",115,[[],["result",4]]],[11,"type_id","","",115,[[],["typeid",3]]],[11,"from","","",113,[[]]],[11,"into","","",113,[[]]],[11,"to_string","","",113,[[],["string",3]]],[11,"borrow","","",113,[[]]],[11,"borrow_mut","","",113,[[]]],[11,"try_from","","",113,[[],["result",4]]],[11,"try_into","","",113,[[],["result",4]]],[11,"type_id","","",113,[[],["typeid",3]]],[11,"from","","",112,[[]]],[11,"into","","",112,[[]]],[11,"to_owned","","",112,[[]]],[11,"clone_into","","",112,[[]]],[11,"borrow","","",112,[[]]],[11,"borrow_mut","","",112,[[]]],[11,"try_from","","",112,[[],["result",4]]],[11,"try_into","","",112,[[],["result",4]]],[11,"type_id","","",112,[[],["typeid",3]]],[11,"from","","",245,[[]]],[11,"into","","",245,[[]]],[11,"borrow","","",245,[[]]],[11,"borrow_mut","","",245,[[]]],[11,"try_from","","",245,[[],["result",4]]],[11,"try_into","","",245,[[],["result",4]]],[11,"type_id","","",245,[[],["typeid",3]]],[11,"fmt","syn","",198,[[["formatter",3]],[["result",4],["error",3]]]],[11,"partial_cmp","","",198,[[["ident",3]],[["ordering",4],["option",4]]]],[11,"hash","","",198,[[]]],[11,"clone","","",198,[[],["ident",3]]],[11,"cmp","","",198,[[["ident",3]],["ordering",4]]],[11,"eq","","",198,[[]]],[11,"eq","","",198,[[["ident",3]]]],[11,"fmt","","",198,[[["formatter",3]],[["result",4],["error",3]]]],[11,"span","","",198,[[],[["option",4],["span",3]]]],[11,"fmt","","",198,[[["formatter",3]],[["result",4],["error",3]]]],[11,"to_tokens","","",198,[[["tokenstream",3]]]],[11,"peek","","",157,[[["cursor",3]]]],[11,"display","","",157,[[]]],[11,"peek","","",158,[[["cursor",3]]]],[11,"display","","",158,[[]]],[11,"peek","","",232,[[["cursor",3]]]],[11,"display","","",232,[[]]],[11,"peek","","",233,[[["cursor",3]]]],[11,"display","","",233,[[]]],[11,"peek","","",234,[[["cursor",3]]]],[11,"display","","",234,[[]]],[11,"peek","","",235,[[["cursor",3]]]],[11,"display","","",235,[[]]],[11,"peek","","",236,[[["cursor",3]]]],[11,"display","","",236,[[]]],[11,"peek","","",237,[[["cursor",3]]]],[11,"display","","",237,[[]]],[11,"peek","","",159,[[["cursor",3]]]],[11,"display","","",159,[[]]],[11,"peek","syn::token","",0,[[["cursor",3]]]],[11,"display","","",0,[[]]],[11,"peek","","",101,[[["cursor",3]]]],[11,"display","","",101,[[]]],[11,"peek","","",99,[[["cursor",3]]]],[11,"display","","",99,[[]]],[11,"peek","","",100,[[["cursor",3]]]],[11,"display","","",100,[[]]],[11,"peek","","",102,[[["cursor",3]]]],[11,"display","","",102,[[]]],[11,"peek","","",1,[[["cursor",3]]]],[11,"display","","",1,[[]]],[11,"peek","","",2,[[["cursor",3]]]],[11,"display","","",2,[[]]],[11,"peek","","",3,[[["cursor",3]]]],[11,"display","","",3,[[]]],[11,"peek","","",4,[[["cursor",3]]]],[11,"display","","",4,[[]]],[11,"peek","","",5,[[["cursor",3]]]],[11,"display","","",5,[[]]],[11,"peek","","",6,[[["cursor",3]]]],[11,"display","","",6,[[]]],[11,"peek","","",7,[[["cursor",3]]]],[11,"display","","",7,[[]]],[11,"peek","","",8,[[["cursor",3]]]],[11,"display","","",8,[[]]],[11,"peek","","",9,[[["cursor",3]]]],[11,"display","","",9,[[]]],[11,"peek","","",10,[[["cursor",3]]]],[11,"display","","",10,[[]]],[11,"peek","","",11,[[["cursor",3]]]],[11,"display","","",11,[[]]],[11,"peek","","",12,[[["cursor",3]]]],[11,"display","","",12,[[]]],[11,"peek","","",13,[[["cursor",3]]]],[11,"display","","",13,[[]]],[11,"peek","","",14,[[["cursor",3]]]],[11,"display","","",14,[[]]],[11,"peek","","",15,[[["cursor",3]]]],[11,"display","","",15,[[]]],[11,"peek","","",16,[[["cursor",3]]]],[11,"display","","",16,[[]]],[11,"peek","","",17,[[["cursor",3]]]],[11,"display","","",17,[[]]],[11,"peek","","",18,[[["cursor",3]]]],[11,"display","","",18,[[]]],[11,"peek","","",19,[[["cursor",3]]]],[11,"display","","",19,[[]]],[11,"peek","","",20,[[["cursor",3]]]],[11,"display","","",20,[[]]],[11,"peek","","",21,[[["cursor",3]]]],[11,"display","","",21,[[]]],[11,"peek","","",22,[[["cursor",3]]]],[11,"display","","",22,[[]]],[11,"peek","","",23,[[["cursor",3]]]],[11,"display","","",23,[[]]],[11,"peek","","",24,[[["cursor",3]]]],[11,"display","","",24,[[]]],[11,"peek","","",25,[[["cursor",3]]]],[11,"display","","",25,[[]]],[11,"peek","","",26,[[["cursor",3]]]],[11,"display","","",26,[[]]],[11,"peek","","",27,[[["cursor",3]]]],[11,"display","","",27,[[]]],[11,"peek","","",28,[[["cursor",3]]]],[11,"display","","",28,[[]]],[11,"peek","","",29,[[["cursor",3]]]],[11,"display","","",29,[[]]],[11,"peek","","",30,[[["cursor",3]]]],[11,"display","","",30,[[]]],[11,"peek","","",31,[[["cursor",3]]]],[11,"display","","",31,[[]]],[11,"peek","","",32,[[["cursor",3]]]],[11,"display","","",32,[[]]],[11,"peek","","",33,[[["cursor",3]]]],[11,"display","","",33,[[]]],[11,"peek","","",34,[[["cursor",3]]]],[11,"display","","",34,[[]]],[11,"peek","","",35,[[["cursor",3]]]],[11,"display","","",35,[[]]],[11,"peek","","",36,[[["cursor",3]]]],[11,"display","","",36,[[]]],[11,"peek","","",37,[[["cursor",3]]]],[11,"display","","",37,[[]]],[11,"peek","","",38,[[["cursor",3]]]],[11,"display","","",38,[[]]],[11,"peek","","",39,[[["cursor",3]]]],[11,"display","","",39,[[]]],[11,"peek","","",40,[[["cursor",3]]]],[11,"display","","",40,[[]]],[11,"peek","","",41,[[["cursor",3]]]],[11,"display","","",41,[[]]],[11,"peek","","",42,[[["cursor",3]]]],[11,"display","","",42,[[]]],[11,"peek","","",43,[[["cursor",3]]]],[11,"display","","",43,[[]]],[11,"peek","","",44,[[["cursor",3]]]],[11,"display","","",44,[[]]],[11,"peek","","",45,[[["cursor",3]]]],[11,"display","","",45,[[]]],[11,"peek","","",46,[[["cursor",3]]]],[11,"display","","",46,[[]]],[11,"peek","","",47,[[["cursor",3]]]],[11,"display","","",47,[[]]],[11,"peek","","",48,[[["cursor",3]]]],[11,"display","","",48,[[]]],[11,"peek","","",49,[[["cursor",3]]]],[11,"display","","",49,[[]]],[11,"peek","","",50,[[["cursor",3]]]],[11,"display","","",50,[[]]],[11,"peek","","",51,[[["cursor",3]]]],[11,"display","","",51,[[]]],[11,"peek","","",52,[[["cursor",3]]]],[11,"display","","",52,[[]]],[11,"peek","","",53,[[["cursor",3]]]],[11,"display","","",53,[[]]],[11,"peek","","",54,[[["cursor",3]]]],[11,"display","","",54,[[]]],[11,"peek","","",55,[[["cursor",3]]]],[11,"display","","",55,[[]]],[11,"peek","","",56,[[["cursor",3]]]],[11,"display","","",56,[[]]],[11,"peek","","",57,[[["cursor",3]]]],[11,"display","","",57,[[]]],[11,"peek","","",58,[[["cursor",3]]]],[11,"display","","",58,[[]]],[11,"peek","","",59,[[["cursor",3]]]],[11,"display","","",59,[[]]],[11,"peek","","",60,[[["cursor",3]]]],[11,"display","","",60,[[]]],[11,"peek","","",61,[[["cursor",3]]]],[11,"display","","",61,[[]]],[11,"peek","","",62,[[["cursor",3]]]],[11,"display","","",62,[[]]],[11,"peek","","",63,[[["cursor",3]]]],[11,"display","","",63,[[]]],[11,"peek","","",64,[[["cursor",3]]]],[11,"display","","",64,[[]]],[11,"peek","","",65,[[["cursor",3]]]],[11,"display","","",65,[[]]],[11,"peek","","",66,[[["cursor",3]]]],[11,"display","","",66,[[]]],[11,"peek","","",67,[[["cursor",3]]]],[11,"display","","",67,[[]]],[11,"peek","","",68,[[["cursor",3]]]],[11,"display","","",68,[[]]],[11,"peek","","",69,[[["cursor",3]]]],[11,"display","","",69,[[]]],[11,"peek","","",70,[[["cursor",3]]]],[11,"display","","",70,[[]]],[11,"peek","","",71,[[["cursor",3]]]],[11,"display","","",71,[[]]],[11,"peek","","",72,[[["cursor",3]]]],[11,"display","","",72,[[]]],[11,"peek","","",73,[[["cursor",3]]]],[11,"display","","",73,[[]]],[11,"peek","","",74,[[["cursor",3]]]],[11,"display","","",74,[[]]],[11,"peek","","",75,[[["cursor",3]]]],[11,"display","","",75,[[]]],[11,"peek","","",76,[[["cursor",3]]]],[11,"display","","",76,[[]]],[11,"peek","","",77,[[["cursor",3]]]],[11,"display","","",77,[[]]],[11,"peek","","",78,[[["cursor",3]]]],[11,"display","","",78,[[]]],[11,"peek","","",79,[[["cursor",3]]]],[11,"display","","",79,[[]]],[11,"peek","","",80,[[["cursor",3]]]],[11,"display","","",80,[[]]],[11,"peek","","",81,[[["cursor",3]]]],[11,"display","","",81,[[]]],[11,"peek","","",82,[[["cursor",3]]]],[11,"display","","",82,[[]]],[11,"peek","","",83,[[["cursor",3]]]],[11,"display","","",83,[[]]],[11,"peek","","",84,[[["cursor",3]]]],[11,"display","","",84,[[]]],[11,"peek","","",85,[[["cursor",3]]]],[11,"display","","",85,[[]]],[11,"peek","","",86,[[["cursor",3]]]],[11,"display","","",86,[[]]],[11,"peek","","",87,[[["cursor",3]]]],[11,"display","","",87,[[]]],[11,"peek","","",88,[[["cursor",3]]]],[11,"display","","",88,[[]]],[11,"peek","","",89,[[["cursor",3]]]],[11,"display","","",89,[[]]],[11,"peek","","",90,[[["cursor",3]]]],[11,"display","","",90,[[]]],[11,"peek","","",91,[[["cursor",3]]]],[11,"display","","",91,[[]]],[11,"peek","","",92,[[["cursor",3]]]],[11,"display","","",92,[[]]],[11,"peek","","",93,[[["cursor",3]]]],[11,"display","","",93,[[]]],[11,"peek","","",94,[[["cursor",3]]]],[11,"display","","",94,[[]]],[11,"peek","","",95,[[["cursor",3]]]],[11,"display","","",95,[[]]],[11,"peek","","",96,[[["cursor",3]]]],[11,"display","","",96,[[]]],[11,"peek","","",97,[[["cursor",3]]]],[11,"display","","",97,[[]]],[11,"peek","","",98,[[["cursor",3]]]],[11,"display","","",98,[[]]],[11,"peek","syn","",198,[[["cursor",3]]]],[11,"display","","",198,[[]]],[11,"parse_any","","",198,[[["parsestream",6]],["result",6]]],[11,"unraw","","",198,[[],["ident",3]]],[11,"advance_to","syn::parse","",113,[[]]],[11,"parse","syn::token","",0,[[["parsestream",6]],["result",6]]],[11,"parse","","",1,[[["parsestream",6]],["result",6]]],[11,"parse","","",2,[[["parsestream",6]],["result",6]]],[11,"parse","","",3,[[["parsestream",6]],["result",6]]],[11,"parse","","",4,[[["parsestream",6]],["result",6]]],[11,"parse","","",5,[[["parsestream",6]],["result",6]]],[11,"parse","","",6,[[["parsestream",6]],["result",6]]],[11,"parse","","",7,[[["parsestream",6]],["result",6]]],[11,"parse","","",8,[[["parsestream",6]],["result",6]]],[11,"parse","","",9,[[["parsestream",6]],["result",6]]],[11,"parse","","",10,[[["parsestream",6]],["result",6]]],[11,"parse","","",11,[[["parsestream",6]],["result",6]]],[11,"parse","","",12,[[["parsestream",6]],["result",6]]],[11,"parse","","",13,[[["parsestream",6]],["result",6]]],[11,"parse","","",14,[[["parsestream",6]],["result",6]]],[11,"parse","","",15,[[["parsestream",6]],["result",6]]],[11,"parse","","",16,[[["parsestream",6]],["result",6]]],[11,"parse","","",17,[[["parsestream",6]],["result",6]]],[11,"parse","","",18,[[["parsestream",6]],["result",6]]],[11,"parse","","",19,[[["parsestream",6]],["result",6]]],[11,"parse","","",20,[[["parsestream",6]],["result",6]]],[11,"parse","","",21,[[["parsestream",6]],["result",6]]],[11,"parse","","",22,[[["parsestream",6]],["result",6]]],[11,"parse","","",23,[[["parsestream",6]],["result",6]]],[11,"parse","","",24,[[["parsestream",6]],["result",6]]],[11,"parse","","",25,[[["parsestream",6]],["result",6]]],[11,"parse","","",26,[[["parsestream",6]],["result",6]]],[11,"parse","","",27,[[["parsestream",6]],["result",6]]],[11,"parse","","",28,[[["parsestream",6]],["result",6]]],[11,"parse","","",29,[[["parsestream",6]],["result",6]]],[11,"parse","","",30,[[["parsestream",6]],["result",6]]],[11,"parse","","",31,[[["parsestream",6]],["result",6]]],[11,"parse","","",32,[[["parsestream",6]],["result",6]]],[11,"parse","","",33,[[["parsestream",6]],["result",6]]],[11,"parse","","",34,[[["parsestream",6]],["result",6]]],[11,"parse","","",35,[[["parsestream",6]],["result",6]]],[11,"parse","","",36,[[["parsestream",6]],["result",6]]],[11,"parse","","",37,[[["parsestream",6]],["result",6]]],[11,"parse","","",38,[[["parsestream",6]],["result",6]]],[11,"parse","","",39,[[["parsestream",6]],["result",6]]],[11,"parse","","",40,[[["parsestream",6]],["result",6]]],[11,"parse","","",41,[[["parsestream",6]],["result",6]]],[11,"parse","","",42,[[["parsestream",6]],["result",6]]],[11,"parse","","",43,[[["parsestream",6]],["result",6]]],[11,"parse","","",44,[[["parsestream",6]],["result",6]]],[11,"parse","","",45,[[["parsestream",6]],["result",6]]],[11,"parse","","",46,[[["parsestream",6]],["result",6]]],[11,"parse","","",47,[[["parsestream",6]],["result",6]]],[11,"parse","","",48,[[["parsestream",6]],["result",6]]],[11,"parse","","",49,[[["parsestream",6]],["result",6]]],[11,"parse","","",50,[[["parsestream",6]],["result",6]]],[11,"parse","","",51,[[["parsestream",6]],["result",6]]],[11,"parse","","",52,[[["parsestream",6]],["result",6]]],[11,"parse","","",53,[[["parsestream",6]],["result",6]]],[11,"parse","","",54,[[["parsestream",6]],["result",6]]],[11,"parse","","",55,[[["parsestream",6]],["result",6]]],[11,"parse","","",56,[[["parsestream",6]],["result",6]]],[11,"parse","","",57,[[["parsestream",6]],["result",6]]],[11,"parse","","",58,[[["parsestream",6]],["result",6]]],[11,"parse","","",59,[[["parsestream",6]],["result",6]]],[11,"parse","","",60,[[["parsestream",6]],["result",6]]],[11,"parse","","",61,[[["parsestream",6]],["result",6]]],[11,"parse","","",62,[[["parsestream",6]],["result",6]]],[11,"parse","","",63,[[["parsestream",6]],["result",6]]],[11,"parse","","",64,[[["parsestream",6]],["result",6]]],[11,"parse","","",65,[[["parsestream",6]],["result",6]]],[11,"parse","","",66,[[["parsestream",6]],["result",6]]],[11,"parse","","",67,[[["parsestream",6]],["result",6]]],[11,"parse","","",68,[[["parsestream",6]],["result",6]]],[11,"parse","","",69,[[["parsestream",6]],["result",6]]],[11,"parse","","",70,[[["parsestream",6]],["result",6]]],[11,"parse","","",71,[[["parsestream",6]],["result",6]]],[11,"parse","","",72,[[["parsestream",6]],["result",6]]],[11,"parse","","",73,[[["parsestream",6]],["result",6]]],[11,"parse","","",74,[[["parsestream",6]],["result",6]]],[11,"parse","","",75,[[["parsestream",6]],["result",6]]],[11,"parse","","",76,[[["parsestream",6]],["result",6]]],[11,"parse","","",77,[[["parsestream",6]],["result",6]]],[11,"parse","","",78,[[["parsestream",6]],["result",6]]],[11,"parse","","",79,[[["parsestream",6]],["result",6]]],[11,"parse","","",80,[[["parsestream",6]],["result",6]]],[11,"parse","","",81,[[["parsestream",6]],["result",6]]],[11,"parse","","",82,[[["parsestream",6]],["result",6]]],[11,"parse","","",83,[[["parsestream",6]],["result",6]]],[11,"parse","","",84,[[["parsestream",6]],["result",6]]],[11,"parse","","",85,[[["parsestream",6]],["result",6]]],[11,"parse","","",86,[[["parsestream",6]],["result",6]]],[11,"parse","","",87,[[["parsestream",6]],["result",6]]],[11,"parse","","",88,[[["parsestream",6]],["result",6]]],[11,"parse","","",89,[[["parsestream",6]],["result",6]]],[11,"parse","","",90,[[["parsestream",6]],["result",6]]],[11,"parse","","",91,[[["parsestream",6]],["result",6]]],[11,"parse","","",92,[[["parsestream",6]],["result",6]]],[11,"parse","","",93,[[["parsestream",6]],["result",6]]],[11,"parse","","",94,[[["parsestream",6]],["result",6]]],[11,"parse","","",95,[[["parsestream",6]],["result",6]]],[11,"parse","","",96,[[["parsestream",6]],["result",6]]],[11,"parse","","",97,[[["parsestream",6]],["result",6]]],[11,"parse","","",98,[[["parsestream",6]],["result",6]]],[11,"parse","syn","",198,[[["parsestream",6]],["result",6]]],[11,"parse","","",118,[[["parsestream",6]],["result",6]]],[11,"parse","","",119,[[["parsestream",6]],["result",6]]],[11,"parse","","",120,[[["parsestream",6]],["result",6]]],[11,"parse","","",121,[[["parsestream",6]],["result",6]]],[11,"parse","","",126,[[["parsestream",6]],["result",6]]],[11,"parse","","",124,[[["parsestream",6]],["result",6]]],[11,"parse","","",125,[[["parsestream",6]],["result",6]]],[11,"parse","","",130,[[["parsestream",6]],["result",6]]],[11,"parse","","",131,[[["parsestream",6]],["result",6]]],[11,"parse","","",137,[[["parsestream",6]],["result",6]]],[11,"parse","","",139,[[["parsestream",6]],["result",6]]],[11,"parse","","",142,[[["parsestream",6]],["result",6]]],[11,"parse","","",141,[[["parsestream",6]],["result",6]]],[11,"parse","","",146,[[["parsestream",6]],["result",6]]],[11,"parse","","",145,[[["parsestream",6]],["result",6]]],[11,"parse","","",147,[[["parsestream",6]],["result",6]]],[11,"parse","","",143,[[["parsestream",6]],["result",6]]],[11,"parse","","",153,[[["parsestream",6]],["result",6]]],[11,"parse","","",154,[[["parsestream",6]],["result",6]]],[11,"parse","","",151,[[["parsestream",6]],["result",6]]],[11,"parse","","",152,[[["parsestream",6]],["result",6]]],[11,"parse","","",144,[[["parsestream",6]],["result",6]]],[11,"parse","","",155,[[["parsestream",6]],["result",6]]],[11,"parse","","",156,[[["parsestream",6]],["result",6]]],[11,"parse","","",157,[[["parsestream",6]],["result",6]]],[11,"parse","","",158,[[["parsestream",6]],["result",6]]],[11,"parse","","",232,[[["parsestream",6]],["result",6]]],[11,"parse","","",233,[[["parsestream",6]],["result",6]]],[11,"parse","","",234,[[["parsestream",6]],["result",6]]],[11,"parse","","",235,[[["parsestream",6]],["result",6]]],[11,"parse","","",236,[[["parsestream",6]],["result",6]]],[11,"parse","","",237,[[["parsestream",6]],["result",6]]],[11,"parse","","",159,[[["parsestream",6]],["result",6]]],[11,"parse","","",161,[[["parsestream",6]],["result",6]]],[11,"parse","","",167,[[["parsestream",6]],["result",6]]],[11,"parse","","",168,[[["parsestream",6]],["result",6]]],[11,"parse","","",169,[[["parsestream",6]],["result",6]]],[11,"parse","","",173,[[["parsestream",6]],["result",6]]],[11,"parse","","",185,[[["parsestream",6]],["result",6]]],[11,"parse","","",174,[[["parsestream",6]],["result",6]]],[11,"parse","","",183,[[["parsestream",6]],["result",6]]],[11,"parse","","",184,[[["parsestream",6]],["result",6]]],[11,"parse","","",175,[[["parsestream",6]],["result",6]]],[11,"parse","","",180,[[["parsestream",6]],["result",6]]],[11,"parse","","",178,[[["parsestream",6]],["result",6]]],[11,"parse","","",187,[[["parsestream",6]],["result",6]]],[11,"parse","","",179,[[["parsestream",6]],["result",6]]],[11,"parse","","",182,[[["parsestream",6]],["result",6]]],[11,"parse","","",172,[[["parsestream",6]],["result",6]]],[11,"parse","","",186,[[["parsestream",6]],["result",6]]],[11,"parse","","",177,[[["parsestream",6]],["result",6]]],[11,"parse","","",176,[[["parsestream",6]],["result",6]]],[11,"parse","","",181,[[["parsestream",6]],["result",6]]],[11,"parse","","",171,[[["parsestream",6]],["result",6]]],[11,"parse","","",170,[[["parsestream",6]],["result",6]]],[11,"parse","","",194,[[["parsestream",6]],["result",6]]],[11,"parse","","",192,[[["parsestream",6]],["result",6]]],[11,"parse","","",189,[[["parsestream",6]],["result",6]]],[11,"parse","","",193,[[["parsestream",6]],["result",6]]],[11,"parse","","",196,[[["parsestream",6]],["result",6]]],[11,"parse","","",190,[[["parsestream",6]],["result",6]]],[11,"parse","syn::parse","",245,[[["parsestream",6]],["result",6]]],[11,"drop","","",113,[[]]],[11,"from","syn","",198,[[["selfvalue",3]],["ident",3]]],[11,"from","","",198,[[["selftype",3]],["ident",3]]],[11,"from","","",198,[[["super",3]],["ident",3]]],[11,"from","","",198,[[["crate",3]],["ident",3]]],[11,"from","","",198,[[["extern",3]],["ident",3]]],[11,"from","","",198,[[["underscore",3]],["ident",3]]],[11,"from","","",118,[[["path",3]],["meta",4]]],[11,"from","","",118,[[["metalist",3]],["meta",4]]],[11,"from","","",118,[[["metanamevalue",3]],["meta",4]]],[11,"from","","",121,[[["meta",4]],["nestedmeta",4]]],[11,"from","","",121,[[["lit",4]],["nestedmeta",4]]],[11,"from","","",123,[[["fieldsnamed",3]],["fields",4]]],[11,"from","","",123,[[["fieldsunnamed",3]],["fields",4]]],[11,"from","","",130,[[["vispublic",3]],["visibility",4]]],[11,"from","","",130,[[["viscrate",3]],["visibility",4]]],[11,"from","","",130,[[["visrestricted",3]],["visibility",4]]],[11,"from","","",131,[[["exprarray",3]],["expr",4]]],[11,"from","","",131,[[["exprassign",3]],["expr",4]]],[11,"from","","",131,[[["exprassignop",3]],["expr",4]]],[11,"from","","",131,[[["exprasync",3]],["expr",4]]],[11,"from","","",131,[[["exprawait",3]],["expr",4]]],[11,"from","","",131,[[["exprbinary",3]],["expr",4]]],[11,"from","","",131,[[["exprblock",3]],["expr",4]]],[11,"from","","",131,[[["exprbox",3]],["expr",4]]],[11,"from","","",131,[[["exprbreak",3]],["expr",4]]],[11,"from","","",131,[[["exprcall",3]],["expr",4]]],[11,"from","","",131,[[["exprcast",3]],["expr",4]]],[11,"from","","",131,[[["exprclosure",3]],["expr",4]]],[11,"from","","",131,[[["exprcontinue",3]],["expr",4]]],[11,"from","","",131,[[["exprfield",3]],["expr",4]]],[11,"from","","",131,[[["exprforloop",3]],["expr",4]]],[11,"from","","",131,[[["exprgroup",3]],["expr",4]]],[11,"from","","",131,[[["exprif",3]],["expr",4]]],[11,"from","","",131,[[["exprindex",3]],["expr",4]]],[11,"from","","",131,[[["exprlet",3]],["expr",4]]],[11,"from","","",131,[[["exprlit",3]],["expr",4]]],[11,"from","","",131,[[["exprloop",3]],["expr",4]]],[11,"from","","",131,[[["exprmacro",3]],["expr",4]]],[11,"from","","",131,[[["exprmatch",3]],["expr",4]]],[11,"from","","",131,[[["exprmethodcall",3]],["expr",4]]],[11,"from","","",131,[[["exprparen",3]],["expr",4]]],[11,"from","","",131,[[["exprpath",3]],["expr",4]]],[11,"from","","",131,[[["exprrange",3]],["expr",4]]],[11,"from","","",131,[[["exprreference",3]],["expr",4]]],[11,"from","","",131,[[["exprrepeat",3]],["expr",4]]],[11,"from","","",131,[[["exprreturn",3]],["expr",4]]],[11,"from","","",131,[[["exprstruct",3]],["expr",4]]],[11,"from","","",131,[[["exprtry",3]],["expr",4]]],[11,"from","","",131,[[["exprtryblock",3]],["expr",4]]],[11,"from","","",131,[[["exprtuple",3]],["expr",4]]],[11,"from","","",131,[[["exprtype",3]],["expr",4]]],[11,"from","","",131,[[["exprunary",3]],["expr",4]]],[11,"from","","",131,[[["exprunsafe",3]],["expr",4]]],[11,"from","","",131,[[["exprwhile",3]],["expr",4]]],[11,"from","","",131,[[["expryield",3]],["expr",4]]],[11,"from","","",141,[[],["index",3]]],[11,"from","","",145,[[["typeparam",3]],["genericparam",4]]],[11,"from","","",145,[[["lifetimedef",3]],["genericparam",4]]],[11,"from","","",145,[[["constparam",3]],["genericparam",4]]],[11,"from","","",153,[[["ident",3]]]],[11,"from","","",154,[[["traitbound",3]],["typeparambound",4]]],[11,"from","","",154,[[["lifetime",3]],["typeparambound",4]]],[11,"from","","",156,[[["predicatetype",3]],["wherepredicate",4]]],[11,"from","","",156,[[["predicatelifetime",3]],["wherepredicate",4]]],[11,"from","","",156,[[["predicateeq",3]],["wherepredicate",4]]],[11,"from","","",158,[[["litstr",3]],["lit",4]]],[11,"from","","",158,[[["litbytestr",3]],["lit",4]]],[11,"from","","",158,[[["litbyte",3]],["lit",4]]],[11,"from","","",158,[[["litchar",3]],["lit",4]]],[11,"from","","",158,[[["litint",3]],["lit",4]]],[11,"from","","",158,[[["litfloat",3]],["lit",4]]],[11,"from","","",158,[[["litbool",3]],["lit",4]]],[11,"from","","",236,[[["literal",3]]]],[11,"from","","",237,[[["literal",3]]]],[11,"from","","",163,[[["datastruct",3]],["data",4]]],[11,"from","","",163,[[["dataenum",3]],["data",4]]],[11,"from","","",163,[[["dataunion",3]],["data",4]]],[11,"from","","",173,[[["typearray",3]],["type",4]]],[11,"from","","",173,[[["typebarefn",3]],["type",4]]],[11,"from","","",173,[[["typegroup",3]],["type",4]]],[11,"from","","",173,[[["typeimpltrait",3]],["type",4]]],[11,"from","","",173,[[["typeinfer",3]],["type",4]]],[11,"from","","",173,[[["typemacro",3]],["type",4]]],[11,"from","","",173,[[["typenever",3]],["type",4]]],[11,"from","","",173,[[["typeparen",3]],["type",4]]],[11,"from","","",173,[[["typepath",3]],["type",4]]],[11,"from","","",173,[[["typeptr",3]],["type",4]]],[11,"from","","",173,[[["typereference",3]],["type",4]]],[11,"from","","",173,[[["typeslice",3]],["type",4]]],[11,"from","","",173,[[["typetraitobject",3]],["type",4]]],[11,"from","","",173,[[["typetuple",3]],["type",4]]],[11,"from","","",194,[[]]],[11,"from","","",196,[[]]],[11,"from","syn::parse","",115,[[["lexerror",3]]]],[11,"next_back","syn::punctuated","",238,[[],["option",4]]],[11,"next_back","","",239,[[],["option",4]]],[11,"next_back","","",240,[[],["option",4]]],[11,"next_back","","",241,[[],["option",4]]],[11,"next_back","","",242,[[],["option",4]]],[11,"next_back","","",243,[[],["option",4]]],[11,"len","","",238,[[]]],[11,"len","","",239,[[]]],[11,"len","","",240,[[]]],[11,"len","","",241,[[]]],[11,"len","","",242,[[]]],[11,"len","","",243,[[]]],[11,"extend","","",106,[[["intoiterator",8]]]],[11,"extend","","",106,[[["intoiterator",8]]]],[11,"extend","syn::parse","",115,[[["intoiterator",8]]]],[11,"into_iter","syn","",123,[[]]],[11,"into_iter","syn::punctuated","",106,[[]]],[11,"into_iter","syn::parse","",115,[[]]],[11,"next","syn::punctuated","",238,[[],["option",4]]],[11,"size_hint","","",238,[[]]],[11,"next","","",239,[[],["option",4]]],[11,"size_hint","","",239,[[]]],[11,"next","","",240,[[],["option",4]]],[11,"size_hint","","",240,[[]]],[11,"next","","",241,[[],["option",4]]],[11,"size_hint","","",241,[[]]],[11,"next","","",242,[[],["option",4]]],[11,"size_hint","","",242,[[]]],[11,"next","","",243,[[],["option",4]]],[11,"size_hint","","",243,[[]]],[11,"clone","syn::token","",0,[[]]],[11,"clone","","",1,[[]]],[11,"clone","","",2,[[]]],[11,"clone","","",3,[[]]],[11,"clone","","",4,[[]]],[11,"clone","","",5,[[]]],[11,"clone","","",6,[[]]],[11,"clone","","",7,[[]]],[11,"clone","","",8,[[]]],[11,"clone","","",9,[[]]],[11,"clone","","",10,[[]]],[11,"clone","","",11,[[]]],[11,"clone","","",12,[[]]],[11,"clone","","",13,[[]]],[11,"clone","","",14,[[]]],[11,"clone","","",15,[[]]],[11,"clone","","",16,[[]]],[11,"clone","","",17,[[]]],[11,"clone","","",18,[[]]],[11,"clone","","",19,[[]]],[11,"clone","","",20,[[]]],[11,"clone","","",21,[[]]],[11,"clone","","",22,[[]]],[11,"clone","","",23,[[]]],[11,"clone","","",24,[[]]],[11,"clone","","",25,[[]]],[11,"clone","","",26,[[]]],[11,"clone","","",27,[[]]],[11,"clone","","",28,[[]]],[11,"clone","","",29,[[]]],[11,"clone","","",30,[[]]],[11,"clone","","",31,[[]]],[11,"clone","","",32,[[]]],[11,"clone","","",33,[[]]],[11,"clone","","",34,[[]]],[11,"clone","","",35,[[]]],[11,"clone","","",36,[[]]],[11,"clone","","",37,[[]]],[11,"clone","","",38,[[]]],[11,"clone","","",39,[[]]],[11,"clone","","",40,[[]]],[11,"clone","","",41,[[]]],[11,"clone","","",42,[[]]],[11,"clone","","",43,[[]]],[11,"clone","","",44,[[]]],[11,"clone","","",45,[[]]],[11,"clone","","",46,[[]]],[11,"clone","","",47,[[]]],[11,"clone","","",48,[[]]],[11,"clone","","",49,[[]]],[11,"clone","","",50,[[]]],[11,"clone","","",51,[[]]],[11,"clone","","",52,[[]]],[11,"clone","","",53,[[]]],[11,"clone","","",54,[[]]],[11,"clone","","",55,[[]]],[11,"clone","","",56,[[]]],[11,"clone","","",57,[[]]],[11,"clone","","",58,[[]]],[11,"clone","","",59,[[]]],[11,"clone","","",60,[[]]],[11,"clone","","",61,[[]]],[11,"clone","","",62,[[]]],[11,"clone","","",63,[[]]],[11,"clone","","",64,[[]]],[11,"clone","","",65,[[]]],[11,"clone","","",66,[[]]],[11,"clone","","",67,[[]]],[11,"clone","","",68,[[]]],[11,"clone","","",69,[[]]],[11,"clone","","",70,[[]]],[11,"clone","","",71,[[]]],[11,"clone","","",72,[[]]],[11,"clone","","",73,[[]]],[11,"clone","","",74,[[]]],[11,"clone","","",75,[[]]],[11,"clone","","",76,[[]]],[11,"clone","","",77,[[]]],[11,"clone","","",78,[[]]],[11,"clone","","",79,[[]]],[11,"clone","","",80,[[]]],[11,"clone","","",81,[[]]],[11,"clone","","",82,[[]]],[11,"clone","","",83,[[]]],[11,"clone","","",84,[[]]],[11,"clone","","",85,[[]]],[11,"clone","","",86,[[]]],[11,"clone","","",87,[[]]],[11,"clone","","",88,[[]]],[11,"clone","","",89,[[]]],[11,"clone","","",90,[[]]],[11,"clone","","",91,[[]]],[11,"clone","","",92,[[]]],[11,"clone","","",93,[[]]],[11,"clone","","",94,[[]]],[11,"clone","","",95,[[]]],[11,"clone","","",96,[[]]],[11,"clone","","",97,[[]]],[11,"clone","","",98,[[]]],[11,"clone","","",99,[[]]],[11,"clone","","",100,[[]]],[11,"clone","","",101,[[]]],[11,"clone","","",102,[[]]],[11,"clone","syn","",229,[[]]],[11,"clone","","",230,[[]]],[11,"clone","","",231,[[]]],[11,"clone","","",157,[[]]],[11,"clone","","",232,[[]]],[11,"clone","","",233,[[]]],[11,"clone","","",234,[[]]],[11,"clone","","",235,[[]]],[11,"clone","","",236,[[]]],[11,"clone","","",237,[[]]],[11,"clone","syn::buffer","",104,[[]]],[11,"clone","syn::punctuated","",106,[[]]],[11,"clone","","",238,[[]]],[11,"clone","","",240,[[]]],[11,"clone","","",241,[[]]],[11,"clone","","",242,[[]]],[11,"clone","","",107,[[]]],[11,"clone","syn","",170,[[]]],[11,"clone","","",189,[[]]],[11,"clone","","",116,[[]]],[11,"clone","","",117,[[]]],[11,"clone","","",171,[[]]],[11,"clone","","",168,[[]]],[11,"clone","","",190,[[]]],[11,"clone","","",143,[[]]],[11,"clone","","",144,[[]]],[11,"clone","","",191,[[]]],[11,"clone","","",163,[[]]],[11,"clone","","",164,[[]]],[11,"clone","","",165,[[]]],[11,"clone","","",166,[[]]],[11,"clone","","",167,[[]]],[11,"clone","","",131,[[]]],[11,"clone","","",132,[[]]],[11,"clone","","",133,[[]]],[11,"clone","","",134,[[]]],[11,"clone","","",135,[[]]],[11,"clone","","",136,[[]]],[11,"clone","","",137,[[]]],[11,"clone","","",138,[[]]],[11,"clone","","",139,[[]]],[11,"clone","","",140,[[]]],[11,"clone","","",122,[[]]],[11,"clone","","",123,[[]]],[11,"clone","","",124,[[]]],[11,"clone","","",125,[[]]],[11,"clone","","",192,[[]]],[11,"clone","","",145,[[]]],[11,"clone","","",146,[[]]],[11,"clone","","",141,[[]]],[11,"clone","","",147,[[]]],[11,"clone","","",158,[[]]],[11,"clone","","",159,[[]]],[11,"clone","","",161,[[]]],[11,"clone","","",162,[[]]],[11,"clone","","",142,[[]]],[11,"clone","","",118,[[]]],[11,"clone","","",119,[[]]],[11,"clone","","",120,[[]]],[11,"clone","","",121,[[]]],[11,"clone","","",193,[[]]],[11,"clone","","",194,[[]]],[11,"clone","","",195,[[]]],[11,"clone","","",196,[[]]],[11,"clone","","",148,[[]]],[11,"clone","","",149,[[]]],[11,"clone","","",150,[[]]],[11,"clone","","",197,[[]]],[11,"clone","","",172,[[]]],[11,"clone","","",151,[[]]],[11,"clone","","",152,[[]]],[11,"clone","","",173,[[]]],[11,"clone","","",174,[[]]],[11,"clone","","",175,[[]]],[11,"clone","","",176,[[]]],[11,"clone","","",177,[[]]],[11,"clone","","",178,[[]]],[11,"clone","","",179,[[]]],[11,"clone","","",180,[[]]],[11,"clone","","",153,[[]]],[11,"clone","","",154,[[]]],[11,"clone","","",181,[[]]],[11,"clone","","",182,[[]]],[11,"clone","","",183,[[]]],[11,"clone","","",184,[[]]],[11,"clone","","",185,[[]]],[11,"clone","","",186,[[]]],[11,"clone","","",187,[[]]],[11,"clone","","",169,[[]]],[11,"clone","","",188,[[]]],[11,"clone","","",126,[[]]],[11,"clone","","",127,[[]]],[11,"clone","","",128,[[]]],[11,"clone","","",129,[[]]],[11,"clone","","",130,[[]]],[11,"clone","","",155,[[]]],[11,"clone","","",156,[[]]],[11,"clone","syn::parse","",112,[[]]],[11,"clone","","",115,[[]]],[11,"default","syn::token","",0,[[]]],[11,"default","","",1,[[]]],[11,"default","","",2,[[]]],[11,"default","","",3,[[]]],[11,"default","","",4,[[]]],[11,"default","","",5,[[]]],[11,"default","","",6,[[]]],[11,"default","","",7,[[]]],[11,"default","","",8,[[]]],[11,"default","","",9,[[]]],[11,"default","","",10,[[]]],[11,"default","","",11,[[]]],[11,"default","","",12,[[]]],[11,"default","","",13,[[]]],[11,"default","","",14,[[]]],[11,"default","","",15,[[]]],[11,"default","","",16,[[]]],[11,"default","","",17,[[]]],[11,"default","","",18,[[]]],[11,"default","","",19,[[]]],[11,"default","","",20,[[]]],[11,"default","","",21,[[]]],[11,"default","","",22,[[]]],[11,"default","","",23,[[]]],[11,"default","","",24,[[]]],[11,"default","","",25,[[]]],[11,"default","","",26,[[]]],[11,"default","","",27,[[]]],[11,"default","","",28,[[]]],[11,"default","","",29,[[]]],[11,"default","","",30,[[]]],[11,"default","","",31,[[]]],[11,"default","","",32,[[]]],[11,"default","","",33,[[]]],[11,"default","","",34,[[]]],[11,"default","","",35,[[]]],[11,"default","","",36,[[]]],[11,"default","","",37,[[]]],[11,"default","","",38,[[]]],[11,"default","","",39,[[]]],[11,"default","","",40,[[]]],[11,"default","","",41,[[]]],[11,"default","","",42,[[]]],[11,"default","","",43,[[]]],[11,"default","","",44,[[]]],[11,"default","","",45,[[]]],[11,"default","","",46,[[]]],[11,"default","","",47,[[]]],[11,"default","","",48,[[]]],[11,"default","","",49,[[]]],[11,"default","","",50,[[]]],[11,"default","","",51,[[]]],[11,"default","","",52,[[]]],[11,"default","","",53,[[]]],[11,"default","","",54,[[]]],[11,"default","","",55,[[]]],[11,"default","","",56,[[]]],[11,"default","","",57,[[]]],[11,"default","","",58,[[]]],[11,"default","","",59,[[]]],[11,"default","","",60,[[]]],[11,"default","","",61,[[]]],[11,"default","","",62,[[]]],[11,"default","","",63,[[]]],[11,"default","","",64,[[]]],[11,"default","","",65,[[]]],[11,"default","","",66,[[]]],[11,"default","","",67,[[]]],[11,"default","","",68,[[]]],[11,"default","","",69,[[]]],[11,"default","","",70,[[]]],[11,"default","","",71,[[]]],[11,"default","","",72,[[]]],[11,"default","","",73,[[]]],[11,"default","","",74,[[]]],[11,"default","","",75,[[]]],[11,"default","","",76,[[]]],[11,"default","","",77,[[]]],[11,"default","","",78,[[]]],[11,"default","","",79,[[]]],[11,"default","","",80,[[]]],[11,"default","","",81,[[]]],[11,"default","","",82,[[]]],[11,"default","","",83,[[]]],[11,"default","","",84,[[]]],[11,"default","","",85,[[]]],[11,"default","","",86,[[]]],[11,"default","","",87,[[]]],[11,"default","","",88,[[]]],[11,"default","","",89,[[]]],[11,"default","","",90,[[]]],[11,"default","","",91,[[]]],[11,"default","","",92,[[]]],[11,"default","","",93,[[]]],[11,"default","","",94,[[]]],[11,"default","","",95,[[]]],[11,"default","","",96,[[]]],[11,"default","","",97,[[]]],[11,"default","","",98,[[]]],[11,"default","","",99,[[]]],[11,"default","","",100,[[]]],[11,"default","","",101,[[]]],[11,"default","","",102,[[]]],[11,"default","syn","",146,[[]]],[11,"default","","",143,[[]]],[11,"default","","",195,[[]]],[11,"default","syn::punctuated","",106,[[]]],[11,"cmp","syn","",157,[[["lifetime",3]],["ordering",4]]],[11,"eq","syn::token","",0,[[["underscore",3]]]],[11,"eq","","",1,[[["abstract",3]]]],[11,"eq","","",2,[[["as",3]]]],[11,"eq","","",3,[[["async",3]]]],[11,"eq","","",4,[[["auto",3]]]],[11,"eq","","",5,[[["await",3]]]],[11,"eq","","",6,[[["become",3]]]],[11,"eq","","",7,[[["box",3]]]],[11,"eq","","",8,[[["break",3]]]],[11,"eq","","",9,[[["const",3]]]],[11,"eq","","",10,[[["continue",3]]]],[11,"eq","","",11,[[["crate",3]]]],[11,"eq","","",12,[[["default",3]]]],[11,"eq","","",13,[[["do",3]]]],[11,"eq","","",14,[[["dyn",3]]]],[11,"eq","","",15,[[["else",3]]]],[11,"eq","","",16,[[["enum",3]]]],[11,"eq","","",17,[[["extern",3]]]],[11,"eq","","",18,[[["final",3]]]],[11,"eq","","",19,[[["fn",3]]]],[11,"eq","","",20,[[["for",3]]]],[11,"eq","","",21,[[["if",3]]]],[11,"eq","","",22,[[["impl",3]]]],[11,"eq","","",23,[[["in",3]]]],[11,"eq","","",24,[[["let",3]]]],[11,"eq","","",25,[[["loop",3]]]],[11,"eq","","",26,[[["macro",3]]]],[11,"eq","","",27,[[["match",3]]]],[11,"eq","","",28,[[["mod",3]]]],[11,"eq","","",29,[[["move",3]]]],[11,"eq","","",30,[[["mut",3]]]],[11,"eq","","",31,[[["override",3]]]],[11,"eq","","",32,[[["priv",3]]]],[11,"eq","","",33,[[["pub",3]]]],[11,"eq","","",34,[[["ref",3]]]],[11,"eq","","",35,[[["return",3]]]],[11,"eq","","",36,[[["selftype",3]]]],[11,"eq","","",37,[[["selfvalue",3]]]],[11,"eq","","",38,[[["static",3]]]],[11,"eq","","",39,[[["struct",3]]]],[11,"eq","","",40,[[["super",3]]]],[11,"eq","","",41,[[["trait",3]]]],[11,"eq","","",42,[[["try",3]]]],[11,"eq","","",43,[[["type",3]]]],[11,"eq","","",44,[[["typeof",3]]]],[11,"eq","","",45,[[["union",3]]]],[11,"eq","","",46,[[["unsafe",3]]]],[11,"eq","","",47,[[["unsized",3]]]],[11,"eq","","",48,[[["use",3]]]],[11,"eq","","",49,[[["virtual",3]]]],[11,"eq","","",50,[[["where",3]]]],[11,"eq","","",51,[[["while",3]]]],[11,"eq","","",52,[[["yield",3]]]],[11,"eq","","",53,[[["add",3]]]],[11,"eq","","",54,[[["addeq",3]]]],[11,"eq","","",55,[[["and",3]]]],[11,"eq","","",56,[[["andand",3]]]],[11,"eq","","",57,[[["andeq",3]]]],[11,"eq","","",58,[[["at",3]]]],[11,"eq","","",59,[[["bang",3]]]],[11,"eq","","",60,[[["caret",3]]]],[11,"eq","","",61,[[["careteq",3]]]],[11,"eq","","",62,[[["colon",3]]]],[11,"eq","","",63,[[["colon2",3]]]],[11,"eq","","",64,[[["comma",3]]]],[11,"eq","","",65,[[["div",3]]]],[11,"eq","","",66,[[["diveq",3]]]],[11,"eq","","",67,[[["dollar",3]]]],[11,"eq","","",68,[[["dot",3]]]],[11,"eq","","",69,[[["dot2",3]]]],[11,"eq","","",70,[[["dot3",3]]]],[11,"eq","","",71,[[["dotdoteq",3]]]],[11,"eq","","",72,[[["eq",3]]]],[11,"eq","","",73,[[["eqeq",3]]]],[11,"eq","","",74,[[["ge",3]]]],[11,"eq","","",75,[[["gt",3]]]],[11,"eq","","",76,[[["le",3]]]],[11,"eq","","",77,[[["lt",3]]]],[11,"eq","","",78,[[["muleq",3]]]],[11,"eq","","",79,[[["ne",3]]]],[11,"eq","","",80,[[["or",3]]]],[11,"eq","","",81,[[["oreq",3]]]],[11,"eq","","",82,[[["oror",3]]]],[11,"eq","","",83,[[["pound",3]]]],[11,"eq","","",84,[[["question",3]]]],[11,"eq","","",85,[[["rarrow",3]]]],[11,"eq","","",86,[[["larrow",3]]]],[11,"eq","","",87,[[["rem",3]]]],[11,"eq","","",88,[[["remeq",3]]]],[11,"eq","","",89,[[["fatarrow",3]]]],[11,"eq","","",90,[[["semi",3]]]],[11,"eq","","",91,[[["shl",3]]]],[11,"eq","","",92,[[["shleq",3]]]],[11,"eq","","",93,[[["shr",3]]]],[11,"eq","","",94,[[["shreq",3]]]],[11,"eq","","",95,[[["star",3]]]],[11,"eq","","",96,[[["sub",3]]]],[11,"eq","","",97,[[["subeq",3]]]],[11,"eq","","",98,[[["tilde",3]]]],[11,"eq","","",99,[[["brace",3]]]],[11,"eq","","",100,[[["bracket",3]]]],[11,"eq","","",101,[[["paren",3]]]],[11,"eq","","",102,[[["group",3]]]],[11,"eq","syn","",142,[[]]],[11,"eq","","",141,[[]]],[11,"eq","","",229,[[]]],[11,"eq","","",230,[[]]],[11,"eq","","",231,[[]]],[11,"eq","","",157,[[["lifetime",3]]]],[11,"eq","","",232,[[]]],[11,"eq","","",233,[[]]],[11,"eq","","",234,[[]]],[11,"eq","","",235,[[]]],[11,"eq","","",236,[[]]],[11,"eq","","",237,[[]]],[11,"eq","syn::buffer","",104,[[]]],[11,"eq","syn::punctuated","",106,[[]]],[11,"eq","syn","",170,[[]]],[11,"eq","","",189,[[]]],[11,"eq","","",116,[[]]],[11,"eq","","",117,[[]]],[11,"eq","","",171,[[]]],[11,"eq","","",168,[[]]],[11,"eq","","",190,[[]]],[11,"eq","","",143,[[]]],[11,"eq","","",144,[[]]],[11,"eq","","",191,[[]]],[11,"eq","","",163,[[]]],[11,"eq","","",164,[[]]],[11,"eq","","",165,[[]]],[11,"eq","","",166,[[]]],[11,"eq","","",167,[[]]],[11,"eq","","",131,[[]]],[11,"eq","","",132,[[]]],[11,"eq","","",133,[[]]],[11,"eq","","",134,[[]]],[11,"eq","","",135,[[]]],[11,"eq","","",136,[[]]],[11,"eq","","",137,[[]]],[11,"eq","","",138,[[]]],[11,"eq","","",139,[[]]],[11,"eq","","",140,[[]]],[11,"eq","","",122,[[]]],[11,"eq","","",123,[[]]],[11,"eq","","",124,[[]]],[11,"eq","","",125,[[]]],[11,"eq","","",192,[[]]],[11,"eq","","",145,[[]]],[11,"eq","","",146,[[]]],[11,"eq","","",147,[[]]],[11,"eq","","",158,[[]]],[11,"eq","","",159,[[]]],[11,"eq","","",161,[[]]],[11,"eq","","",162,[[]]],[11,"eq","","",118,[[]]],[11,"eq","","",119,[[]]],[11,"eq","","",120,[[]]],[11,"eq","","",121,[[]]],[11,"eq","","",193,[[]]],[11,"eq","","",194,[[]]],[11,"eq","","",195,[[]]],[11,"eq","","",196,[[]]],[11,"eq","","",148,[[]]],[11,"eq","","",149,[[]]],[11,"eq","","",150,[[]]],[11,"eq","","",197,[[]]],[11,"eq","","",172,[[]]],[11,"eq","","",151,[[]]],[11,"eq","","",152,[[]]],[11,"eq","","",173,[[]]],[11,"eq","","",174,[[]]],[11,"eq","","",175,[[]]],[11,"eq","","",176,[[]]],[11,"eq","","",177,[[]]],[11,"eq","","",178,[[]]],[11,"eq","","",179,[[]]],[11,"eq","","",180,[[]]],[11,"eq","","",153,[[]]],[11,"eq","","",154,[[]]],[11,"eq","","",181,[[]]],[11,"eq","","",182,[[]]],[11,"eq","","",183,[[]]],[11,"eq","","",184,[[]]],[11,"eq","","",185,[[]]],[11,"eq","","",186,[[]]],[11,"eq","","",187,[[]]],[11,"eq","","",169,[[]]],[11,"eq","","",188,[[]]],[11,"eq","","",126,[[]]],[11,"eq","","",127,[[]]],[11,"eq","","",128,[[]]],[11,"eq","","",129,[[]]],[11,"eq","","",130,[[]]],[11,"eq","","",155,[[]]],[11,"eq","","",156,[[]]],[11,"partial_cmp","","",157,[[["lifetime",3]],[["option",4],["ordering",4]]]],[11,"deref","syn::token","",0,[[]]],[11,"deref","","",53,[[]]],[11,"deref","","",55,[[]]],[11,"deref","","",58,[[]]],[11,"deref","","",59,[[]]],[11,"deref","","",60,[[]]],[11,"deref","","",62,[[]]],[11,"deref","","",64,[[]]],[11,"deref","","",65,[[]]],[11,"deref","","",67,[[]]],[11,"deref","","",68,[[]]],[11,"deref","","",72,[[]]],[11,"deref","","",75,[[]]],[11,"deref","","",77,[[]]],[11,"deref","","",80,[[]]],[11,"deref","","",83,[[]]],[11,"deref","","",84,[[]]],[11,"deref","","",87,[[]]],[11,"deref","","",90,[[]]],[11,"deref","","",95,[[]]],[11,"deref","","",96,[[]]],[11,"deref","","",98,[[]]],[11,"deref","syn::parse","",112,[[]]],[11,"deref_mut","syn::token","",0,[[]]],[11,"deref_mut","","",53,[[]]],[11,"deref_mut","","",55,[[]]],[11,"deref_mut","","",58,[[]]],[11,"deref_mut","","",59,[[]]],[11,"deref_mut","","",60,[[]]],[11,"deref_mut","","",62,[[]]],[11,"deref_mut","","",64,[[]]],[11,"deref_mut","","",65,[[]]],[11,"deref_mut","","",67,[[]]],[11,"deref_mut","","",68,[[]]],[11,"deref_mut","","",72,[[]]],[11,"deref_mut","","",75,[[]]],[11,"deref_mut","","",77,[[]]],[11,"deref_mut","","",80,[[]]],[11,"deref_mut","","",83,[[]]],[11,"deref_mut","","",84,[[]]],[11,"deref_mut","","",87,[[]]],[11,"deref_mut","","",90,[[]]],[11,"deref_mut","","",95,[[]]],[11,"deref_mut","","",96,[[]]],[11,"deref_mut","","",98,[[]]],[11,"fmt","","",0,[[["formatter",3]],["result",6]]],[11,"fmt","","",1,[[["formatter",3]],["result",6]]],[11,"fmt","","",2,[[["formatter",3]],["result",6]]],[11,"fmt","","",3,[[["formatter",3]],["result",6]]],[11,"fmt","","",4,[[["formatter",3]],["result",6]]],[11,"fmt","","",5,[[["formatter",3]],["result",6]]],[11,"fmt","","",6,[[["formatter",3]],["result",6]]],[11,"fmt","","",7,[[["formatter",3]],["result",6]]],[11,"fmt","","",8,[[["formatter",3]],["result",6]]],[11,"fmt","","",9,[[["formatter",3]],["result",6]]],[11,"fmt","","",10,[[["formatter",3]],["result",6]]],[11,"fmt","","",11,[[["formatter",3]],["result",6]]],[11,"fmt","","",12,[[["formatter",3]],["result",6]]],[11,"fmt","","",13,[[["formatter",3]],["result",6]]],[11,"fmt","","",14,[[["formatter",3]],["result",6]]],[11,"fmt","","",15,[[["formatter",3]],["result",6]]],[11,"fmt","","",16,[[["formatter",3]],["result",6]]],[11,"fmt","","",17,[[["formatter",3]],["result",6]]],[11,"fmt","","",18,[[["formatter",3]],["result",6]]],[11,"fmt","","",19,[[["formatter",3]],["result",6]]],[11,"fmt","","",20,[[["formatter",3]],["result",6]]],[11,"fmt","","",21,[[["formatter",3]],["result",6]]],[11,"fmt","","",22,[[["formatter",3]],["result",6]]],[11,"fmt","","",23,[[["formatter",3]],["result",6]]],[11,"fmt","","",24,[[["formatter",3]],["result",6]]],[11,"fmt","","",25,[[["formatter",3]],["result",6]]],[11,"fmt","","",26,[[["formatter",3]],["result",6]]],[11,"fmt","","",27,[[["formatter",3]],["result",6]]],[11,"fmt","","",28,[[["formatter",3]],["result",6]]],[11,"fmt","","",29,[[["formatter",3]],["result",6]]],[11,"fmt","","",30,[[["formatter",3]],["result",6]]],[11,"fmt","","",31,[[["formatter",3]],["result",6]]],[11,"fmt","","",32,[[["formatter",3]],["result",6]]],[11,"fmt","","",33,[[["formatter",3]],["result",6]]],[11,"fmt","","",34,[[["formatter",3]],["result",6]]],[11,"fmt","","",35,[[["formatter",3]],["result",6]]],[11,"fmt","","",36,[[["formatter",3]],["result",6]]],[11,"fmt","","",37,[[["formatter",3]],["result",6]]],[11,"fmt","","",38,[[["formatter",3]],["result",6]]],[11,"fmt","","",39,[[["formatter",3]],["result",6]]],[11,"fmt","","",40,[[["formatter",3]],["result",6]]],[11,"fmt","","",41,[[["formatter",3]],["result",6]]],[11,"fmt","","",42,[[["formatter",3]],["result",6]]],[11,"fmt","","",43,[[["formatter",3]],["result",6]]],[11,"fmt","","",44,[[["formatter",3]],["result",6]]],[11,"fmt","","",45,[[["formatter",3]],["result",6]]],[11,"fmt","","",46,[[["formatter",3]],["result",6]]],[11,"fmt","","",47,[[["formatter",3]],["result",6]]],[11,"fmt","","",48,[[["formatter",3]],["result",6]]],[11,"fmt","","",49,[[["formatter",3]],["result",6]]],[11,"fmt","","",50,[[["formatter",3]],["result",6]]],[11,"fmt","","",51,[[["formatter",3]],["result",6]]],[11,"fmt","","",52,[[["formatter",3]],["result",6]]],[11,"fmt","","",53,[[["formatter",3]],["result",6]]],[11,"fmt","","",54,[[["formatter",3]],["result",6]]],[11,"fmt","","",55,[[["formatter",3]],["result",6]]],[11,"fmt","","",56,[[["formatter",3]],["result",6]]],[11,"fmt","","",57,[[["formatter",3]],["result",6]]],[11,"fmt","","",58,[[["formatter",3]],["result",6]]],[11,"fmt","","",59,[[["formatter",3]],["result",6]]],[11,"fmt","","",60,[[["formatter",3]],["result",6]]],[11,"fmt","","",61,[[["formatter",3]],["result",6]]],[11,"fmt","","",62,[[["formatter",3]],["result",6]]],[11,"fmt","","",63,[[["formatter",3]],["result",6]]],[11,"fmt","","",64,[[["formatter",3]],["result",6]]],[11,"fmt","","",65,[[["formatter",3]],["result",6]]],[11,"fmt","","",66,[[["formatter",3]],["result",6]]],[11,"fmt","","",67,[[["formatter",3]],["result",6]]],[11,"fmt","","",68,[[["formatter",3]],["result",6]]],[11,"fmt","","",69,[[["formatter",3]],["result",6]]],[11,"fmt","","",70,[[["formatter",3]],["result",6]]],[11,"fmt","","",71,[[["formatter",3]],["result",6]]],[11,"fmt","","",72,[[["formatter",3]],["result",6]]],[11,"fmt","","",73,[[["formatter",3]],["result",6]]],[11,"fmt","","",74,[[["formatter",3]],["result",6]]],[11,"fmt","","",75,[[["formatter",3]],["result",6]]],[11,"fmt","","",76,[[["formatter",3]],["result",6]]],[11,"fmt","","",77,[[["formatter",3]],["result",6]]],[11,"fmt","","",78,[[["formatter",3]],["result",6]]],[11,"fmt","","",79,[[["formatter",3]],["result",6]]],[11,"fmt","","",80,[[["formatter",3]],["result",6]]],[11,"fmt","","",81,[[["formatter",3]],["result",6]]],[11,"fmt","","",82,[[["formatter",3]],["result",6]]],[11,"fmt","","",83,[[["formatter",3]],["result",6]]],[11,"fmt","","",84,[[["formatter",3]],["result",6]]],[11,"fmt","","",85,[[["formatter",3]],["result",6]]],[11,"fmt","","",86,[[["formatter",3]],["result",6]]],[11,"fmt","","",87,[[["formatter",3]],["result",6]]],[11,"fmt","","",88,[[["formatter",3]],["result",6]]],[11,"fmt","","",89,[[["formatter",3]],["result",6]]],[11,"fmt","","",90,[[["formatter",3]],["result",6]]],[11,"fmt","","",91,[[["formatter",3]],["result",6]]],[11,"fmt","","",92,[[["formatter",3]],["result",6]]],[11,"fmt","","",93,[[["formatter",3]],["result",6]]],[11,"fmt","","",94,[[["formatter",3]],["result",6]]],[11,"fmt","","",95,[[["formatter",3]],["result",6]]],[11,"fmt","","",96,[[["formatter",3]],["result",6]]],[11,"fmt","","",97,[[["formatter",3]],["result",6]]],[11,"fmt","","",98,[[["formatter",3]],["result",6]]],[11,"fmt","","",99,[[["formatter",3]],["result",6]]],[11,"fmt","","",100,[[["formatter",3]],["result",6]]],[11,"fmt","","",101,[[["formatter",3]],["result",6]]],[11,"fmt","","",102,[[["formatter",3]],["result",6]]],[11,"fmt","syn","",229,[[["formatter",3]],["result",6]]],[11,"fmt","","",230,[[["formatter",3]],["result",6]]],[11,"fmt","","",231,[[["formatter",3]],["result",6]]],[11,"fmt","","",232,[[["formatter",3]],["result",6]]],[11,"fmt","","",233,[[["formatter",3]],["result",6]]],[11,"fmt","","",234,[[["formatter",3]],["result",6]]],[11,"fmt","","",235,[[["formatter",3]],["result",6]]],[11,"fmt","","",236,[[["formatter",3]],["result",6]]],[11,"fmt","","",237,[[["formatter",3]],["result",6]]],[11,"fmt","","",159,[[["formatter",3]],["result",6]]],[11,"fmt","syn::punctuated","",106,[[["formatter",3]],["result",6]]],[11,"fmt","syn","",170,[[["formatter",3]],["result",6]]],[11,"fmt","","",189,[[["formatter",3]],["result",6]]],[11,"fmt","","",116,[[["formatter",3]],["result",6]]],[11,"fmt","","",117,[[["formatter",3]],["result",6]]],[11,"fmt","","",171,[[["formatter",3]],["result",6]]],[11,"fmt","","",168,[[["formatter",3]],["result",6]]],[11,"fmt","","",190,[[["formatter",3]],["result",6]]],[11,"fmt","","",143,[[["formatter",3]],["result",6]]],[11,"fmt","","",144,[[["formatter",3]],["result",6]]],[11,"fmt","","",191,[[["formatter",3]],["result",6]]],[11,"fmt","","",163,[[["formatter",3]],["result",6]]],[11,"fmt","","",164,[[["formatter",3]],["result",6]]],[11,"fmt","","",165,[[["formatter",3]],["result",6]]],[11,"fmt","","",166,[[["formatter",3]],["result",6]]],[11,"fmt","","",167,[[["formatter",3]],["result",6]]],[11,"fmt","","",131,[[["formatter",3]],["result",6]]],[11,"fmt","","",132,[[["formatter",3]],["result",6]]],[11,"fmt","","",133,[[["formatter",3]],["result",6]]],[11,"fmt","","",134,[[["formatter",3]],["result",6]]],[11,"fmt","","",135,[[["formatter",3]],["result",6]]],[11,"fmt","","",136,[[["formatter",3]],["result",6]]],[11,"fmt","","",137,[[["formatter",3]],["result",6]]],[11,"fmt","","",138,[[["formatter",3]],["result",6]]],[11,"fmt","","",139,[[["formatter",3]],["result",6]]],[11,"fmt","","",140,[[["formatter",3]],["result",6]]],[11,"fmt","","",122,[[["formatter",3]],["result",6]]],[11,"fmt","","",123,[[["formatter",3]],["result",6]]],[11,"fmt","","",124,[[["formatter",3]],["result",6]]],[11,"fmt","","",125,[[["formatter",3]],["result",6]]],[11,"fmt","","",192,[[["formatter",3]],["result",6]]],[11,"fmt","","",145,[[["formatter",3]],["result",6]]],[11,"fmt","","",146,[[["formatter",3]],["result",6]]],[11,"fmt","","",141,[[["formatter",3]],["result",6]]],[11,"fmt","","",157,[[["formatter",3]],["result",6]]],[11,"fmt","","",147,[[["formatter",3]],["result",6]]],[11,"fmt","","",158,[[["formatter",3]],["result",6]]],[11,"fmt","","",161,[[["formatter",3]],["result",6]]],[11,"fmt","","",162,[[["formatter",3]],["result",6]]],[11,"fmt","","",142,[[["formatter",3]],["result",6]]],[11,"fmt","","",118,[[["formatter",3]],["result",6]]],[11,"fmt","","",119,[[["formatter",3]],["result",6]]],[11,"fmt","","",120,[[["formatter",3]],["result",6]]],[11,"fmt","","",121,[[["formatter",3]],["result",6]]],[11,"fmt","","",193,[[["formatter",3]],["result",6]]],[11,"fmt","","",194,[[["formatter",3]],["result",6]]],[11,"fmt","","",195,[[["formatter",3]],["result",6]]],[11,"fmt","","",196,[[["formatter",3]],["result",6]]],[11,"fmt","","",148,[[["formatter",3]],["result",6]]],[11,"fmt","","",149,[[["formatter",3]],["result",6]]],[11,"fmt","","",150,[[["formatter",3]],["result",6]]],[11,"fmt","","",197,[[["formatter",3]],["result",6]]],[11,"fmt","","",172,[[["formatter",3]],["result",6]]],[11,"fmt","","",151,[[["formatter",3]],["result",6]]],[11,"fmt","","",152,[[["formatter",3]],["result",6]]],[11,"fmt","","",173,[[["formatter",3]],["result",6]]],[11,"fmt","","",174,[[["formatter",3]],["result",6]]],[11,"fmt","","",175,[[["formatter",3]],["result",6]]],[11,"fmt","","",176,[[["formatter",3]],["result",6]]],[11,"fmt","","",177,[[["formatter",3]],["result",6]]],[11,"fmt","","",178,[[["formatter",3]],["result",6]]],[11,"fmt","","",179,[[["formatter",3]],["result",6]]],[11,"fmt","","",180,[[["formatter",3]],["result",6]]],[11,"fmt","","",153,[[["formatter",3]],["result",6]]],[11,"fmt","","",154,[[["formatter",3]],["result",6]]],[11,"fmt","","",181,[[["formatter",3]],["result",6]]],[11,"fmt","","",182,[[["formatter",3]],["result",6]]],[11,"fmt","","",183,[[["formatter",3]],["result",6]]],[11,"fmt","","",184,[[["formatter",3]],["result",6]]],[11,"fmt","","",185,[[["formatter",3]],["result",6]]],[11,"fmt","","",186,[[["formatter",3]],["result",6]]],[11,"fmt","","",187,[[["formatter",3]],["result",6]]],[11,"fmt","","",169,[[["formatter",3]],["result",6]]],[11,"fmt","","",188,[[["formatter",3]],["result",6]]],[11,"fmt","","",126,[[["formatter",3]],["result",6]]],[11,"fmt","","",127,[[["formatter",3]],["result",6]]],[11,"fmt","","",128,[[["formatter",3]],["result",6]]],[11,"fmt","","",129,[[["formatter",3]],["result",6]]],[11,"fmt","","",130,[[["formatter",3]],["result",6]]],[11,"fmt","","",155,[[["formatter",3]],["result",6]]],[11,"fmt","","",156,[[["formatter",3]],["result",6]]],[11,"fmt","syn::parse","",113,[[["formatter",3]],["result",6]]],[11,"fmt","","",115,[[["formatter",3]],["result",6]]],[11,"fmt","syn","",157,[[["formatter",3]],["result",6]]],[11,"fmt","","",236,[[["formatter",3]],["result",6]]],[11,"fmt","","",237,[[["formatter",3]],["result",6]]],[11,"fmt","syn::parse","",113,[[["formatter",3]],["result",6]]],[11,"fmt","","",115,[[["formatter",3]],["result",6]]],[11,"index","syn::punctuated","",106,[[]]],[11,"index_mut","","",106,[[]]],[11,"hash","syn::token","",0,[[]]],[11,"hash","","",1,[[]]],[11,"hash","","",2,[[]]],[11,"hash","","",3,[[]]],[11,"hash","","",4,[[]]],[11,"hash","","",5,[[]]],[11,"hash","","",6,[[]]],[11,"hash","","",7,[[]]],[11,"hash","","",8,[[]]],[11,"hash","","",9,[[]]],[11,"hash","","",10,[[]]],[11,"hash","","",11,[[]]],[11,"hash","","",12,[[]]],[11,"hash","","",13,[[]]],[11,"hash","","",14,[[]]],[11,"hash","","",15,[[]]],[11,"hash","","",16,[[]]],[11,"hash","","",17,[[]]],[11,"hash","","",18,[[]]],[11,"hash","","",19,[[]]],[11,"hash","","",20,[[]]],[11,"hash","","",21,[[]]],[11,"hash","","",22,[[]]],[11,"hash","","",23,[[]]],[11,"hash","","",24,[[]]],[11,"hash","","",25,[[]]],[11,"hash","","",26,[[]]],[11,"hash","","",27,[[]]],[11,"hash","","",28,[[]]],[11,"hash","","",29,[[]]],[11,"hash","","",30,[[]]],[11,"hash","","",31,[[]]],[11,"hash","","",32,[[]]],[11,"hash","","",33,[[]]],[11,"hash","","",34,[[]]],[11,"hash","","",35,[[]]],[11,"hash","","",36,[[]]],[11,"hash","","",37,[[]]],[11,"hash","","",38,[[]]],[11,"hash","","",39,[[]]],[11,"hash","","",40,[[]]],[11,"hash","","",41,[[]]],[11,"hash","","",42,[[]]],[11,"hash","","",43,[[]]],[11,"hash","","",44,[[]]],[11,"hash","","",45,[[]]],[11,"hash","","",46,[[]]],[11,"hash","","",47,[[]]],[11,"hash","","",48,[[]]],[11,"hash","","",49,[[]]],[11,"hash","","",50,[[]]],[11,"hash","","",51,[[]]],[11,"hash","","",52,[[]]],[11,"hash","","",53,[[]]],[11,"hash","","",54,[[]]],[11,"hash","","",55,[[]]],[11,"hash","","",56,[[]]],[11,"hash","","",57,[[]]],[11,"hash","","",58,[[]]],[11,"hash","","",59,[[]]],[11,"hash","","",60,[[]]],[11,"hash","","",61,[[]]],[11,"hash","","",62,[[]]],[11,"hash","","",63,[[]]],[11,"hash","","",64,[[]]],[11,"hash","","",65,[[]]],[11,"hash","","",66,[[]]],[11,"hash","","",67,[[]]],[11,"hash","","",68,[[]]],[11,"hash","","",69,[[]]],[11,"hash","","",70,[[]]],[11,"hash","","",71,[[]]],[11,"hash","","",72,[[]]],[11,"hash","","",73,[[]]],[11,"hash","","",74,[[]]],[11,"hash","","",75,[[]]],[11,"hash","","",76,[[]]],[11,"hash","","",77,[[]]],[11,"hash","","",78,[[]]],[11,"hash","","",79,[[]]],[11,"hash","","",80,[[]]],[11,"hash","","",81,[[]]],[11,"hash","","",82,[[]]],[11,"hash","","",83,[[]]],[11,"hash","","",84,[[]]],[11,"hash","","",85,[[]]],[11,"hash","","",86,[[]]],[11,"hash","","",87,[[]]],[11,"hash","","",88,[[]]],[11,"hash","","",89,[[]]],[11,"hash","","",90,[[]]],[11,"hash","","",91,[[]]],[11,"hash","","",92,[[]]],[11,"hash","","",93,[[]]],[11,"hash","","",94,[[]]],[11,"hash","","",95,[[]]],[11,"hash","","",96,[[]]],[11,"hash","","",97,[[]]],[11,"hash","","",98,[[]]],[11,"hash","","",99,[[]]],[11,"hash","","",100,[[]]],[11,"hash","","",101,[[]]],[11,"hash","","",102,[[]]],[11,"hash","syn","",142,[[]]],[11,"hash","","",141,[[]]],[11,"hash","","",229,[[]]],[11,"hash","","",230,[[]]],[11,"hash","","",231,[[]]],[11,"hash","","",157,[[]]],[11,"hash","","",232,[[]]],[11,"hash","","",233,[[]]],[11,"hash","","",234,[[]]],[11,"hash","","",235,[[]]],[11,"hash","","",236,[[]]],[11,"hash","","",237,[[]]],[11,"hash","syn::punctuated","",106,[[]]],[11,"hash","syn","",170,[[]]],[11,"hash","","",189,[[]]],[11,"hash","","",116,[[]]],[11,"hash","","",117,[[]]],[11,"hash","","",171,[[]]],[11,"hash","","",168,[[]]],[11,"hash","","",190,[[]]],[11,"hash","","",143,[[]]],[11,"hash","","",144,[[]]],[11,"hash","","",191,[[]]],[11,"hash","","",163,[[]]],[11,"hash","","",164,[[]]],[11,"hash","","",165,[[]]],[11,"hash","","",166,[[]]],[11,"hash","","",167,[[]]],[11,"hash","","",131,[[]]],[11,"hash","","",132,[[]]],[11,"hash","","",133,[[]]],[11,"hash","","",134,[[]]],[11,"hash","","",135,[[]]],[11,"hash","","",136,[[]]],[11,"hash","","",137,[[]]],[11,"hash","","",138,[[]]],[11,"hash","","",139,[[]]],[11,"hash","","",140,[[]]],[11,"hash","","",122,[[]]],[11,"hash","","",123,[[]]],[11,"hash","","",124,[[]]],[11,"hash","","",125,[[]]],[11,"hash","","",192,[[]]],[11,"hash","","",145,[[]]],[11,"hash","","",146,[[]]],[11,"hash","","",147,[[]]],[11,"hash","","",158,[[]]],[11,"hash","","",159,[[]]],[11,"hash","","",161,[[]]],[11,"hash","","",162,[[]]],[11,"hash","","",118,[[]]],[11,"hash","","",119,[[]]],[11,"hash","","",120,[[]]],[11,"hash","","",121,[[]]],[11,"hash","","",193,[[]]],[11,"hash","","",194,[[]]],[11,"hash","","",195,[[]]],[11,"hash","","",196,[[]]],[11,"hash","","",148,[[]]],[11,"hash","","",149,[[]]],[11,"hash","","",150,[[]]],[11,"hash","","",197,[[]]],[11,"hash","","",172,[[]]],[11,"hash","","",151,[[]]],[11,"hash","","",152,[[]]],[11,"hash","","",173,[[]]],[11,"hash","","",174,[[]]],[11,"hash","","",175,[[]]],[11,"hash","","",176,[[]]],[11,"hash","","",177,[[]]],[11,"hash","","",178,[[]]],[11,"hash","","",179,[[]]],[11,"hash","","",180,[[]]],[11,"hash","","",153,[[]]],[11,"hash","","",154,[[]]],[11,"hash","","",181,[[]]],[11,"hash","","",182,[[]]],[11,"hash","","",183,[[]]],[11,"hash","","",184,[[]]],[11,"hash","","",185,[[]]],[11,"hash","","",186,[[]]],[11,"hash","","",187,[[]]],[11,"hash","","",169,[[]]],[11,"hash","","",188,[[]]],[11,"hash","","",126,[[]]],[11,"hash","","",127,[[]]],[11,"hash","","",128,[[]]],[11,"hash","","",129,[[]]],[11,"hash","","",130,[[]]],[11,"hash","","",155,[[]]],[11,"hash","","",156,[[]]],[11,"from_iter","syn::punctuated","",106,[[["intoiterator",8]]]],[11,"from_iter","","",106,[[["intoiterator",8]]]],[11,"to_tokens","syn::token","",0,[[["tokenstream",3]]]],[11,"to_tokens","","",1,[[["tokenstream",3]]]],[11,"to_tokens","","",2,[[["tokenstream",3]]]],[11,"to_tokens","","",3,[[["tokenstream",3]]]],[11,"to_tokens","","",4,[[["tokenstream",3]]]],[11,"to_tokens","","",5,[[["tokenstream",3]]]],[11,"to_tokens","","",6,[[["tokenstream",3]]]],[11,"to_tokens","","",7,[[["tokenstream",3]]]],[11,"to_tokens","","",8,[[["tokenstream",3]]]],[11,"to_tokens","","",9,[[["tokenstream",3]]]],[11,"to_tokens","","",10,[[["tokenstream",3]]]],[11,"to_tokens","","",11,[[["tokenstream",3]]]],[11,"to_tokens","","",12,[[["tokenstream",3]]]],[11,"to_tokens","","",13,[[["tokenstream",3]]]],[11,"to_tokens","","",14,[[["tokenstream",3]]]],[11,"to_tokens","","",15,[[["tokenstream",3]]]],[11,"to_tokens","","",16,[[["tokenstream",3]]]],[11,"to_tokens","","",17,[[["tokenstream",3]]]],[11,"to_tokens","","",18,[[["tokenstream",3]]]],[11,"to_tokens","","",19,[[["tokenstream",3]]]],[11,"to_tokens","","",20,[[["tokenstream",3]]]],[11,"to_tokens","","",21,[[["tokenstream",3]]]],[11,"to_tokens","","",22,[[["tokenstream",3]]]],[11,"to_tokens","","",23,[[["tokenstream",3]]]],[11,"to_tokens","","",24,[[["tokenstream",3]]]],[11,"to_tokens","","",25,[[["tokenstream",3]]]],[11,"to_tokens","","",26,[[["tokenstream",3]]]],[11,"to_tokens","","",27,[[["tokenstream",3]]]],[11,"to_tokens","","",28,[[["tokenstream",3]]]],[11,"to_tokens","","",29,[[["tokenstream",3]]]],[11,"to_tokens","","",30,[[["tokenstream",3]]]],[11,"to_tokens","","",31,[[["tokenstream",3]]]],[11,"to_tokens","","",32,[[["tokenstream",3]]]],[11,"to_tokens","","",33,[[["tokenstream",3]]]],[11,"to_tokens","","",34,[[["tokenstream",3]]]],[11,"to_tokens","","",35,[[["tokenstream",3]]]],[11,"to_tokens","","",36,[[["tokenstream",3]]]],[11,"to_tokens","","",37,[[["tokenstream",3]]]],[11,"to_tokens","","",38,[[["tokenstream",3]]]],[11,"to_tokens","","",39,[[["tokenstream",3]]]],[11,"to_tokens","","",40,[[["tokenstream",3]]]],[11,"to_tokens","","",41,[[["tokenstream",3]]]],[11,"to_tokens","","",42,[[["tokenstream",3]]]],[11,"to_tokens","","",43,[[["tokenstream",3]]]],[11,"to_tokens","","",44,[[["tokenstream",3]]]],[11,"to_tokens","","",45,[[["tokenstream",3]]]],[11,"to_tokens","","",46,[[["tokenstream",3]]]],[11,"to_tokens","","",47,[[["tokenstream",3]]]],[11,"to_tokens","","",48,[[["tokenstream",3]]]],[11,"to_tokens","","",49,[[["tokenstream",3]]]],[11,"to_tokens","","",50,[[["tokenstream",3]]]],[11,"to_tokens","","",51,[[["tokenstream",3]]]],[11,"to_tokens","","",52,[[["tokenstream",3]]]],[11,"to_tokens","","",53,[[["tokenstream",3]]]],[11,"to_tokens","","",54,[[["tokenstream",3]]]],[11,"to_tokens","","",55,[[["tokenstream",3]]]],[11,"to_tokens","","",56,[[["tokenstream",3]]]],[11,"to_tokens","","",57,[[["tokenstream",3]]]],[11,"to_tokens","","",58,[[["tokenstream",3]]]],[11,"to_tokens","","",59,[[["tokenstream",3]]]],[11,"to_tokens","","",60,[[["tokenstream",3]]]],[11,"to_tokens","","",61,[[["tokenstream",3]]]],[11,"to_tokens","","",62,[[["tokenstream",3]]]],[11,"to_tokens","","",63,[[["tokenstream",3]]]],[11,"to_tokens","","",64,[[["tokenstream",3]]]],[11,"to_tokens","","",65,[[["tokenstream",3]]]],[11,"to_tokens","","",66,[[["tokenstream",3]]]],[11,"to_tokens","","",67,[[["tokenstream",3]]]],[11,"to_tokens","","",68,[[["tokenstream",3]]]],[11,"to_tokens","","",69,[[["tokenstream",3]]]],[11,"to_tokens","","",70,[[["tokenstream",3]]]],[11,"to_tokens","","",71,[[["tokenstream",3]]]],[11,"to_tokens","","",72,[[["tokenstream",3]]]],[11,"to_tokens","","",73,[[["tokenstream",3]]]],[11,"to_tokens","","",74,[[["tokenstream",3]]]],[11,"to_tokens","","",75,[[["tokenstream",3]]]],[11,"to_tokens","","",76,[[["tokenstream",3]]]],[11,"to_tokens","","",77,[[["tokenstream",3]]]],[11,"to_tokens","","",78,[[["tokenstream",3]]]],[11,"to_tokens","","",79,[[["tokenstream",3]]]],[11,"to_tokens","","",80,[[["tokenstream",3]]]],[11,"to_tokens","","",81,[[["tokenstream",3]]]],[11,"to_tokens","","",82,[[["tokenstream",3]]]],[11,"to_tokens","","",83,[[["tokenstream",3]]]],[11,"to_tokens","","",84,[[["tokenstream",3]]]],[11,"to_tokens","","",85,[[["tokenstream",3]]]],[11,"to_tokens","","",86,[[["tokenstream",3]]]],[11,"to_tokens","","",87,[[["tokenstream",3]]]],[11,"to_tokens","","",88,[[["tokenstream",3]]]],[11,"to_tokens","","",89,[[["tokenstream",3]]]],[11,"to_tokens","","",90,[[["tokenstream",3]]]],[11,"to_tokens","","",91,[[["tokenstream",3]]]],[11,"to_tokens","","",92,[[["tokenstream",3]]]],[11,"to_tokens","","",93,[[["tokenstream",3]]]],[11,"to_tokens","","",94,[[["tokenstream",3]]]],[11,"to_tokens","","",95,[[["tokenstream",3]]]],[11,"to_tokens","","",96,[[["tokenstream",3]]]],[11,"to_tokens","","",97,[[["tokenstream",3]]]],[11,"to_tokens","","",98,[[["tokenstream",3]]]],[11,"to_tokens","syn","",118,[[["tokenstream",3]]]],[11,"to_tokens","","",121,[[["tokenstream",3]]]],[11,"to_tokens","","",117,[[["tokenstream",3]]]],[11,"to_tokens","","",119,[[["tokenstream",3]]]],[11,"to_tokens","","",120,[[["tokenstream",3]]]],[11,"to_tokens","","",123,[[["tokenstream",3]]]],[11,"to_tokens","","",130,[[["tokenstream",3]]]],[11,"to_tokens","","",126,[[["tokenstream",3]]]],[11,"to_tokens","","",124,[[["tokenstream",3]]]],[11,"to_tokens","","",125,[[["tokenstream",3]]]],[11,"to_tokens","","",122,[[["tokenstream",3]]]],[11,"to_tokens","","",128,[[["tokenstream",3]]]],[11,"to_tokens","","",127,[[["tokenstream",3]]]],[11,"to_tokens","","",129,[[["tokenstream",3]]]],[11,"to_tokens","","",131,[[["tokenstream",3]]]],[11,"to_tokens","","",199,[[["tokenstream",3]]]],[11,"to_tokens","","",200,[[["tokenstream",3]]]],[11,"to_tokens","","",201,[[["tokenstream",3]]]],[11,"to_tokens","","",202,[[["tokenstream",3]]]],[11,"to_tokens","","",203,[[["tokenstream",3]]]],[11,"to_tokens","","",204,[[["tokenstream",3]]]],[11,"to_tokens","","",205,[[["tokenstream",3]]]],[11,"to_tokens","","",206,[[["tokenstream",3]]]],[11,"to_tokens","","",207,[[["tokenstream",3]]]],[11,"to_tokens","","",208,[[["tokenstream",3]]]],[11,"to_tokens","","",209,[[["tokenstream",3]]]],[11,"to_tokens","","",210,[[["tokenstream",3]]]],[11,"to_tokens","","",211,[[["tokenstream",3]]]],[11,"to_tokens","","",212,[[["tokenstream",3]]]],[11,"to_tokens","","",213,[[["tokenstream",3]]]],[11,"to_tokens","","",214,[[["tokenstream",3]]]],[11,"to_tokens","","",215,[[["tokenstream",3]]]],[11,"to_tokens","","",216,[[["tokenstream",3]]]],[11,"to_tokens","","",217,[[["tokenstream",3]]]],[11,"to_tokens","","",218,[[["tokenstream",3]]]],[11,"to_tokens","","",219,[[["tokenstream",3]]]],[11,"to_tokens","","",220,[[["tokenstream",3]]]],[11,"to_tokens","","",221,[[["tokenstream",3]]]],[11,"to_tokens","","",222,[[["tokenstream",3]]]],[11,"to_tokens","","",223,[[["tokenstream",3]]]],[11,"to_tokens","","",224,[[["tokenstream",3]]]],[11,"to_tokens","","",225,[[["tokenstream",3]]]],[11,"to_tokens","","",226,[[["tokenstream",3]]]],[11,"to_tokens","","",227,[[["tokenstream",3]]]],[11,"to_tokens","","",228,[[["tokenstream",3]]]],[11,"to_tokens","","",133,[[["tokenstream",3]]]],[11,"to_tokens","","",132,[[["tokenstream",3]]]],[11,"to_tokens","","",140,[[["tokenstream",3]]]],[11,"to_tokens","","",137,[[["tokenstream",3]]]],[11,"to_tokens","","",134,[[["tokenstream",3]]]],[11,"to_tokens","","",135,[[["tokenstream",3]]]],[11,"to_tokens","","",142,[[["tokenstream",3]]]],[11,"to_tokens","","",141,[[["tokenstream",3]]]],[11,"to_tokens","","",136,[[["tokenstream",3]]]],[11,"to_tokens","","",139,[[["tokenstream",3]]]],[11,"to_tokens","","",138,[[["tokenstream",3]]]],[11,"to_tokens","","",145,[[["tokenstream",3]]]],[11,"to_tokens","","",154,[[["tokenstream",3]]]],[11,"to_tokens","","",156,[[["tokenstream",3]]]],[11,"to_tokens","","",146,[[["tokenstream",3]]]],[11,"to_tokens","","",229,[[["tokenstream",3]]]],[11,"to_tokens","","",230,[[["tokenstream",3]]]],[11,"to_tokens","","",231,[[["tokenstream",3]]]],[11,"to_tokens","","",143,[[["tokenstream",3]]]],[11,"to_tokens","","",147,[[["tokenstream",3]]]],[11,"to_tokens","","",153,[[["tokenstream",3]]]],[11,"to_tokens","","",151,[[["tokenstream",3]]]],[11,"to_tokens","","",152,[[["tokenstream",3]]]],[11,"to_tokens","","",144,[[["tokenstream",3]]]],[11,"to_tokens","","",155,[[["tokenstream",3]]]],[11,"to_tokens","","",150,[[["tokenstream",3]]]],[11,"to_tokens","","",149,[[["tokenstream",3]]]],[11,"to_tokens","","",148,[[["tokenstream",3]]]],[11,"to_tokens","","",157,[[["tokenstream",3]]]],[11,"to_tokens","","",158,[[["tokenstream",3]]]],[11,"to_tokens","","",232,[[["tokenstream",3]]]],[11,"to_tokens","","",233,[[["tokenstream",3]]]],[11,"to_tokens","","",234,[[["tokenstream",3]]]],[11,"to_tokens","","",235,[[["tokenstream",3]]]],[11,"to_tokens","","",236,[[["tokenstream",3]]]],[11,"to_tokens","","",237,[[["tokenstream",3]]]],[11,"to_tokens","","",159,[[["tokenstream",3]]]],[11,"to_tokens","","",161,[[["tokenstream",3]]]],[11,"to_tokens","","",167,[[["tokenstream",3]]]],[11,"to_tokens","","",168,[[["tokenstream",3]]]],[11,"to_tokens","","",169,[[["tokenstream",3]]]],[11,"to_tokens","","",173,[[["tokenstream",3]]]],[11,"to_tokens","","",185,[[["tokenstream",3]]]],[11,"to_tokens","","",174,[[["tokenstream",3]]]],[11,"to_tokens","","",183,[[["tokenstream",3]]]],[11,"to_tokens","","",184,[[["tokenstream",3]]]],[11,"to_tokens","","",175,[[["tokenstream",3]]]],[11,"to_tokens","","",180,[[["tokenstream",3]]]],[11,"to_tokens","","",187,[[["tokenstream",3]]]],[11,"to_tokens","","",182,[[["tokenstream",3]]]],[11,"to_tokens","","",186,[[["tokenstream",3]]]],[11,"to_tokens","","",177,[[["tokenstream",3]]]],[11,"to_tokens","","",176,[[["tokenstream",3]]]],[11,"to_tokens","","",181,[[["tokenstream",3]]]],[11,"to_tokens","","",178,[[["tokenstream",3]]]],[11,"to_tokens","","",179,[[["tokenstream",3]]]],[11,"to_tokens","","",172,[[["tokenstream",3]]]],[11,"to_tokens","","",171,[[["tokenstream",3]]]],[11,"to_tokens","","",188,[[["tokenstream",3]]]],[11,"to_tokens","","",170,[[["tokenstream",3]]]],[11,"to_tokens","","",194,[[["tokenstream",3]]]],[11,"to_tokens","","",196,[[["tokenstream",3]]]],[11,"to_tokens","","",195,[[["tokenstream",3]]]],[11,"to_tokens","","",192,[[["tokenstream",3]]]],[11,"to_tokens","","",189,[[["tokenstream",3]]]],[11,"to_tokens","","",190,[[["tokenstream",3]]]],[11,"to_tokens","","",191,[[["tokenstream",3]]]],[11,"to_tokens","","",193,[[["tokenstream",3]]]],[11,"to_tokens","syn::punctuated","",106,[[["tokenstream",3]]]],[11,"to_tokens","","",107,[[["tokenstream",3]]]],[11,"fmt","syn","",142,[[["formatter",3]],["result",6]]],[11,"span","","",142,[[],[["option",4],["span",3]]]],[11,"fmt","","",141,[[["formatter",3]],["result",6]]],[11,"span","","",141,[[],[["option",4],["span",3]]]],[11,"new","","Creates a new Ident with the given string as well as the …",198,[[["span",3]],["ident",3]]],[11,"span","","Returns the span of this Ident.",198,[[],["span",3]]],[11,"set_span","","Configures the span of this Ident, possibly changing its …",198,[[["span",3]]]],[11,"parse_meta","","Parses the content of the attribute, consisting of the …",117,[[],[["result",6],["meta",4]]]],[11,"parse_args","","Parse the arguments to the attribute as a syntax tree.",117,[[],[["result",6],["parse",8]]]],[11,"parse_args_with","","Parse the arguments to the attribute using the given …",117,[[["parser",8]],["result",6]]],[11,"parse_outer","","Parses zero or more outer attributes from the stream.",117,[[["parsestream",6]],[["result",6],["vec",3]]]],[11,"parse_inner","","Parses zero or more inner attributes from the stream.",117,[[["parsestream",6]],[["result",6],["vec",3]]]],[11,"path","","Returns the identifier that begins this structured meta …",118,[[],["path",3]]],[11,"parse_named","","Parses a named (braced struct) field.",122,[[["parsestream",6]],["result",6]]],[11,"parse_unnamed","","Parses an unnamed (tuple struct) field.",122,[[["parsestream",6]],["result",6]]],[11,"iter","","Get an iterator over the borrowed [Field] items in this …",123,[[],[["field",3],["iter",3]]]],[11,"iter_mut","","Get an iterator over the mutably borrowed [Field] items …",123,[[],[["itermut",3],["field",3]]]],[11,"len","","Returns the number of fields.",123,[[]]],[11,"is_empty","","Returns true if there are zero fields.",123,[[]]],[11,"type_params","","Returns an Iterator over the type …",146,[[],["typeparams",3]]],[11,"type_params_mut","","Returns an Iterator over the type …",146,[[],["typeparamsmut",3]]],[11,"lifetimes","","Returns an Iterator over the …",146,[[],["lifetimes",3]]],[11,"lifetimes_mut","","Returns an Iterator over the …",146,[[],["lifetimesmut",3]]],[11,"const_params","","Returns an Iterator over the constant …",146,[[],["constparams",3]]],[11,"const_params_mut","","Returns an Iterator over the …",146,[[],["constparamsmut",3]]],[11,"make_where_clause","","Initializes an empty where-clause if there is not one …",146,[[],["whereclause",3]]],[11,"split_for_impl","","Split a type\'s generics into the pieces required for …",146,[[]]],[11,"as_turbofish","","Turn a type\'s generics like into a turbofish like …",230,[[],["turbofish",3]]],[11,"new","","",147,[[["lifetime",3]]]],[11,"new","","PanicsPanics if the lifetime does not conform to the …",157,[[["span",3]]]],[11,"new","","Interpret a Syn literal from a proc-macro2 literal.",158,[[["literal",3]]]],[11,"suffix","","",158,[[]]],[11,"span","","",158,[[],["span",3]]],[11,"set_span","","",158,[[["span",3]]]],[11,"new","","",232,[[["span",3]]]],[11,"value","","",232,[[],["string",3]]],[11,"parse","","Parse a syntax tree node from the content of this string …",232,[[],[["result",6],["parse",8]]]],[11,"parse_with","","Invoke parser on the content of this string literal.",232,[[["parser",8]],["result",6]]],[11,"span","","",232,[[],["span",3]]],[11,"set_span","","",232,[[["span",3]]]],[11,"suffix","","",232,[[]]],[11,"new","","",233,[[["span",3]]]],[11,"value","","",233,[[],["vec",3]]],[11,"span","","",233,[[],["span",3]]],[11,"set_span","","",233,[[["span",3]]]],[11,"suffix","","",233,[[]]],[11,"new","","",234,[[["span",3]]]],[11,"value","","",234,[[]]],[11,"span","","",234,[[],["span",3]]],[11,"set_span","","",234,[[["span",3]]]],[11,"suffix","","",234,[[]]],[11,"new","","",235,[[["span",3]]]],[11,"value","","",235,[[]]],[11,"span","","",235,[[],["span",3]]],[11,"set_span","","",235,[[["span",3]]]],[11,"suffix","","",235,[[]]],[11,"new","","",236,[[["span",3]]]],[11,"base10_digits","","",236,[[]]],[11,"base10_parse","","Parses the literal into a selected number type.",236,[[],["result",6]]],[11,"suffix","","",236,[[]]],[11,"span","","",236,[[],["span",3]]],[11,"set_span","","",236,[[["span",3]]]],[11,"new","","",237,[[["span",3]]]],[11,"base10_digits","","",237,[[]]],[11,"base10_parse","","",237,[[],["result",6]]],[11,"suffix","","",237,[[]]],[11,"span","","",237,[[],["span",3]]],[11,"set_span","","",237,[[["span",3]]]],[11,"parse_body","","Parse the tokens within the macro invocation\'s delimiters …",161,[[],[["result",6],["parse",8]]]],[11,"parse_body_with","","Parse the tokens within the macro invocation\'s delimiters …",161,[[["parser",8]],["result",6]]],[11,"without_plus","","In some positions, types may not contain the + character, …",173,[[["parsestream",6]],["result",6]]],[11,"without_plus","","",172,[[["parsestream",6]],["result",6]]],[11,"without_plus","","",186,[[["parsestream",6]],["result",6]]],[11,"parse_mod_style","","Parse a Path containing no path arguments on any of its …",194,[[["parsestream",6]],["result",6]]],[11,"is_ident","","Determines whether this is a path of length 1 equal to …",194,[[]]],[11,"get_ident","","If this path consists of a single ident, returns the …",194,[[],[["option",4],["ident",3]]]],[11,"is_empty","","",195,[[]]],[11,"visit_abi","syn::visit","",109,[[["abi",3]]]],[11,"visit_angle_bracketed_generic_arguments","","",109,[[["anglebracketedgenericarguments",3]]]],[11,"visit_attr_style","","",109,[[["attrstyle",4]]]],[11,"visit_attribute","","",109,[[["attribute",3]]]],[11,"visit_bare_fn_arg","","",109,[[["barefnarg",3]]]],[11,"visit_bin_op","","",109,[[["binop",4]]]],[11,"visit_binding","","",109,[[["binding",3]]]],[11,"visit_bound_lifetimes","","",109,[[["boundlifetimes",3]]]],[11,"visit_const_param","","",109,[[["constparam",3]]]],[11,"visit_constraint","","",109,[[["constraint",3]]]],[11,"visit_data","","",109,[[["data",4]]]],[11,"visit_data_enum","","",109,[[["dataenum",3]]]],[11,"visit_data_struct","","",109,[[["datastruct",3]]]],[11,"visit_data_union","","",109,[[["dataunion",3]]]],[11,"visit_derive_input","","",109,[[["deriveinput",3]]]],[11,"visit_expr","","",109,[[["expr",4]]]],[11,"visit_expr_binary","","",109,[[["exprbinary",3]]]],[11,"visit_expr_call","","",109,[[["exprcall",3]]]],[11,"visit_expr_cast","","",109,[[["exprcast",3]]]],[11,"visit_expr_field","","",109,[[["exprfield",3]]]],[11,"visit_expr_index","","",109,[[["exprindex",3]]]],[11,"visit_expr_lit","","",109,[[["exprlit",3]]]],[11,"visit_expr_paren","","",109,[[["exprparen",3]]]],[11,"visit_expr_path","","",109,[[["exprpath",3]]]],[11,"visit_expr_unary","","",109,[[["exprunary",3]]]],[11,"visit_field","","",109,[[["field",3]]]],[11,"visit_fields","","",109,[[["fields",4]]]],[11,"visit_fields_named","","",109,[[["fieldsnamed",3]]]],[11,"visit_fields_unnamed","","",109,[[["fieldsunnamed",3]]]],[11,"visit_generic_argument","","",109,[[["genericargument",4]]]],[11,"visit_generic_param","","",109,[[["genericparam",4]]]],[11,"visit_generics","","",109,[[["generics",3]]]],[11,"visit_ident","","",109,[[["ident",3]]]],[11,"visit_index","","",109,[[["index",3]]]],[11,"visit_lifetime","","",109,[[["lifetime",3]]]],[11,"visit_lifetime_def","","",109,[[["lifetimedef",3]]]],[11,"visit_lit","","",109,[[["lit",4]]]],[11,"visit_lit_bool","","",109,[[["litbool",3]]]],[11,"visit_lit_byte","","",109,[[["litbyte",3]]]],[11,"visit_lit_byte_str","","",109,[[["litbytestr",3]]]],[11,"visit_lit_char","","",109,[[["litchar",3]]]],[11,"visit_lit_float","","",109,[[["litfloat",3]]]],[11,"visit_lit_int","","",109,[[["litint",3]]]],[11,"visit_lit_str","","",109,[[["litstr",3]]]],[11,"visit_macro","","",109,[[["macro",3]]]],[11,"visit_macro_delimiter","","",109,[[["macrodelimiter",4]]]],[11,"visit_member","","",109,[[["member",4]]]],[11,"visit_meta","","",109,[[["meta",4]]]],[11,"visit_meta_list","","",109,[[["metalist",3]]]],[11,"visit_meta_name_value","","",109,[[["metanamevalue",3]]]],[11,"visit_nested_meta","","",109,[[["nestedmeta",4]]]],[11,"visit_parenthesized_generic_arguments","","",109,[[["parenthesizedgenericarguments",3]]]],[11,"visit_path","","",109,[[["path",3]]]],[11,"visit_path_arguments","","",109,[[["patharguments",4]]]],[11,"visit_path_segment","","",109,[[["pathsegment",3]]]],[11,"visit_predicate_eq","","",109,[[["predicateeq",3]]]],[11,"visit_predicate_lifetime","","",109,[[["predicatelifetime",3]]]],[11,"visit_predicate_type","","",109,[[["predicatetype",3]]]],[11,"visit_qself","","",109,[[["qself",3]]]],[11,"visit_return_type","","",109,[[["returntype",4]]]],[11,"visit_span","","",109,[[["span",3]]]],[11,"visit_trait_bound","","",109,[[["traitbound",3]]]],[11,"visit_trait_bound_modifier","","",109,[[["traitboundmodifier",4]]]],[11,"visit_type","","",109,[[["type",4]]]],[11,"visit_type_array","","",109,[[["typearray",3]]]],[11,"visit_type_bare_fn","","",109,[[["typebarefn",3]]]],[11,"visit_type_group","","",109,[[["typegroup",3]]]],[11,"visit_type_impl_trait","","",109,[[["typeimpltrait",3]]]],[11,"visit_type_infer","","",109,[[["typeinfer",3]]]],[11,"visit_type_macro","","",109,[[["typemacro",3]]]],[11,"visit_type_never","","",109,[[["typenever",3]]]],[11,"visit_type_param","","",109,[[["typeparam",3]]]],[11,"visit_type_param_bound","","",109,[[["typeparambound",4]]]],[11,"visit_type_paren","","",109,[[["typeparen",3]]]],[11,"visit_type_path","","",109,[[["typepath",3]]]],[11,"visit_type_ptr","","",109,[[["typeptr",3]]]],[11,"visit_type_reference","","",109,[[["typereference",3]]]],[11,"visit_type_slice","","",109,[[["typeslice",3]]]],[11,"visit_type_trait_object","","",109,[[["typetraitobject",3]]]],[11,"visit_type_tuple","","",109,[[["typetuple",3]]]],[11,"visit_un_op","","",109,[[["unop",4]]]],[11,"visit_variadic","","",109,[[["variadic",3]]]],[11,"visit_variant","","",109,[[["variant",3]]]],[11,"visit_vis_crate","","",109,[[["viscrate",3]]]],[11,"visit_vis_public","","",109,[[["vispublic",3]]]],[11,"visit_vis_restricted","","",109,[[["visrestricted",3]]]],[11,"visit_visibility","","",109,[[["visibility",4]]]],[11,"visit_where_clause","","",109,[[["whereclause",3]]]],[11,"visit_where_predicate","","",109,[[["wherepredicate",4]]]],[11,"peek","syn::parse","Looks at the next token in the parse stream to determine …",244,[[["peek",8]]]],[11,"error","","Triggers an error at the current position of the parse …",244,[[],["error",3]]]],"p":[[3,"Underscore"],[3,"Abstract"],[3,"As"],[3,"Async"],[3,"Auto"],[3,"Await"],[3,"Become"],[3,"Box"],[3,"Break"],[3,"Const"],[3,"Continue"],[3,"Crate"],[3,"Default"],[3,"Do"],[3,"Dyn"],[3,"Else"],[3,"Enum"],[3,"Extern"],[3,"Final"],[3,"Fn"],[3,"For"],[3,"If"],[3,"Impl"],[3,"In"],[3,"Let"],[3,"Loop"],[3,"Macro"],[3,"Match"],[3,"Mod"],[3,"Move"],[3,"Mut"],[3,"Override"],[3,"Priv"],[3,"Pub"],[3,"Ref"],[3,"Return"],[3,"SelfType"],[3,"SelfValue"],[3,"Static"],[3,"Struct"],[3,"Super"],[3,"Trait"],[3,"Try"],[3,"Type"],[3,"Typeof"],[3,"Union"],[3,"Unsafe"],[3,"Unsized"],[3,"Use"],[3,"Virtual"],[3,"Where"],[3,"While"],[3,"Yield"],[3,"Add"],[3,"AddEq"],[3,"And"],[3,"AndAnd"],[3,"AndEq"],[3,"At"],[3,"Bang"],[3,"Caret"],[3,"CaretEq"],[3,"Colon"],[3,"Colon2"],[3,"Comma"],[3,"Div"],[3,"DivEq"],[3,"Dollar"],[3,"Dot"],[3,"Dot2"],[3,"Dot3"],[3,"DotDotEq"],[3,"Eq"],[3,"EqEq"],[3,"Ge"],[3,"Gt"],[3,"Le"],[3,"Lt"],[3,"MulEq"],[3,"Ne"],[3,"Or"],[3,"OrEq"],[3,"OrOr"],[3,"Pound"],[3,"Question"],[3,"RArrow"],[3,"LArrow"],[3,"Rem"],[3,"RemEq"],[3,"FatArrow"],[3,"Semi"],[3,"Shl"],[3,"ShlEq"],[3,"Shr"],[3,"ShrEq"],[3,"Star"],[3,"Sub"],[3,"SubEq"],[3,"Tilde"],[3,"Brace"],[3,"Bracket"],[3,"Paren"],[3,"Group"],[3,"TokenBuffer"],[3,"Cursor"],[8,"IdentExt"],[3,"Punctuated"],[4,"Pair"],[8,"Spanned"],[8,"Visit"],[8,"Speculative"],[8,"Parse"],[3,"StepCursor"],[3,"ParseBuffer"],[8,"Parser"],[3,"Error"],[4,"AttrStyle"],[3,"Attribute"],[4,"Meta"],[3,"MetaList"],[3,"MetaNameValue"],[4,"NestedMeta"],[3,"Field"],[4,"Fields"],[3,"FieldsNamed"],[3,"FieldsUnnamed"],[3,"Variant"],[3,"VisCrate"],[3,"VisPublic"],[3,"VisRestricted"],[4,"Visibility"],[4,"Expr"],[3,"ExprBinary"],[3,"ExprCall"],[3,"ExprCast"],[3,"ExprField"],[3,"ExprIndex"],[3,"ExprLit"],[3,"ExprParen"],[3,"ExprPath"],[3,"ExprUnary"],[3,"Index"],[4,"Member"],[3,"BoundLifetimes"],[3,"ConstParam"],[4,"GenericParam"],[3,"Generics"],[3,"LifetimeDef"],[3,"PredicateEq"],[3,"PredicateLifetime"],[3,"PredicateType"],[3,"TraitBound"],[4,"TraitBoundModifier"],[3,"TypeParam"],[4,"TypeParamBound"],[3,"WhereClause"],[4,"WherePredicate"],[3,"Lifetime"],[4,"Lit"],[3,"LitBool"],[4,"StrStyle"],[3,"Macro"],[4,"MacroDelimiter"],[4,"Data"],[3,"DataEnum"],[3,"DataStruct"],[3,"DataUnion"],[3,"DeriveInput"],[4,"BinOp"],[4,"UnOp"],[3,"Abi"],[3,"BareFnArg"],[4,"ReturnType"],[4,"Type"],[3,"TypeArray"],[3,"TypeBareFn"],[3,"TypeGroup"],[3,"TypeImplTrait"],[3,"TypeInfer"],[3,"TypeMacro"],[3,"TypeNever"],[3,"TypeParen"],[3,"TypePath"],[3,"TypePtr"],[3,"TypeReference"],[3,"TypeSlice"],[3,"TypeTraitObject"],[3,"TypeTuple"],[3,"Variadic"],[3,"AngleBracketedGenericArguments"],[3,"Binding"],[3,"Constraint"],[4,"GenericArgument"],[3,"ParenthesizedGenericArguments"],[3,"Path"],[4,"PathArguments"],[3,"PathSegment"],[3,"QSelf"],[3,"Ident"],[3,"ExprArray"],[3,"ExprAssign"],[3,"ExprAssignOp"],[3,"ExprAsync"],[3,"ExprAwait"],[3,"ExprBlock"],[3,"ExprBox"],[3,"ExprBreak"],[3,"ExprClosure"],[3,"ExprContinue"],[3,"ExprForLoop"],[3,"ExprGroup"],[3,"ExprIf"],[3,"ExprLet"],[3,"ExprLoop"],[3,"ExprMacro"],[3,"ExprMatch"],[3,"ExprMethodCall"],[3,"ExprRange"],[3,"ExprReference"],[3,"ExprRepeat"],[3,"ExprReturn"],[3,"ExprStruct"],[3,"ExprTry"],[3,"ExprTryBlock"],[3,"ExprTuple"],[3,"ExprType"],[3,"ExprUnsafe"],[3,"ExprWhile"],[3,"ExprYield"],[3,"ImplGenerics"],[3,"TypeGenerics"],[3,"Turbofish"],[3,"LitStr"],[3,"LitByteStr"],[3,"LitByte"],[3,"LitChar"],[3,"LitInt"],[3,"LitFloat"],[3,"Pairs"],[3,"PairsMut"],[3,"IntoPairs"],[3,"IntoIter"],[3,"Iter"],[3,"IterMut"],[3,"Lookahead1"],[3,"Nothing"]]},\ -"synstructure":{"doc":"This crate provides helper types for matching against …","i":[[4,"AddBounds","synstructure","Changes how bounds are added",null,null],[13,"Both","","Add for fields and generics",0,null],[13,"Fields","","Fields only",0,null],[13,"Generics","","Generics only",0,null],[13,"None","","None",0,null],[4,"BindStyle","","The type of binding to use when generating a pattern.",null,null],[13,"Move","","x",1,null],[13,"MoveMut","","mut x",1,null],[13,"Ref","","ref x",1,null],[13,"RefMut","","ref mut x",1,null],[3,"BindingInfo","","Information about a specific binding. This contains both …",null,null],[12,"binding","","The name which this BindingInfo will bind to.",2,null],[12,"style","","The type of binding which this BindingInfo will create.",2,null],[11,"ast","","Returns a reference to the underlying syn AST node which …",2,[[],["field",3]]],[11,"pat","","Generates the pattern fragment for this field binding.",2,[[],["tokenstream",3]]],[11,"referenced_ty_params","","Returns a list of the type parameters which are …",2,[[],[["ident",3],["vec",3]]]],[3,"VariantAst","","This type is similar to syn\'s Variant type, however each …",null,null],[12,"attrs","","",3,null],[12,"ident","","",3,null],[12,"fields","","",3,null],[12,"discriminant","","",3,null],[3,"VariantInfo","","A wrapper around a syn::DeriveInput\'s variant which …",null,null],[12,"prefix","","",4,null],[11,"bindings","","Returns a slice of the bindings in this Variant.",4,[[]]],[11,"bindings_mut","","Returns a mut slice of the bindings in this Variant.",4,[[]]],[11,"ast","","Returns a VariantAst object which contains references to …",4,[[],["variantast",3]]],[11,"omitted_bindings","","True if any bindings were omitted due to a filter call.",4,[[]]],[11,"pat","","Generates the match-arm pattern which could be used to …",4,[[],["tokenstream",3]]],[11,"construct","","Generates the token stream required to construct the …",4,[[],["tokenstream",3]]],[11,"each","","Runs the passed-in function once for each bound field, …",4,[[],["tokenstream",3]]],[11,"fold","","Runs the passed-in function once for each bound field, …",4,[[],["tokenstream",3]]],[11,"filter","","Filter the bindings created by this Variant object. This …",4,[[]]],[11,"remove_binding","","Remove the binding at the given index.",4,[[]]],[11,"bind_with","","Updates the BindStyle for each of the passed-in fields by …",4,[[]]],[11,"binding_name","","Updates the binding name for each fo the passed-in fields …",4,[[]]],[11,"referenced_ty_params","","Returns a list of the type parameters which are …",4,[[],[["ident",3],["vec",3]]]],[3,"Structure","","A wrapper around a syn::DeriveInput which provides …",null,null],[11,"new","","Create a new Structure with the variants and fields from …",5,[[["deriveinput",3]]]],[11,"try_new","","Create a new Structure with the variants and fields from …",5,[[["deriveinput",3]],["result",6]]],[11,"variants","","Returns a slice of the variants in this Structure.",5,[[]]],[11,"variants_mut","","Returns a mut slice of the variants in this Structure.",5,[[]]],[11,"ast","","Returns a reference to the underlying syn AST node which …",5,[[],["deriveinput",3]]],[11,"omitted_variants","","True if any variants were omitted due to a filter_variants…",5,[[]]],[11,"each","","Runs the passed-in function once for each bound field, …",5,[[],["tokenstream",3]]],[11,"fold","","Runs the passed-in function once for each bound field, …",5,[[],["tokenstream",3]]],[11,"each_variant","","Runs the passed-in function once for each variant, …",5,[[],["tokenstream",3]]],[11,"filter","","Filter the bindings created by this Structure object. …",5,[[]]],[11,"add_where_predicate","","Specify additional where predicate bounds which should be …",5,[[["wherepredicate",4]]]],[11,"add_bounds","","Specify which bounds should be generated by …",5,[[["addbounds",4]]]],[11,"filter_variants","","Filter the variants matched by this Structure object. …",5,[[]]],[11,"remove_variant","","Remove the variant at the given index.",5,[[]]],[11,"bind_with","","Updates the BindStyle for each of the passed-in fields by …",5,[[]]],[11,"binding_name","","Updates the binding name for each fo the passed-in fields …",5,[[]]],[11,"referenced_ty_params","","Returns a list of the type parameters which are refrenced …",5,[[],[["ident",3],["vec",3]]]],[11,"add_impl_generic","","Adds an impl<> generic parameter. This can be used when …",5,[[["genericparam",4]]]],[11,"add_trait_bounds","","Add trait bounds for a trait with the given path for each …",5,[[["option",4],["traitbound",3],["addbounds",4]]]],[11,"underscore_const","","Configure whether to use const _ instead of a generated …",5,[[]]],[11,"bound_impl","","NOTE: This methods\' features are superceded by …",5,[[["totokens",8]],["tokenstream",3]]],[11,"unsafe_bound_impl","","NOTE: This methods\' features are superceded by …",5,[[["totokens",8]],["tokenstream",3]]],[11,"unbound_impl","","NOTE: This methods\' features are superceded by …",5,[[["totokens",8]],["tokenstream",3]]],[11,"unsafe_unbound_impl","","NOTE: This methods\' features are superceded by …",5,[[["totokens",8]],["tokenstream",3]]],[11,"gen_impl","","Generate an impl block for the given struct. This impl …",5,[[["tokenstream",3]],["tokenstream",3]]],[5,"unpretty_print","","Dumps an unpretty version of a tokenstream. Takes any …",null,[[["display",8]],["string",3]]],[8,"MacroResult","","Helper trait describing values which may be returned by …",null,null],[10,"into_result","","Convert this result into a Result for further processing …",6,[[],[["tokenstream",3],["result",6]]]],[11,"into_stream","","Convert this result into a proc_macro::TokenStream, ready …",6,[[],["tokenstream",3]]],[14,"decl_derive","","The decl_derive! macro declares a custom derive wrapper. …",null,null],[14,"decl_attribute","","The decl_attribute! macro declares a custom attribute …",null,null],[14,"test_derive","","Run a test on a custom derive. This macro expands both …",null,null],[11,"from","","",0,[[]]],[11,"into","","",0,[[]]],[11,"to_owned","","",0,[[]]],[11,"clone_into","","",0,[[]]],[11,"borrow","","",0,[[]]],[11,"borrow_mut","","",0,[[]]],[11,"try_from","","",0,[[],["result",4]]],[11,"try_into","","",0,[[],["result",4]]],[11,"type_id","","",0,[[],["typeid",3]]],[11,"from","","",1,[[]]],[11,"into","","",1,[[]]],[11,"to_owned","","",1,[[]]],[11,"clone_into","","",1,[[]]],[11,"borrow","","",1,[[]]],[11,"borrow_mut","","",1,[[]]],[11,"try_from","","",1,[[],["result",4]]],[11,"try_into","","",1,[[],["result",4]]],[11,"type_id","","",1,[[],["typeid",3]]],[11,"span","","",1,[[],["span",3]]],[11,"from","","",2,[[]]],[11,"into","","",2,[[]]],[11,"to_owned","","",2,[[]]],[11,"clone_into","","",2,[[]]],[11,"borrow","","",2,[[]]],[11,"borrow_mut","","",2,[[]]],[11,"try_from","","",2,[[],["result",4]]],[11,"try_into","","",2,[[],["result",4]]],[11,"type_id","","",2,[[],["typeid",3]]],[11,"span","","",2,[[],["span",3]]],[11,"from","","",3,[[]]],[11,"into","","",3,[[]]],[11,"to_owned","","",3,[[]]],[11,"clone_into","","",3,[[]]],[11,"borrow","","",3,[[]]],[11,"borrow_mut","","",3,[[]]],[11,"try_from","","",3,[[],["result",4]]],[11,"try_into","","",3,[[],["result",4]]],[11,"type_id","","",3,[[],["typeid",3]]],[11,"from","","",4,[[]]],[11,"into","","",4,[[]]],[11,"to_owned","","",4,[[]]],[11,"clone_into","","",4,[[]]],[11,"borrow","","",4,[[]]],[11,"borrow_mut","","",4,[[]]],[11,"try_from","","",4,[[],["result",4]]],[11,"try_into","","",4,[[],["result",4]]],[11,"type_id","","",4,[[],["typeid",3]]],[11,"from","","",5,[[]]],[11,"into","","",5,[[]]],[11,"to_owned","","",5,[[]]],[11,"clone_into","","",5,[[]]],[11,"borrow","","",5,[[]]],[11,"borrow_mut","","",5,[[]]],[11,"try_from","","",5,[[],["result",4]]],[11,"try_into","","",5,[[],["result",4]]],[11,"type_id","","",5,[[],["typeid",3]]],[11,"clone","","",0,[[],["addbounds",4]]],[11,"clone","","",1,[[],["bindstyle",4]]],[11,"clone","","",2,[[],["bindinginfo",3]]],[11,"clone","","",3,[[],["variantast",3]]],[11,"clone","","",4,[[],["variantinfo",3]]],[11,"clone","","",5,[[],["structure",3]]],[11,"eq","","",0,[[["addbounds",4]]]],[11,"eq","","",1,[[["bindstyle",4]]]],[11,"eq","","",2,[[["bindinginfo",3]]]],[11,"ne","","",2,[[["bindinginfo",3]]]],[11,"eq","","",3,[[["variantast",3]]]],[11,"ne","","",3,[[["variantast",3]]]],[11,"eq","","",4,[[["variantinfo",3]]]],[11,"ne","","",4,[[["variantinfo",3]]]],[11,"eq","","",5,[[["structure",3]]]],[11,"ne","","",5,[[["structure",3]]]],[11,"fmt","","",0,[[["formatter",3]],["result",6]]],[11,"fmt","","",1,[[["formatter",3]],["result",6]]],[11,"fmt","","",2,[[["formatter",3]],["result",6]]],[11,"fmt","","",3,[[["formatter",3]],["result",6]]],[11,"fmt","","",4,[[["formatter",3]],["result",6]]],[11,"fmt","","",5,[[["formatter",3]],["result",6]]],[11,"hash","","",0,[[]]],[11,"hash","","",1,[[]]],[11,"hash","","",2,[[]]],[11,"hash","","",3,[[]]],[11,"hash","","",4,[[]]],[11,"hash","","",5,[[]]],[11,"to_tokens","","",1,[[["tokenstream",3]]]],[11,"to_tokens","","",2,[[["tokenstream",3]]]]],"p":[[4,"AddBounds"],[4,"BindStyle"],[3,"BindingInfo"],[3,"VariantAst"],[3,"VariantInfo"],[3,"Structure"],[8,"MacroResult"]]},\ +"syn":{"doc":"github crates-io docs-rs","i":[[3,"Ident","syn","A word of Rust code, which may be a keyword or legal …",null,null],[0,"token","","Tokens representing Rust punctuation, keywords, and …",null,null],[8,"Token","syn::token","Marker trait for types that represent single tokens.",null,null],[3,"Underscore","","_",null,null],[12,"spans","","",0,null],[3,"Abstract","","abstract",null,null],[12,"span","","",1,null],[3,"As","","as",null,null],[12,"span","","",2,null],[3,"Async","","async",null,null],[12,"span","","",3,null],[3,"Auto","","auto",null,null],[12,"span","","",4,null],[3,"Await","","await",null,null],[12,"span","","",5,null],[3,"Become","","become",null,null],[12,"span","","",6,null],[3,"Box","","box",null,null],[12,"span","","",7,null],[3,"Break","","break",null,null],[12,"span","","",8,null],[3,"Const","","const",null,null],[12,"span","","",9,null],[3,"Continue","","continue",null,null],[12,"span","","",10,null],[3,"Crate","","crate",null,null],[12,"span","","",11,null],[3,"Default","","default",null,null],[12,"span","","",12,null],[3,"Do","","do",null,null],[12,"span","","",13,null],[3,"Dyn","","dyn",null,null],[12,"span","","",14,null],[3,"Else","","else",null,null],[12,"span","","",15,null],[3,"Enum","","enum",null,null],[12,"span","","",16,null],[3,"Extern","","extern",null,null],[12,"span","","",17,null],[3,"Final","","final",null,null],[12,"span","","",18,null],[3,"Fn","","fn",null,null],[12,"span","","",19,null],[3,"For","","for",null,null],[12,"span","","",20,null],[3,"If","","if",null,null],[12,"span","","",21,null],[3,"Impl","","impl",null,null],[12,"span","","",22,null],[3,"In","","in",null,null],[12,"span","","",23,null],[3,"Let","","let",null,null],[12,"span","","",24,null],[3,"Loop","","loop",null,null],[12,"span","","",25,null],[3,"Macro","","macro",null,null],[12,"span","","",26,null],[3,"Match","","match",null,null],[12,"span","","",27,null],[3,"Mod","","mod",null,null],[12,"span","","",28,null],[3,"Move","","move",null,null],[12,"span","","",29,null],[3,"Mut","","mut",null,null],[12,"span","","",30,null],[3,"Override","","override",null,null],[12,"span","","",31,null],[3,"Priv","","priv",null,null],[12,"span","","",32,null],[3,"Pub","","pub",null,null],[12,"span","","",33,null],[3,"Ref","","ref",null,null],[12,"span","","",34,null],[3,"Return","","return",null,null],[12,"span","","",35,null],[3,"SelfType","","Self",null,null],[12,"span","","",36,null],[3,"SelfValue","","self",null,null],[12,"span","","",37,null],[3,"Static","","static",null,null],[12,"span","","",38,null],[3,"Struct","","struct",null,null],[12,"span","","",39,null],[3,"Super","","super",null,null],[12,"span","","",40,null],[3,"Trait","","trait",null,null],[12,"span","","",41,null],[3,"Try","","try",null,null],[12,"span","","",42,null],[3,"Type","","type",null,null],[12,"span","","",43,null],[3,"Typeof","","typeof",null,null],[12,"span","","",44,null],[3,"Union","","union",null,null],[12,"span","","",45,null],[3,"Unsafe","","unsafe",null,null],[12,"span","","",46,null],[3,"Unsized","","unsized",null,null],[12,"span","","",47,null],[3,"Use","","use",null,null],[12,"span","","",48,null],[3,"Virtual","","virtual",null,null],[12,"span","","",49,null],[3,"Where","","where",null,null],[12,"span","","",50,null],[3,"While","","while",null,null],[12,"span","","",51,null],[3,"Yield","","yield",null,null],[12,"span","","",52,null],[3,"Add","","+",null,null],[12,"spans","","",53,null],[3,"AddEq","","+=",null,null],[12,"spans","","",54,null],[3,"And","","&",null,null],[12,"spans","","",55,null],[3,"AndAnd","","&&",null,null],[12,"spans","","",56,null],[3,"AndEq","","&=",null,null],[12,"spans","","",57,null],[3,"At","","@",null,null],[12,"spans","","",58,null],[3,"Bang","","!",null,null],[12,"spans","","",59,null],[3,"Caret","","^",null,null],[12,"spans","","",60,null],[3,"CaretEq","","^=",null,null],[12,"spans","","",61,null],[3,"Colon","",":",null,null],[12,"spans","","",62,null],[3,"Colon2","","::",null,null],[12,"spans","","",63,null],[3,"Comma","",",",null,null],[12,"spans","","",64,null],[3,"Div","","/",null,null],[12,"spans","","",65,null],[3,"DivEq","","/=",null,null],[12,"spans","","",66,null],[3,"Dollar","","$",null,null],[12,"spans","","",67,null],[3,"Dot","",".",null,null],[12,"spans","","",68,null],[3,"Dot2","","..",null,null],[12,"spans","","",69,null],[3,"Dot3","","...",null,null],[12,"spans","","",70,null],[3,"DotDotEq","","..=",null,null],[12,"spans","","",71,null],[3,"Eq","","=",null,null],[12,"spans","","",72,null],[3,"EqEq","","==",null,null],[12,"spans","","",73,null],[3,"Ge","",">=",null,null],[12,"spans","","",74,null],[3,"Gt","",">",null,null],[12,"spans","","",75,null],[3,"Le","","<=",null,null],[12,"spans","","",76,null],[3,"Lt","","<",null,null],[12,"spans","","",77,null],[3,"MulEq","","*=",null,null],[12,"spans","","",78,null],[3,"Ne","","!=",null,null],[12,"spans","","",79,null],[3,"Or","","|",null,null],[12,"spans","","",80,null],[3,"OrEq","","|=",null,null],[12,"spans","","",81,null],[3,"OrOr","","||",null,null],[12,"spans","","",82,null],[3,"Pound","","#",null,null],[12,"spans","","",83,null],[3,"Question","","?",null,null],[12,"spans","","",84,null],[3,"RArrow","","->",null,null],[12,"spans","","",85,null],[3,"LArrow","","<-",null,null],[12,"spans","","",86,null],[3,"Rem","","%",null,null],[12,"spans","","",87,null],[3,"RemEq","","%=",null,null],[12,"spans","","",88,null],[3,"FatArrow","","=>",null,null],[12,"spans","","",89,null],[3,"Semi","",";",null,null],[12,"spans","","",90,null],[3,"Shl","","<<",null,null],[12,"spans","","",91,null],[3,"ShlEq","","<<=",null,null],[12,"spans","","",92,null],[3,"Shr","",">>",null,null],[12,"spans","","",93,null],[3,"ShrEq","",">>=",null,null],[12,"spans","","",94,null],[3,"Star","","*",null,null],[12,"spans","","",95,null],[3,"Sub","","-",null,null],[12,"spans","","",96,null],[3,"SubEq","","-=",null,null],[12,"spans","","",97,null],[3,"Tilde","","~",null,null],[12,"spans","","",98,null],[3,"Brace","","{...}",null,null],[12,"span","","",99,null],[11,"surround","","",99,[[["tokenstream",3]]]],[3,"Bracket","","[...]",null,null],[12,"span","","",100,null],[11,"surround","","",100,[[["tokenstream",3]]]],[3,"Paren","","(...)",null,null],[12,"span","","",101,null],[11,"surround","","",101,[[["tokenstream",3]]]],[3,"Group","","None-delimited group",null,null],[12,"span","","",102,null],[11,"surround","","",102,[[["tokenstream",3]]]],[0,"buffer","syn","A stably addressed token buffer supporting efficient …",null,null],[3,"TokenBuffer","syn::buffer","A buffer that can be efficiently traversed multiple …",null,null],[11,"new","","Creates a TokenBuffer containing all the tokens from the …",103,[[["tokenstream",3]],["tokenbuffer",3]]],[11,"new2","","Creates a TokenBuffer containing all the tokens from the …",103,[[["tokenstream",3]],["tokenbuffer",3]]],[11,"begin","","Creates a cursor referencing the first token in the …",103,[[],["cursor",3]]],[3,"Cursor","","A cheaply copyable cursor into a TokenBuffer.",null,null],[11,"empty","","Creates a cursor referencing a static empty TokenStream.",104,[[]]],[11,"eof","","Checks whether the cursor is currently pointing at the …",104,[[]]],[11,"group","","If the cursor is pointing at a Group with the given …",104,[[["delimiter",4]],["option",4]]],[11,"ident","","If the cursor is pointing at a Ident, returns it along …",104,[[],["option",4]]],[11,"punct","","If the cursor is pointing at an Punct, returns it along …",104,[[],["option",4]]],[11,"literal","","If the cursor is pointing at a Literal, return it along …",104,[[],["option",4]]],[11,"lifetime","","If the cursor is pointing at a Lifetime, returns it along …",104,[[],["option",4]]],[11,"token_stream","","Copies all remaining tokens visible from this cursor into …",104,[[],["tokenstream",3]]],[11,"token_tree","","If the cursor is pointing at a TokenTree, returns it …",104,[[],["option",4]]],[11,"span","","Returns the Span of the current token, or …",104,[[],["span",3]]],[0,"ext","syn","Extension traits to provide parsing methods on foreign …",null,null],[8,"IdentExt","syn::ext","Additional methods for Ident not provided by proc-macro2 …",null,null],[10,"parse_any","","Parses any identifier including keywords.",105,[[["parsestream",6]],["result",6]]],[18,"peek_any","","Peeks any identifier including keywords. Usage: …",105,null],[10,"unraw","","Strips the raw marker r#, if any, from the beginning of …",105,[[],["ident",3]]],[0,"punctuated","syn","A punctuated sequence of syntax tree nodes separated by …",null,null],[3,"Punctuated","syn::punctuated","A punctuated sequence of syntax tree nodes of type T …",null,null],[11,"new","","Creates an empty punctuated sequence.",106,[[]]],[11,"is_empty","","Determines whether this punctuated sequence is empty, …",106,[[]]],[11,"len","","Returns the number of syntax tree nodes in this …",106,[[]]],[11,"first","","Borrows the first element in this sequence.",106,[[],["option",4]]],[11,"first_mut","","Mutably borrows the first element in this sequence.",106,[[],["option",4]]],[11,"last","","Borrows the last element in this sequence.",106,[[],["option",4]]],[11,"last_mut","","Mutably borrows the last element in this sequence.",106,[[],["option",4]]],[11,"iter","","Returns an iterator over borrowed syntax tree nodes of …",106,[[],["iter",3]]],[11,"iter_mut","","Returns an iterator over mutably borrowed syntax tree …",106,[[],["itermut",3]]],[11,"pairs","","Returns an iterator over the contents of this sequence as …",106,[[],["pairs",3]]],[11,"pairs_mut","","Returns an iterator over the contents of this sequence as …",106,[[],["pairsmut",3]]],[11,"into_pairs","","Returns an iterator over the contents of this sequence as …",106,[[],["intopairs",3]]],[11,"push_value","","Appends a syntax tree node onto the end of this …",106,[[]]],[11,"push_punct","","Appends a trailing punctuation onto the end of this …",106,[[]]],[11,"pop","","Removes the last punctuated pair from this sequence, or …",106,[[],[["option",4],["pair",4]]]],[11,"trailing_punct","","Determines whether this punctuated sequence ends with a …",106,[[]]],[11,"empty_or_trailing","","Returns true if either this Punctuated is empty, or it …",106,[[]]],[11,"push","","Appends a syntax tree node onto the end of this …",106,[[]]],[11,"insert","","Inserts an element at position index.",106,[[]]],[11,"clear","","Clears the sequence of all values and punctuation, making …",106,[[]]],[11,"parse_terminated","","Parses zero or more occurrences of T separated by …",106,[[["parsestream",6]],["result",6]]],[11,"parse_terminated_with","","Parses zero or more occurrences of T using the given …",106,[[["parsestream",6]],["result",6]]],[11,"parse_separated_nonempty","","Parses one or more occurrences of T separated by …",106,[[["parsestream",6]],["result",6]]],[11,"parse_separated_nonempty_with","","Parses one or more occurrences of T using the given parse …",106,[[["parsestream",6]],["result",6]]],[3,"Pairs","","An iterator over borrowed pairs of type Pair<&T, &P>.",null,null],[3,"PairsMut","","An iterator over mutably borrowed pairs of type …",null,null],[3,"IntoPairs","","An iterator over owned pairs of type Pair.",null,null],[3,"IntoIter","","An iterator over owned values of type T.",null,null],[3,"Iter","","An iterator over borrowed values of type &T.",null,null],[3,"IterMut","","An iterator over mutably borrowed values of type &mut T.",null,null],[4,"Pair","","A single syntax tree node of type T followed by its …",null,null],[13,"Punctuated","","",107,null],[13,"End","","",107,null],[11,"into_value","","Extracts the syntax tree node from this punctuated pair, …",107,[[]]],[11,"value","","Borrows the syntax tree node from this punctuated pair.",107,[[]]],[11,"value_mut","","Mutably borrows the syntax tree node from this punctuated …",107,[[]]],[11,"punct","","Borrows the punctuation from this punctuated pair, unless …",107,[[],["option",4]]],[11,"new","","Creates a punctuated pair out of a syntax tree node and …",107,[[["option",4]]]],[11,"into_tuple","","Produces this punctuated pair as a tuple of syntax tree …",107,[[]]],[0,"spanned","syn","A trait that can provide the Span of the complete …",null,null],[8,"Spanned","syn::spanned","A trait that can provide the Span of the complete …",null,null],[10,"span","","Returns a Span covering the complete contents of this …",108,[[],["span",3]]],[0,"visit","syn","Syntax tree traversal to walk a shared borrow of a syntax …",null,null],[8,"Visit","syn::visit","Syntax tree traversal to walk a shared borrow of a syntax …",null,null],[11,"visit_abi","","",109,[[["abi",3]]]],[11,"visit_angle_bracketed_generic_arguments","","",109,[[["anglebracketedgenericarguments",3]]]],[11,"visit_attr_style","","",109,[[["attrstyle",4]]]],[11,"visit_attribute","","",109,[[["attribute",3]]]],[11,"visit_bare_fn_arg","","",109,[[["barefnarg",3]]]],[11,"visit_bin_op","","",109,[[["binop",4]]]],[11,"visit_binding","","",109,[[["binding",3]]]],[11,"visit_bound_lifetimes","","",109,[[["boundlifetimes",3]]]],[11,"visit_const_param","","",109,[[["constparam",3]]]],[11,"visit_constraint","","",109,[[["constraint",3]]]],[11,"visit_data","","",109,[[["data",4]]]],[11,"visit_data_enum","","",109,[[["dataenum",3]]]],[11,"visit_data_struct","","",109,[[["datastruct",3]]]],[11,"visit_data_union","","",109,[[["dataunion",3]]]],[11,"visit_derive_input","","",109,[[["deriveinput",3]]]],[11,"visit_expr","","",109,[[["expr",4]]]],[11,"visit_expr_binary","","",109,[[["exprbinary",3]]]],[11,"visit_expr_call","","",109,[[["exprcall",3]]]],[11,"visit_expr_cast","","",109,[[["exprcast",3]]]],[11,"visit_expr_field","","",109,[[["exprfield",3]]]],[11,"visit_expr_index","","",109,[[["exprindex",3]]]],[11,"visit_expr_lit","","",109,[[["exprlit",3]]]],[11,"visit_expr_paren","","",109,[[["exprparen",3]]]],[11,"visit_expr_path","","",109,[[["exprpath",3]]]],[11,"visit_expr_unary","","",109,[[["exprunary",3]]]],[11,"visit_field","","",109,[[["field",3]]]],[11,"visit_fields","","",109,[[["fields",4]]]],[11,"visit_fields_named","","",109,[[["fieldsnamed",3]]]],[11,"visit_fields_unnamed","","",109,[[["fieldsunnamed",3]]]],[11,"visit_generic_argument","","",109,[[["genericargument",4]]]],[11,"visit_generic_param","","",109,[[["genericparam",4]]]],[11,"visit_generics","","",109,[[["generics",3]]]],[11,"visit_ident","","",109,[[["ident",3]]]],[11,"visit_index","","",109,[[["index",3]]]],[11,"visit_lifetime","","",109,[[["lifetime",3]]]],[11,"visit_lifetime_def","","",109,[[["lifetimedef",3]]]],[11,"visit_lit","","",109,[[["lit",4]]]],[11,"visit_lit_bool","","",109,[[["litbool",3]]]],[11,"visit_lit_byte","","",109,[[["litbyte",3]]]],[11,"visit_lit_byte_str","","",109,[[["litbytestr",3]]]],[11,"visit_lit_char","","",109,[[["litchar",3]]]],[11,"visit_lit_float","","",109,[[["litfloat",3]]]],[11,"visit_lit_int","","",109,[[["litint",3]]]],[11,"visit_lit_str","","",109,[[["litstr",3]]]],[11,"visit_macro","","",109,[[["macro",3]]]],[11,"visit_macro_delimiter","","",109,[[["macrodelimiter",4]]]],[11,"visit_member","","",109,[[["member",4]]]],[11,"visit_meta","","",109,[[["meta",4]]]],[11,"visit_meta_list","","",109,[[["metalist",3]]]],[11,"visit_meta_name_value","","",109,[[["metanamevalue",3]]]],[11,"visit_nested_meta","","",109,[[["nestedmeta",4]]]],[11,"visit_parenthesized_generic_arguments","","",109,[[["parenthesizedgenericarguments",3]]]],[11,"visit_path","","",109,[[["path",3]]]],[11,"visit_path_arguments","","",109,[[["patharguments",4]]]],[11,"visit_path_segment","","",109,[[["pathsegment",3]]]],[11,"visit_predicate_eq","","",109,[[["predicateeq",3]]]],[11,"visit_predicate_lifetime","","",109,[[["predicatelifetime",3]]]],[11,"visit_predicate_type","","",109,[[["predicatetype",3]]]],[11,"visit_qself","","",109,[[["qself",3]]]],[11,"visit_return_type","","",109,[[["returntype",4]]]],[11,"visit_span","","",109,[[["span",3]]]],[11,"visit_trait_bound","","",109,[[["traitbound",3]]]],[11,"visit_trait_bound_modifier","","",109,[[["traitboundmodifier",4]]]],[11,"visit_type","","",109,[[["type",4]]]],[11,"visit_type_array","","",109,[[["typearray",3]]]],[11,"visit_type_bare_fn","","",109,[[["typebarefn",3]]]],[11,"visit_type_group","","",109,[[["typegroup",3]]]],[11,"visit_type_impl_trait","","",109,[[["typeimpltrait",3]]]],[11,"visit_type_infer","","",109,[[["typeinfer",3]]]],[11,"visit_type_macro","","",109,[[["typemacro",3]]]],[11,"visit_type_never","","",109,[[["typenever",3]]]],[11,"visit_type_param","","",109,[[["typeparam",3]]]],[11,"visit_type_param_bound","","",109,[[["typeparambound",4]]]],[11,"visit_type_paren","","",109,[[["typeparen",3]]]],[11,"visit_type_path","","",109,[[["typepath",3]]]],[11,"visit_type_ptr","","",109,[[["typeptr",3]]]],[11,"visit_type_reference","","",109,[[["typereference",3]]]],[11,"visit_type_slice","","",109,[[["typeslice",3]]]],[11,"visit_type_trait_object","","",109,[[["typetraitobject",3]]]],[11,"visit_type_tuple","","",109,[[["typetuple",3]]]],[11,"visit_un_op","","",109,[[["unop",4]]]],[11,"visit_variadic","","",109,[[["variadic",3]]]],[11,"visit_variant","","",109,[[["variant",3]]]],[11,"visit_vis_crate","","",109,[[["viscrate",3]]]],[11,"visit_vis_public","","",109,[[["vispublic",3]]]],[11,"visit_vis_restricted","","",109,[[["visrestricted",3]]]],[11,"visit_visibility","","",109,[[["visibility",4]]]],[11,"visit_where_clause","","",109,[[["whereclause",3]]]],[11,"visit_where_predicate","","",109,[[["wherepredicate",4]]]],[5,"visit_abi","","",null,[[["abi",3]]]],[5,"visit_angle_bracketed_generic_arguments","","",null,[[["anglebracketedgenericarguments",3]]]],[5,"visit_attr_style","","",null,[[["attrstyle",4]]]],[5,"visit_attribute","","",null,[[["attribute",3]]]],[5,"visit_bare_fn_arg","","",null,[[["barefnarg",3]]]],[5,"visit_bin_op","","",null,[[["binop",4]]]],[5,"visit_binding","","",null,[[["binding",3]]]],[5,"visit_bound_lifetimes","","",null,[[["boundlifetimes",3]]]],[5,"visit_const_param","","",null,[[["constparam",3]]]],[5,"visit_constraint","","",null,[[["constraint",3]]]],[5,"visit_data","","",null,[[["data",4]]]],[5,"visit_data_enum","","",null,[[["dataenum",3]]]],[5,"visit_data_struct","","",null,[[["datastruct",3]]]],[5,"visit_data_union","","",null,[[["dataunion",3]]]],[5,"visit_derive_input","","",null,[[["deriveinput",3]]]],[5,"visit_expr","","",null,[[["expr",4]]]],[5,"visit_expr_binary","","",null,[[["exprbinary",3]]]],[5,"visit_expr_call","","",null,[[["exprcall",3]]]],[5,"visit_expr_cast","","",null,[[["exprcast",3]]]],[5,"visit_expr_field","","",null,[[["exprfield",3]]]],[5,"visit_expr_index","","",null,[[["exprindex",3]]]],[5,"visit_expr_lit","","",null,[[["exprlit",3]]]],[5,"visit_expr_paren","","",null,[[["exprparen",3]]]],[5,"visit_expr_path","","",null,[[["exprpath",3]]]],[5,"visit_expr_unary","","",null,[[["exprunary",3]]]],[5,"visit_field","","",null,[[["field",3]]]],[5,"visit_fields","","",null,[[["fields",4]]]],[5,"visit_fields_named","","",null,[[["fieldsnamed",3]]]],[5,"visit_fields_unnamed","","",null,[[["fieldsunnamed",3]]]],[5,"visit_generic_argument","","",null,[[["genericargument",4]]]],[5,"visit_generic_param","","",null,[[["genericparam",4]]]],[5,"visit_generics","","",null,[[["generics",3]]]],[5,"visit_ident","","",null,[[["ident",3]]]],[5,"visit_index","","",null,[[["index",3]]]],[5,"visit_lifetime","","",null,[[["lifetime",3]]]],[5,"visit_lifetime_def","","",null,[[["lifetimedef",3]]]],[5,"visit_lit","","",null,[[["lit",4]]]],[5,"visit_lit_bool","","",null,[[["litbool",3]]]],[5,"visit_lit_byte","","",null,[[["litbyte",3]]]],[5,"visit_lit_byte_str","","",null,[[["litbytestr",3]]]],[5,"visit_lit_char","","",null,[[["litchar",3]]]],[5,"visit_lit_float","","",null,[[["litfloat",3]]]],[5,"visit_lit_int","","",null,[[["litint",3]]]],[5,"visit_lit_str","","",null,[[["litstr",3]]]],[5,"visit_macro","","",null,[[["macro",3]]]],[5,"visit_macro_delimiter","","",null,[[["macrodelimiter",4]]]],[5,"visit_member","","",null,[[["member",4]]]],[5,"visit_meta","","",null,[[["meta",4]]]],[5,"visit_meta_list","","",null,[[["metalist",3]]]],[5,"visit_meta_name_value","","",null,[[["metanamevalue",3]]]],[5,"visit_nested_meta","","",null,[[["nestedmeta",4]]]],[5,"visit_parenthesized_generic_arguments","","",null,[[["parenthesizedgenericarguments",3]]]],[5,"visit_path","","",null,[[["path",3]]]],[5,"visit_path_arguments","","",null,[[["patharguments",4]]]],[5,"visit_path_segment","","",null,[[["pathsegment",3]]]],[5,"visit_predicate_eq","","",null,[[["predicateeq",3]]]],[5,"visit_predicate_lifetime","","",null,[[["predicatelifetime",3]]]],[5,"visit_predicate_type","","",null,[[["predicatetype",3]]]],[5,"visit_qself","","",null,[[["qself",3]]]],[5,"visit_return_type","","",null,[[["returntype",4]]]],[5,"visit_span","","",null,[[["span",3]]]],[5,"visit_trait_bound","","",null,[[["traitbound",3]]]],[5,"visit_trait_bound_modifier","","",null,[[["traitboundmodifier",4]]]],[5,"visit_type","","",null,[[["type",4]]]],[5,"visit_type_array","","",null,[[["typearray",3]]]],[5,"visit_type_bare_fn","","",null,[[["typebarefn",3]]]],[5,"visit_type_group","","",null,[[["typegroup",3]]]],[5,"visit_type_impl_trait","","",null,[[["typeimpltrait",3]]]],[5,"visit_type_infer","","",null,[[["typeinfer",3]]]],[5,"visit_type_macro","","",null,[[["typemacro",3]]]],[5,"visit_type_never","","",null,[[["typenever",3]]]],[5,"visit_type_param","","",null,[[["typeparam",3]]]],[5,"visit_type_param_bound","","",null,[[["typeparambound",4]]]],[5,"visit_type_paren","","",null,[[["typeparen",3]]]],[5,"visit_type_path","","",null,[[["typepath",3]]]],[5,"visit_type_ptr","","",null,[[["typeptr",3]]]],[5,"visit_type_reference","","",null,[[["typereference",3]]]],[5,"visit_type_slice","","",null,[[["typeslice",3]]]],[5,"visit_type_trait_object","","",null,[[["typetraitobject",3]]]],[5,"visit_type_tuple","","",null,[[["typetuple",3]]]],[5,"visit_un_op","","",null,[[["unop",4]]]],[5,"visit_variadic","","",null,[[["variadic",3]]]],[5,"visit_variant","","",null,[[["variant",3]]]],[5,"visit_vis_crate","","",null,[[["viscrate",3]]]],[5,"visit_vis_public","","",null,[[["vispublic",3]]]],[5,"visit_vis_restricted","","",null,[[["visrestricted",3]]]],[5,"visit_visibility","","",null,[[["visibility",4]]]],[5,"visit_where_clause","","",null,[[["whereclause",3]]]],[5,"visit_where_predicate","","",null,[[["wherepredicate",4]]]],[0,"parse","syn","Parsing interface for parsing a token stream into a …",null,null],[0,"discouraged","syn::parse","Extensions to the parsing API with niche applicability.",null,null],[8,"Speculative","syn::parse::discouraged","Extensions to the ParseStream API to support speculative …",null,null],[10,"advance_to","","Advance this parse stream to the position of a forked …",110,[[]]],[3,"Error","syn::parse","Error returned when a Syn parser cannot parse the input …",null,null],[6,"Result","","The result of a Syn parser.",null,null],[3,"Lookahead1","","Support for checking the next token in a stream to decide …",null,null],[8,"Peek","","Types that can be parsed by looking at just one token.",null,null],[8,"Parse","","Parsing interface implemented by all types that can be …",null,null],[10,"parse","","",111,[[["parsestream",6]],["result",6]]],[6,"ParseStream","","Input to a Syn parser function.",null,null],[3,"ParseBuffer","","Cursor position within a buffered token stream.",null,null],[3,"StepCursor","","Cursor state associated with speculative parsing.",null,null],[11,"error","","Triggers an error at the current position of the parse …",112,[[["display",8]],["error",3]]],[11,"parse","","Parses a syntax tree node of type T, advancing the …",113,[[],[["result",6],["parse",8]]]],[11,"call","","Calls the given parser function to parse a syntax tree …",113,[[],["result",6]]],[11,"peek","","Looks at the next token in the parse stream to determine …",113,[[["peek",8]]]],[11,"peek2","","Looks at the second-next token in the parse stream.",113,[[["peek",8]]]],[11,"peek3","","Looks at the third-next token in the parse stream.",113,[[["peek",8]]]],[11,"parse_terminated","","Parses zero or more occurrences of T separated by …",113,[[],[["result",6],["punctuated",3]]]],[11,"is_empty","","Returns whether there are tokens remaining in this stream.",113,[[]]],[11,"lookahead1","","Constructs a helper for peeking at the next token in this …",113,[[],["lookahead1",3]]],[11,"fork","","Forks a parse stream so that parsing tokens out of either …",113,[[]]],[11,"error","","Triggers an error at the current position of the parse …",113,[[["display",8]],["error",3]]],[11,"step","","Speculatively parses tokens from this parse stream, …",113,[[],["result",6]]],[11,"span","","Returns the Span of the next token in the parse stream, or…",113,[[],["span",3]]],[11,"cursor","","Provides low-level access to the token representation …",113,[[],["cursor",3]]],[8,"Parser","","Parser that can parse Rust tokens into a particular …",null,null],[16,"Output","","",114,null],[10,"parse2","","Parse a proc-macro2 token stream into the chosen syntax …",114,[[["tokenstream",3]],["result",6]]],[11,"parse","","Parse tokens of source code into the chosen syntax tree …",114,[[["tokenstream",3]],["result",6]]],[11,"parse_str","","Parse a string of Rust code into the chosen syntax tree …",114,[[],["result",6]]],[3,"Nothing","","An empty syntax tree node that consumes no tokens when …",null,null],[11,"new","","Usually the ParseStream::error method will be used …",115,[[["span",3],["display",8]]]],[11,"new_spanned","","Creates an error with the specified message spanning the …",115,[[["totokens",8],["display",8]]]],[11,"span","","The source location of the error.",115,[[],["span",3]]],[11,"to_compile_error","","Render the error as an invocation of compile_error!.",115,[[],["tokenstream",3]]],[11,"into_compile_error","","Render the error as an invocation of compile_error!.",115,[[],["tokenstream",3]]],[11,"combine","","Add another error message to self such that when …",115,[[["error",3]]]],[4,"AttrStyle","syn","Distinguishes between attributes that decorate an item …",null,null],[13,"Outer","","",116,null],[13,"Inner","","",116,null],[3,"Attribute","","An attribute like #[repr(transparent)].",null,null],[12,"pound_token","","",117,null],[12,"style","","",117,null],[12,"bracket_token","","",117,null],[12,"path","","",117,null],[12,"tokens","","",117,null],[6,"AttributeArgs","","Conventional argument type associated with an invocation …",null,null],[4,"Meta","","Content of a compile-time structured attribute.",null,null],[13,"Path","","",118,null],[13,"List","","A structured list within an attribute, like …",118,null],[13,"NameValue","","A name-value pair within an attribute, like …",118,null],[3,"MetaList","","A structured list within an attribute, like …",null,null],[12,"path","","",119,null],[12,"paren_token","","",119,null],[12,"nested","","",119,null],[3,"MetaNameValue","","A name-value pair within an attribute, like …",null,null],[12,"path","","",120,null],[12,"eq_token","","",120,null],[12,"lit","","",120,null],[4,"NestedMeta","","Element of a compile-time attribute list.",null,null],[13,"Meta","","A structured meta item, like the Copy in #[derive(Copy)] …",121,null],[13,"Lit","","A Rust literal, like the \\\"new_name\\\" in …",121,null],[3,"Field","","A field of a struct or enum variant.",null,null],[12,"attrs","","Attributes tagged on the field.",122,null],[12,"vis","","Visibility of the field.",122,null],[12,"ident","","Name of the field, if any.",122,null],[12,"colon_token","","",122,null],[12,"ty","","Type of the field.",122,null],[4,"Fields","","Data stored within an enum variant or struct.",null,null],[13,"Named","","Named fields of a struct or struct variant such as …",123,null],[13,"Unnamed","","Unnamed fields of a tuple struct or tuple variant such as …",123,null],[13,"Unit","","Unit struct or unit variant such as None.",123,null],[3,"FieldsNamed","","Named fields of a struct or struct variant such as …",null,null],[12,"brace_token","","",124,null],[12,"named","","",124,null],[3,"FieldsUnnamed","","Unnamed fields of a tuple struct or tuple variant such as …",null,null],[12,"paren_token","","",125,null],[12,"unnamed","","",125,null],[3,"Variant","","An enum variant.",null,null],[12,"attrs","","Attributes tagged on the variant.",126,null],[12,"ident","","Name of the variant.",126,null],[12,"fields","","Content stored in the variant.",126,null],[12,"discriminant","","Explicit discriminant: Variant = 1",126,null],[3,"VisCrate","","A crate-level visibility: crate.",null,null],[12,"crate_token","","",127,null],[3,"VisPublic","","A public visibility level: pub.",null,null],[12,"pub_token","","",128,null],[3,"VisRestricted","","A visibility level restricted to some path: pub(self) or …",null,null],[12,"pub_token","","",129,null],[12,"paren_token","","",129,null],[12,"in_token","","",129,null],[12,"path","","",129,null],[4,"Visibility","","The visibility level of an item: inherited or pub or …",null,null],[13,"Public","","A public visibility level: pub.",130,null],[13,"Crate","","A crate-level visibility: crate.",130,null],[13,"Restricted","","A visibility level restricted to some path: pub(self) or …",130,null],[13,"Inherited","","An inherited visibility, which usually means private.",130,null],[4,"Expr","","A Rust expression.",null,null],[13,"Array","","A slice literal expression: [a, b, c, d].",131,null],[13,"Assign","","An assignment expression: a = compute().",131,null],[13,"AssignOp","","A compound assignment expression: counter += 1.",131,null],[13,"Async","","An async block: async { ... }.",131,null],[13,"Await","","An await expression: fut.await.",131,null],[13,"Binary","","A binary operation: a + b, a * b.",131,null],[13,"Block","","A blocked scope: { ... }.",131,null],[13,"Box","","A box expression: box f.",131,null],[13,"Break","","A break, with an optional label to break and an optional …",131,null],[13,"Call","","A function call expression: invoke(a, b).",131,null],[13,"Cast","","A cast expression: foo as f64.",131,null],[13,"Closure","","A closure expression: |a, b| a + b.",131,null],[13,"Continue","","A continue, with an optional label.",131,null],[13,"Field","","Access of a named struct field (obj.k) or unnamed tuple …",131,null],[13,"ForLoop","","A for loop: for pat in expr { ... }.",131,null],[13,"Group","","An expression contained within invisible delimiters.",131,null],[13,"If","","An if expression with an optional else block: …",131,null],[13,"Index","","A square bracketed indexing expression: vector[2].",131,null],[13,"Let","","A let guard: let Some(x) = opt.",131,null],[13,"Lit","","A literal in place of an expression: 1, \\\"foo\\\".",131,null],[13,"Loop","","Conditionless loop: loop { ... }.",131,null],[13,"Macro","","A macro invocation expression: format!(\\\"{}\\\", q).",131,null],[13,"Match","","A match expression: match n { Some(n) => {}, None => {} }.",131,null],[13,"MethodCall","","A method call expression: x.foo::(a, b).",131,null],[13,"Paren","","A parenthesized expression: (a + b).",131,null],[13,"Path","","A path like std::mem::replace possibly containing generic …",131,null],[13,"Range","","A range expression: 1..2, 1.., ..2, 1..=2, ..=2.",131,null],[13,"Reference","","A referencing operation: &a or &mut a.",131,null],[13,"Repeat","","An array literal constructed from one repeated element: …",131,null],[13,"Return","","A return, with an optional value to be returned.",131,null],[13,"Struct","","A struct literal expression: Point { x: 1, y: 1 }.",131,null],[13,"Try","","A try-expression: expr?.",131,null],[13,"TryBlock","","A try block: try { ... }.",131,null],[13,"Tuple","","A tuple expression: (a, b, c, d).",131,null],[13,"Type","","A type ascription expression: foo: f64.",131,null],[13,"Unary","","A unary operation: !x, *x.",131,null],[13,"Unsafe","","An unsafe block: unsafe { ... }.",131,null],[13,"Verbatim","","Tokens in expression position not interpreted by Syn.",131,null],[13,"While","","A while loop: while expr { ... }.",131,null],[13,"Yield","","A yield expression: yield expr.",131,null],[3,"ExprArray","","A slice literal expression: [a, b, c, d].",null,null],[3,"ExprAssign","","An assignment expression: a = compute().",null,null],[3,"ExprAssignOp","","A compound assignment expression: counter += 1.",null,null],[3,"ExprAsync","","An async block: async { ... }.",null,null],[3,"ExprAwait","","An await expression: fut.await.",null,null],[3,"ExprBinary","","A binary operation: a + b, a * b.",null,null],[12,"attrs","","",132,null],[12,"left","","",132,null],[12,"op","","",132,null],[12,"right","","",132,null],[3,"ExprBlock","","A blocked scope: { ... }.",null,null],[3,"ExprBox","","A box expression: box f.",null,null],[3,"ExprBreak","","A break, with an optional label to break and an optional …",null,null],[3,"ExprCall","","A function call expression: invoke(a, b).",null,null],[12,"attrs","","",133,null],[12,"func","","",133,null],[12,"paren_token","","",133,null],[12,"args","","",133,null],[3,"ExprCast","","A cast expression: foo as f64.",null,null],[12,"attrs","","",134,null],[12,"expr","","",134,null],[12,"as_token","","",134,null],[12,"ty","","",134,null],[3,"ExprClosure","","A closure expression: |a, b| a + b.",null,null],[3,"ExprContinue","","A continue, with an optional label.",null,null],[3,"ExprField","","Access of a named struct field (obj.k) or unnamed tuple …",null,null],[12,"attrs","","",135,null],[12,"base","","",135,null],[12,"dot_token","","",135,null],[12,"member","","",135,null],[3,"ExprForLoop","","A for loop: for pat in expr { ... }.",null,null],[3,"ExprGroup","","An expression contained within invisible delimiters.",null,null],[3,"ExprIf","","An if expression with an optional else block: …",null,null],[3,"ExprIndex","","A square bracketed indexing expression: vector[2].",null,null],[12,"attrs","","",136,null],[12,"expr","","",136,null],[12,"bracket_token","","",136,null],[12,"index","","",136,null],[3,"ExprLet","","A let guard: let Some(x) = opt.",null,null],[3,"ExprLit","","A literal in place of an expression: 1, \\\"foo\\\".",null,null],[12,"attrs","","",137,null],[12,"lit","","",137,null],[3,"ExprLoop","","Conditionless loop: loop { ... }.",null,null],[3,"ExprMacro","","A macro invocation expression: format!(\\\"{}\\\", q).",null,null],[3,"ExprMatch","","A match expression: match n { Some(n) => {}, None => {} }.",null,null],[3,"ExprMethodCall","","A method call expression: x.foo::(a, b).",null,null],[3,"ExprParen","","A parenthesized expression: (a + b).",null,null],[12,"attrs","","",138,null],[12,"paren_token","","",138,null],[12,"expr","","",138,null],[3,"ExprPath","","A path like std::mem::replace possibly containing generic …",null,null],[12,"attrs","","",139,null],[12,"qself","","",139,null],[12,"path","","",139,null],[3,"ExprRange","","A range expression: 1..2, 1.., ..2, 1..=2, ..=2.",null,null],[3,"ExprReference","","A referencing operation: &a or &mut a.",null,null],[3,"ExprRepeat","","An array literal constructed from one repeated element: …",null,null],[3,"ExprReturn","","A return, with an optional value to be returned.",null,null],[3,"ExprStruct","","A struct literal expression: Point { x: 1, y: 1 }.",null,null],[3,"ExprTry","","A try-expression: expr?.",null,null],[3,"ExprTryBlock","","A try block: try { ... }.",null,null],[3,"ExprTuple","","A tuple expression: (a, b, c, d).",null,null],[3,"ExprType","","A type ascription expression: foo: f64.",null,null],[3,"ExprUnary","","A unary operation: !x, *x.",null,null],[12,"attrs","","",140,null],[12,"op","","",140,null],[12,"expr","","",140,null],[3,"ExprUnsafe","","An unsafe block: unsafe { ... }.",null,null],[3,"ExprWhile","","A while loop: while expr { ... }.",null,null],[3,"ExprYield","","A yield expression: yield expr.",null,null],[3,"Index","","The index of an unnamed tuple struct field.",null,null],[12,"index","","",141,null],[12,"span","","",141,null],[4,"Member","","A struct or tuple struct field accessed in a struct …",null,null],[13,"Named","","A named field like self.x.",142,null],[13,"Unnamed","","An unnamed field like self.0.",142,null],[3,"BoundLifetimes","","A set of bound lifetimes: for<\'a, \'b, \'c>.",null,null],[12,"for_token","","",143,null],[12,"lt_token","","",143,null],[12,"lifetimes","","",143,null],[12,"gt_token","","",143,null],[3,"ConstParam","","A const generic parameter: const LENGTH: usize.",null,null],[12,"attrs","","",144,null],[12,"const_token","","",144,null],[12,"ident","","",144,null],[12,"colon_token","","",144,null],[12,"ty","","",144,null],[12,"eq_token","","",144,null],[12,"default","","",144,null],[4,"GenericParam","","A generic type parameter, lifetime, or const generic: …",null,null],[13,"Type","","A generic type parameter: T: Into.",145,null],[13,"Lifetime","","A lifetime definition: \'a: \'b + \'c + \'d.",145,null],[13,"Const","","A const generic parameter: const LENGTH: usize.",145,null],[3,"Generics","","Lifetimes and type parameters attached to a declaration …",null,null],[12,"lt_token","","",146,null],[12,"params","","",146,null],[12,"gt_token","","",146,null],[12,"where_clause","","",146,null],[3,"LifetimeDef","","A lifetime definition: \'a: \'b + \'c + \'d.",null,null],[12,"attrs","","",147,null],[12,"lifetime","","",147,null],[12,"colon_token","","",147,null],[12,"bounds","","",147,null],[3,"PredicateEq","","An equality predicate in a where clause (unsupported).",null,null],[12,"lhs_ty","","",148,null],[12,"eq_token","","",148,null],[12,"rhs_ty","","",148,null],[3,"PredicateLifetime","","A lifetime predicate in a where clause: \'a: \'b + \'c.",null,null],[12,"lifetime","","",149,null],[12,"colon_token","","",149,null],[12,"bounds","","",149,null],[3,"PredicateType","","A type predicate in a where clause: …",null,null],[12,"lifetimes","","Any lifetimes from a for binding",150,null],[12,"bounded_ty","","The type being bounded",150,null],[12,"colon_token","","",150,null],[12,"bounds","","Trait and lifetime bounds (Clone+Send+\'static)",150,null],[3,"TraitBound","","A trait used as a bound on a type parameter.",null,null],[12,"paren_token","","",151,null],[12,"modifier","","",151,null],[12,"lifetimes","","The for<\'a> in for<\'a> Foo<&\'a T>",151,null],[12,"path","","The Foo<&\'a T> in for<\'a> Foo<&\'a T>",151,null],[4,"TraitBoundModifier","","A modifier on a trait bound, currently only used for the ?…",null,null],[13,"None","","",152,null],[13,"Maybe","","",152,null],[3,"TypeParam","","A generic type parameter: T: Into.",null,null],[12,"attrs","","",153,null],[12,"ident","","",153,null],[12,"colon_token","","",153,null],[12,"bounds","","",153,null],[12,"eq_token","","",153,null],[12,"default","","",153,null],[4,"TypeParamBound","","A trait or lifetime used as a bound on a type parameter.",null,null],[13,"Trait","","",154,null],[13,"Lifetime","","",154,null],[3,"WhereClause","","A where clause in a definition: …",null,null],[12,"where_token","","",155,null],[12,"predicates","","",155,null],[4,"WherePredicate","","A single predicate in a where clause: T: Deserialize<\'de>.",null,null],[13,"Type","","A type predicate in a where clause: …",156,null],[13,"Lifetime","","A lifetime predicate in a where clause: \'a: \'b + \'c.",156,null],[13,"Eq","","An equality predicate in a where clause (unsupported).",156,null],[3,"ImplGenerics","","Returned by Generics::split_for_impl.",null,null],[3,"Turbofish","","Returned by TypeGenerics::as_turbofish.",null,null],[3,"TypeGenerics","","Returned by Generics::split_for_impl.",null,null],[3,"Lifetime","","A Rust lifetime: \'a.",null,null],[12,"apostrophe","","",157,null],[12,"ident","","",157,null],[4,"Lit","","A Rust literal such as a string or integer or boolean.",null,null],[13,"Str","","A UTF-8 string literal: \\\"foo\\\".",158,null],[13,"ByteStr","","A byte string literal: b\\\"foo\\\".",158,null],[13,"Byte","","A byte literal: b\'f\'.",158,null],[13,"Char","","A character literal: \'a\'.",158,null],[13,"Int","","An integer literal: 1 or 1u16.",158,null],[13,"Float","","A floating point literal: 1f64 or 1.0e10f64.",158,null],[13,"Bool","","A boolean literal: true or false.",158,null],[13,"Verbatim","","A raw token literal not interpreted by Syn.",158,null],[3,"LitBool","","A boolean literal: true or false.",null,null],[12,"value","","",159,null],[12,"span","","",159,null],[3,"LitByte","","A byte literal: b\'f\'.",null,null],[3,"LitByteStr","","A byte string literal: b\\\"foo\\\".",null,null],[3,"LitChar","","A character literal: \'a\'.",null,null],[3,"LitFloat","","A floating point literal: 1f64 or 1.0e10f64.",null,null],[3,"LitInt","","An integer literal: 1 or 1u16.",null,null],[3,"LitStr","","A UTF-8 string literal: \\\"foo\\\".",null,null],[4,"StrStyle","","The style of a string literal, either plain quoted or a …",null,null],[13,"Cooked","","An ordinary string like \\\"data\\\".",160,null],[13,"Raw","","A raw string like r##\\\"data\\\"##.",160,null],[3,"Macro","","A macro invocation: println!(\\\"{}\\\", mac).",null,null],[12,"path","","",161,null],[12,"bang_token","","",161,null],[12,"delimiter","","",161,null],[12,"tokens","","",161,null],[4,"MacroDelimiter","","A grouping token that surrounds a macro body: m!(...) or …",null,null],[13,"Paren","","",162,null],[13,"Brace","","",162,null],[13,"Bracket","","",162,null],[4,"Data","","The storage of a struct, enum or union data structure.",null,null],[13,"Struct","","A struct input to a proc_macro_derive macro.",163,null],[13,"Enum","","An enum input to a proc_macro_derive macro.",163,null],[13,"Union","","An untagged union input to a proc_macro_derive macro.",163,null],[3,"DataEnum","","An enum input to a proc_macro_derive macro.",null,null],[12,"enum_token","","",164,null],[12,"brace_token","","",164,null],[12,"variants","","",164,null],[3,"DataStruct","","A struct input to a proc_macro_derive macro.",null,null],[12,"struct_token","","",165,null],[12,"fields","","",165,null],[12,"semi_token","","",165,null],[3,"DataUnion","","An untagged union input to a proc_macro_derive macro.",null,null],[12,"union_token","","",166,null],[12,"fields","","",166,null],[3,"DeriveInput","","Data structure sent to a proc_macro_derive macro.",null,null],[12,"attrs","","Attributes tagged on the whole struct or enum.",167,null],[12,"vis","","Visibility of the struct or enum.",167,null],[12,"ident","","Name of the struct or enum.",167,null],[12,"generics","","Generics required to complete the definition.",167,null],[12,"data","","Data within the struct or enum.",167,null],[4,"BinOp","","A binary operator: +, +=, &.",null,null],[13,"Add","","The + operator (addition)",168,null],[13,"Sub","","The - operator (subtraction)",168,null],[13,"Mul","","The * operator (multiplication)",168,null],[13,"Div","","The / operator (division)",168,null],[13,"Rem","","The % operator (modulus)",168,null],[13,"And","","The && operator (logical and)",168,null],[13,"Or","","The || operator (logical or)",168,null],[13,"BitXor","","The ^ operator (bitwise xor)",168,null],[13,"BitAnd","","The & operator (bitwise and)",168,null],[13,"BitOr","","The | operator (bitwise or)",168,null],[13,"Shl","","The << operator (shift left)",168,null],[13,"Shr","","The >> operator (shift right)",168,null],[13,"Eq","","The == operator (equality)",168,null],[13,"Lt","","The < operator (less than)",168,null],[13,"Le","","The <= operator (less than or equal to)",168,null],[13,"Ne","","The != operator (not equal to)",168,null],[13,"Ge","","The >= operator (greater than or equal to)",168,null],[13,"Gt","","The > operator (greater than)",168,null],[13,"AddEq","","The += operator",168,null],[13,"SubEq","","The -= operator",168,null],[13,"MulEq","","The *= operator",168,null],[13,"DivEq","","The /= operator",168,null],[13,"RemEq","","The %= operator",168,null],[13,"BitXorEq","","The ^= operator",168,null],[13,"BitAndEq","","The &= operator",168,null],[13,"BitOrEq","","The |= operator",168,null],[13,"ShlEq","","The <<= operator",168,null],[13,"ShrEq","","The >>= operator",168,null],[4,"UnOp","","A unary operator: *, !, -.",null,null],[13,"Deref","","The * operator for dereferencing",169,null],[13,"Not","","The ! operator for logical inversion",169,null],[13,"Neg","","The - operator for negation",169,null],[3,"Abi","","The binary interface of a function: extern \\\"C\\\".",null,null],[12,"extern_token","","",170,null],[12,"name","","",170,null],[3,"BareFnArg","","An argument in a function type: the usize in …",null,null],[12,"attrs","","",171,null],[12,"name","","",171,null],[12,"ty","","",171,null],[4,"ReturnType","","Return type of a function signature.",null,null],[13,"Default","","Return type is not specified.",172,null],[13,"Type","","A particular type is returned.",172,null],[4,"Type","","The possible types that a Rust value could have.",null,null],[13,"Array","","A fixed size array type: [T; n].",173,null],[13,"BareFn","","A bare function type: fn(usize) -> bool.",173,null],[13,"Group","","A type contained within invisible delimiters.",173,null],[13,"ImplTrait","","An impl Bound1 + Bound2 + Bound3 type where Bound is a …",173,null],[13,"Infer","","Indication that a type should be inferred by the …",173,null],[13,"Macro","","A macro in the type position.",173,null],[13,"Never","","The never type: !.",173,null],[13,"Paren","","A parenthesized type equivalent to the inner type.",173,null],[13,"Path","","A path like std::slice::Iter, optionally qualified with a …",173,null],[13,"Ptr","","A raw pointer type: *const T or *mut T.",173,null],[13,"Reference","","A reference type: &\'a T or &\'a mut T.",173,null],[13,"Slice","","A dynamically sized slice type: [T].",173,null],[13,"TraitObject","","A trait object type Bound1 + Bound2 + Bound3 where Bound …",173,null],[13,"Tuple","","A tuple type: (A, B, C, String).",173,null],[13,"Verbatim","","Tokens in type position not interpreted by Syn.",173,null],[3,"TypeArray","","A fixed size array type: [T; n].",null,null],[12,"bracket_token","","",174,null],[12,"elem","","",174,null],[12,"semi_token","","",174,null],[12,"len","","",174,null],[3,"TypeBareFn","","A bare function type: fn(usize) -> bool.",null,null],[12,"lifetimes","","",175,null],[12,"unsafety","","",175,null],[12,"abi","","",175,null],[12,"fn_token","","",175,null],[12,"paren_token","","",175,null],[12,"inputs","","",175,null],[12,"variadic","","",175,null],[12,"output","","",175,null],[3,"TypeGroup","","A type contained within invisible delimiters.",null,null],[12,"group_token","","",176,null],[12,"elem","","",176,null],[3,"TypeImplTrait","","An impl Bound1 + Bound2 + Bound3 type where Bound is a …",null,null],[12,"impl_token","","",177,null],[12,"bounds","","",177,null],[3,"TypeInfer","","Indication that a type should be inferred by the …",null,null],[12,"underscore_token","","",178,null],[3,"TypeMacro","","A macro in the type position.",null,null],[12,"mac","","",179,null],[3,"TypeNever","","The never type: !.",null,null],[12,"bang_token","","",180,null],[3,"TypeParen","","A parenthesized type equivalent to the inner type.",null,null],[12,"paren_token","","",181,null],[12,"elem","","",181,null],[3,"TypePath","","A path like std::slice::Iter, optionally qualified with a …",null,null],[12,"qself","","",182,null],[12,"path","","",182,null],[3,"TypePtr","","A raw pointer type: *const T or *mut T.",null,null],[12,"star_token","","",183,null],[12,"const_token","","",183,null],[12,"mutability","","",183,null],[12,"elem","","",183,null],[3,"TypeReference","","A reference type: &\'a T or &\'a mut T.",null,null],[12,"and_token","","",184,null],[12,"lifetime","","",184,null],[12,"mutability","","",184,null],[12,"elem","","",184,null],[3,"TypeSlice","","A dynamically sized slice type: [T].",null,null],[12,"bracket_token","","",185,null],[12,"elem","","",185,null],[3,"TypeTraitObject","","A trait object type Bound1 + Bound2 + Bound3 where Bound …",null,null],[12,"dyn_token","","",186,null],[12,"bounds","","",186,null],[3,"TypeTuple","","A tuple type: (A, B, C, String).",null,null],[12,"paren_token","","",187,null],[12,"elems","","",187,null],[3,"Variadic","","The variadic argument of a foreign function.",null,null],[12,"attrs","","",188,null],[12,"dots","","",188,null],[3,"AngleBracketedGenericArguments","","Angle bracketed arguments of a path segment: the …",null,null],[12,"colon2_token","","",189,null],[12,"lt_token","","",189,null],[12,"args","","",189,null],[12,"gt_token","","",189,null],[3,"Binding","","A binding (equality constraint) on an associated type: …",null,null],[12,"ident","","",190,null],[12,"eq_token","","",190,null],[12,"ty","","",190,null],[3,"Constraint","","An associated type bound: Iterator.",null,null],[12,"ident","","",191,null],[12,"colon_token","","",191,null],[12,"bounds","","",191,null],[4,"GenericArgument","","An individual generic argument, like \'a, T, or Item = T.",null,null],[13,"Lifetime","","A lifetime argument.",192,null],[13,"Type","","A type argument.",192,null],[13,"Binding","","A binding (equality constraint) on an associated type: …",192,null],[13,"Constraint","","An associated type bound: Iterator.",192,null],[13,"Const","","A const expression. Must be inside of a block.",192,null],[3,"ParenthesizedGenericArguments","","Arguments of a function path segment: the (A, B) -> C in …",null,null],[12,"paren_token","","",193,null],[12,"inputs","","(A, B)",193,null],[12,"output","","C",193,null],[3,"Path","","A path at which a named item is exported (e.g. …",null,null],[12,"leading_colon","","",194,null],[12,"segments","","",194,null],[4,"PathArguments","","Angle bracketed or parenthesized arguments of a path …",null,null],[13,"None","","",195,null],[13,"AngleBracketed","","The <\'a, T> in std::slice::iter<\'a, T>.",195,null],[13,"Parenthesized","","The (A, B) -> C in Fn(A, B) -> C.",195,null],[3,"PathSegment","","A segment of a path together with any path arguments on …",null,null],[12,"ident","","",196,null],[12,"arguments","","",196,null],[3,"QSelf","","The explicit Self type in a qualified path: the T in …",null,null],[12,"lt_token","","",197,null],[12,"ty","","",197,null],[12,"position","","",197,null],[12,"as_token","","",197,null],[12,"gt_token","","",197,null],[3,"Error","","Error returned when a Syn parser cannot parse the input …",null,null],[6,"Result","","The result of a Syn parser.",null,null],[5,"parse","","Parse tokens of source code into the chosen syntax tree …",null,[[["tokenstream",3]],[["result",6],["parse",8]]]],[5,"parse2","","Parse a proc-macro2 token stream into the chosen syntax …",null,[[["tokenstream",3]],[["result",6],["parse",8]]]],[5,"parse_str","","Parse a string of Rust code into the chosen syntax tree …",null,[[],[["result",6],["parse",8]]]],[14,"parenthesized","","Parse a set of parentheses and expose their content to …",null,null],[14,"braced","","Parse a set of curly braces and expose their content to …",null,null],[14,"bracketed","","Parse a set of square brackets and expose their content …",null,null],[14,"Token","","A type-macro that expands to the name of the Rust type …",null,null],[14,"parse_quote","","Quasi-quotation macro that accepts input like the quote! …",null,null],[14,"parse_macro_input","","Parse the input TokenStream of a macro, triggering a …",null,null],[14,"custom_keyword","","Define a type that supports parsing and printing a given …",null,null],[14,"custom_punctuation","","Define a type that supports parsing and printing a …",null,null],[11,"span","","",198,[[],["span",3]]],[11,"from","","",198,[[]]],[11,"into","","",198,[[]]],[11,"to_owned","","",198,[[]]],[11,"clone_into","","",198,[[]]],[11,"to_string","","",198,[[],["string",3]]],[11,"borrow","","",198,[[]]],[11,"borrow_mut","","",198,[[]]],[11,"try_from","","",198,[[],["result",4]]],[11,"try_into","","",198,[[],["result",4]]],[11,"type_id","","",198,[[],["typeid",3]]],[11,"span","syn::token","",0,[[],["span",3]]],[11,"from","","",0,[[]]],[11,"into","","",0,[[]]],[11,"to_owned","","",0,[[]]],[11,"clone_into","","",0,[[]]],[11,"borrow","","",0,[[]]],[11,"borrow_mut","","",0,[[]]],[11,"try_from","","",0,[[],["result",4]]],[11,"try_into","","",0,[[],["result",4]]],[11,"type_id","","",0,[[],["typeid",3]]],[11,"span","","",1,[[],["span",3]]],[11,"from","","",1,[[]]],[11,"into","","",1,[[]]],[11,"to_owned","","",1,[[]]],[11,"clone_into","","",1,[[]]],[11,"borrow","","",1,[[]]],[11,"borrow_mut","","",1,[[]]],[11,"try_from","","",1,[[],["result",4]]],[11,"try_into","","",1,[[],["result",4]]],[11,"type_id","","",1,[[],["typeid",3]]],[11,"span","","",2,[[],["span",3]]],[11,"from","","",2,[[]]],[11,"into","","",2,[[]]],[11,"to_owned","","",2,[[]]],[11,"clone_into","","",2,[[]]],[11,"borrow","","",2,[[]]],[11,"borrow_mut","","",2,[[]]],[11,"try_from","","",2,[[],["result",4]]],[11,"try_into","","",2,[[],["result",4]]],[11,"type_id","","",2,[[],["typeid",3]]],[11,"span","","",3,[[],["span",3]]],[11,"from","","",3,[[]]],[11,"into","","",3,[[]]],[11,"to_owned","","",3,[[]]],[11,"clone_into","","",3,[[]]],[11,"borrow","","",3,[[]]],[11,"borrow_mut","","",3,[[]]],[11,"try_from","","",3,[[],["result",4]]],[11,"try_into","","",3,[[],["result",4]]],[11,"type_id","","",3,[[],["typeid",3]]],[11,"span","","",4,[[],["span",3]]],[11,"from","","",4,[[]]],[11,"into","","",4,[[]]],[11,"to_owned","","",4,[[]]],[11,"clone_into","","",4,[[]]],[11,"borrow","","",4,[[]]],[11,"borrow_mut","","",4,[[]]],[11,"try_from","","",4,[[],["result",4]]],[11,"try_into","","",4,[[],["result",4]]],[11,"type_id","","",4,[[],["typeid",3]]],[11,"span","","",5,[[],["span",3]]],[11,"from","","",5,[[]]],[11,"into","","",5,[[]]],[11,"to_owned","","",5,[[]]],[11,"clone_into","","",5,[[]]],[11,"borrow","","",5,[[]]],[11,"borrow_mut","","",5,[[]]],[11,"try_from","","",5,[[],["result",4]]],[11,"try_into","","",5,[[],["result",4]]],[11,"type_id","","",5,[[],["typeid",3]]],[11,"span","","",6,[[],["span",3]]],[11,"from","","",6,[[]]],[11,"into","","",6,[[]]],[11,"to_owned","","",6,[[]]],[11,"clone_into","","",6,[[]]],[11,"borrow","","",6,[[]]],[11,"borrow_mut","","",6,[[]]],[11,"try_from","","",6,[[],["result",4]]],[11,"try_into","","",6,[[],["result",4]]],[11,"type_id","","",6,[[],["typeid",3]]],[11,"span","","",7,[[],["span",3]]],[11,"from","","",7,[[]]],[11,"into","","",7,[[]]],[11,"to_owned","","",7,[[]]],[11,"clone_into","","",7,[[]]],[11,"borrow","","",7,[[]]],[11,"borrow_mut","","",7,[[]]],[11,"try_from","","",7,[[],["result",4]]],[11,"try_into","","",7,[[],["result",4]]],[11,"type_id","","",7,[[],["typeid",3]]],[11,"span","","",8,[[],["span",3]]],[11,"from","","",8,[[]]],[11,"into","","",8,[[]]],[11,"to_owned","","",8,[[]]],[11,"clone_into","","",8,[[]]],[11,"borrow","","",8,[[]]],[11,"borrow_mut","","",8,[[]]],[11,"try_from","","",8,[[],["result",4]]],[11,"try_into","","",8,[[],["result",4]]],[11,"type_id","","",8,[[],["typeid",3]]],[11,"span","","",9,[[],["span",3]]],[11,"from","","",9,[[]]],[11,"into","","",9,[[]]],[11,"to_owned","","",9,[[]]],[11,"clone_into","","",9,[[]]],[11,"borrow","","",9,[[]]],[11,"borrow_mut","","",9,[[]]],[11,"try_from","","",9,[[],["result",4]]],[11,"try_into","","",9,[[],["result",4]]],[11,"type_id","","",9,[[],["typeid",3]]],[11,"span","","",10,[[],["span",3]]],[11,"from","","",10,[[]]],[11,"into","","",10,[[]]],[11,"to_owned","","",10,[[]]],[11,"clone_into","","",10,[[]]],[11,"borrow","","",10,[[]]],[11,"borrow_mut","","",10,[[]]],[11,"try_from","","",10,[[],["result",4]]],[11,"try_into","","",10,[[],["result",4]]],[11,"type_id","","",10,[[],["typeid",3]]],[11,"span","","",11,[[],["span",3]]],[11,"from","","",11,[[]]],[11,"into","","",11,[[]]],[11,"to_owned","","",11,[[]]],[11,"clone_into","","",11,[[]]],[11,"borrow","","",11,[[]]],[11,"borrow_mut","","",11,[[]]],[11,"try_from","","",11,[[],["result",4]]],[11,"try_into","","",11,[[],["result",4]]],[11,"type_id","","",11,[[],["typeid",3]]],[11,"span","","",12,[[],["span",3]]],[11,"from","","",12,[[]]],[11,"into","","",12,[[]]],[11,"to_owned","","",12,[[]]],[11,"clone_into","","",12,[[]]],[11,"borrow","","",12,[[]]],[11,"borrow_mut","","",12,[[]]],[11,"try_from","","",12,[[],["result",4]]],[11,"try_into","","",12,[[],["result",4]]],[11,"type_id","","",12,[[],["typeid",3]]],[11,"span","","",13,[[],["span",3]]],[11,"from","","",13,[[]]],[11,"into","","",13,[[]]],[11,"to_owned","","",13,[[]]],[11,"clone_into","","",13,[[]]],[11,"borrow","","",13,[[]]],[11,"borrow_mut","","",13,[[]]],[11,"try_from","","",13,[[],["result",4]]],[11,"try_into","","",13,[[],["result",4]]],[11,"type_id","","",13,[[],["typeid",3]]],[11,"span","","",14,[[],["span",3]]],[11,"from","","",14,[[]]],[11,"into","","",14,[[]]],[11,"to_owned","","",14,[[]]],[11,"clone_into","","",14,[[]]],[11,"borrow","","",14,[[]]],[11,"borrow_mut","","",14,[[]]],[11,"try_from","","",14,[[],["result",4]]],[11,"try_into","","",14,[[],["result",4]]],[11,"type_id","","",14,[[],["typeid",3]]],[11,"span","","",15,[[],["span",3]]],[11,"from","","",15,[[]]],[11,"into","","",15,[[]]],[11,"to_owned","","",15,[[]]],[11,"clone_into","","",15,[[]]],[11,"borrow","","",15,[[]]],[11,"borrow_mut","","",15,[[]]],[11,"try_from","","",15,[[],["result",4]]],[11,"try_into","","",15,[[],["result",4]]],[11,"type_id","","",15,[[],["typeid",3]]],[11,"span","","",16,[[],["span",3]]],[11,"from","","",16,[[]]],[11,"into","","",16,[[]]],[11,"to_owned","","",16,[[]]],[11,"clone_into","","",16,[[]]],[11,"borrow","","",16,[[]]],[11,"borrow_mut","","",16,[[]]],[11,"try_from","","",16,[[],["result",4]]],[11,"try_into","","",16,[[],["result",4]]],[11,"type_id","","",16,[[],["typeid",3]]],[11,"span","","",17,[[],["span",3]]],[11,"from","","",17,[[]]],[11,"into","","",17,[[]]],[11,"to_owned","","",17,[[]]],[11,"clone_into","","",17,[[]]],[11,"borrow","","",17,[[]]],[11,"borrow_mut","","",17,[[]]],[11,"try_from","","",17,[[],["result",4]]],[11,"try_into","","",17,[[],["result",4]]],[11,"type_id","","",17,[[],["typeid",3]]],[11,"span","","",18,[[],["span",3]]],[11,"from","","",18,[[]]],[11,"into","","",18,[[]]],[11,"to_owned","","",18,[[]]],[11,"clone_into","","",18,[[]]],[11,"borrow","","",18,[[]]],[11,"borrow_mut","","",18,[[]]],[11,"try_from","","",18,[[],["result",4]]],[11,"try_into","","",18,[[],["result",4]]],[11,"type_id","","",18,[[],["typeid",3]]],[11,"span","","",19,[[],["span",3]]],[11,"from","","",19,[[]]],[11,"into","","",19,[[]]],[11,"to_owned","","",19,[[]]],[11,"clone_into","","",19,[[]]],[11,"borrow","","",19,[[]]],[11,"borrow_mut","","",19,[[]]],[11,"try_from","","",19,[[],["result",4]]],[11,"try_into","","",19,[[],["result",4]]],[11,"type_id","","",19,[[],["typeid",3]]],[11,"span","","",20,[[],["span",3]]],[11,"from","","",20,[[]]],[11,"into","","",20,[[]]],[11,"to_owned","","",20,[[]]],[11,"clone_into","","",20,[[]]],[11,"borrow","","",20,[[]]],[11,"borrow_mut","","",20,[[]]],[11,"try_from","","",20,[[],["result",4]]],[11,"try_into","","",20,[[],["result",4]]],[11,"type_id","","",20,[[],["typeid",3]]],[11,"span","","",21,[[],["span",3]]],[11,"from","","",21,[[]]],[11,"into","","",21,[[]]],[11,"to_owned","","",21,[[]]],[11,"clone_into","","",21,[[]]],[11,"borrow","","",21,[[]]],[11,"borrow_mut","","",21,[[]]],[11,"try_from","","",21,[[],["result",4]]],[11,"try_into","","",21,[[],["result",4]]],[11,"type_id","","",21,[[],["typeid",3]]],[11,"span","","",22,[[],["span",3]]],[11,"from","","",22,[[]]],[11,"into","","",22,[[]]],[11,"to_owned","","",22,[[]]],[11,"clone_into","","",22,[[]]],[11,"borrow","","",22,[[]]],[11,"borrow_mut","","",22,[[]]],[11,"try_from","","",22,[[],["result",4]]],[11,"try_into","","",22,[[],["result",4]]],[11,"type_id","","",22,[[],["typeid",3]]],[11,"span","","",23,[[],["span",3]]],[11,"from","","",23,[[]]],[11,"into","","",23,[[]]],[11,"to_owned","","",23,[[]]],[11,"clone_into","","",23,[[]]],[11,"borrow","","",23,[[]]],[11,"borrow_mut","","",23,[[]]],[11,"try_from","","",23,[[],["result",4]]],[11,"try_into","","",23,[[],["result",4]]],[11,"type_id","","",23,[[],["typeid",3]]],[11,"span","","",24,[[],["span",3]]],[11,"from","","",24,[[]]],[11,"into","","",24,[[]]],[11,"to_owned","","",24,[[]]],[11,"clone_into","","",24,[[]]],[11,"borrow","","",24,[[]]],[11,"borrow_mut","","",24,[[]]],[11,"try_from","","",24,[[],["result",4]]],[11,"try_into","","",24,[[],["result",4]]],[11,"type_id","","",24,[[],["typeid",3]]],[11,"span","","",25,[[],["span",3]]],[11,"from","","",25,[[]]],[11,"into","","",25,[[]]],[11,"to_owned","","",25,[[]]],[11,"clone_into","","",25,[[]]],[11,"borrow","","",25,[[]]],[11,"borrow_mut","","",25,[[]]],[11,"try_from","","",25,[[],["result",4]]],[11,"try_into","","",25,[[],["result",4]]],[11,"type_id","","",25,[[],["typeid",3]]],[11,"span","","",26,[[],["span",3]]],[11,"from","","",26,[[]]],[11,"into","","",26,[[]]],[11,"to_owned","","",26,[[]]],[11,"clone_into","","",26,[[]]],[11,"borrow","","",26,[[]]],[11,"borrow_mut","","",26,[[]]],[11,"try_from","","",26,[[],["result",4]]],[11,"try_into","","",26,[[],["result",4]]],[11,"type_id","","",26,[[],["typeid",3]]],[11,"span","","",27,[[],["span",3]]],[11,"from","","",27,[[]]],[11,"into","","",27,[[]]],[11,"to_owned","","",27,[[]]],[11,"clone_into","","",27,[[]]],[11,"borrow","","",27,[[]]],[11,"borrow_mut","","",27,[[]]],[11,"try_from","","",27,[[],["result",4]]],[11,"try_into","","",27,[[],["result",4]]],[11,"type_id","","",27,[[],["typeid",3]]],[11,"span","","",28,[[],["span",3]]],[11,"from","","",28,[[]]],[11,"into","","",28,[[]]],[11,"to_owned","","",28,[[]]],[11,"clone_into","","",28,[[]]],[11,"borrow","","",28,[[]]],[11,"borrow_mut","","",28,[[]]],[11,"try_from","","",28,[[],["result",4]]],[11,"try_into","","",28,[[],["result",4]]],[11,"type_id","","",28,[[],["typeid",3]]],[11,"span","","",29,[[],["span",3]]],[11,"from","","",29,[[]]],[11,"into","","",29,[[]]],[11,"to_owned","","",29,[[]]],[11,"clone_into","","",29,[[]]],[11,"borrow","","",29,[[]]],[11,"borrow_mut","","",29,[[]]],[11,"try_from","","",29,[[],["result",4]]],[11,"try_into","","",29,[[],["result",4]]],[11,"type_id","","",29,[[],["typeid",3]]],[11,"span","","",30,[[],["span",3]]],[11,"from","","",30,[[]]],[11,"into","","",30,[[]]],[11,"to_owned","","",30,[[]]],[11,"clone_into","","",30,[[]]],[11,"borrow","","",30,[[]]],[11,"borrow_mut","","",30,[[]]],[11,"try_from","","",30,[[],["result",4]]],[11,"try_into","","",30,[[],["result",4]]],[11,"type_id","","",30,[[],["typeid",3]]],[11,"span","","",31,[[],["span",3]]],[11,"from","","",31,[[]]],[11,"into","","",31,[[]]],[11,"to_owned","","",31,[[]]],[11,"clone_into","","",31,[[]]],[11,"borrow","","",31,[[]]],[11,"borrow_mut","","",31,[[]]],[11,"try_from","","",31,[[],["result",4]]],[11,"try_into","","",31,[[],["result",4]]],[11,"type_id","","",31,[[],["typeid",3]]],[11,"span","","",32,[[],["span",3]]],[11,"from","","",32,[[]]],[11,"into","","",32,[[]]],[11,"to_owned","","",32,[[]]],[11,"clone_into","","",32,[[]]],[11,"borrow","","",32,[[]]],[11,"borrow_mut","","",32,[[]]],[11,"try_from","","",32,[[],["result",4]]],[11,"try_into","","",32,[[],["result",4]]],[11,"type_id","","",32,[[],["typeid",3]]],[11,"span","","",33,[[],["span",3]]],[11,"from","","",33,[[]]],[11,"into","","",33,[[]]],[11,"to_owned","","",33,[[]]],[11,"clone_into","","",33,[[]]],[11,"borrow","","",33,[[]]],[11,"borrow_mut","","",33,[[]]],[11,"try_from","","",33,[[],["result",4]]],[11,"try_into","","",33,[[],["result",4]]],[11,"type_id","","",33,[[],["typeid",3]]],[11,"span","","",34,[[],["span",3]]],[11,"from","","",34,[[]]],[11,"into","","",34,[[]]],[11,"to_owned","","",34,[[]]],[11,"clone_into","","",34,[[]]],[11,"borrow","","",34,[[]]],[11,"borrow_mut","","",34,[[]]],[11,"try_from","","",34,[[],["result",4]]],[11,"try_into","","",34,[[],["result",4]]],[11,"type_id","","",34,[[],["typeid",3]]],[11,"span","","",35,[[],["span",3]]],[11,"from","","",35,[[]]],[11,"into","","",35,[[]]],[11,"to_owned","","",35,[[]]],[11,"clone_into","","",35,[[]]],[11,"borrow","","",35,[[]]],[11,"borrow_mut","","",35,[[]]],[11,"try_from","","",35,[[],["result",4]]],[11,"try_into","","",35,[[],["result",4]]],[11,"type_id","","",35,[[],["typeid",3]]],[11,"span","","",36,[[],["span",3]]],[11,"from","","",36,[[]]],[11,"into","","",36,[[]]],[11,"to_owned","","",36,[[]]],[11,"clone_into","","",36,[[]]],[11,"borrow","","",36,[[]]],[11,"borrow_mut","","",36,[[]]],[11,"try_from","","",36,[[],["result",4]]],[11,"try_into","","",36,[[],["result",4]]],[11,"type_id","","",36,[[],["typeid",3]]],[11,"span","","",37,[[],["span",3]]],[11,"from","","",37,[[]]],[11,"into","","",37,[[]]],[11,"to_owned","","",37,[[]]],[11,"clone_into","","",37,[[]]],[11,"borrow","","",37,[[]]],[11,"borrow_mut","","",37,[[]]],[11,"try_from","","",37,[[],["result",4]]],[11,"try_into","","",37,[[],["result",4]]],[11,"type_id","","",37,[[],["typeid",3]]],[11,"span","","",38,[[],["span",3]]],[11,"from","","",38,[[]]],[11,"into","","",38,[[]]],[11,"to_owned","","",38,[[]]],[11,"clone_into","","",38,[[]]],[11,"borrow","","",38,[[]]],[11,"borrow_mut","","",38,[[]]],[11,"try_from","","",38,[[],["result",4]]],[11,"try_into","","",38,[[],["result",4]]],[11,"type_id","","",38,[[],["typeid",3]]],[11,"span","","",39,[[],["span",3]]],[11,"from","","",39,[[]]],[11,"into","","",39,[[]]],[11,"to_owned","","",39,[[]]],[11,"clone_into","","",39,[[]]],[11,"borrow","","",39,[[]]],[11,"borrow_mut","","",39,[[]]],[11,"try_from","","",39,[[],["result",4]]],[11,"try_into","","",39,[[],["result",4]]],[11,"type_id","","",39,[[],["typeid",3]]],[11,"span","","",40,[[],["span",3]]],[11,"from","","",40,[[]]],[11,"into","","",40,[[]]],[11,"to_owned","","",40,[[]]],[11,"clone_into","","",40,[[]]],[11,"borrow","","",40,[[]]],[11,"borrow_mut","","",40,[[]]],[11,"try_from","","",40,[[],["result",4]]],[11,"try_into","","",40,[[],["result",4]]],[11,"type_id","","",40,[[],["typeid",3]]],[11,"span","","",41,[[],["span",3]]],[11,"from","","",41,[[]]],[11,"into","","",41,[[]]],[11,"to_owned","","",41,[[]]],[11,"clone_into","","",41,[[]]],[11,"borrow","","",41,[[]]],[11,"borrow_mut","","",41,[[]]],[11,"try_from","","",41,[[],["result",4]]],[11,"try_into","","",41,[[],["result",4]]],[11,"type_id","","",41,[[],["typeid",3]]],[11,"span","","",42,[[],["span",3]]],[11,"from","","",42,[[]]],[11,"into","","",42,[[]]],[11,"to_owned","","",42,[[]]],[11,"clone_into","","",42,[[]]],[11,"borrow","","",42,[[]]],[11,"borrow_mut","","",42,[[]]],[11,"try_from","","",42,[[],["result",4]]],[11,"try_into","","",42,[[],["result",4]]],[11,"type_id","","",42,[[],["typeid",3]]],[11,"span","","",43,[[],["span",3]]],[11,"from","","",43,[[]]],[11,"into","","",43,[[]]],[11,"to_owned","","",43,[[]]],[11,"clone_into","","",43,[[]]],[11,"borrow","","",43,[[]]],[11,"borrow_mut","","",43,[[]]],[11,"try_from","","",43,[[],["result",4]]],[11,"try_into","","",43,[[],["result",4]]],[11,"type_id","","",43,[[],["typeid",3]]],[11,"span","","",44,[[],["span",3]]],[11,"from","","",44,[[]]],[11,"into","","",44,[[]]],[11,"to_owned","","",44,[[]]],[11,"clone_into","","",44,[[]]],[11,"borrow","","",44,[[]]],[11,"borrow_mut","","",44,[[]]],[11,"try_from","","",44,[[],["result",4]]],[11,"try_into","","",44,[[],["result",4]]],[11,"type_id","","",44,[[],["typeid",3]]],[11,"span","","",45,[[],["span",3]]],[11,"from","","",45,[[]]],[11,"into","","",45,[[]]],[11,"to_owned","","",45,[[]]],[11,"clone_into","","",45,[[]]],[11,"borrow","","",45,[[]]],[11,"borrow_mut","","",45,[[]]],[11,"try_from","","",45,[[],["result",4]]],[11,"try_into","","",45,[[],["result",4]]],[11,"type_id","","",45,[[],["typeid",3]]],[11,"span","","",46,[[],["span",3]]],[11,"from","","",46,[[]]],[11,"into","","",46,[[]]],[11,"to_owned","","",46,[[]]],[11,"clone_into","","",46,[[]]],[11,"borrow","","",46,[[]]],[11,"borrow_mut","","",46,[[]]],[11,"try_from","","",46,[[],["result",4]]],[11,"try_into","","",46,[[],["result",4]]],[11,"type_id","","",46,[[],["typeid",3]]],[11,"span","","",47,[[],["span",3]]],[11,"from","","",47,[[]]],[11,"into","","",47,[[]]],[11,"to_owned","","",47,[[]]],[11,"clone_into","","",47,[[]]],[11,"borrow","","",47,[[]]],[11,"borrow_mut","","",47,[[]]],[11,"try_from","","",47,[[],["result",4]]],[11,"try_into","","",47,[[],["result",4]]],[11,"type_id","","",47,[[],["typeid",3]]],[11,"span","","",48,[[],["span",3]]],[11,"from","","",48,[[]]],[11,"into","","",48,[[]]],[11,"to_owned","","",48,[[]]],[11,"clone_into","","",48,[[]]],[11,"borrow","","",48,[[]]],[11,"borrow_mut","","",48,[[]]],[11,"try_from","","",48,[[],["result",4]]],[11,"try_into","","",48,[[],["result",4]]],[11,"type_id","","",48,[[],["typeid",3]]],[11,"span","","",49,[[],["span",3]]],[11,"from","","",49,[[]]],[11,"into","","",49,[[]]],[11,"to_owned","","",49,[[]]],[11,"clone_into","","",49,[[]]],[11,"borrow","","",49,[[]]],[11,"borrow_mut","","",49,[[]]],[11,"try_from","","",49,[[],["result",4]]],[11,"try_into","","",49,[[],["result",4]]],[11,"type_id","","",49,[[],["typeid",3]]],[11,"span","","",50,[[],["span",3]]],[11,"from","","",50,[[]]],[11,"into","","",50,[[]]],[11,"to_owned","","",50,[[]]],[11,"clone_into","","",50,[[]]],[11,"borrow","","",50,[[]]],[11,"borrow_mut","","",50,[[]]],[11,"try_from","","",50,[[],["result",4]]],[11,"try_into","","",50,[[],["result",4]]],[11,"type_id","","",50,[[],["typeid",3]]],[11,"span","","",51,[[],["span",3]]],[11,"from","","",51,[[]]],[11,"into","","",51,[[]]],[11,"to_owned","","",51,[[]]],[11,"clone_into","","",51,[[]]],[11,"borrow","","",51,[[]]],[11,"borrow_mut","","",51,[[]]],[11,"try_from","","",51,[[],["result",4]]],[11,"try_into","","",51,[[],["result",4]]],[11,"type_id","","",51,[[],["typeid",3]]],[11,"span","","",52,[[],["span",3]]],[11,"from","","",52,[[]]],[11,"into","","",52,[[]]],[11,"to_owned","","",52,[[]]],[11,"clone_into","","",52,[[]]],[11,"borrow","","",52,[[]]],[11,"borrow_mut","","",52,[[]]],[11,"try_from","","",52,[[],["result",4]]],[11,"try_into","","",52,[[],["result",4]]],[11,"type_id","","",52,[[],["typeid",3]]],[11,"span","","",53,[[],["span",3]]],[11,"from","","",53,[[]]],[11,"into","","",53,[[]]],[11,"to_owned","","",53,[[]]],[11,"clone_into","","",53,[[]]],[11,"borrow","","",53,[[]]],[11,"borrow_mut","","",53,[[]]],[11,"try_from","","",53,[[],["result",4]]],[11,"try_into","","",53,[[],["result",4]]],[11,"type_id","","",53,[[],["typeid",3]]],[11,"span","","",54,[[],["span",3]]],[11,"from","","",54,[[]]],[11,"into","","",54,[[]]],[11,"to_owned","","",54,[[]]],[11,"clone_into","","",54,[[]]],[11,"borrow","","",54,[[]]],[11,"borrow_mut","","",54,[[]]],[11,"try_from","","",54,[[],["result",4]]],[11,"try_into","","",54,[[],["result",4]]],[11,"type_id","","",54,[[],["typeid",3]]],[11,"span","","",55,[[],["span",3]]],[11,"from","","",55,[[]]],[11,"into","","",55,[[]]],[11,"to_owned","","",55,[[]]],[11,"clone_into","","",55,[[]]],[11,"borrow","","",55,[[]]],[11,"borrow_mut","","",55,[[]]],[11,"try_from","","",55,[[],["result",4]]],[11,"try_into","","",55,[[],["result",4]]],[11,"type_id","","",55,[[],["typeid",3]]],[11,"span","","",56,[[],["span",3]]],[11,"from","","",56,[[]]],[11,"into","","",56,[[]]],[11,"to_owned","","",56,[[]]],[11,"clone_into","","",56,[[]]],[11,"borrow","","",56,[[]]],[11,"borrow_mut","","",56,[[]]],[11,"try_from","","",56,[[],["result",4]]],[11,"try_into","","",56,[[],["result",4]]],[11,"type_id","","",56,[[],["typeid",3]]],[11,"span","","",57,[[],["span",3]]],[11,"from","","",57,[[]]],[11,"into","","",57,[[]]],[11,"to_owned","","",57,[[]]],[11,"clone_into","","",57,[[]]],[11,"borrow","","",57,[[]]],[11,"borrow_mut","","",57,[[]]],[11,"try_from","","",57,[[],["result",4]]],[11,"try_into","","",57,[[],["result",4]]],[11,"type_id","","",57,[[],["typeid",3]]],[11,"span","","",58,[[],["span",3]]],[11,"from","","",58,[[]]],[11,"into","","",58,[[]]],[11,"to_owned","","",58,[[]]],[11,"clone_into","","",58,[[]]],[11,"borrow","","",58,[[]]],[11,"borrow_mut","","",58,[[]]],[11,"try_from","","",58,[[],["result",4]]],[11,"try_into","","",58,[[],["result",4]]],[11,"type_id","","",58,[[],["typeid",3]]],[11,"span","","",59,[[],["span",3]]],[11,"from","","",59,[[]]],[11,"into","","",59,[[]]],[11,"to_owned","","",59,[[]]],[11,"clone_into","","",59,[[]]],[11,"borrow","","",59,[[]]],[11,"borrow_mut","","",59,[[]]],[11,"try_from","","",59,[[],["result",4]]],[11,"try_into","","",59,[[],["result",4]]],[11,"type_id","","",59,[[],["typeid",3]]],[11,"span","","",60,[[],["span",3]]],[11,"from","","",60,[[]]],[11,"into","","",60,[[]]],[11,"to_owned","","",60,[[]]],[11,"clone_into","","",60,[[]]],[11,"borrow","","",60,[[]]],[11,"borrow_mut","","",60,[[]]],[11,"try_from","","",60,[[],["result",4]]],[11,"try_into","","",60,[[],["result",4]]],[11,"type_id","","",60,[[],["typeid",3]]],[11,"span","","",61,[[],["span",3]]],[11,"from","","",61,[[]]],[11,"into","","",61,[[]]],[11,"to_owned","","",61,[[]]],[11,"clone_into","","",61,[[]]],[11,"borrow","","",61,[[]]],[11,"borrow_mut","","",61,[[]]],[11,"try_from","","",61,[[],["result",4]]],[11,"try_into","","",61,[[],["result",4]]],[11,"type_id","","",61,[[],["typeid",3]]],[11,"span","","",62,[[],["span",3]]],[11,"from","","",62,[[]]],[11,"into","","",62,[[]]],[11,"to_owned","","",62,[[]]],[11,"clone_into","","",62,[[]]],[11,"borrow","","",62,[[]]],[11,"borrow_mut","","",62,[[]]],[11,"try_from","","",62,[[],["result",4]]],[11,"try_into","","",62,[[],["result",4]]],[11,"type_id","","",62,[[],["typeid",3]]],[11,"span","","",63,[[],["span",3]]],[11,"from","","",63,[[]]],[11,"into","","",63,[[]]],[11,"to_owned","","",63,[[]]],[11,"clone_into","","",63,[[]]],[11,"borrow","","",63,[[]]],[11,"borrow_mut","","",63,[[]]],[11,"try_from","","",63,[[],["result",4]]],[11,"try_into","","",63,[[],["result",4]]],[11,"type_id","","",63,[[],["typeid",3]]],[11,"span","","",64,[[],["span",3]]],[11,"from","","",64,[[]]],[11,"into","","",64,[[]]],[11,"to_owned","","",64,[[]]],[11,"clone_into","","",64,[[]]],[11,"borrow","","",64,[[]]],[11,"borrow_mut","","",64,[[]]],[11,"try_from","","",64,[[],["result",4]]],[11,"try_into","","",64,[[],["result",4]]],[11,"type_id","","",64,[[],["typeid",3]]],[11,"span","","",65,[[],["span",3]]],[11,"from","","",65,[[]]],[11,"into","","",65,[[]]],[11,"to_owned","","",65,[[]]],[11,"clone_into","","",65,[[]]],[11,"borrow","","",65,[[]]],[11,"borrow_mut","","",65,[[]]],[11,"try_from","","",65,[[],["result",4]]],[11,"try_into","","",65,[[],["result",4]]],[11,"type_id","","",65,[[],["typeid",3]]],[11,"span","","",66,[[],["span",3]]],[11,"from","","",66,[[]]],[11,"into","","",66,[[]]],[11,"to_owned","","",66,[[]]],[11,"clone_into","","",66,[[]]],[11,"borrow","","",66,[[]]],[11,"borrow_mut","","",66,[[]]],[11,"try_from","","",66,[[],["result",4]]],[11,"try_into","","",66,[[],["result",4]]],[11,"type_id","","",66,[[],["typeid",3]]],[11,"span","","",67,[[],["span",3]]],[11,"from","","",67,[[]]],[11,"into","","",67,[[]]],[11,"to_owned","","",67,[[]]],[11,"clone_into","","",67,[[]]],[11,"borrow","","",67,[[]]],[11,"borrow_mut","","",67,[[]]],[11,"try_from","","",67,[[],["result",4]]],[11,"try_into","","",67,[[],["result",4]]],[11,"type_id","","",67,[[],["typeid",3]]],[11,"span","","",68,[[],["span",3]]],[11,"from","","",68,[[]]],[11,"into","","",68,[[]]],[11,"to_owned","","",68,[[]]],[11,"clone_into","","",68,[[]]],[11,"borrow","","",68,[[]]],[11,"borrow_mut","","",68,[[]]],[11,"try_from","","",68,[[],["result",4]]],[11,"try_into","","",68,[[],["result",4]]],[11,"type_id","","",68,[[],["typeid",3]]],[11,"span","","",69,[[],["span",3]]],[11,"from","","",69,[[]]],[11,"into","","",69,[[]]],[11,"to_owned","","",69,[[]]],[11,"clone_into","","",69,[[]]],[11,"borrow","","",69,[[]]],[11,"borrow_mut","","",69,[[]]],[11,"try_from","","",69,[[],["result",4]]],[11,"try_into","","",69,[[],["result",4]]],[11,"type_id","","",69,[[],["typeid",3]]],[11,"span","","",70,[[],["span",3]]],[11,"from","","",70,[[]]],[11,"into","","",70,[[]]],[11,"to_owned","","",70,[[]]],[11,"clone_into","","",70,[[]]],[11,"borrow","","",70,[[]]],[11,"borrow_mut","","",70,[[]]],[11,"try_from","","",70,[[],["result",4]]],[11,"try_into","","",70,[[],["result",4]]],[11,"type_id","","",70,[[],["typeid",3]]],[11,"span","","",71,[[],["span",3]]],[11,"from","","",71,[[]]],[11,"into","","",71,[[]]],[11,"to_owned","","",71,[[]]],[11,"clone_into","","",71,[[]]],[11,"borrow","","",71,[[]]],[11,"borrow_mut","","",71,[[]]],[11,"try_from","","",71,[[],["result",4]]],[11,"try_into","","",71,[[],["result",4]]],[11,"type_id","","",71,[[],["typeid",3]]],[11,"span","","",72,[[],["span",3]]],[11,"from","","",72,[[]]],[11,"into","","",72,[[]]],[11,"to_owned","","",72,[[]]],[11,"clone_into","","",72,[[]]],[11,"borrow","","",72,[[]]],[11,"borrow_mut","","",72,[[]]],[11,"try_from","","",72,[[],["result",4]]],[11,"try_into","","",72,[[],["result",4]]],[11,"type_id","","",72,[[],["typeid",3]]],[11,"span","","",73,[[],["span",3]]],[11,"from","","",73,[[]]],[11,"into","","",73,[[]]],[11,"to_owned","","",73,[[]]],[11,"clone_into","","",73,[[]]],[11,"borrow","","",73,[[]]],[11,"borrow_mut","","",73,[[]]],[11,"try_from","","",73,[[],["result",4]]],[11,"try_into","","",73,[[],["result",4]]],[11,"type_id","","",73,[[],["typeid",3]]],[11,"span","","",74,[[],["span",3]]],[11,"from","","",74,[[]]],[11,"into","","",74,[[]]],[11,"to_owned","","",74,[[]]],[11,"clone_into","","",74,[[]]],[11,"borrow","","",74,[[]]],[11,"borrow_mut","","",74,[[]]],[11,"try_from","","",74,[[],["result",4]]],[11,"try_into","","",74,[[],["result",4]]],[11,"type_id","","",74,[[],["typeid",3]]],[11,"span","","",75,[[],["span",3]]],[11,"from","","",75,[[]]],[11,"into","","",75,[[]]],[11,"to_owned","","",75,[[]]],[11,"clone_into","","",75,[[]]],[11,"borrow","","",75,[[]]],[11,"borrow_mut","","",75,[[]]],[11,"try_from","","",75,[[],["result",4]]],[11,"try_into","","",75,[[],["result",4]]],[11,"type_id","","",75,[[],["typeid",3]]],[11,"span","","",76,[[],["span",3]]],[11,"from","","",76,[[]]],[11,"into","","",76,[[]]],[11,"to_owned","","",76,[[]]],[11,"clone_into","","",76,[[]]],[11,"borrow","","",76,[[]]],[11,"borrow_mut","","",76,[[]]],[11,"try_from","","",76,[[],["result",4]]],[11,"try_into","","",76,[[],["result",4]]],[11,"type_id","","",76,[[],["typeid",3]]],[11,"span","","",77,[[],["span",3]]],[11,"from","","",77,[[]]],[11,"into","","",77,[[]]],[11,"to_owned","","",77,[[]]],[11,"clone_into","","",77,[[]]],[11,"borrow","","",77,[[]]],[11,"borrow_mut","","",77,[[]]],[11,"try_from","","",77,[[],["result",4]]],[11,"try_into","","",77,[[],["result",4]]],[11,"type_id","","",77,[[],["typeid",3]]],[11,"span","","",78,[[],["span",3]]],[11,"from","","",78,[[]]],[11,"into","","",78,[[]]],[11,"to_owned","","",78,[[]]],[11,"clone_into","","",78,[[]]],[11,"borrow","","",78,[[]]],[11,"borrow_mut","","",78,[[]]],[11,"try_from","","",78,[[],["result",4]]],[11,"try_into","","",78,[[],["result",4]]],[11,"type_id","","",78,[[],["typeid",3]]],[11,"span","","",79,[[],["span",3]]],[11,"from","","",79,[[]]],[11,"into","","",79,[[]]],[11,"to_owned","","",79,[[]]],[11,"clone_into","","",79,[[]]],[11,"borrow","","",79,[[]]],[11,"borrow_mut","","",79,[[]]],[11,"try_from","","",79,[[],["result",4]]],[11,"try_into","","",79,[[],["result",4]]],[11,"type_id","","",79,[[],["typeid",3]]],[11,"span","","",80,[[],["span",3]]],[11,"from","","",80,[[]]],[11,"into","","",80,[[]]],[11,"to_owned","","",80,[[]]],[11,"clone_into","","",80,[[]]],[11,"borrow","","",80,[[]]],[11,"borrow_mut","","",80,[[]]],[11,"try_from","","",80,[[],["result",4]]],[11,"try_into","","",80,[[],["result",4]]],[11,"type_id","","",80,[[],["typeid",3]]],[11,"span","","",81,[[],["span",3]]],[11,"from","","",81,[[]]],[11,"into","","",81,[[]]],[11,"to_owned","","",81,[[]]],[11,"clone_into","","",81,[[]]],[11,"borrow","","",81,[[]]],[11,"borrow_mut","","",81,[[]]],[11,"try_from","","",81,[[],["result",4]]],[11,"try_into","","",81,[[],["result",4]]],[11,"type_id","","",81,[[],["typeid",3]]],[11,"span","","",82,[[],["span",3]]],[11,"from","","",82,[[]]],[11,"into","","",82,[[]]],[11,"to_owned","","",82,[[]]],[11,"clone_into","","",82,[[]]],[11,"borrow","","",82,[[]]],[11,"borrow_mut","","",82,[[]]],[11,"try_from","","",82,[[],["result",4]]],[11,"try_into","","",82,[[],["result",4]]],[11,"type_id","","",82,[[],["typeid",3]]],[11,"span","","",83,[[],["span",3]]],[11,"from","","",83,[[]]],[11,"into","","",83,[[]]],[11,"to_owned","","",83,[[]]],[11,"clone_into","","",83,[[]]],[11,"borrow","","",83,[[]]],[11,"borrow_mut","","",83,[[]]],[11,"try_from","","",83,[[],["result",4]]],[11,"try_into","","",83,[[],["result",4]]],[11,"type_id","","",83,[[],["typeid",3]]],[11,"span","","",84,[[],["span",3]]],[11,"from","","",84,[[]]],[11,"into","","",84,[[]]],[11,"to_owned","","",84,[[]]],[11,"clone_into","","",84,[[]]],[11,"borrow","","",84,[[]]],[11,"borrow_mut","","",84,[[]]],[11,"try_from","","",84,[[],["result",4]]],[11,"try_into","","",84,[[],["result",4]]],[11,"type_id","","",84,[[],["typeid",3]]],[11,"span","","",85,[[],["span",3]]],[11,"from","","",85,[[]]],[11,"into","","",85,[[]]],[11,"to_owned","","",85,[[]]],[11,"clone_into","","",85,[[]]],[11,"borrow","","",85,[[]]],[11,"borrow_mut","","",85,[[]]],[11,"try_from","","",85,[[],["result",4]]],[11,"try_into","","",85,[[],["result",4]]],[11,"type_id","","",85,[[],["typeid",3]]],[11,"span","","",86,[[],["span",3]]],[11,"from","","",86,[[]]],[11,"into","","",86,[[]]],[11,"to_owned","","",86,[[]]],[11,"clone_into","","",86,[[]]],[11,"borrow","","",86,[[]]],[11,"borrow_mut","","",86,[[]]],[11,"try_from","","",86,[[],["result",4]]],[11,"try_into","","",86,[[],["result",4]]],[11,"type_id","","",86,[[],["typeid",3]]],[11,"span","","",87,[[],["span",3]]],[11,"from","","",87,[[]]],[11,"into","","",87,[[]]],[11,"to_owned","","",87,[[]]],[11,"clone_into","","",87,[[]]],[11,"borrow","","",87,[[]]],[11,"borrow_mut","","",87,[[]]],[11,"try_from","","",87,[[],["result",4]]],[11,"try_into","","",87,[[],["result",4]]],[11,"type_id","","",87,[[],["typeid",3]]],[11,"span","","",88,[[],["span",3]]],[11,"from","","",88,[[]]],[11,"into","","",88,[[]]],[11,"to_owned","","",88,[[]]],[11,"clone_into","","",88,[[]]],[11,"borrow","","",88,[[]]],[11,"borrow_mut","","",88,[[]]],[11,"try_from","","",88,[[],["result",4]]],[11,"try_into","","",88,[[],["result",4]]],[11,"type_id","","",88,[[],["typeid",3]]],[11,"span","","",89,[[],["span",3]]],[11,"from","","",89,[[]]],[11,"into","","",89,[[]]],[11,"to_owned","","",89,[[]]],[11,"clone_into","","",89,[[]]],[11,"borrow","","",89,[[]]],[11,"borrow_mut","","",89,[[]]],[11,"try_from","","",89,[[],["result",4]]],[11,"try_into","","",89,[[],["result",4]]],[11,"type_id","","",89,[[],["typeid",3]]],[11,"span","","",90,[[],["span",3]]],[11,"from","","",90,[[]]],[11,"into","","",90,[[]]],[11,"to_owned","","",90,[[]]],[11,"clone_into","","",90,[[]]],[11,"borrow","","",90,[[]]],[11,"borrow_mut","","",90,[[]]],[11,"try_from","","",90,[[],["result",4]]],[11,"try_into","","",90,[[],["result",4]]],[11,"type_id","","",90,[[],["typeid",3]]],[11,"span","","",91,[[],["span",3]]],[11,"from","","",91,[[]]],[11,"into","","",91,[[]]],[11,"to_owned","","",91,[[]]],[11,"clone_into","","",91,[[]]],[11,"borrow","","",91,[[]]],[11,"borrow_mut","","",91,[[]]],[11,"try_from","","",91,[[],["result",4]]],[11,"try_into","","",91,[[],["result",4]]],[11,"type_id","","",91,[[],["typeid",3]]],[11,"span","","",92,[[],["span",3]]],[11,"from","","",92,[[]]],[11,"into","","",92,[[]]],[11,"to_owned","","",92,[[]]],[11,"clone_into","","",92,[[]]],[11,"borrow","","",92,[[]]],[11,"borrow_mut","","",92,[[]]],[11,"try_from","","",92,[[],["result",4]]],[11,"try_into","","",92,[[],["result",4]]],[11,"type_id","","",92,[[],["typeid",3]]],[11,"span","","",93,[[],["span",3]]],[11,"from","","",93,[[]]],[11,"into","","",93,[[]]],[11,"to_owned","","",93,[[]]],[11,"clone_into","","",93,[[]]],[11,"borrow","","",93,[[]]],[11,"borrow_mut","","",93,[[]]],[11,"try_from","","",93,[[],["result",4]]],[11,"try_into","","",93,[[],["result",4]]],[11,"type_id","","",93,[[],["typeid",3]]],[11,"span","","",94,[[],["span",3]]],[11,"from","","",94,[[]]],[11,"into","","",94,[[]]],[11,"to_owned","","",94,[[]]],[11,"clone_into","","",94,[[]]],[11,"borrow","","",94,[[]]],[11,"borrow_mut","","",94,[[]]],[11,"try_from","","",94,[[],["result",4]]],[11,"try_into","","",94,[[],["result",4]]],[11,"type_id","","",94,[[],["typeid",3]]],[11,"span","","",95,[[],["span",3]]],[11,"from","","",95,[[]]],[11,"into","","",95,[[]]],[11,"to_owned","","",95,[[]]],[11,"clone_into","","",95,[[]]],[11,"borrow","","",95,[[]]],[11,"borrow_mut","","",95,[[]]],[11,"try_from","","",95,[[],["result",4]]],[11,"try_into","","",95,[[],["result",4]]],[11,"type_id","","",95,[[],["typeid",3]]],[11,"span","","",96,[[],["span",3]]],[11,"from","","",96,[[]]],[11,"into","","",96,[[]]],[11,"to_owned","","",96,[[]]],[11,"clone_into","","",96,[[]]],[11,"borrow","","",96,[[]]],[11,"borrow_mut","","",96,[[]]],[11,"try_from","","",96,[[],["result",4]]],[11,"try_into","","",96,[[],["result",4]]],[11,"type_id","","",96,[[],["typeid",3]]],[11,"span","","",97,[[],["span",3]]],[11,"from","","",97,[[]]],[11,"into","","",97,[[]]],[11,"to_owned","","",97,[[]]],[11,"clone_into","","",97,[[]]],[11,"borrow","","",97,[[]]],[11,"borrow_mut","","",97,[[]]],[11,"try_from","","",97,[[],["result",4]]],[11,"try_into","","",97,[[],["result",4]]],[11,"type_id","","",97,[[],["typeid",3]]],[11,"span","","",98,[[],["span",3]]],[11,"from","","",98,[[]]],[11,"into","","",98,[[]]],[11,"to_owned","","",98,[[]]],[11,"clone_into","","",98,[[]]],[11,"borrow","","",98,[[]]],[11,"borrow_mut","","",98,[[]]],[11,"try_from","","",98,[[],["result",4]]],[11,"try_into","","",98,[[],["result",4]]],[11,"type_id","","",98,[[],["typeid",3]]],[11,"from","","",99,[[]]],[11,"into","","",99,[[]]],[11,"to_owned","","",99,[[]]],[11,"clone_into","","",99,[[]]],[11,"borrow","","",99,[[]]],[11,"borrow_mut","","",99,[[]]],[11,"try_from","","",99,[[],["result",4]]],[11,"try_into","","",99,[[],["result",4]]],[11,"type_id","","",99,[[],["typeid",3]]],[11,"from","","",100,[[]]],[11,"into","","",100,[[]]],[11,"to_owned","","",100,[[]]],[11,"clone_into","","",100,[[]]],[11,"borrow","","",100,[[]]],[11,"borrow_mut","","",100,[[]]],[11,"try_from","","",100,[[],["result",4]]],[11,"try_into","","",100,[[],["result",4]]],[11,"type_id","","",100,[[],["typeid",3]]],[11,"from","","",101,[[]]],[11,"into","","",101,[[]]],[11,"to_owned","","",101,[[]]],[11,"clone_into","","",101,[[]]],[11,"borrow","","",101,[[]]],[11,"borrow_mut","","",101,[[]]],[11,"try_from","","",101,[[],["result",4]]],[11,"try_into","","",101,[[],["result",4]]],[11,"type_id","","",101,[[],["typeid",3]]],[11,"from","","",102,[[]]],[11,"into","","",102,[[]]],[11,"to_owned","","",102,[[]]],[11,"clone_into","","",102,[[]]],[11,"borrow","","",102,[[]]],[11,"borrow_mut","","",102,[[]]],[11,"try_from","","",102,[[],["result",4]]],[11,"try_into","","",102,[[],["result",4]]],[11,"type_id","","",102,[[],["typeid",3]]],[11,"span","syn","",117,[[],["span",3]]],[11,"from","","",117,[[]]],[11,"into","","",117,[[]]],[11,"to_owned","","",117,[[]]],[11,"clone_into","","",117,[[]]],[11,"borrow","","",117,[[]]],[11,"borrow_mut","","",117,[[]]],[11,"try_from","","",117,[[],["result",4]]],[11,"try_into","","",117,[[],["result",4]]],[11,"type_id","","",117,[[],["typeid",3]]],[11,"from","","",116,[[]]],[11,"into","","",116,[[]]],[11,"to_owned","","",116,[[]]],[11,"clone_into","","",116,[[]]],[11,"borrow","","",116,[[]]],[11,"borrow_mut","","",116,[[]]],[11,"try_from","","",116,[[],["result",4]]],[11,"try_into","","",116,[[],["result",4]]],[11,"type_id","","",116,[[],["typeid",3]]],[11,"span","","",118,[[],["span",3]]],[11,"from","","",118,[[]]],[11,"into","","",118,[[]]],[11,"to_owned","","",118,[[]]],[11,"clone_into","","",118,[[]]],[11,"borrow","","",118,[[]]],[11,"borrow_mut","","",118,[[]]],[11,"try_from","","",118,[[],["result",4]]],[11,"try_into","","",118,[[],["result",4]]],[11,"type_id","","",118,[[],["typeid",3]]],[11,"span","","",119,[[],["span",3]]],[11,"from","","",119,[[]]],[11,"into","","",119,[[]]],[11,"to_owned","","",119,[[]]],[11,"clone_into","","",119,[[]]],[11,"borrow","","",119,[[]]],[11,"borrow_mut","","",119,[[]]],[11,"try_from","","",119,[[],["result",4]]],[11,"try_into","","",119,[[],["result",4]]],[11,"type_id","","",119,[[],["typeid",3]]],[11,"span","","",120,[[],["span",3]]],[11,"from","","",120,[[]]],[11,"into","","",120,[[]]],[11,"to_owned","","",120,[[]]],[11,"clone_into","","",120,[[]]],[11,"borrow","","",120,[[]]],[11,"borrow_mut","","",120,[[]]],[11,"try_from","","",120,[[],["result",4]]],[11,"try_into","","",120,[[],["result",4]]],[11,"type_id","","",120,[[],["typeid",3]]],[11,"span","","",121,[[],["span",3]]],[11,"from","","",121,[[]]],[11,"into","","",121,[[]]],[11,"to_owned","","",121,[[]]],[11,"clone_into","","",121,[[]]],[11,"borrow","","",121,[[]]],[11,"borrow_mut","","",121,[[]]],[11,"try_from","","",121,[[],["result",4]]],[11,"try_into","","",121,[[],["result",4]]],[11,"type_id","","",121,[[],["typeid",3]]],[11,"span","","",126,[[],["span",3]]],[11,"from","","",126,[[]]],[11,"into","","",126,[[]]],[11,"to_owned","","",126,[[]]],[11,"clone_into","","",126,[[]]],[11,"borrow","","",126,[[]]],[11,"borrow_mut","","",126,[[]]],[11,"try_from","","",126,[[],["result",4]]],[11,"try_into","","",126,[[],["result",4]]],[11,"type_id","","",126,[[],["typeid",3]]],[11,"span","","",123,[[],["span",3]]],[11,"from","","",123,[[]]],[11,"into","","",123,[[]]],[11,"to_owned","","",123,[[]]],[11,"clone_into","","",123,[[]]],[11,"borrow","","",123,[[]]],[11,"borrow_mut","","",123,[[]]],[11,"try_from","","",123,[[],["result",4]]],[11,"try_into","","",123,[[],["result",4]]],[11,"type_id","","",123,[[],["typeid",3]]],[11,"span","","",124,[[],["span",3]]],[11,"from","","",124,[[]]],[11,"into","","",124,[[]]],[11,"to_owned","","",124,[[]]],[11,"clone_into","","",124,[[]]],[11,"borrow","","",124,[[]]],[11,"borrow_mut","","",124,[[]]],[11,"try_from","","",124,[[],["result",4]]],[11,"try_into","","",124,[[],["result",4]]],[11,"type_id","","",124,[[],["typeid",3]]],[11,"span","","",125,[[],["span",3]]],[11,"from","","",125,[[]]],[11,"into","","",125,[[]]],[11,"to_owned","","",125,[[]]],[11,"clone_into","","",125,[[]]],[11,"borrow","","",125,[[]]],[11,"borrow_mut","","",125,[[]]],[11,"try_from","","",125,[[],["result",4]]],[11,"try_into","","",125,[[],["result",4]]],[11,"type_id","","",125,[[],["typeid",3]]],[11,"span","","",122,[[],["span",3]]],[11,"from","","",122,[[]]],[11,"into","","",122,[[]]],[11,"to_owned","","",122,[[]]],[11,"clone_into","","",122,[[]]],[11,"borrow","","",122,[[]]],[11,"borrow_mut","","",122,[[]]],[11,"try_from","","",122,[[],["result",4]]],[11,"try_into","","",122,[[],["result",4]]],[11,"type_id","","",122,[[],["typeid",3]]],[11,"span","","",130,[[],["span",3]]],[11,"from","","",130,[[]]],[11,"into","","",130,[[]]],[11,"to_owned","","",130,[[]]],[11,"clone_into","","",130,[[]]],[11,"borrow","","",130,[[]]],[11,"borrow_mut","","",130,[[]]],[11,"try_from","","",130,[[],["result",4]]],[11,"try_into","","",130,[[],["result",4]]],[11,"type_id","","",130,[[],["typeid",3]]],[11,"span","","",128,[[],["span",3]]],[11,"from","","",128,[[]]],[11,"into","","",128,[[]]],[11,"to_owned","","",128,[[]]],[11,"clone_into","","",128,[[]]],[11,"borrow","","",128,[[]]],[11,"borrow_mut","","",128,[[]]],[11,"try_from","","",128,[[],["result",4]]],[11,"try_into","","",128,[[],["result",4]]],[11,"type_id","","",128,[[],["typeid",3]]],[11,"span","","",127,[[],["span",3]]],[11,"from","","",127,[[]]],[11,"into","","",127,[[]]],[11,"to_owned","","",127,[[]]],[11,"clone_into","","",127,[[]]],[11,"borrow","","",127,[[]]],[11,"borrow_mut","","",127,[[]]],[11,"try_from","","",127,[[],["result",4]]],[11,"try_into","","",127,[[],["result",4]]],[11,"type_id","","",127,[[],["typeid",3]]],[11,"span","","",129,[[],["span",3]]],[11,"from","","",129,[[]]],[11,"into","","",129,[[]]],[11,"to_owned","","",129,[[]]],[11,"clone_into","","",129,[[]]],[11,"borrow","","",129,[[]]],[11,"borrow_mut","","",129,[[]]],[11,"try_from","","",129,[[],["result",4]]],[11,"try_into","","",129,[[],["result",4]]],[11,"type_id","","",129,[[],["typeid",3]]],[11,"span","","",131,[[],["span",3]]],[11,"from","","",131,[[]]],[11,"into","","",131,[[]]],[11,"to_owned","","",131,[[]]],[11,"clone_into","","",131,[[]]],[11,"borrow","","",131,[[]]],[11,"borrow_mut","","",131,[[]]],[11,"try_from","","",131,[[],["result",4]]],[11,"try_into","","",131,[[],["result",4]]],[11,"type_id","","",131,[[],["typeid",3]]],[11,"span","","",199,[[],["span",3]]],[11,"from","","",199,[[]]],[11,"into","","",199,[[]]],[11,"borrow","","",199,[[]]],[11,"borrow_mut","","",199,[[]]],[11,"try_from","","",199,[[],["result",4]]],[11,"try_into","","",199,[[],["result",4]]],[11,"type_id","","",199,[[],["typeid",3]]],[11,"span","","",200,[[],["span",3]]],[11,"from","","",200,[[]]],[11,"into","","",200,[[]]],[11,"borrow","","",200,[[]]],[11,"borrow_mut","","",200,[[]]],[11,"try_from","","",200,[[],["result",4]]],[11,"try_into","","",200,[[],["result",4]]],[11,"type_id","","",200,[[],["typeid",3]]],[11,"span","","",201,[[],["span",3]]],[11,"from","","",201,[[]]],[11,"into","","",201,[[]]],[11,"borrow","","",201,[[]]],[11,"borrow_mut","","",201,[[]]],[11,"try_from","","",201,[[],["result",4]]],[11,"try_into","","",201,[[],["result",4]]],[11,"type_id","","",201,[[],["typeid",3]]],[11,"span","","",202,[[],["span",3]]],[11,"from","","",202,[[]]],[11,"into","","",202,[[]]],[11,"borrow","","",202,[[]]],[11,"borrow_mut","","",202,[[]]],[11,"try_from","","",202,[[],["result",4]]],[11,"try_into","","",202,[[],["result",4]]],[11,"type_id","","",202,[[],["typeid",3]]],[11,"span","","",203,[[],["span",3]]],[11,"from","","",203,[[]]],[11,"into","","",203,[[]]],[11,"borrow","","",203,[[]]],[11,"borrow_mut","","",203,[[]]],[11,"try_from","","",203,[[],["result",4]]],[11,"try_into","","",203,[[],["result",4]]],[11,"type_id","","",203,[[],["typeid",3]]],[11,"span","","",132,[[],["span",3]]],[11,"from","","",132,[[]]],[11,"into","","",132,[[]]],[11,"to_owned","","",132,[[]]],[11,"clone_into","","",132,[[]]],[11,"borrow","","",132,[[]]],[11,"borrow_mut","","",132,[[]]],[11,"try_from","","",132,[[],["result",4]]],[11,"try_into","","",132,[[],["result",4]]],[11,"type_id","","",132,[[],["typeid",3]]],[11,"span","","",204,[[],["span",3]]],[11,"from","","",204,[[]]],[11,"into","","",204,[[]]],[11,"borrow","","",204,[[]]],[11,"borrow_mut","","",204,[[]]],[11,"try_from","","",204,[[],["result",4]]],[11,"try_into","","",204,[[],["result",4]]],[11,"type_id","","",204,[[],["typeid",3]]],[11,"span","","",205,[[],["span",3]]],[11,"from","","",205,[[]]],[11,"into","","",205,[[]]],[11,"borrow","","",205,[[]]],[11,"borrow_mut","","",205,[[]]],[11,"try_from","","",205,[[],["result",4]]],[11,"try_into","","",205,[[],["result",4]]],[11,"type_id","","",205,[[],["typeid",3]]],[11,"span","","",206,[[],["span",3]]],[11,"from","","",206,[[]]],[11,"into","","",206,[[]]],[11,"borrow","","",206,[[]]],[11,"borrow_mut","","",206,[[]]],[11,"try_from","","",206,[[],["result",4]]],[11,"try_into","","",206,[[],["result",4]]],[11,"type_id","","",206,[[],["typeid",3]]],[11,"span","","",133,[[],["span",3]]],[11,"from","","",133,[[]]],[11,"into","","",133,[[]]],[11,"to_owned","","",133,[[]]],[11,"clone_into","","",133,[[]]],[11,"borrow","","",133,[[]]],[11,"borrow_mut","","",133,[[]]],[11,"try_from","","",133,[[],["result",4]]],[11,"try_into","","",133,[[],["result",4]]],[11,"type_id","","",133,[[],["typeid",3]]],[11,"span","","",134,[[],["span",3]]],[11,"from","","",134,[[]]],[11,"into","","",134,[[]]],[11,"to_owned","","",134,[[]]],[11,"clone_into","","",134,[[]]],[11,"borrow","","",134,[[]]],[11,"borrow_mut","","",134,[[]]],[11,"try_from","","",134,[[],["result",4]]],[11,"try_into","","",134,[[],["result",4]]],[11,"type_id","","",134,[[],["typeid",3]]],[11,"span","","",207,[[],["span",3]]],[11,"from","","",207,[[]]],[11,"into","","",207,[[]]],[11,"borrow","","",207,[[]]],[11,"borrow_mut","","",207,[[]]],[11,"try_from","","",207,[[],["result",4]]],[11,"try_into","","",207,[[],["result",4]]],[11,"type_id","","",207,[[],["typeid",3]]],[11,"span","","",208,[[],["span",3]]],[11,"from","","",208,[[]]],[11,"into","","",208,[[]]],[11,"borrow","","",208,[[]]],[11,"borrow_mut","","",208,[[]]],[11,"try_from","","",208,[[],["result",4]]],[11,"try_into","","",208,[[],["result",4]]],[11,"type_id","","",208,[[],["typeid",3]]],[11,"span","","",135,[[],["span",3]]],[11,"from","","",135,[[]]],[11,"into","","",135,[[]]],[11,"to_owned","","",135,[[]]],[11,"clone_into","","",135,[[]]],[11,"borrow","","",135,[[]]],[11,"borrow_mut","","",135,[[]]],[11,"try_from","","",135,[[],["result",4]]],[11,"try_into","","",135,[[],["result",4]]],[11,"type_id","","",135,[[],["typeid",3]]],[11,"span","","",209,[[],["span",3]]],[11,"from","","",209,[[]]],[11,"into","","",209,[[]]],[11,"borrow","","",209,[[]]],[11,"borrow_mut","","",209,[[]]],[11,"try_from","","",209,[[],["result",4]]],[11,"try_into","","",209,[[],["result",4]]],[11,"type_id","","",209,[[],["typeid",3]]],[11,"span","","",210,[[],["span",3]]],[11,"from","","",210,[[]]],[11,"into","","",210,[[]]],[11,"borrow","","",210,[[]]],[11,"borrow_mut","","",210,[[]]],[11,"try_from","","",210,[[],["result",4]]],[11,"try_into","","",210,[[],["result",4]]],[11,"type_id","","",210,[[],["typeid",3]]],[11,"span","","",211,[[],["span",3]]],[11,"from","","",211,[[]]],[11,"into","","",211,[[]]],[11,"borrow","","",211,[[]]],[11,"borrow_mut","","",211,[[]]],[11,"try_from","","",211,[[],["result",4]]],[11,"try_into","","",211,[[],["result",4]]],[11,"type_id","","",211,[[],["typeid",3]]],[11,"span","","",136,[[],["span",3]]],[11,"from","","",136,[[]]],[11,"into","","",136,[[]]],[11,"to_owned","","",136,[[]]],[11,"clone_into","","",136,[[]]],[11,"borrow","","",136,[[]]],[11,"borrow_mut","","",136,[[]]],[11,"try_from","","",136,[[],["result",4]]],[11,"try_into","","",136,[[],["result",4]]],[11,"type_id","","",136,[[],["typeid",3]]],[11,"span","","",212,[[],["span",3]]],[11,"from","","",212,[[]]],[11,"into","","",212,[[]]],[11,"borrow","","",212,[[]]],[11,"borrow_mut","","",212,[[]]],[11,"try_from","","",212,[[],["result",4]]],[11,"try_into","","",212,[[],["result",4]]],[11,"type_id","","",212,[[],["typeid",3]]],[11,"span","","",137,[[],["span",3]]],[11,"from","","",137,[[]]],[11,"into","","",137,[[]]],[11,"to_owned","","",137,[[]]],[11,"clone_into","","",137,[[]]],[11,"borrow","","",137,[[]]],[11,"borrow_mut","","",137,[[]]],[11,"try_from","","",137,[[],["result",4]]],[11,"try_into","","",137,[[],["result",4]]],[11,"type_id","","",137,[[],["typeid",3]]],[11,"span","","",213,[[],["span",3]]],[11,"from","","",213,[[]]],[11,"into","","",213,[[]]],[11,"borrow","","",213,[[]]],[11,"borrow_mut","","",213,[[]]],[11,"try_from","","",213,[[],["result",4]]],[11,"try_into","","",213,[[],["result",4]]],[11,"type_id","","",213,[[],["typeid",3]]],[11,"span","","",214,[[],["span",3]]],[11,"from","","",214,[[]]],[11,"into","","",214,[[]]],[11,"borrow","","",214,[[]]],[11,"borrow_mut","","",214,[[]]],[11,"try_from","","",214,[[],["result",4]]],[11,"try_into","","",214,[[],["result",4]]],[11,"type_id","","",214,[[],["typeid",3]]],[11,"span","","",215,[[],["span",3]]],[11,"from","","",215,[[]]],[11,"into","","",215,[[]]],[11,"borrow","","",215,[[]]],[11,"borrow_mut","","",215,[[]]],[11,"try_from","","",215,[[],["result",4]]],[11,"try_into","","",215,[[],["result",4]]],[11,"type_id","","",215,[[],["typeid",3]]],[11,"span","","",216,[[],["span",3]]],[11,"from","","",216,[[]]],[11,"into","","",216,[[]]],[11,"borrow","","",216,[[]]],[11,"borrow_mut","","",216,[[]]],[11,"try_from","","",216,[[],["result",4]]],[11,"try_into","","",216,[[],["result",4]]],[11,"type_id","","",216,[[],["typeid",3]]],[11,"span","","",138,[[],["span",3]]],[11,"from","","",138,[[]]],[11,"into","","",138,[[]]],[11,"to_owned","","",138,[[]]],[11,"clone_into","","",138,[[]]],[11,"borrow","","",138,[[]]],[11,"borrow_mut","","",138,[[]]],[11,"try_from","","",138,[[],["result",4]]],[11,"try_into","","",138,[[],["result",4]]],[11,"type_id","","",138,[[],["typeid",3]]],[11,"span","","",139,[[],["span",3]]],[11,"from","","",139,[[]]],[11,"into","","",139,[[]]],[11,"to_owned","","",139,[[]]],[11,"clone_into","","",139,[[]]],[11,"borrow","","",139,[[]]],[11,"borrow_mut","","",139,[[]]],[11,"try_from","","",139,[[],["result",4]]],[11,"try_into","","",139,[[],["result",4]]],[11,"type_id","","",139,[[],["typeid",3]]],[11,"span","","",217,[[],["span",3]]],[11,"from","","",217,[[]]],[11,"into","","",217,[[]]],[11,"borrow","","",217,[[]]],[11,"borrow_mut","","",217,[[]]],[11,"try_from","","",217,[[],["result",4]]],[11,"try_into","","",217,[[],["result",4]]],[11,"type_id","","",217,[[],["typeid",3]]],[11,"span","","",218,[[],["span",3]]],[11,"from","","",218,[[]]],[11,"into","","",218,[[]]],[11,"borrow","","",218,[[]]],[11,"borrow_mut","","",218,[[]]],[11,"try_from","","",218,[[],["result",4]]],[11,"try_into","","",218,[[],["result",4]]],[11,"type_id","","",218,[[],["typeid",3]]],[11,"span","","",219,[[],["span",3]]],[11,"from","","",219,[[]]],[11,"into","","",219,[[]]],[11,"borrow","","",219,[[]]],[11,"borrow_mut","","",219,[[]]],[11,"try_from","","",219,[[],["result",4]]],[11,"try_into","","",219,[[],["result",4]]],[11,"type_id","","",219,[[],["typeid",3]]],[11,"span","","",220,[[],["span",3]]],[11,"from","","",220,[[]]],[11,"into","","",220,[[]]],[11,"borrow","","",220,[[]]],[11,"borrow_mut","","",220,[[]]],[11,"try_from","","",220,[[],["result",4]]],[11,"try_into","","",220,[[],["result",4]]],[11,"type_id","","",220,[[],["typeid",3]]],[11,"span","","",221,[[],["span",3]]],[11,"from","","",221,[[]]],[11,"into","","",221,[[]]],[11,"borrow","","",221,[[]]],[11,"borrow_mut","","",221,[[]]],[11,"try_from","","",221,[[],["result",4]]],[11,"try_into","","",221,[[],["result",4]]],[11,"type_id","","",221,[[],["typeid",3]]],[11,"span","","",222,[[],["span",3]]],[11,"from","","",222,[[]]],[11,"into","","",222,[[]]],[11,"borrow","","",222,[[]]],[11,"borrow_mut","","",222,[[]]],[11,"try_from","","",222,[[],["result",4]]],[11,"try_into","","",222,[[],["result",4]]],[11,"type_id","","",222,[[],["typeid",3]]],[11,"span","","",223,[[],["span",3]]],[11,"from","","",223,[[]]],[11,"into","","",223,[[]]],[11,"borrow","","",223,[[]]],[11,"borrow_mut","","",223,[[]]],[11,"try_from","","",223,[[],["result",4]]],[11,"try_into","","",223,[[],["result",4]]],[11,"type_id","","",223,[[],["typeid",3]]],[11,"span","","",224,[[],["span",3]]],[11,"from","","",224,[[]]],[11,"into","","",224,[[]]],[11,"borrow","","",224,[[]]],[11,"borrow_mut","","",224,[[]]],[11,"try_from","","",224,[[],["result",4]]],[11,"try_into","","",224,[[],["result",4]]],[11,"type_id","","",224,[[],["typeid",3]]],[11,"span","","",225,[[],["span",3]]],[11,"from","","",225,[[]]],[11,"into","","",225,[[]]],[11,"borrow","","",225,[[]]],[11,"borrow_mut","","",225,[[]]],[11,"try_from","","",225,[[],["result",4]]],[11,"try_into","","",225,[[],["result",4]]],[11,"type_id","","",225,[[],["typeid",3]]],[11,"span","","",140,[[],["span",3]]],[11,"from","","",140,[[]]],[11,"into","","",140,[[]]],[11,"to_owned","","",140,[[]]],[11,"clone_into","","",140,[[]]],[11,"borrow","","",140,[[]]],[11,"borrow_mut","","",140,[[]]],[11,"try_from","","",140,[[],["result",4]]],[11,"try_into","","",140,[[],["result",4]]],[11,"type_id","","",140,[[],["typeid",3]]],[11,"span","","",226,[[],["span",3]]],[11,"from","","",226,[[]]],[11,"into","","",226,[[]]],[11,"borrow","","",226,[[]]],[11,"borrow_mut","","",226,[[]]],[11,"try_from","","",226,[[],["result",4]]],[11,"try_into","","",226,[[],["result",4]]],[11,"type_id","","",226,[[],["typeid",3]]],[11,"span","","",227,[[],["span",3]]],[11,"from","","",227,[[]]],[11,"into","","",227,[[]]],[11,"borrow","","",227,[[]]],[11,"borrow_mut","","",227,[[]]],[11,"try_from","","",227,[[],["result",4]]],[11,"try_into","","",227,[[],["result",4]]],[11,"type_id","","",227,[[],["typeid",3]]],[11,"span","","",228,[[],["span",3]]],[11,"from","","",228,[[]]],[11,"into","","",228,[[]]],[11,"borrow","","",228,[[]]],[11,"borrow_mut","","",228,[[]]],[11,"try_from","","",228,[[],["result",4]]],[11,"try_into","","",228,[[],["result",4]]],[11,"type_id","","",228,[[],["typeid",3]]],[11,"span","","",142,[[],["span",3]]],[11,"from","","",142,[[]]],[11,"into","","",142,[[]]],[11,"to_owned","","",142,[[]]],[11,"clone_into","","",142,[[]]],[11,"borrow","","",142,[[]]],[11,"borrow_mut","","",142,[[]]],[11,"try_from","","",142,[[],["result",4]]],[11,"try_into","","",142,[[],["result",4]]],[11,"type_id","","",142,[[],["typeid",3]]],[11,"span","","",141,[[],["span",3]]],[11,"from","","",141,[[]]],[11,"into","","",141,[[]]],[11,"to_owned","","",141,[[]]],[11,"clone_into","","",141,[[]]],[11,"borrow","","",141,[[]]],[11,"borrow_mut","","",141,[[]]],[11,"try_from","","",141,[[],["result",4]]],[11,"try_into","","",141,[[],["result",4]]],[11,"type_id","","",141,[[],["typeid",3]]],[11,"span","","",146,[[],["span",3]]],[11,"from","","",146,[[]]],[11,"into","","",146,[[]]],[11,"to_owned","","",146,[[]]],[11,"clone_into","","",146,[[]]],[11,"borrow","","",146,[[]]],[11,"borrow_mut","","",146,[[]]],[11,"try_from","","",146,[[],["result",4]]],[11,"try_into","","",146,[[],["result",4]]],[11,"type_id","","",146,[[],["typeid",3]]],[11,"span","","",145,[[],["span",3]]],[11,"from","","",145,[[]]],[11,"into","","",145,[[]]],[11,"to_owned","","",145,[[]]],[11,"clone_into","","",145,[[]]],[11,"borrow","","",145,[[]]],[11,"borrow_mut","","",145,[[]]],[11,"try_from","","",145,[[],["result",4]]],[11,"try_into","","",145,[[],["result",4]]],[11,"type_id","","",145,[[],["typeid",3]]],[11,"span","","",153,[[],["span",3]]],[11,"from","","",153,[[]]],[11,"into","","",153,[[]]],[11,"to_owned","","",153,[[]]],[11,"clone_into","","",153,[[]]],[11,"borrow","","",153,[[]]],[11,"borrow_mut","","",153,[[]]],[11,"try_from","","",153,[[],["result",4]]],[11,"try_into","","",153,[[],["result",4]]],[11,"type_id","","",153,[[],["typeid",3]]],[11,"span","","",147,[[],["span",3]]],[11,"from","","",147,[[]]],[11,"into","","",147,[[]]],[11,"to_owned","","",147,[[]]],[11,"clone_into","","",147,[[]]],[11,"borrow","","",147,[[]]],[11,"borrow_mut","","",147,[[]]],[11,"try_from","","",147,[[],["result",4]]],[11,"try_into","","",147,[[],["result",4]]],[11,"type_id","","",147,[[],["typeid",3]]],[11,"span","","",144,[[],["span",3]]],[11,"from","","",144,[[]]],[11,"into","","",144,[[]]],[11,"to_owned","","",144,[[]]],[11,"clone_into","","",144,[[]]],[11,"borrow","","",144,[[]]],[11,"borrow_mut","","",144,[[]]],[11,"try_from","","",144,[[],["result",4]]],[11,"try_into","","",144,[[],["result",4]]],[11,"type_id","","",144,[[],["typeid",3]]],[11,"span","","",229,[[],["span",3]]],[11,"from","","",229,[[]]],[11,"into","","",229,[[]]],[11,"to_owned","","",229,[[]]],[11,"clone_into","","",229,[[]]],[11,"borrow","","",229,[[]]],[11,"borrow_mut","","",229,[[]]],[11,"try_from","","",229,[[],["result",4]]],[11,"try_into","","",229,[[],["result",4]]],[11,"type_id","","",229,[[],["typeid",3]]],[11,"span","","",230,[[],["span",3]]],[11,"from","","",230,[[]]],[11,"into","","",230,[[]]],[11,"to_owned","","",230,[[]]],[11,"clone_into","","",230,[[]]],[11,"borrow","","",230,[[]]],[11,"borrow_mut","","",230,[[]]],[11,"try_from","","",230,[[],["result",4]]],[11,"try_into","","",230,[[],["result",4]]],[11,"type_id","","",230,[[],["typeid",3]]],[11,"span","","",231,[[],["span",3]]],[11,"from","","",231,[[]]],[11,"into","","",231,[[]]],[11,"to_owned","","",231,[[]]],[11,"clone_into","","",231,[[]]],[11,"borrow","","",231,[[]]],[11,"borrow_mut","","",231,[[]]],[11,"try_from","","",231,[[],["result",4]]],[11,"try_into","","",231,[[],["result",4]]],[11,"type_id","","",231,[[],["typeid",3]]],[11,"span","","",143,[[],["span",3]]],[11,"from","","",143,[[]]],[11,"into","","",143,[[]]],[11,"to_owned","","",143,[[]]],[11,"clone_into","","",143,[[]]],[11,"borrow","","",143,[[]]],[11,"borrow_mut","","",143,[[]]],[11,"try_from","","",143,[[],["result",4]]],[11,"try_into","","",143,[[],["result",4]]],[11,"type_id","","",143,[[],["typeid",3]]],[11,"span","","",154,[[],["span",3]]],[11,"from","","",154,[[]]],[11,"into","","",154,[[]]],[11,"to_owned","","",154,[[]]],[11,"clone_into","","",154,[[]]],[11,"borrow","","",154,[[]]],[11,"borrow_mut","","",154,[[]]],[11,"try_from","","",154,[[],["result",4]]],[11,"try_into","","",154,[[],["result",4]]],[11,"type_id","","",154,[[],["typeid",3]]],[11,"span","","",151,[[],["span",3]]],[11,"from","","",151,[[]]],[11,"into","","",151,[[]]],[11,"to_owned","","",151,[[]]],[11,"clone_into","","",151,[[]]],[11,"borrow","","",151,[[]]],[11,"borrow_mut","","",151,[[]]],[11,"try_from","","",151,[[],["result",4]]],[11,"try_into","","",151,[[],["result",4]]],[11,"type_id","","",151,[[],["typeid",3]]],[11,"span","","",152,[[],["span",3]]],[11,"from","","",152,[[]]],[11,"into","","",152,[[]]],[11,"to_owned","","",152,[[]]],[11,"clone_into","","",152,[[]]],[11,"borrow","","",152,[[]]],[11,"borrow_mut","","",152,[[]]],[11,"try_from","","",152,[[],["result",4]]],[11,"try_into","","",152,[[],["result",4]]],[11,"type_id","","",152,[[],["typeid",3]]],[11,"span","","",155,[[],["span",3]]],[11,"from","","",155,[[]]],[11,"into","","",155,[[]]],[11,"to_owned","","",155,[[]]],[11,"clone_into","","",155,[[]]],[11,"borrow","","",155,[[]]],[11,"borrow_mut","","",155,[[]]],[11,"try_from","","",155,[[],["result",4]]],[11,"try_into","","",155,[[],["result",4]]],[11,"type_id","","",155,[[],["typeid",3]]],[11,"span","","",156,[[],["span",3]]],[11,"from","","",156,[[]]],[11,"into","","",156,[[]]],[11,"to_owned","","",156,[[]]],[11,"clone_into","","",156,[[]]],[11,"borrow","","",156,[[]]],[11,"borrow_mut","","",156,[[]]],[11,"try_from","","",156,[[],["result",4]]],[11,"try_into","","",156,[[],["result",4]]],[11,"type_id","","",156,[[],["typeid",3]]],[11,"span","","",150,[[],["span",3]]],[11,"from","","",150,[[]]],[11,"into","","",150,[[]]],[11,"to_owned","","",150,[[]]],[11,"clone_into","","",150,[[]]],[11,"borrow","","",150,[[]]],[11,"borrow_mut","","",150,[[]]],[11,"try_from","","",150,[[],["result",4]]],[11,"try_into","","",150,[[],["result",4]]],[11,"type_id","","",150,[[],["typeid",3]]],[11,"span","","",149,[[],["span",3]]],[11,"from","","",149,[[]]],[11,"into","","",149,[[]]],[11,"to_owned","","",149,[[]]],[11,"clone_into","","",149,[[]]],[11,"borrow","","",149,[[]]],[11,"borrow_mut","","",149,[[]]],[11,"try_from","","",149,[[],["result",4]]],[11,"try_into","","",149,[[],["result",4]]],[11,"type_id","","",149,[[],["typeid",3]]],[11,"span","","",148,[[],["span",3]]],[11,"from","","",148,[[]]],[11,"into","","",148,[[]]],[11,"to_owned","","",148,[[]]],[11,"clone_into","","",148,[[]]],[11,"borrow","","",148,[[]]],[11,"borrow_mut","","",148,[[]]],[11,"try_from","","",148,[[],["result",4]]],[11,"try_into","","",148,[[],["result",4]]],[11,"type_id","","",148,[[],["typeid",3]]],[11,"span","","",157,[[],["span",3]]],[11,"from","","",157,[[]]],[11,"into","","",157,[[]]],[11,"to_owned","","",157,[[]]],[11,"clone_into","","",157,[[]]],[11,"to_string","","",157,[[],["string",3]]],[11,"borrow","","",157,[[]]],[11,"borrow_mut","","",157,[[]]],[11,"try_from","","",157,[[],["result",4]]],[11,"try_into","","",157,[[],["result",4]]],[11,"type_id","","",157,[[],["typeid",3]]],[11,"span","","",158,[[],["span",3]]],[11,"from","","",158,[[]]],[11,"into","","",158,[[]]],[11,"to_owned","","",158,[[]]],[11,"clone_into","","",158,[[]]],[11,"borrow","","",158,[[]]],[11,"borrow_mut","","",158,[[]]],[11,"try_from","","",158,[[],["result",4]]],[11,"try_into","","",158,[[],["result",4]]],[11,"type_id","","",158,[[],["typeid",3]]],[11,"span","","",232,[[],["span",3]]],[11,"from","","",232,[[]]],[11,"into","","",232,[[]]],[11,"to_owned","","",232,[[]]],[11,"clone_into","","",232,[[]]],[11,"borrow","","",232,[[]]],[11,"borrow_mut","","",232,[[]]],[11,"try_from","","",232,[[],["result",4]]],[11,"try_into","","",232,[[],["result",4]]],[11,"type_id","","",232,[[],["typeid",3]]],[11,"span","","",233,[[],["span",3]]],[11,"from","","",233,[[]]],[11,"into","","",233,[[]]],[11,"to_owned","","",233,[[]]],[11,"clone_into","","",233,[[]]],[11,"borrow","","",233,[[]]],[11,"borrow_mut","","",233,[[]]],[11,"try_from","","",233,[[],["result",4]]],[11,"try_into","","",233,[[],["result",4]]],[11,"type_id","","",233,[[],["typeid",3]]],[11,"span","","",234,[[],["span",3]]],[11,"from","","",234,[[]]],[11,"into","","",234,[[]]],[11,"to_owned","","",234,[[]]],[11,"clone_into","","",234,[[]]],[11,"borrow","","",234,[[]]],[11,"borrow_mut","","",234,[[]]],[11,"try_from","","",234,[[],["result",4]]],[11,"try_into","","",234,[[],["result",4]]],[11,"type_id","","",234,[[],["typeid",3]]],[11,"span","","",235,[[],["span",3]]],[11,"from","","",235,[[]]],[11,"into","","",235,[[]]],[11,"to_owned","","",235,[[]]],[11,"clone_into","","",235,[[]]],[11,"borrow","","",235,[[]]],[11,"borrow_mut","","",235,[[]]],[11,"try_from","","",235,[[],["result",4]]],[11,"try_into","","",235,[[],["result",4]]],[11,"type_id","","",235,[[],["typeid",3]]],[11,"span","","",236,[[],["span",3]]],[11,"from","","",236,[[]]],[11,"into","","",236,[[]]],[11,"to_owned","","",236,[[]]],[11,"clone_into","","",236,[[]]],[11,"to_string","","",236,[[],["string",3]]],[11,"borrow","","",236,[[]]],[11,"borrow_mut","","",236,[[]]],[11,"try_from","","",236,[[],["result",4]]],[11,"try_into","","",236,[[],["result",4]]],[11,"type_id","","",236,[[],["typeid",3]]],[11,"span","","",237,[[],["span",3]]],[11,"from","","",237,[[]]],[11,"into","","",237,[[]]],[11,"to_owned","","",237,[[]]],[11,"clone_into","","",237,[[]]],[11,"to_string","","",237,[[],["string",3]]],[11,"borrow","","",237,[[]]],[11,"borrow_mut","","",237,[[]]],[11,"try_from","","",237,[[],["result",4]]],[11,"try_into","","",237,[[],["result",4]]],[11,"type_id","","",237,[[],["typeid",3]]],[11,"span","","",159,[[],["span",3]]],[11,"from","","",159,[[]]],[11,"into","","",159,[[]]],[11,"to_owned","","",159,[[]]],[11,"clone_into","","",159,[[]]],[11,"borrow","","",159,[[]]],[11,"borrow_mut","","",159,[[]]],[11,"try_from","","",159,[[],["result",4]]],[11,"try_into","","",159,[[],["result",4]]],[11,"type_id","","",159,[[],["typeid",3]]],[11,"from","","",160,[[]]],[11,"into","","",160,[[]]],[11,"borrow","","",160,[[]]],[11,"borrow_mut","","",160,[[]]],[11,"try_from","","",160,[[],["result",4]]],[11,"try_into","","",160,[[],["result",4]]],[11,"type_id","","",160,[[],["typeid",3]]],[11,"span","","",161,[[],["span",3]]],[11,"from","","",161,[[]]],[11,"into","","",161,[[]]],[11,"to_owned","","",161,[[]]],[11,"clone_into","","",161,[[]]],[11,"borrow","","",161,[[]]],[11,"borrow_mut","","",161,[[]]],[11,"try_from","","",161,[[],["result",4]]],[11,"try_into","","",161,[[],["result",4]]],[11,"type_id","","",161,[[],["typeid",3]]],[11,"from","","",162,[[]]],[11,"into","","",162,[[]]],[11,"to_owned","","",162,[[]]],[11,"clone_into","","",162,[[]]],[11,"borrow","","",162,[[]]],[11,"borrow_mut","","",162,[[]]],[11,"try_from","","",162,[[],["result",4]]],[11,"try_into","","",162,[[],["result",4]]],[11,"type_id","","",162,[[],["typeid",3]]],[11,"span","","",167,[[],["span",3]]],[11,"from","","",167,[[]]],[11,"into","","",167,[[]]],[11,"to_owned","","",167,[[]]],[11,"clone_into","","",167,[[]]],[11,"borrow","","",167,[[]]],[11,"borrow_mut","","",167,[[]]],[11,"try_from","","",167,[[],["result",4]]],[11,"try_into","","",167,[[],["result",4]]],[11,"type_id","","",167,[[],["typeid",3]]],[11,"from","","",163,[[]]],[11,"into","","",163,[[]]],[11,"to_owned","","",163,[[]]],[11,"clone_into","","",163,[[]]],[11,"borrow","","",163,[[]]],[11,"borrow_mut","","",163,[[]]],[11,"try_from","","",163,[[],["result",4]]],[11,"try_into","","",163,[[],["result",4]]],[11,"type_id","","",163,[[],["typeid",3]]],[11,"from","","",165,[[]]],[11,"into","","",165,[[]]],[11,"to_owned","","",165,[[]]],[11,"clone_into","","",165,[[]]],[11,"borrow","","",165,[[]]],[11,"borrow_mut","","",165,[[]]],[11,"try_from","","",165,[[],["result",4]]],[11,"try_into","","",165,[[],["result",4]]],[11,"type_id","","",165,[[],["typeid",3]]],[11,"from","","",164,[[]]],[11,"into","","",164,[[]]],[11,"to_owned","","",164,[[]]],[11,"clone_into","","",164,[[]]],[11,"borrow","","",164,[[]]],[11,"borrow_mut","","",164,[[]]],[11,"try_from","","",164,[[],["result",4]]],[11,"try_into","","",164,[[],["result",4]]],[11,"type_id","","",164,[[],["typeid",3]]],[11,"from","","",166,[[]]],[11,"into","","",166,[[]]],[11,"to_owned","","",166,[[]]],[11,"clone_into","","",166,[[]]],[11,"borrow","","",166,[[]]],[11,"borrow_mut","","",166,[[]]],[11,"try_from","","",166,[[],["result",4]]],[11,"try_into","","",166,[[],["result",4]]],[11,"type_id","","",166,[[],["typeid",3]]],[11,"span","","",168,[[],["span",3]]],[11,"from","","",168,[[]]],[11,"into","","",168,[[]]],[11,"to_owned","","",168,[[]]],[11,"clone_into","","",168,[[]]],[11,"borrow","","",168,[[]]],[11,"borrow_mut","","",168,[[]]],[11,"try_from","","",168,[[],["result",4]]],[11,"try_into","","",168,[[],["result",4]]],[11,"type_id","","",168,[[],["typeid",3]]],[11,"span","","",169,[[],["span",3]]],[11,"from","","",169,[[]]],[11,"into","","",169,[[]]],[11,"to_owned","","",169,[[]]],[11,"clone_into","","",169,[[]]],[11,"borrow","","",169,[[]]],[11,"borrow_mut","","",169,[[]]],[11,"try_from","","",169,[[],["result",4]]],[11,"try_into","","",169,[[],["result",4]]],[11,"type_id","","",169,[[],["typeid",3]]],[11,"span","","",173,[[],["span",3]]],[11,"from","","",173,[[]]],[11,"into","","",173,[[]]],[11,"to_owned","","",173,[[]]],[11,"clone_into","","",173,[[]]],[11,"borrow","","",173,[[]]],[11,"borrow_mut","","",173,[[]]],[11,"try_from","","",173,[[],["result",4]]],[11,"try_into","","",173,[[],["result",4]]],[11,"type_id","","",173,[[],["typeid",3]]],[11,"span","","",174,[[],["span",3]]],[11,"from","","",174,[[]]],[11,"into","","",174,[[]]],[11,"to_owned","","",174,[[]]],[11,"clone_into","","",174,[[]]],[11,"borrow","","",174,[[]]],[11,"borrow_mut","","",174,[[]]],[11,"try_from","","",174,[[],["result",4]]],[11,"try_into","","",174,[[],["result",4]]],[11,"type_id","","",174,[[],["typeid",3]]],[11,"span","","",175,[[],["span",3]]],[11,"from","","",175,[[]]],[11,"into","","",175,[[]]],[11,"to_owned","","",175,[[]]],[11,"clone_into","","",175,[[]]],[11,"borrow","","",175,[[]]],[11,"borrow_mut","","",175,[[]]],[11,"try_from","","",175,[[],["result",4]]],[11,"try_into","","",175,[[],["result",4]]],[11,"type_id","","",175,[[],["typeid",3]]],[11,"span","","",176,[[],["span",3]]],[11,"from","","",176,[[]]],[11,"into","","",176,[[]]],[11,"to_owned","","",176,[[]]],[11,"clone_into","","",176,[[]]],[11,"borrow","","",176,[[]]],[11,"borrow_mut","","",176,[[]]],[11,"try_from","","",176,[[],["result",4]]],[11,"try_into","","",176,[[],["result",4]]],[11,"type_id","","",176,[[],["typeid",3]]],[11,"span","","",177,[[],["span",3]]],[11,"from","","",177,[[]]],[11,"into","","",177,[[]]],[11,"to_owned","","",177,[[]]],[11,"clone_into","","",177,[[]]],[11,"borrow","","",177,[[]]],[11,"borrow_mut","","",177,[[]]],[11,"try_from","","",177,[[],["result",4]]],[11,"try_into","","",177,[[],["result",4]]],[11,"type_id","","",177,[[],["typeid",3]]],[11,"span","","",178,[[],["span",3]]],[11,"from","","",178,[[]]],[11,"into","","",178,[[]]],[11,"to_owned","","",178,[[]]],[11,"clone_into","","",178,[[]]],[11,"borrow","","",178,[[]]],[11,"borrow_mut","","",178,[[]]],[11,"try_from","","",178,[[],["result",4]]],[11,"try_into","","",178,[[],["result",4]]],[11,"type_id","","",178,[[],["typeid",3]]],[11,"span","","",179,[[],["span",3]]],[11,"from","","",179,[[]]],[11,"into","","",179,[[]]],[11,"to_owned","","",179,[[]]],[11,"clone_into","","",179,[[]]],[11,"borrow","","",179,[[]]],[11,"borrow_mut","","",179,[[]]],[11,"try_from","","",179,[[],["result",4]]],[11,"try_into","","",179,[[],["result",4]]],[11,"type_id","","",179,[[],["typeid",3]]],[11,"span","","",180,[[],["span",3]]],[11,"from","","",180,[[]]],[11,"into","","",180,[[]]],[11,"to_owned","","",180,[[]]],[11,"clone_into","","",180,[[]]],[11,"borrow","","",180,[[]]],[11,"borrow_mut","","",180,[[]]],[11,"try_from","","",180,[[],["result",4]]],[11,"try_into","","",180,[[],["result",4]]],[11,"type_id","","",180,[[],["typeid",3]]],[11,"span","","",181,[[],["span",3]]],[11,"from","","",181,[[]]],[11,"into","","",181,[[]]],[11,"to_owned","","",181,[[]]],[11,"clone_into","","",181,[[]]],[11,"borrow","","",181,[[]]],[11,"borrow_mut","","",181,[[]]],[11,"try_from","","",181,[[],["result",4]]],[11,"try_into","","",181,[[],["result",4]]],[11,"type_id","","",181,[[],["typeid",3]]],[11,"span","","",182,[[],["span",3]]],[11,"from","","",182,[[]]],[11,"into","","",182,[[]]],[11,"to_owned","","",182,[[]]],[11,"clone_into","","",182,[[]]],[11,"borrow","","",182,[[]]],[11,"borrow_mut","","",182,[[]]],[11,"try_from","","",182,[[],["result",4]]],[11,"try_into","","",182,[[],["result",4]]],[11,"type_id","","",182,[[],["typeid",3]]],[11,"span","","",183,[[],["span",3]]],[11,"from","","",183,[[]]],[11,"into","","",183,[[]]],[11,"to_owned","","",183,[[]]],[11,"clone_into","","",183,[[]]],[11,"borrow","","",183,[[]]],[11,"borrow_mut","","",183,[[]]],[11,"try_from","","",183,[[],["result",4]]],[11,"try_into","","",183,[[],["result",4]]],[11,"type_id","","",183,[[],["typeid",3]]],[11,"span","","",184,[[],["span",3]]],[11,"from","","",184,[[]]],[11,"into","","",184,[[]]],[11,"to_owned","","",184,[[]]],[11,"clone_into","","",184,[[]]],[11,"borrow","","",184,[[]]],[11,"borrow_mut","","",184,[[]]],[11,"try_from","","",184,[[],["result",4]]],[11,"try_into","","",184,[[],["result",4]]],[11,"type_id","","",184,[[],["typeid",3]]],[11,"span","","",185,[[],["span",3]]],[11,"from","","",185,[[]]],[11,"into","","",185,[[]]],[11,"to_owned","","",185,[[]]],[11,"clone_into","","",185,[[]]],[11,"borrow","","",185,[[]]],[11,"borrow_mut","","",185,[[]]],[11,"try_from","","",185,[[],["result",4]]],[11,"try_into","","",185,[[],["result",4]]],[11,"type_id","","",185,[[],["typeid",3]]],[11,"span","","",186,[[],["span",3]]],[11,"from","","",186,[[]]],[11,"into","","",186,[[]]],[11,"to_owned","","",186,[[]]],[11,"clone_into","","",186,[[]]],[11,"borrow","","",186,[[]]],[11,"borrow_mut","","",186,[[]]],[11,"try_from","","",186,[[],["result",4]]],[11,"try_into","","",186,[[],["result",4]]],[11,"type_id","","",186,[[],["typeid",3]]],[11,"span","","",187,[[],["span",3]]],[11,"from","","",187,[[]]],[11,"into","","",187,[[]]],[11,"to_owned","","",187,[[]]],[11,"clone_into","","",187,[[]]],[11,"borrow","","",187,[[]]],[11,"borrow_mut","","",187,[[]]],[11,"try_from","","",187,[[],["result",4]]],[11,"try_into","","",187,[[],["result",4]]],[11,"type_id","","",187,[[],["typeid",3]]],[11,"span","","",170,[[],["span",3]]],[11,"from","","",170,[[]]],[11,"into","","",170,[[]]],[11,"to_owned","","",170,[[]]],[11,"clone_into","","",170,[[]]],[11,"borrow","","",170,[[]]],[11,"borrow_mut","","",170,[[]]],[11,"try_from","","",170,[[],["result",4]]],[11,"try_into","","",170,[[],["result",4]]],[11,"type_id","","",170,[[],["typeid",3]]],[11,"span","","",171,[[],["span",3]]],[11,"from","","",171,[[]]],[11,"into","","",171,[[]]],[11,"to_owned","","",171,[[]]],[11,"clone_into","","",171,[[]]],[11,"borrow","","",171,[[]]],[11,"borrow_mut","","",171,[[]]],[11,"try_from","","",171,[[],["result",4]]],[11,"try_into","","",171,[[],["result",4]]],[11,"type_id","","",171,[[],["typeid",3]]],[11,"span","","",188,[[],["span",3]]],[11,"from","","",188,[[]]],[11,"into","","",188,[[]]],[11,"to_owned","","",188,[[]]],[11,"clone_into","","",188,[[]]],[11,"borrow","","",188,[[]]],[11,"borrow_mut","","",188,[[]]],[11,"try_from","","",188,[[],["result",4]]],[11,"try_into","","",188,[[],["result",4]]],[11,"type_id","","",188,[[],["typeid",3]]],[11,"span","","",172,[[],["span",3]]],[11,"from","","",172,[[]]],[11,"into","","",172,[[]]],[11,"to_owned","","",172,[[]]],[11,"clone_into","","",172,[[]]],[11,"borrow","","",172,[[]]],[11,"borrow_mut","","",172,[[]]],[11,"try_from","","",172,[[],["result",4]]],[11,"try_into","","",172,[[],["result",4]]],[11,"type_id","","",172,[[],["typeid",3]]],[11,"span","","",194,[[],["span",3]]],[11,"from","","",194,[[]]],[11,"into","","",194,[[]]],[11,"to_owned","","",194,[[]]],[11,"clone_into","","",194,[[]]],[11,"borrow","","",194,[[]]],[11,"borrow_mut","","",194,[[]]],[11,"try_from","","",194,[[],["result",4]]],[11,"try_into","","",194,[[],["result",4]]],[11,"type_id","","",194,[[],["typeid",3]]],[11,"span","","",196,[[],["span",3]]],[11,"from","","",196,[[]]],[11,"into","","",196,[[]]],[11,"to_owned","","",196,[[]]],[11,"clone_into","","",196,[[]]],[11,"borrow","","",196,[[]]],[11,"borrow_mut","","",196,[[]]],[11,"try_from","","",196,[[],["result",4]]],[11,"try_into","","",196,[[],["result",4]]],[11,"type_id","","",196,[[],["typeid",3]]],[11,"span","","",195,[[],["span",3]]],[11,"from","","",195,[[]]],[11,"into","","",195,[[]]],[11,"to_owned","","",195,[[]]],[11,"clone_into","","",195,[[]]],[11,"borrow","","",195,[[]]],[11,"borrow_mut","","",195,[[]]],[11,"try_from","","",195,[[],["result",4]]],[11,"try_into","","",195,[[],["result",4]]],[11,"type_id","","",195,[[],["typeid",3]]],[11,"span","","",192,[[],["span",3]]],[11,"from","","",192,[[]]],[11,"into","","",192,[[]]],[11,"to_owned","","",192,[[]]],[11,"clone_into","","",192,[[]]],[11,"borrow","","",192,[[]]],[11,"borrow_mut","","",192,[[]]],[11,"try_from","","",192,[[],["result",4]]],[11,"try_into","","",192,[[],["result",4]]],[11,"type_id","","",192,[[],["typeid",3]]],[11,"span","","",189,[[],["span",3]]],[11,"from","","",189,[[]]],[11,"into","","",189,[[]]],[11,"to_owned","","",189,[[]]],[11,"clone_into","","",189,[[]]],[11,"borrow","","",189,[[]]],[11,"borrow_mut","","",189,[[]]],[11,"try_from","","",189,[[],["result",4]]],[11,"try_into","","",189,[[],["result",4]]],[11,"type_id","","",189,[[],["typeid",3]]],[11,"span","","",190,[[],["span",3]]],[11,"from","","",190,[[]]],[11,"into","","",190,[[]]],[11,"to_owned","","",190,[[]]],[11,"clone_into","","",190,[[]]],[11,"borrow","","",190,[[]]],[11,"borrow_mut","","",190,[[]]],[11,"try_from","","",190,[[],["result",4]]],[11,"try_into","","",190,[[],["result",4]]],[11,"type_id","","",190,[[],["typeid",3]]],[11,"span","","",191,[[],["span",3]]],[11,"from","","",191,[[]]],[11,"into","","",191,[[]]],[11,"to_owned","","",191,[[]]],[11,"clone_into","","",191,[[]]],[11,"borrow","","",191,[[]]],[11,"borrow_mut","","",191,[[]]],[11,"try_from","","",191,[[],["result",4]]],[11,"try_into","","",191,[[],["result",4]]],[11,"type_id","","",191,[[],["typeid",3]]],[11,"span","","",193,[[],["span",3]]],[11,"from","","",193,[[]]],[11,"into","","",193,[[]]],[11,"to_owned","","",193,[[]]],[11,"clone_into","","",193,[[]]],[11,"borrow","","",193,[[]]],[11,"borrow_mut","","",193,[[]]],[11,"try_from","","",193,[[],["result",4]]],[11,"try_into","","",193,[[],["result",4]]],[11,"type_id","","",193,[[],["typeid",3]]],[11,"from","","",197,[[]]],[11,"into","","",197,[[]]],[11,"to_owned","","",197,[[]]],[11,"clone_into","","",197,[[]]],[11,"borrow","","",197,[[]]],[11,"borrow_mut","","",197,[[]]],[11,"try_from","","",197,[[],["result",4]]],[11,"try_into","","",197,[[],["result",4]]],[11,"type_id","","",197,[[],["typeid",3]]],[11,"from","syn::buffer","",103,[[]]],[11,"into","","",103,[[]]],[11,"borrow","","",103,[[]]],[11,"borrow_mut","","",103,[[]]],[11,"try_from","","",103,[[],["result",4]]],[11,"try_into","","",103,[[],["result",4]]],[11,"type_id","","",103,[[],["typeid",3]]],[11,"from","","",104,[[]]],[11,"into","","",104,[[]]],[11,"to_owned","","",104,[[]]],[11,"clone_into","","",104,[[]]],[11,"borrow","","",104,[[]]],[11,"borrow_mut","","",104,[[]]],[11,"try_from","","",104,[[],["result",4]]],[11,"try_into","","",104,[[],["result",4]]],[11,"type_id","","",104,[[],["typeid",3]]],[11,"span","syn::punctuated","",106,[[],["span",3]]],[11,"from","","",106,[[]]],[11,"into","","",106,[[]]],[11,"to_owned","","",106,[[]]],[11,"clone_into","","",106,[[]]],[11,"borrow","","",106,[[]]],[11,"borrow_mut","","",106,[[]]],[11,"try_from","","",106,[[],["result",4]]],[11,"try_into","","",106,[[],["result",4]]],[11,"type_id","","",106,[[],["typeid",3]]],[11,"from","","",238,[[]]],[11,"into","","",238,[[]]],[11,"into_iter","","",238,[[]]],[11,"to_owned","","",238,[[]]],[11,"clone_into","","",238,[[]]],[11,"borrow","","",238,[[]]],[11,"borrow_mut","","",238,[[]]],[11,"try_from","","",238,[[],["result",4]]],[11,"try_into","","",238,[[],["result",4]]],[11,"type_id","","",238,[[],["typeid",3]]],[11,"from","","",239,[[]]],[11,"into","","",239,[[]]],[11,"into_iter","","",239,[[]]],[11,"borrow","","",239,[[]]],[11,"borrow_mut","","",239,[[]]],[11,"try_from","","",239,[[],["result",4]]],[11,"try_into","","",239,[[],["result",4]]],[11,"type_id","","",239,[[],["typeid",3]]],[11,"from","","",240,[[]]],[11,"into","","",240,[[]]],[11,"into_iter","","",240,[[]]],[11,"to_owned","","",240,[[]]],[11,"clone_into","","",240,[[]]],[11,"borrow","","",240,[[]]],[11,"borrow_mut","","",240,[[]]],[11,"try_from","","",240,[[],["result",4]]],[11,"try_into","","",240,[[],["result",4]]],[11,"type_id","","",240,[[],["typeid",3]]],[11,"from","","",241,[[]]],[11,"into","","",241,[[]]],[11,"into_iter","","",241,[[]]],[11,"to_owned","","",241,[[]]],[11,"clone_into","","",241,[[]]],[11,"borrow","","",241,[[]]],[11,"borrow_mut","","",241,[[]]],[11,"try_from","","",241,[[],["result",4]]],[11,"try_into","","",241,[[],["result",4]]],[11,"type_id","","",241,[[],["typeid",3]]],[11,"from","","",242,[[]]],[11,"into","","",242,[[]]],[11,"into_iter","","",242,[[]]],[11,"to_owned","","",242,[[]]],[11,"clone_into","","",242,[[]]],[11,"borrow","","",242,[[]]],[11,"borrow_mut","","",242,[[]]],[11,"try_from","","",242,[[],["result",4]]],[11,"try_into","","",242,[[],["result",4]]],[11,"type_id","","",242,[[],["typeid",3]]],[11,"from","","",243,[[]]],[11,"into","","",243,[[]]],[11,"into_iter","","",243,[[]]],[11,"borrow","","",243,[[]]],[11,"borrow_mut","","",243,[[]]],[11,"try_from","","",243,[[],["result",4]]],[11,"try_into","","",243,[[],["result",4]]],[11,"type_id","","",243,[[],["typeid",3]]],[11,"span","","",107,[[],["span",3]]],[11,"from","","",107,[[]]],[11,"into","","",107,[[]]],[11,"to_owned","","",107,[[]]],[11,"clone_into","","",107,[[]]],[11,"borrow","","",107,[[]]],[11,"borrow_mut","","",107,[[]]],[11,"try_from","","",107,[[],["result",4]]],[11,"try_into","","",107,[[],["result",4]]],[11,"type_id","","",107,[[],["typeid",3]]],[11,"from","syn::parse","",244,[[]]],[11,"into","","",244,[[]]],[11,"borrow","","",244,[[]]],[11,"borrow_mut","","",244,[[]]],[11,"try_from","","",244,[[],["result",4]]],[11,"try_into","","",244,[[],["result",4]]],[11,"type_id","","",244,[[],["typeid",3]]],[11,"from","","",115,[[]]],[11,"into","","",115,[[]]],[11,"to_owned","","",115,[[]]],[11,"clone_into","","",115,[[]]],[11,"to_string","","",115,[[],["string",3]]],[11,"borrow","","",115,[[]]],[11,"borrow_mut","","",115,[[]]],[11,"try_from","","",115,[[],["result",4]]],[11,"try_into","","",115,[[],["result",4]]],[11,"type_id","","",115,[[],["typeid",3]]],[11,"from","","",113,[[]]],[11,"into","","",113,[[]]],[11,"to_string","","",113,[[],["string",3]]],[11,"borrow","","",113,[[]]],[11,"borrow_mut","","",113,[[]]],[11,"try_from","","",113,[[],["result",4]]],[11,"try_into","","",113,[[],["result",4]]],[11,"type_id","","",113,[[],["typeid",3]]],[11,"from","","",112,[[]]],[11,"into","","",112,[[]]],[11,"to_owned","","",112,[[]]],[11,"clone_into","","",112,[[]]],[11,"borrow","","",112,[[]]],[11,"borrow_mut","","",112,[[]]],[11,"try_from","","",112,[[],["result",4]]],[11,"try_into","","",112,[[],["result",4]]],[11,"type_id","","",112,[[],["typeid",3]]],[11,"from","","",245,[[]]],[11,"into","","",245,[[]]],[11,"borrow","","",245,[[]]],[11,"borrow_mut","","",245,[[]]],[11,"try_from","","",245,[[],["result",4]]],[11,"try_into","","",245,[[],["result",4]]],[11,"type_id","","",245,[[],["typeid",3]]],[11,"fmt","syn","",198,[[["formatter",3]],[["result",4],["error",3]]]],[11,"partial_cmp","","",198,[[["ident",3]],[["ordering",4],["option",4]]]],[11,"hash","","",198,[[]]],[11,"clone","","",198,[[],["ident",3]]],[11,"cmp","","",198,[[["ident",3]],["ordering",4]]],[11,"eq","","",198,[[]]],[11,"eq","","",198,[[["ident",3]]]],[11,"fmt","","",198,[[["formatter",3]],[["result",4],["error",3]]]],[11,"span","","",198,[[],[["option",4],["span",3]]]],[11,"fmt","","",198,[[["formatter",3]],[["result",4],["error",3]]]],[11,"to_tokens","","",198,[[["tokenstream",3]]]],[11,"peek","","",157,[[["cursor",3]]]],[11,"display","","",157,[[]]],[11,"peek","","",158,[[["cursor",3]]]],[11,"display","","",158,[[]]],[11,"peek","","",232,[[["cursor",3]]]],[11,"display","","",232,[[]]],[11,"peek","","",233,[[["cursor",3]]]],[11,"display","","",233,[[]]],[11,"peek","","",234,[[["cursor",3]]]],[11,"display","","",234,[[]]],[11,"peek","","",235,[[["cursor",3]]]],[11,"display","","",235,[[]]],[11,"peek","","",236,[[["cursor",3]]]],[11,"display","","",236,[[]]],[11,"peek","","",237,[[["cursor",3]]]],[11,"display","","",237,[[]]],[11,"peek","","",159,[[["cursor",3]]]],[11,"display","","",159,[[]]],[11,"peek","syn::token","",0,[[["cursor",3]]]],[11,"display","","",0,[[]]],[11,"peek","","",101,[[["cursor",3]]]],[11,"display","","",101,[[]]],[11,"peek","","",99,[[["cursor",3]]]],[11,"display","","",99,[[]]],[11,"peek","","",100,[[["cursor",3]]]],[11,"display","","",100,[[]]],[11,"peek","","",102,[[["cursor",3]]]],[11,"display","","",102,[[]]],[11,"peek","","",1,[[["cursor",3]]]],[11,"display","","",1,[[]]],[11,"peek","","",2,[[["cursor",3]]]],[11,"display","","",2,[[]]],[11,"peek","","",3,[[["cursor",3]]]],[11,"display","","",3,[[]]],[11,"peek","","",4,[[["cursor",3]]]],[11,"display","","",4,[[]]],[11,"peek","","",5,[[["cursor",3]]]],[11,"display","","",5,[[]]],[11,"peek","","",6,[[["cursor",3]]]],[11,"display","","",6,[[]]],[11,"peek","","",7,[[["cursor",3]]]],[11,"display","","",7,[[]]],[11,"peek","","",8,[[["cursor",3]]]],[11,"display","","",8,[[]]],[11,"peek","","",9,[[["cursor",3]]]],[11,"display","","",9,[[]]],[11,"peek","","",10,[[["cursor",3]]]],[11,"display","","",10,[[]]],[11,"peek","","",11,[[["cursor",3]]]],[11,"display","","",11,[[]]],[11,"peek","","",12,[[["cursor",3]]]],[11,"display","","",12,[[]]],[11,"peek","","",13,[[["cursor",3]]]],[11,"display","","",13,[[]]],[11,"peek","","",14,[[["cursor",3]]]],[11,"display","","",14,[[]]],[11,"peek","","",15,[[["cursor",3]]]],[11,"display","","",15,[[]]],[11,"peek","","",16,[[["cursor",3]]]],[11,"display","","",16,[[]]],[11,"peek","","",17,[[["cursor",3]]]],[11,"display","","",17,[[]]],[11,"peek","","",18,[[["cursor",3]]]],[11,"display","","",18,[[]]],[11,"peek","","",19,[[["cursor",3]]]],[11,"display","","",19,[[]]],[11,"peek","","",20,[[["cursor",3]]]],[11,"display","","",20,[[]]],[11,"peek","","",21,[[["cursor",3]]]],[11,"display","","",21,[[]]],[11,"peek","","",22,[[["cursor",3]]]],[11,"display","","",22,[[]]],[11,"peek","","",23,[[["cursor",3]]]],[11,"display","","",23,[[]]],[11,"peek","","",24,[[["cursor",3]]]],[11,"display","","",24,[[]]],[11,"peek","","",25,[[["cursor",3]]]],[11,"display","","",25,[[]]],[11,"peek","","",26,[[["cursor",3]]]],[11,"display","","",26,[[]]],[11,"peek","","",27,[[["cursor",3]]]],[11,"display","","",27,[[]]],[11,"peek","","",28,[[["cursor",3]]]],[11,"display","","",28,[[]]],[11,"peek","","",29,[[["cursor",3]]]],[11,"display","","",29,[[]]],[11,"peek","","",30,[[["cursor",3]]]],[11,"display","","",30,[[]]],[11,"peek","","",31,[[["cursor",3]]]],[11,"display","","",31,[[]]],[11,"peek","","",32,[[["cursor",3]]]],[11,"display","","",32,[[]]],[11,"peek","","",33,[[["cursor",3]]]],[11,"display","","",33,[[]]],[11,"peek","","",34,[[["cursor",3]]]],[11,"display","","",34,[[]]],[11,"peek","","",35,[[["cursor",3]]]],[11,"display","","",35,[[]]],[11,"peek","","",36,[[["cursor",3]]]],[11,"display","","",36,[[]]],[11,"peek","","",37,[[["cursor",3]]]],[11,"display","","",37,[[]]],[11,"peek","","",38,[[["cursor",3]]]],[11,"display","","",38,[[]]],[11,"peek","","",39,[[["cursor",3]]]],[11,"display","","",39,[[]]],[11,"peek","","",40,[[["cursor",3]]]],[11,"display","","",40,[[]]],[11,"peek","","",41,[[["cursor",3]]]],[11,"display","","",41,[[]]],[11,"peek","","",42,[[["cursor",3]]]],[11,"display","","",42,[[]]],[11,"peek","","",43,[[["cursor",3]]]],[11,"display","","",43,[[]]],[11,"peek","","",44,[[["cursor",3]]]],[11,"display","","",44,[[]]],[11,"peek","","",45,[[["cursor",3]]]],[11,"display","","",45,[[]]],[11,"peek","","",46,[[["cursor",3]]]],[11,"display","","",46,[[]]],[11,"peek","","",47,[[["cursor",3]]]],[11,"display","","",47,[[]]],[11,"peek","","",48,[[["cursor",3]]]],[11,"display","","",48,[[]]],[11,"peek","","",49,[[["cursor",3]]]],[11,"display","","",49,[[]]],[11,"peek","","",50,[[["cursor",3]]]],[11,"display","","",50,[[]]],[11,"peek","","",51,[[["cursor",3]]]],[11,"display","","",51,[[]]],[11,"peek","","",52,[[["cursor",3]]]],[11,"display","","",52,[[]]],[11,"peek","","",53,[[["cursor",3]]]],[11,"display","","",53,[[]]],[11,"peek","","",54,[[["cursor",3]]]],[11,"display","","",54,[[]]],[11,"peek","","",55,[[["cursor",3]]]],[11,"display","","",55,[[]]],[11,"peek","","",56,[[["cursor",3]]]],[11,"display","","",56,[[]]],[11,"peek","","",57,[[["cursor",3]]]],[11,"display","","",57,[[]]],[11,"peek","","",58,[[["cursor",3]]]],[11,"display","","",58,[[]]],[11,"peek","","",59,[[["cursor",3]]]],[11,"display","","",59,[[]]],[11,"peek","","",60,[[["cursor",3]]]],[11,"display","","",60,[[]]],[11,"peek","","",61,[[["cursor",3]]]],[11,"display","","",61,[[]]],[11,"peek","","",62,[[["cursor",3]]]],[11,"display","","",62,[[]]],[11,"peek","","",63,[[["cursor",3]]]],[11,"display","","",63,[[]]],[11,"peek","","",64,[[["cursor",3]]]],[11,"display","","",64,[[]]],[11,"peek","","",65,[[["cursor",3]]]],[11,"display","","",65,[[]]],[11,"peek","","",66,[[["cursor",3]]]],[11,"display","","",66,[[]]],[11,"peek","","",67,[[["cursor",3]]]],[11,"display","","",67,[[]]],[11,"peek","","",68,[[["cursor",3]]]],[11,"display","","",68,[[]]],[11,"peek","","",69,[[["cursor",3]]]],[11,"display","","",69,[[]]],[11,"peek","","",70,[[["cursor",3]]]],[11,"display","","",70,[[]]],[11,"peek","","",71,[[["cursor",3]]]],[11,"display","","",71,[[]]],[11,"peek","","",72,[[["cursor",3]]]],[11,"display","","",72,[[]]],[11,"peek","","",73,[[["cursor",3]]]],[11,"display","","",73,[[]]],[11,"peek","","",74,[[["cursor",3]]]],[11,"display","","",74,[[]]],[11,"peek","","",75,[[["cursor",3]]]],[11,"display","","",75,[[]]],[11,"peek","","",76,[[["cursor",3]]]],[11,"display","","",76,[[]]],[11,"peek","","",77,[[["cursor",3]]]],[11,"display","","",77,[[]]],[11,"peek","","",78,[[["cursor",3]]]],[11,"display","","",78,[[]]],[11,"peek","","",79,[[["cursor",3]]]],[11,"display","","",79,[[]]],[11,"peek","","",80,[[["cursor",3]]]],[11,"display","","",80,[[]]],[11,"peek","","",81,[[["cursor",3]]]],[11,"display","","",81,[[]]],[11,"peek","","",82,[[["cursor",3]]]],[11,"display","","",82,[[]]],[11,"peek","","",83,[[["cursor",3]]]],[11,"display","","",83,[[]]],[11,"peek","","",84,[[["cursor",3]]]],[11,"display","","",84,[[]]],[11,"peek","","",85,[[["cursor",3]]]],[11,"display","","",85,[[]]],[11,"peek","","",86,[[["cursor",3]]]],[11,"display","","",86,[[]]],[11,"peek","","",87,[[["cursor",3]]]],[11,"display","","",87,[[]]],[11,"peek","","",88,[[["cursor",3]]]],[11,"display","","",88,[[]]],[11,"peek","","",89,[[["cursor",3]]]],[11,"display","","",89,[[]]],[11,"peek","","",90,[[["cursor",3]]]],[11,"display","","",90,[[]]],[11,"peek","","",91,[[["cursor",3]]]],[11,"display","","",91,[[]]],[11,"peek","","",92,[[["cursor",3]]]],[11,"display","","",92,[[]]],[11,"peek","","",93,[[["cursor",3]]]],[11,"display","","",93,[[]]],[11,"peek","","",94,[[["cursor",3]]]],[11,"display","","",94,[[]]],[11,"peek","","",95,[[["cursor",3]]]],[11,"display","","",95,[[]]],[11,"peek","","",96,[[["cursor",3]]]],[11,"display","","",96,[[]]],[11,"peek","","",97,[[["cursor",3]]]],[11,"display","","",97,[[]]],[11,"peek","","",98,[[["cursor",3]]]],[11,"display","","",98,[[]]],[11,"peek","syn","",198,[[["cursor",3]]]],[11,"display","","",198,[[]]],[11,"parse_any","","",198,[[["parsestream",6]],["result",6]]],[11,"unraw","","",198,[[],["ident",3]]],[11,"advance_to","syn::parse","",113,[[]]],[11,"parse","syn::token","",0,[[["parsestream",6]],["result",6]]],[11,"parse","","",1,[[["parsestream",6]],["result",6]]],[11,"parse","","",2,[[["parsestream",6]],["result",6]]],[11,"parse","","",3,[[["parsestream",6]],["result",6]]],[11,"parse","","",4,[[["parsestream",6]],["result",6]]],[11,"parse","","",5,[[["parsestream",6]],["result",6]]],[11,"parse","","",6,[[["parsestream",6]],["result",6]]],[11,"parse","","",7,[[["parsestream",6]],["result",6]]],[11,"parse","","",8,[[["parsestream",6]],["result",6]]],[11,"parse","","",9,[[["parsestream",6]],["result",6]]],[11,"parse","","",10,[[["parsestream",6]],["result",6]]],[11,"parse","","",11,[[["parsestream",6]],["result",6]]],[11,"parse","","",12,[[["parsestream",6]],["result",6]]],[11,"parse","","",13,[[["parsestream",6]],["result",6]]],[11,"parse","","",14,[[["parsestream",6]],["result",6]]],[11,"parse","","",15,[[["parsestream",6]],["result",6]]],[11,"parse","","",16,[[["parsestream",6]],["result",6]]],[11,"parse","","",17,[[["parsestream",6]],["result",6]]],[11,"parse","","",18,[[["parsestream",6]],["result",6]]],[11,"parse","","",19,[[["parsestream",6]],["result",6]]],[11,"parse","","",20,[[["parsestream",6]],["result",6]]],[11,"parse","","",21,[[["parsestream",6]],["result",6]]],[11,"parse","","",22,[[["parsestream",6]],["result",6]]],[11,"parse","","",23,[[["parsestream",6]],["result",6]]],[11,"parse","","",24,[[["parsestream",6]],["result",6]]],[11,"parse","","",25,[[["parsestream",6]],["result",6]]],[11,"parse","","",26,[[["parsestream",6]],["result",6]]],[11,"parse","","",27,[[["parsestream",6]],["result",6]]],[11,"parse","","",28,[[["parsestream",6]],["result",6]]],[11,"parse","","",29,[[["parsestream",6]],["result",6]]],[11,"parse","","",30,[[["parsestream",6]],["result",6]]],[11,"parse","","",31,[[["parsestream",6]],["result",6]]],[11,"parse","","",32,[[["parsestream",6]],["result",6]]],[11,"parse","","",33,[[["parsestream",6]],["result",6]]],[11,"parse","","",34,[[["parsestream",6]],["result",6]]],[11,"parse","","",35,[[["parsestream",6]],["result",6]]],[11,"parse","","",36,[[["parsestream",6]],["result",6]]],[11,"parse","","",37,[[["parsestream",6]],["result",6]]],[11,"parse","","",38,[[["parsestream",6]],["result",6]]],[11,"parse","","",39,[[["parsestream",6]],["result",6]]],[11,"parse","","",40,[[["parsestream",6]],["result",6]]],[11,"parse","","",41,[[["parsestream",6]],["result",6]]],[11,"parse","","",42,[[["parsestream",6]],["result",6]]],[11,"parse","","",43,[[["parsestream",6]],["result",6]]],[11,"parse","","",44,[[["parsestream",6]],["result",6]]],[11,"parse","","",45,[[["parsestream",6]],["result",6]]],[11,"parse","","",46,[[["parsestream",6]],["result",6]]],[11,"parse","","",47,[[["parsestream",6]],["result",6]]],[11,"parse","","",48,[[["parsestream",6]],["result",6]]],[11,"parse","","",49,[[["parsestream",6]],["result",6]]],[11,"parse","","",50,[[["parsestream",6]],["result",6]]],[11,"parse","","",51,[[["parsestream",6]],["result",6]]],[11,"parse","","",52,[[["parsestream",6]],["result",6]]],[11,"parse","","",53,[[["parsestream",6]],["result",6]]],[11,"parse","","",54,[[["parsestream",6]],["result",6]]],[11,"parse","","",55,[[["parsestream",6]],["result",6]]],[11,"parse","","",56,[[["parsestream",6]],["result",6]]],[11,"parse","","",57,[[["parsestream",6]],["result",6]]],[11,"parse","","",58,[[["parsestream",6]],["result",6]]],[11,"parse","","",59,[[["parsestream",6]],["result",6]]],[11,"parse","","",60,[[["parsestream",6]],["result",6]]],[11,"parse","","",61,[[["parsestream",6]],["result",6]]],[11,"parse","","",62,[[["parsestream",6]],["result",6]]],[11,"parse","","",63,[[["parsestream",6]],["result",6]]],[11,"parse","","",64,[[["parsestream",6]],["result",6]]],[11,"parse","","",65,[[["parsestream",6]],["result",6]]],[11,"parse","","",66,[[["parsestream",6]],["result",6]]],[11,"parse","","",67,[[["parsestream",6]],["result",6]]],[11,"parse","","",68,[[["parsestream",6]],["result",6]]],[11,"parse","","",69,[[["parsestream",6]],["result",6]]],[11,"parse","","",70,[[["parsestream",6]],["result",6]]],[11,"parse","","",71,[[["parsestream",6]],["result",6]]],[11,"parse","","",72,[[["parsestream",6]],["result",6]]],[11,"parse","","",73,[[["parsestream",6]],["result",6]]],[11,"parse","","",74,[[["parsestream",6]],["result",6]]],[11,"parse","","",75,[[["parsestream",6]],["result",6]]],[11,"parse","","",76,[[["parsestream",6]],["result",6]]],[11,"parse","","",77,[[["parsestream",6]],["result",6]]],[11,"parse","","",78,[[["parsestream",6]],["result",6]]],[11,"parse","","",79,[[["parsestream",6]],["result",6]]],[11,"parse","","",80,[[["parsestream",6]],["result",6]]],[11,"parse","","",81,[[["parsestream",6]],["result",6]]],[11,"parse","","",82,[[["parsestream",6]],["result",6]]],[11,"parse","","",83,[[["parsestream",6]],["result",6]]],[11,"parse","","",84,[[["parsestream",6]],["result",6]]],[11,"parse","","",85,[[["parsestream",6]],["result",6]]],[11,"parse","","",86,[[["parsestream",6]],["result",6]]],[11,"parse","","",87,[[["parsestream",6]],["result",6]]],[11,"parse","","",88,[[["parsestream",6]],["result",6]]],[11,"parse","","",89,[[["parsestream",6]],["result",6]]],[11,"parse","","",90,[[["parsestream",6]],["result",6]]],[11,"parse","","",91,[[["parsestream",6]],["result",6]]],[11,"parse","","",92,[[["parsestream",6]],["result",6]]],[11,"parse","","",93,[[["parsestream",6]],["result",6]]],[11,"parse","","",94,[[["parsestream",6]],["result",6]]],[11,"parse","","",95,[[["parsestream",6]],["result",6]]],[11,"parse","","",96,[[["parsestream",6]],["result",6]]],[11,"parse","","",97,[[["parsestream",6]],["result",6]]],[11,"parse","","",98,[[["parsestream",6]],["result",6]]],[11,"parse","syn","",198,[[["parsestream",6]],["result",6]]],[11,"parse","","",118,[[["parsestream",6]],["result",6]]],[11,"parse","","",119,[[["parsestream",6]],["result",6]]],[11,"parse","","",120,[[["parsestream",6]],["result",6]]],[11,"parse","","",121,[[["parsestream",6]],["result",6]]],[11,"parse","","",126,[[["parsestream",6]],["result",6]]],[11,"parse","","",124,[[["parsestream",6]],["result",6]]],[11,"parse","","",125,[[["parsestream",6]],["result",6]]],[11,"parse","","",130,[[["parsestream",6]],["result",6]]],[11,"parse","","",131,[[["parsestream",6]],["result",6]]],[11,"parse","","",137,[[["parsestream",6]],["result",6]]],[11,"parse","","",139,[[["parsestream",6]],["result",6]]],[11,"parse","","",142,[[["parsestream",6]],["result",6]]],[11,"parse","","",141,[[["parsestream",6]],["result",6]]],[11,"parse","","",146,[[["parsestream",6]],["result",6]]],[11,"parse","","",145,[[["parsestream",6]],["result",6]]],[11,"parse","","",147,[[["parsestream",6]],["result",6]]],[11,"parse","","",143,[[["parsestream",6]],["result",6]]],[11,"parse","","",153,[[["parsestream",6]],["result",6]]],[11,"parse","","",154,[[["parsestream",6]],["result",6]]],[11,"parse","","",151,[[["parsestream",6]],["result",6]]],[11,"parse","","",152,[[["parsestream",6]],["result",6]]],[11,"parse","","",144,[[["parsestream",6]],["result",6]]],[11,"parse","","",155,[[["parsestream",6]],["result",6]]],[11,"parse","","",156,[[["parsestream",6]],["result",6]]],[11,"parse","","",157,[[["parsestream",6]],["result",6]]],[11,"parse","","",158,[[["parsestream",6]],["result",6]]],[11,"parse","","",232,[[["parsestream",6]],["result",6]]],[11,"parse","","",233,[[["parsestream",6]],["result",6]]],[11,"parse","","",234,[[["parsestream",6]],["result",6]]],[11,"parse","","",235,[[["parsestream",6]],["result",6]]],[11,"parse","","",236,[[["parsestream",6]],["result",6]]],[11,"parse","","",237,[[["parsestream",6]],["result",6]]],[11,"parse","","",159,[[["parsestream",6]],["result",6]]],[11,"parse","","",161,[[["parsestream",6]],["result",6]]],[11,"parse","","",167,[[["parsestream",6]],["result",6]]],[11,"parse","","",168,[[["parsestream",6]],["result",6]]],[11,"parse","","",169,[[["parsestream",6]],["result",6]]],[11,"parse","","",173,[[["parsestream",6]],["result",6]]],[11,"parse","","",185,[[["parsestream",6]],["result",6]]],[11,"parse","","",174,[[["parsestream",6]],["result",6]]],[11,"parse","","",183,[[["parsestream",6]],["result",6]]],[11,"parse","","",184,[[["parsestream",6]],["result",6]]],[11,"parse","","",175,[[["parsestream",6]],["result",6]]],[11,"parse","","",180,[[["parsestream",6]],["result",6]]],[11,"parse","","",178,[[["parsestream",6]],["result",6]]],[11,"parse","","",187,[[["parsestream",6]],["result",6]]],[11,"parse","","",179,[[["parsestream",6]],["result",6]]],[11,"parse","","",182,[[["parsestream",6]],["result",6]]],[11,"parse","","",172,[[["parsestream",6]],["result",6]]],[11,"parse","","",186,[[["parsestream",6]],["result",6]]],[11,"parse","","",177,[[["parsestream",6]],["result",6]]],[11,"parse","","",176,[[["parsestream",6]],["result",6]]],[11,"parse","","",181,[[["parsestream",6]],["result",6]]],[11,"parse","","",171,[[["parsestream",6]],["result",6]]],[11,"parse","","",170,[[["parsestream",6]],["result",6]]],[11,"parse","","",194,[[["parsestream",6]],["result",6]]],[11,"parse","","",192,[[["parsestream",6]],["result",6]]],[11,"parse","","",189,[[["parsestream",6]],["result",6]]],[11,"parse","","",193,[[["parsestream",6]],["result",6]]],[11,"parse","","",196,[[["parsestream",6]],["result",6]]],[11,"parse","","",190,[[["parsestream",6]],["result",6]]],[11,"parse","syn::parse","",245,[[["parsestream",6]],["result",6]]],[11,"drop","","",113,[[]]],[11,"from","syn","",198,[[["selfvalue",3]],["ident",3]]],[11,"from","","",198,[[["selftype",3]],["ident",3]]],[11,"from","","",198,[[["super",3]],["ident",3]]],[11,"from","","",198,[[["crate",3]],["ident",3]]],[11,"from","","",198,[[["extern",3]],["ident",3]]],[11,"from","","",198,[[["underscore",3]],["ident",3]]],[11,"from","","",118,[[["path",3]],["meta",4]]],[11,"from","","",118,[[["metalist",3]],["meta",4]]],[11,"from","","",118,[[["metanamevalue",3]],["meta",4]]],[11,"from","","",121,[[["meta",4]],["nestedmeta",4]]],[11,"from","","",121,[[["lit",4]],["nestedmeta",4]]],[11,"from","","",123,[[["fieldsnamed",3]],["fields",4]]],[11,"from","","",123,[[["fieldsunnamed",3]],["fields",4]]],[11,"from","","",130,[[["vispublic",3]],["visibility",4]]],[11,"from","","",130,[[["viscrate",3]],["visibility",4]]],[11,"from","","",130,[[["visrestricted",3]],["visibility",4]]],[11,"from","","",131,[[["exprarray",3]],["expr",4]]],[11,"from","","",131,[[["exprassign",3]],["expr",4]]],[11,"from","","",131,[[["exprassignop",3]],["expr",4]]],[11,"from","","",131,[[["exprasync",3]],["expr",4]]],[11,"from","","",131,[[["exprawait",3]],["expr",4]]],[11,"from","","",131,[[["exprbinary",3]],["expr",4]]],[11,"from","","",131,[[["exprblock",3]],["expr",4]]],[11,"from","","",131,[[["exprbox",3]],["expr",4]]],[11,"from","","",131,[[["exprbreak",3]],["expr",4]]],[11,"from","","",131,[[["exprcall",3]],["expr",4]]],[11,"from","","",131,[[["exprcast",3]],["expr",4]]],[11,"from","","",131,[[["exprclosure",3]],["expr",4]]],[11,"from","","",131,[[["exprcontinue",3]],["expr",4]]],[11,"from","","",131,[[["exprfield",3]],["expr",4]]],[11,"from","","",131,[[["exprforloop",3]],["expr",4]]],[11,"from","","",131,[[["exprgroup",3]],["expr",4]]],[11,"from","","",131,[[["exprif",3]],["expr",4]]],[11,"from","","",131,[[["exprindex",3]],["expr",4]]],[11,"from","","",131,[[["exprlet",3]],["expr",4]]],[11,"from","","",131,[[["exprlit",3]],["expr",4]]],[11,"from","","",131,[[["exprloop",3]],["expr",4]]],[11,"from","","",131,[[["exprmacro",3]],["expr",4]]],[11,"from","","",131,[[["exprmatch",3]],["expr",4]]],[11,"from","","",131,[[["exprmethodcall",3]],["expr",4]]],[11,"from","","",131,[[["exprparen",3]],["expr",4]]],[11,"from","","",131,[[["exprpath",3]],["expr",4]]],[11,"from","","",131,[[["exprrange",3]],["expr",4]]],[11,"from","","",131,[[["exprreference",3]],["expr",4]]],[11,"from","","",131,[[["exprrepeat",3]],["expr",4]]],[11,"from","","",131,[[["exprreturn",3]],["expr",4]]],[11,"from","","",131,[[["exprstruct",3]],["expr",4]]],[11,"from","","",131,[[["exprtry",3]],["expr",4]]],[11,"from","","",131,[[["exprtryblock",3]],["expr",4]]],[11,"from","","",131,[[["exprtuple",3]],["expr",4]]],[11,"from","","",131,[[["exprtype",3]],["expr",4]]],[11,"from","","",131,[[["exprunary",3]],["expr",4]]],[11,"from","","",131,[[["exprunsafe",3]],["expr",4]]],[11,"from","","",131,[[["exprwhile",3]],["expr",4]]],[11,"from","","",131,[[["expryield",3]],["expr",4]]],[11,"from","","",141,[[],["index",3]]],[11,"from","","",145,[[["typeparam",3]],["genericparam",4]]],[11,"from","","",145,[[["lifetimedef",3]],["genericparam",4]]],[11,"from","","",145,[[["constparam",3]],["genericparam",4]]],[11,"from","","",153,[[["ident",3]]]],[11,"from","","",154,[[["traitbound",3]],["typeparambound",4]]],[11,"from","","",154,[[["lifetime",3]],["typeparambound",4]]],[11,"from","","",156,[[["predicatetype",3]],["wherepredicate",4]]],[11,"from","","",156,[[["predicatelifetime",3]],["wherepredicate",4]]],[11,"from","","",156,[[["predicateeq",3]],["wherepredicate",4]]],[11,"from","","",158,[[["litstr",3]],["lit",4]]],[11,"from","","",158,[[["litbytestr",3]],["lit",4]]],[11,"from","","",158,[[["litbyte",3]],["lit",4]]],[11,"from","","",158,[[["litchar",3]],["lit",4]]],[11,"from","","",158,[[["litint",3]],["lit",4]]],[11,"from","","",158,[[["litfloat",3]],["lit",4]]],[11,"from","","",158,[[["litbool",3]],["lit",4]]],[11,"from","","",236,[[["literal",3]]]],[11,"from","","",237,[[["literal",3]]]],[11,"from","","",163,[[["datastruct",3]],["data",4]]],[11,"from","","",163,[[["dataenum",3]],["data",4]]],[11,"from","","",163,[[["dataunion",3]],["data",4]]],[11,"from","","",173,[[["typearray",3]],["type",4]]],[11,"from","","",173,[[["typebarefn",3]],["type",4]]],[11,"from","","",173,[[["typegroup",3]],["type",4]]],[11,"from","","",173,[[["typeimpltrait",3]],["type",4]]],[11,"from","","",173,[[["typeinfer",3]],["type",4]]],[11,"from","","",173,[[["typemacro",3]],["type",4]]],[11,"from","","",173,[[["typenever",3]],["type",4]]],[11,"from","","",173,[[["typeparen",3]],["type",4]]],[11,"from","","",173,[[["typepath",3]],["type",4]]],[11,"from","","",173,[[["typeptr",3]],["type",4]]],[11,"from","","",173,[[["typereference",3]],["type",4]]],[11,"from","","",173,[[["typeslice",3]],["type",4]]],[11,"from","","",173,[[["typetraitobject",3]],["type",4]]],[11,"from","","",173,[[["typetuple",3]],["type",4]]],[11,"from","","",194,[[]]],[11,"from","","",196,[[]]],[11,"from","syn::parse","",115,[[["lexerror",3]]]],[11,"next_back","syn::punctuated","",238,[[],["option",4]]],[11,"next_back","","",239,[[],["option",4]]],[11,"next_back","","",240,[[],["option",4]]],[11,"next_back","","",241,[[],["option",4]]],[11,"next_back","","",242,[[],["option",4]]],[11,"next_back","","",243,[[],["option",4]]],[11,"len","","",238,[[]]],[11,"len","","",239,[[]]],[11,"len","","",240,[[]]],[11,"len","","",241,[[]]],[11,"len","","",242,[[]]],[11,"len","","",243,[[]]],[11,"extend","","",106,[[["intoiterator",8]]]],[11,"extend","","",106,[[["intoiterator",8]]]],[11,"extend","syn::parse","",115,[[["intoiterator",8]]]],[11,"into_iter","syn","",123,[[]]],[11,"into_iter","syn::punctuated","",106,[[]]],[11,"into_iter","syn::parse","",115,[[]]],[11,"next","syn::punctuated","",238,[[],["option",4]]],[11,"size_hint","","",238,[[]]],[11,"next","","",239,[[],["option",4]]],[11,"size_hint","","",239,[[]]],[11,"next","","",240,[[],["option",4]]],[11,"size_hint","","",240,[[]]],[11,"next","","",241,[[],["option",4]]],[11,"size_hint","","",241,[[]]],[11,"next","","",242,[[],["option",4]]],[11,"size_hint","","",242,[[]]],[11,"next","","",243,[[],["option",4]]],[11,"size_hint","","",243,[[]]],[11,"clone","syn::token","",0,[[]]],[11,"clone","","",1,[[]]],[11,"clone","","",2,[[]]],[11,"clone","","",3,[[]]],[11,"clone","","",4,[[]]],[11,"clone","","",5,[[]]],[11,"clone","","",6,[[]]],[11,"clone","","",7,[[]]],[11,"clone","","",8,[[]]],[11,"clone","","",9,[[]]],[11,"clone","","",10,[[]]],[11,"clone","","",11,[[]]],[11,"clone","","",12,[[]]],[11,"clone","","",13,[[]]],[11,"clone","","",14,[[]]],[11,"clone","","",15,[[]]],[11,"clone","","",16,[[]]],[11,"clone","","",17,[[]]],[11,"clone","","",18,[[]]],[11,"clone","","",19,[[]]],[11,"clone","","",20,[[]]],[11,"clone","","",21,[[]]],[11,"clone","","",22,[[]]],[11,"clone","","",23,[[]]],[11,"clone","","",24,[[]]],[11,"clone","","",25,[[]]],[11,"clone","","",26,[[]]],[11,"clone","","",27,[[]]],[11,"clone","","",28,[[]]],[11,"clone","","",29,[[]]],[11,"clone","","",30,[[]]],[11,"clone","","",31,[[]]],[11,"clone","","",32,[[]]],[11,"clone","","",33,[[]]],[11,"clone","","",34,[[]]],[11,"clone","","",35,[[]]],[11,"clone","","",36,[[]]],[11,"clone","","",37,[[]]],[11,"clone","","",38,[[]]],[11,"clone","","",39,[[]]],[11,"clone","","",40,[[]]],[11,"clone","","",41,[[]]],[11,"clone","","",42,[[]]],[11,"clone","","",43,[[]]],[11,"clone","","",44,[[]]],[11,"clone","","",45,[[]]],[11,"clone","","",46,[[]]],[11,"clone","","",47,[[]]],[11,"clone","","",48,[[]]],[11,"clone","","",49,[[]]],[11,"clone","","",50,[[]]],[11,"clone","","",51,[[]]],[11,"clone","","",52,[[]]],[11,"clone","","",53,[[]]],[11,"clone","","",54,[[]]],[11,"clone","","",55,[[]]],[11,"clone","","",56,[[]]],[11,"clone","","",57,[[]]],[11,"clone","","",58,[[]]],[11,"clone","","",59,[[]]],[11,"clone","","",60,[[]]],[11,"clone","","",61,[[]]],[11,"clone","","",62,[[]]],[11,"clone","","",63,[[]]],[11,"clone","","",64,[[]]],[11,"clone","","",65,[[]]],[11,"clone","","",66,[[]]],[11,"clone","","",67,[[]]],[11,"clone","","",68,[[]]],[11,"clone","","",69,[[]]],[11,"clone","","",70,[[]]],[11,"clone","","",71,[[]]],[11,"clone","","",72,[[]]],[11,"clone","","",73,[[]]],[11,"clone","","",74,[[]]],[11,"clone","","",75,[[]]],[11,"clone","","",76,[[]]],[11,"clone","","",77,[[]]],[11,"clone","","",78,[[]]],[11,"clone","","",79,[[]]],[11,"clone","","",80,[[]]],[11,"clone","","",81,[[]]],[11,"clone","","",82,[[]]],[11,"clone","","",83,[[]]],[11,"clone","","",84,[[]]],[11,"clone","","",85,[[]]],[11,"clone","","",86,[[]]],[11,"clone","","",87,[[]]],[11,"clone","","",88,[[]]],[11,"clone","","",89,[[]]],[11,"clone","","",90,[[]]],[11,"clone","","",91,[[]]],[11,"clone","","",92,[[]]],[11,"clone","","",93,[[]]],[11,"clone","","",94,[[]]],[11,"clone","","",95,[[]]],[11,"clone","","",96,[[]]],[11,"clone","","",97,[[]]],[11,"clone","","",98,[[]]],[11,"clone","","",99,[[]]],[11,"clone","","",100,[[]]],[11,"clone","","",101,[[]]],[11,"clone","","",102,[[]]],[11,"clone","syn","",229,[[]]],[11,"clone","","",230,[[]]],[11,"clone","","",231,[[]]],[11,"clone","","",157,[[]]],[11,"clone","","",232,[[]]],[11,"clone","","",233,[[]]],[11,"clone","","",234,[[]]],[11,"clone","","",235,[[]]],[11,"clone","","",236,[[]]],[11,"clone","","",237,[[]]],[11,"clone","syn::buffer","",104,[[]]],[11,"clone","syn::punctuated","",106,[[]]],[11,"clone","","",238,[[]]],[11,"clone","","",240,[[]]],[11,"clone","","",241,[[]]],[11,"clone","","",242,[[]]],[11,"clone","","",107,[[]]],[11,"clone","syn","",170,[[]]],[11,"clone","","",189,[[]]],[11,"clone","","",116,[[]]],[11,"clone","","",117,[[]]],[11,"clone","","",171,[[]]],[11,"clone","","",168,[[]]],[11,"clone","","",190,[[]]],[11,"clone","","",143,[[]]],[11,"clone","","",144,[[]]],[11,"clone","","",191,[[]]],[11,"clone","","",163,[[]]],[11,"clone","","",164,[[]]],[11,"clone","","",165,[[]]],[11,"clone","","",166,[[]]],[11,"clone","","",167,[[]]],[11,"clone","","",131,[[]]],[11,"clone","","",132,[[]]],[11,"clone","","",133,[[]]],[11,"clone","","",134,[[]]],[11,"clone","","",135,[[]]],[11,"clone","","",136,[[]]],[11,"clone","","",137,[[]]],[11,"clone","","",138,[[]]],[11,"clone","","",139,[[]]],[11,"clone","","",140,[[]]],[11,"clone","","",122,[[]]],[11,"clone","","",123,[[]]],[11,"clone","","",124,[[]]],[11,"clone","","",125,[[]]],[11,"clone","","",192,[[]]],[11,"clone","","",145,[[]]],[11,"clone","","",146,[[]]],[11,"clone","","",141,[[]]],[11,"clone","","",147,[[]]],[11,"clone","","",158,[[]]],[11,"clone","","",159,[[]]],[11,"clone","","",161,[[]]],[11,"clone","","",162,[[]]],[11,"clone","","",142,[[]]],[11,"clone","","",118,[[]]],[11,"clone","","",119,[[]]],[11,"clone","","",120,[[]]],[11,"clone","","",121,[[]]],[11,"clone","","",193,[[]]],[11,"clone","","",194,[[]]],[11,"clone","","",195,[[]]],[11,"clone","","",196,[[]]],[11,"clone","","",148,[[]]],[11,"clone","","",149,[[]]],[11,"clone","","",150,[[]]],[11,"clone","","",197,[[]]],[11,"clone","","",172,[[]]],[11,"clone","","",151,[[]]],[11,"clone","","",152,[[]]],[11,"clone","","",173,[[]]],[11,"clone","","",174,[[]]],[11,"clone","","",175,[[]]],[11,"clone","","",176,[[]]],[11,"clone","","",177,[[]]],[11,"clone","","",178,[[]]],[11,"clone","","",179,[[]]],[11,"clone","","",180,[[]]],[11,"clone","","",153,[[]]],[11,"clone","","",154,[[]]],[11,"clone","","",181,[[]]],[11,"clone","","",182,[[]]],[11,"clone","","",183,[[]]],[11,"clone","","",184,[[]]],[11,"clone","","",185,[[]]],[11,"clone","","",186,[[]]],[11,"clone","","",187,[[]]],[11,"clone","","",169,[[]]],[11,"clone","","",188,[[]]],[11,"clone","","",126,[[]]],[11,"clone","","",127,[[]]],[11,"clone","","",128,[[]]],[11,"clone","","",129,[[]]],[11,"clone","","",130,[[]]],[11,"clone","","",155,[[]]],[11,"clone","","",156,[[]]],[11,"clone","syn::parse","",112,[[]]],[11,"clone","","",115,[[]]],[11,"default","syn::token","",0,[[]]],[11,"default","","",1,[[]]],[11,"default","","",2,[[]]],[11,"default","","",3,[[]]],[11,"default","","",4,[[]]],[11,"default","","",5,[[]]],[11,"default","","",6,[[]]],[11,"default","","",7,[[]]],[11,"default","","",8,[[]]],[11,"default","","",9,[[]]],[11,"default","","",10,[[]]],[11,"default","","",11,[[]]],[11,"default","","",12,[[]]],[11,"default","","",13,[[]]],[11,"default","","",14,[[]]],[11,"default","","",15,[[]]],[11,"default","","",16,[[]]],[11,"default","","",17,[[]]],[11,"default","","",18,[[]]],[11,"default","","",19,[[]]],[11,"default","","",20,[[]]],[11,"default","","",21,[[]]],[11,"default","","",22,[[]]],[11,"default","","",23,[[]]],[11,"default","","",24,[[]]],[11,"default","","",25,[[]]],[11,"default","","",26,[[]]],[11,"default","","",27,[[]]],[11,"default","","",28,[[]]],[11,"default","","",29,[[]]],[11,"default","","",30,[[]]],[11,"default","","",31,[[]]],[11,"default","","",32,[[]]],[11,"default","","",33,[[]]],[11,"default","","",34,[[]]],[11,"default","","",35,[[]]],[11,"default","","",36,[[]]],[11,"default","","",37,[[]]],[11,"default","","",38,[[]]],[11,"default","","",39,[[]]],[11,"default","","",40,[[]]],[11,"default","","",41,[[]]],[11,"default","","",42,[[]]],[11,"default","","",43,[[]]],[11,"default","","",44,[[]]],[11,"default","","",45,[[]]],[11,"default","","",46,[[]]],[11,"default","","",47,[[]]],[11,"default","","",48,[[]]],[11,"default","","",49,[[]]],[11,"default","","",50,[[]]],[11,"default","","",51,[[]]],[11,"default","","",52,[[]]],[11,"default","","",53,[[]]],[11,"default","","",54,[[]]],[11,"default","","",55,[[]]],[11,"default","","",56,[[]]],[11,"default","","",57,[[]]],[11,"default","","",58,[[]]],[11,"default","","",59,[[]]],[11,"default","","",60,[[]]],[11,"default","","",61,[[]]],[11,"default","","",62,[[]]],[11,"default","","",63,[[]]],[11,"default","","",64,[[]]],[11,"default","","",65,[[]]],[11,"default","","",66,[[]]],[11,"default","","",67,[[]]],[11,"default","","",68,[[]]],[11,"default","","",69,[[]]],[11,"default","","",70,[[]]],[11,"default","","",71,[[]]],[11,"default","","",72,[[]]],[11,"default","","",73,[[]]],[11,"default","","",74,[[]]],[11,"default","","",75,[[]]],[11,"default","","",76,[[]]],[11,"default","","",77,[[]]],[11,"default","","",78,[[]]],[11,"default","","",79,[[]]],[11,"default","","",80,[[]]],[11,"default","","",81,[[]]],[11,"default","","",82,[[]]],[11,"default","","",83,[[]]],[11,"default","","",84,[[]]],[11,"default","","",85,[[]]],[11,"default","","",86,[[]]],[11,"default","","",87,[[]]],[11,"default","","",88,[[]]],[11,"default","","",89,[[]]],[11,"default","","",90,[[]]],[11,"default","","",91,[[]]],[11,"default","","",92,[[]]],[11,"default","","",93,[[]]],[11,"default","","",94,[[]]],[11,"default","","",95,[[]]],[11,"default","","",96,[[]]],[11,"default","","",97,[[]]],[11,"default","","",98,[[]]],[11,"default","","",99,[[]]],[11,"default","","",100,[[]]],[11,"default","","",101,[[]]],[11,"default","","",102,[[]]],[11,"default","syn","",146,[[]]],[11,"default","","",143,[[]]],[11,"default","","",195,[[]]],[11,"default","syn::punctuated","",106,[[]]],[11,"cmp","syn","",157,[[["lifetime",3]],["ordering",4]]],[11,"eq","syn::token","",0,[[["underscore",3]]]],[11,"eq","","",1,[[["abstract",3]]]],[11,"eq","","",2,[[["as",3]]]],[11,"eq","","",3,[[["async",3]]]],[11,"eq","","",4,[[["auto",3]]]],[11,"eq","","",5,[[["await",3]]]],[11,"eq","","",6,[[["become",3]]]],[11,"eq","","",7,[[["box",3]]]],[11,"eq","","",8,[[["break",3]]]],[11,"eq","","",9,[[["const",3]]]],[11,"eq","","",10,[[["continue",3]]]],[11,"eq","","",11,[[["crate",3]]]],[11,"eq","","",12,[[["default",3]]]],[11,"eq","","",13,[[["do",3]]]],[11,"eq","","",14,[[["dyn",3]]]],[11,"eq","","",15,[[["else",3]]]],[11,"eq","","",16,[[["enum",3]]]],[11,"eq","","",17,[[["extern",3]]]],[11,"eq","","",18,[[["final",3]]]],[11,"eq","","",19,[[["fn",3]]]],[11,"eq","","",20,[[["for",3]]]],[11,"eq","","",21,[[["if",3]]]],[11,"eq","","",22,[[["impl",3]]]],[11,"eq","","",23,[[["in",3]]]],[11,"eq","","",24,[[["let",3]]]],[11,"eq","","",25,[[["loop",3]]]],[11,"eq","","",26,[[["macro",3]]]],[11,"eq","","",27,[[["match",3]]]],[11,"eq","","",28,[[["mod",3]]]],[11,"eq","","",29,[[["move",3]]]],[11,"eq","","",30,[[["mut",3]]]],[11,"eq","","",31,[[["override",3]]]],[11,"eq","","",32,[[["priv",3]]]],[11,"eq","","",33,[[["pub",3]]]],[11,"eq","","",34,[[["ref",3]]]],[11,"eq","","",35,[[["return",3]]]],[11,"eq","","",36,[[["selftype",3]]]],[11,"eq","","",37,[[["selfvalue",3]]]],[11,"eq","","",38,[[["static",3]]]],[11,"eq","","",39,[[["struct",3]]]],[11,"eq","","",40,[[["super",3]]]],[11,"eq","","",41,[[["trait",3]]]],[11,"eq","","",42,[[["try",3]]]],[11,"eq","","",43,[[["type",3]]]],[11,"eq","","",44,[[["typeof",3]]]],[11,"eq","","",45,[[["union",3]]]],[11,"eq","","",46,[[["unsafe",3]]]],[11,"eq","","",47,[[["unsized",3]]]],[11,"eq","","",48,[[["use",3]]]],[11,"eq","","",49,[[["virtual",3]]]],[11,"eq","","",50,[[["where",3]]]],[11,"eq","","",51,[[["while",3]]]],[11,"eq","","",52,[[["yield",3]]]],[11,"eq","","",53,[[["add",3]]]],[11,"eq","","",54,[[["addeq",3]]]],[11,"eq","","",55,[[["and",3]]]],[11,"eq","","",56,[[["andand",3]]]],[11,"eq","","",57,[[["andeq",3]]]],[11,"eq","","",58,[[["at",3]]]],[11,"eq","","",59,[[["bang",3]]]],[11,"eq","","",60,[[["caret",3]]]],[11,"eq","","",61,[[["careteq",3]]]],[11,"eq","","",62,[[["colon",3]]]],[11,"eq","","",63,[[["colon2",3]]]],[11,"eq","","",64,[[["comma",3]]]],[11,"eq","","",65,[[["div",3]]]],[11,"eq","","",66,[[["diveq",3]]]],[11,"eq","","",67,[[["dollar",3]]]],[11,"eq","","",68,[[["dot",3]]]],[11,"eq","","",69,[[["dot2",3]]]],[11,"eq","","",70,[[["dot3",3]]]],[11,"eq","","",71,[[["dotdoteq",3]]]],[11,"eq","","",72,[[["eq",3]]]],[11,"eq","","",73,[[["eqeq",3]]]],[11,"eq","","",74,[[["ge",3]]]],[11,"eq","","",75,[[["gt",3]]]],[11,"eq","","",76,[[["le",3]]]],[11,"eq","","",77,[[["lt",3]]]],[11,"eq","","",78,[[["muleq",3]]]],[11,"eq","","",79,[[["ne",3]]]],[11,"eq","","",80,[[["or",3]]]],[11,"eq","","",81,[[["oreq",3]]]],[11,"eq","","",82,[[["oror",3]]]],[11,"eq","","",83,[[["pound",3]]]],[11,"eq","","",84,[[["question",3]]]],[11,"eq","","",85,[[["rarrow",3]]]],[11,"eq","","",86,[[["larrow",3]]]],[11,"eq","","",87,[[["rem",3]]]],[11,"eq","","",88,[[["remeq",3]]]],[11,"eq","","",89,[[["fatarrow",3]]]],[11,"eq","","",90,[[["semi",3]]]],[11,"eq","","",91,[[["shl",3]]]],[11,"eq","","",92,[[["shleq",3]]]],[11,"eq","","",93,[[["shr",3]]]],[11,"eq","","",94,[[["shreq",3]]]],[11,"eq","","",95,[[["star",3]]]],[11,"eq","","",96,[[["sub",3]]]],[11,"eq","","",97,[[["subeq",3]]]],[11,"eq","","",98,[[["tilde",3]]]],[11,"eq","","",99,[[["brace",3]]]],[11,"eq","","",100,[[["bracket",3]]]],[11,"eq","","",101,[[["paren",3]]]],[11,"eq","","",102,[[["group",3]]]],[11,"eq","syn","",142,[[]]],[11,"eq","","",141,[[]]],[11,"eq","","",229,[[]]],[11,"eq","","",230,[[]]],[11,"eq","","",231,[[]]],[11,"eq","","",157,[[["lifetime",3]]]],[11,"eq","","",232,[[]]],[11,"eq","","",233,[[]]],[11,"eq","","",234,[[]]],[11,"eq","","",235,[[]]],[11,"eq","","",236,[[]]],[11,"eq","","",237,[[]]],[11,"eq","syn::buffer","",104,[[]]],[11,"eq","syn::punctuated","",106,[[]]],[11,"eq","syn","",170,[[]]],[11,"eq","","",189,[[]]],[11,"eq","","",116,[[]]],[11,"eq","","",117,[[]]],[11,"eq","","",171,[[]]],[11,"eq","","",168,[[]]],[11,"eq","","",190,[[]]],[11,"eq","","",143,[[]]],[11,"eq","","",144,[[]]],[11,"eq","","",191,[[]]],[11,"eq","","",163,[[]]],[11,"eq","","",164,[[]]],[11,"eq","","",165,[[]]],[11,"eq","","",166,[[]]],[11,"eq","","",167,[[]]],[11,"eq","","",131,[[]]],[11,"eq","","",132,[[]]],[11,"eq","","",133,[[]]],[11,"eq","","",134,[[]]],[11,"eq","","",135,[[]]],[11,"eq","","",136,[[]]],[11,"eq","","",137,[[]]],[11,"eq","","",138,[[]]],[11,"eq","","",139,[[]]],[11,"eq","","",140,[[]]],[11,"eq","","",122,[[]]],[11,"eq","","",123,[[]]],[11,"eq","","",124,[[]]],[11,"eq","","",125,[[]]],[11,"eq","","",192,[[]]],[11,"eq","","",145,[[]]],[11,"eq","","",146,[[]]],[11,"eq","","",147,[[]]],[11,"eq","","",158,[[]]],[11,"eq","","",159,[[]]],[11,"eq","","",161,[[]]],[11,"eq","","",162,[[]]],[11,"eq","","",118,[[]]],[11,"eq","","",119,[[]]],[11,"eq","","",120,[[]]],[11,"eq","","",121,[[]]],[11,"eq","","",193,[[]]],[11,"eq","","",194,[[]]],[11,"eq","","",195,[[]]],[11,"eq","","",196,[[]]],[11,"eq","","",148,[[]]],[11,"eq","","",149,[[]]],[11,"eq","","",150,[[]]],[11,"eq","","",197,[[]]],[11,"eq","","",172,[[]]],[11,"eq","","",151,[[]]],[11,"eq","","",152,[[]]],[11,"eq","","",173,[[]]],[11,"eq","","",174,[[]]],[11,"eq","","",175,[[]]],[11,"eq","","",176,[[]]],[11,"eq","","",177,[[]]],[11,"eq","","",178,[[]]],[11,"eq","","",179,[[]]],[11,"eq","","",180,[[]]],[11,"eq","","",153,[[]]],[11,"eq","","",154,[[]]],[11,"eq","","",181,[[]]],[11,"eq","","",182,[[]]],[11,"eq","","",183,[[]]],[11,"eq","","",184,[[]]],[11,"eq","","",185,[[]]],[11,"eq","","",186,[[]]],[11,"eq","","",187,[[]]],[11,"eq","","",169,[[]]],[11,"eq","","",188,[[]]],[11,"eq","","",126,[[]]],[11,"eq","","",127,[[]]],[11,"eq","","",128,[[]]],[11,"eq","","",129,[[]]],[11,"eq","","",130,[[]]],[11,"eq","","",155,[[]]],[11,"eq","","",156,[[]]],[11,"partial_cmp","","",157,[[["lifetime",3]],[["option",4],["ordering",4]]]],[11,"deref","syn::token","",0,[[]]],[11,"deref","","",53,[[]]],[11,"deref","","",55,[[]]],[11,"deref","","",58,[[]]],[11,"deref","","",59,[[]]],[11,"deref","","",60,[[]]],[11,"deref","","",62,[[]]],[11,"deref","","",64,[[]]],[11,"deref","","",65,[[]]],[11,"deref","","",67,[[]]],[11,"deref","","",68,[[]]],[11,"deref","","",72,[[]]],[11,"deref","","",75,[[]]],[11,"deref","","",77,[[]]],[11,"deref","","",80,[[]]],[11,"deref","","",83,[[]]],[11,"deref","","",84,[[]]],[11,"deref","","",87,[[]]],[11,"deref","","",90,[[]]],[11,"deref","","",95,[[]]],[11,"deref","","",96,[[]]],[11,"deref","","",98,[[]]],[11,"deref","syn::parse","",112,[[]]],[11,"deref_mut","syn::token","",0,[[]]],[11,"deref_mut","","",53,[[]]],[11,"deref_mut","","",55,[[]]],[11,"deref_mut","","",58,[[]]],[11,"deref_mut","","",59,[[]]],[11,"deref_mut","","",60,[[]]],[11,"deref_mut","","",62,[[]]],[11,"deref_mut","","",64,[[]]],[11,"deref_mut","","",65,[[]]],[11,"deref_mut","","",67,[[]]],[11,"deref_mut","","",68,[[]]],[11,"deref_mut","","",72,[[]]],[11,"deref_mut","","",75,[[]]],[11,"deref_mut","","",77,[[]]],[11,"deref_mut","","",80,[[]]],[11,"deref_mut","","",83,[[]]],[11,"deref_mut","","",84,[[]]],[11,"deref_mut","","",87,[[]]],[11,"deref_mut","","",90,[[]]],[11,"deref_mut","","",95,[[]]],[11,"deref_mut","","",96,[[]]],[11,"deref_mut","","",98,[[]]],[11,"fmt","","",0,[[["formatter",3]],["result",6]]],[11,"fmt","","",1,[[["formatter",3]],["result",6]]],[11,"fmt","","",2,[[["formatter",3]],["result",6]]],[11,"fmt","","",3,[[["formatter",3]],["result",6]]],[11,"fmt","","",4,[[["formatter",3]],["result",6]]],[11,"fmt","","",5,[[["formatter",3]],["result",6]]],[11,"fmt","","",6,[[["formatter",3]],["result",6]]],[11,"fmt","","",7,[[["formatter",3]],["result",6]]],[11,"fmt","","",8,[[["formatter",3]],["result",6]]],[11,"fmt","","",9,[[["formatter",3]],["result",6]]],[11,"fmt","","",10,[[["formatter",3]],["result",6]]],[11,"fmt","","",11,[[["formatter",3]],["result",6]]],[11,"fmt","","",12,[[["formatter",3]],["result",6]]],[11,"fmt","","",13,[[["formatter",3]],["result",6]]],[11,"fmt","","",14,[[["formatter",3]],["result",6]]],[11,"fmt","","",15,[[["formatter",3]],["result",6]]],[11,"fmt","","",16,[[["formatter",3]],["result",6]]],[11,"fmt","","",17,[[["formatter",3]],["result",6]]],[11,"fmt","","",18,[[["formatter",3]],["result",6]]],[11,"fmt","","",19,[[["formatter",3]],["result",6]]],[11,"fmt","","",20,[[["formatter",3]],["result",6]]],[11,"fmt","","",21,[[["formatter",3]],["result",6]]],[11,"fmt","","",22,[[["formatter",3]],["result",6]]],[11,"fmt","","",23,[[["formatter",3]],["result",6]]],[11,"fmt","","",24,[[["formatter",3]],["result",6]]],[11,"fmt","","",25,[[["formatter",3]],["result",6]]],[11,"fmt","","",26,[[["formatter",3]],["result",6]]],[11,"fmt","","",27,[[["formatter",3]],["result",6]]],[11,"fmt","","",28,[[["formatter",3]],["result",6]]],[11,"fmt","","",29,[[["formatter",3]],["result",6]]],[11,"fmt","","",30,[[["formatter",3]],["result",6]]],[11,"fmt","","",31,[[["formatter",3]],["result",6]]],[11,"fmt","","",32,[[["formatter",3]],["result",6]]],[11,"fmt","","",33,[[["formatter",3]],["result",6]]],[11,"fmt","","",34,[[["formatter",3]],["result",6]]],[11,"fmt","","",35,[[["formatter",3]],["result",6]]],[11,"fmt","","",36,[[["formatter",3]],["result",6]]],[11,"fmt","","",37,[[["formatter",3]],["result",6]]],[11,"fmt","","",38,[[["formatter",3]],["result",6]]],[11,"fmt","","",39,[[["formatter",3]],["result",6]]],[11,"fmt","","",40,[[["formatter",3]],["result",6]]],[11,"fmt","","",41,[[["formatter",3]],["result",6]]],[11,"fmt","","",42,[[["formatter",3]],["result",6]]],[11,"fmt","","",43,[[["formatter",3]],["result",6]]],[11,"fmt","","",44,[[["formatter",3]],["result",6]]],[11,"fmt","","",45,[[["formatter",3]],["result",6]]],[11,"fmt","","",46,[[["formatter",3]],["result",6]]],[11,"fmt","","",47,[[["formatter",3]],["result",6]]],[11,"fmt","","",48,[[["formatter",3]],["result",6]]],[11,"fmt","","",49,[[["formatter",3]],["result",6]]],[11,"fmt","","",50,[[["formatter",3]],["result",6]]],[11,"fmt","","",51,[[["formatter",3]],["result",6]]],[11,"fmt","","",52,[[["formatter",3]],["result",6]]],[11,"fmt","","",53,[[["formatter",3]],["result",6]]],[11,"fmt","","",54,[[["formatter",3]],["result",6]]],[11,"fmt","","",55,[[["formatter",3]],["result",6]]],[11,"fmt","","",56,[[["formatter",3]],["result",6]]],[11,"fmt","","",57,[[["formatter",3]],["result",6]]],[11,"fmt","","",58,[[["formatter",3]],["result",6]]],[11,"fmt","","",59,[[["formatter",3]],["result",6]]],[11,"fmt","","",60,[[["formatter",3]],["result",6]]],[11,"fmt","","",61,[[["formatter",3]],["result",6]]],[11,"fmt","","",62,[[["formatter",3]],["result",6]]],[11,"fmt","","",63,[[["formatter",3]],["result",6]]],[11,"fmt","","",64,[[["formatter",3]],["result",6]]],[11,"fmt","","",65,[[["formatter",3]],["result",6]]],[11,"fmt","","",66,[[["formatter",3]],["result",6]]],[11,"fmt","","",67,[[["formatter",3]],["result",6]]],[11,"fmt","","",68,[[["formatter",3]],["result",6]]],[11,"fmt","","",69,[[["formatter",3]],["result",6]]],[11,"fmt","","",70,[[["formatter",3]],["result",6]]],[11,"fmt","","",71,[[["formatter",3]],["result",6]]],[11,"fmt","","",72,[[["formatter",3]],["result",6]]],[11,"fmt","","",73,[[["formatter",3]],["result",6]]],[11,"fmt","","",74,[[["formatter",3]],["result",6]]],[11,"fmt","","",75,[[["formatter",3]],["result",6]]],[11,"fmt","","",76,[[["formatter",3]],["result",6]]],[11,"fmt","","",77,[[["formatter",3]],["result",6]]],[11,"fmt","","",78,[[["formatter",3]],["result",6]]],[11,"fmt","","",79,[[["formatter",3]],["result",6]]],[11,"fmt","","",80,[[["formatter",3]],["result",6]]],[11,"fmt","","",81,[[["formatter",3]],["result",6]]],[11,"fmt","","",82,[[["formatter",3]],["result",6]]],[11,"fmt","","",83,[[["formatter",3]],["result",6]]],[11,"fmt","","",84,[[["formatter",3]],["result",6]]],[11,"fmt","","",85,[[["formatter",3]],["result",6]]],[11,"fmt","","",86,[[["formatter",3]],["result",6]]],[11,"fmt","","",87,[[["formatter",3]],["result",6]]],[11,"fmt","","",88,[[["formatter",3]],["result",6]]],[11,"fmt","","",89,[[["formatter",3]],["result",6]]],[11,"fmt","","",90,[[["formatter",3]],["result",6]]],[11,"fmt","","",91,[[["formatter",3]],["result",6]]],[11,"fmt","","",92,[[["formatter",3]],["result",6]]],[11,"fmt","","",93,[[["formatter",3]],["result",6]]],[11,"fmt","","",94,[[["formatter",3]],["result",6]]],[11,"fmt","","",95,[[["formatter",3]],["result",6]]],[11,"fmt","","",96,[[["formatter",3]],["result",6]]],[11,"fmt","","",97,[[["formatter",3]],["result",6]]],[11,"fmt","","",98,[[["formatter",3]],["result",6]]],[11,"fmt","","",99,[[["formatter",3]],["result",6]]],[11,"fmt","","",100,[[["formatter",3]],["result",6]]],[11,"fmt","","",101,[[["formatter",3]],["result",6]]],[11,"fmt","","",102,[[["formatter",3]],["result",6]]],[11,"fmt","syn","",229,[[["formatter",3]],["result",6]]],[11,"fmt","","",230,[[["formatter",3]],["result",6]]],[11,"fmt","","",231,[[["formatter",3]],["result",6]]],[11,"fmt","","",232,[[["formatter",3]],["result",6]]],[11,"fmt","","",233,[[["formatter",3]],["result",6]]],[11,"fmt","","",234,[[["formatter",3]],["result",6]]],[11,"fmt","","",235,[[["formatter",3]],["result",6]]],[11,"fmt","","",236,[[["formatter",3]],["result",6]]],[11,"fmt","","",237,[[["formatter",3]],["result",6]]],[11,"fmt","","",159,[[["formatter",3]],["result",6]]],[11,"fmt","syn::punctuated","",106,[[["formatter",3]],["result",6]]],[11,"fmt","syn","",170,[[["formatter",3]],["result",6]]],[11,"fmt","","",189,[[["formatter",3]],["result",6]]],[11,"fmt","","",116,[[["formatter",3]],["result",6]]],[11,"fmt","","",117,[[["formatter",3]],["result",6]]],[11,"fmt","","",171,[[["formatter",3]],["result",6]]],[11,"fmt","","",168,[[["formatter",3]],["result",6]]],[11,"fmt","","",190,[[["formatter",3]],["result",6]]],[11,"fmt","","",143,[[["formatter",3]],["result",6]]],[11,"fmt","","",144,[[["formatter",3]],["result",6]]],[11,"fmt","","",191,[[["formatter",3]],["result",6]]],[11,"fmt","","",163,[[["formatter",3]],["result",6]]],[11,"fmt","","",164,[[["formatter",3]],["result",6]]],[11,"fmt","","",165,[[["formatter",3]],["result",6]]],[11,"fmt","","",166,[[["formatter",3]],["result",6]]],[11,"fmt","","",167,[[["formatter",3]],["result",6]]],[11,"fmt","","",131,[[["formatter",3]],["result",6]]],[11,"fmt","","",132,[[["formatter",3]],["result",6]]],[11,"fmt","","",133,[[["formatter",3]],["result",6]]],[11,"fmt","","",134,[[["formatter",3]],["result",6]]],[11,"fmt","","",135,[[["formatter",3]],["result",6]]],[11,"fmt","","",136,[[["formatter",3]],["result",6]]],[11,"fmt","","",137,[[["formatter",3]],["result",6]]],[11,"fmt","","",138,[[["formatter",3]],["result",6]]],[11,"fmt","","",139,[[["formatter",3]],["result",6]]],[11,"fmt","","",140,[[["formatter",3]],["result",6]]],[11,"fmt","","",122,[[["formatter",3]],["result",6]]],[11,"fmt","","",123,[[["formatter",3]],["result",6]]],[11,"fmt","","",124,[[["formatter",3]],["result",6]]],[11,"fmt","","",125,[[["formatter",3]],["result",6]]],[11,"fmt","","",192,[[["formatter",3]],["result",6]]],[11,"fmt","","",145,[[["formatter",3]],["result",6]]],[11,"fmt","","",146,[[["formatter",3]],["result",6]]],[11,"fmt","","",141,[[["formatter",3]],["result",6]]],[11,"fmt","","",157,[[["formatter",3]],["result",6]]],[11,"fmt","","",147,[[["formatter",3]],["result",6]]],[11,"fmt","","",158,[[["formatter",3]],["result",6]]],[11,"fmt","","",161,[[["formatter",3]],["result",6]]],[11,"fmt","","",162,[[["formatter",3]],["result",6]]],[11,"fmt","","",142,[[["formatter",3]],["result",6]]],[11,"fmt","","",118,[[["formatter",3]],["result",6]]],[11,"fmt","","",119,[[["formatter",3]],["result",6]]],[11,"fmt","","",120,[[["formatter",3]],["result",6]]],[11,"fmt","","",121,[[["formatter",3]],["result",6]]],[11,"fmt","","",193,[[["formatter",3]],["result",6]]],[11,"fmt","","",194,[[["formatter",3]],["result",6]]],[11,"fmt","","",195,[[["formatter",3]],["result",6]]],[11,"fmt","","",196,[[["formatter",3]],["result",6]]],[11,"fmt","","",148,[[["formatter",3]],["result",6]]],[11,"fmt","","",149,[[["formatter",3]],["result",6]]],[11,"fmt","","",150,[[["formatter",3]],["result",6]]],[11,"fmt","","",197,[[["formatter",3]],["result",6]]],[11,"fmt","","",172,[[["formatter",3]],["result",6]]],[11,"fmt","","",151,[[["formatter",3]],["result",6]]],[11,"fmt","","",152,[[["formatter",3]],["result",6]]],[11,"fmt","","",173,[[["formatter",3]],["result",6]]],[11,"fmt","","",174,[[["formatter",3]],["result",6]]],[11,"fmt","","",175,[[["formatter",3]],["result",6]]],[11,"fmt","","",176,[[["formatter",3]],["result",6]]],[11,"fmt","","",177,[[["formatter",3]],["result",6]]],[11,"fmt","","",178,[[["formatter",3]],["result",6]]],[11,"fmt","","",179,[[["formatter",3]],["result",6]]],[11,"fmt","","",180,[[["formatter",3]],["result",6]]],[11,"fmt","","",153,[[["formatter",3]],["result",6]]],[11,"fmt","","",154,[[["formatter",3]],["result",6]]],[11,"fmt","","",181,[[["formatter",3]],["result",6]]],[11,"fmt","","",182,[[["formatter",3]],["result",6]]],[11,"fmt","","",183,[[["formatter",3]],["result",6]]],[11,"fmt","","",184,[[["formatter",3]],["result",6]]],[11,"fmt","","",185,[[["formatter",3]],["result",6]]],[11,"fmt","","",186,[[["formatter",3]],["result",6]]],[11,"fmt","","",187,[[["formatter",3]],["result",6]]],[11,"fmt","","",169,[[["formatter",3]],["result",6]]],[11,"fmt","","",188,[[["formatter",3]],["result",6]]],[11,"fmt","","",126,[[["formatter",3]],["result",6]]],[11,"fmt","","",127,[[["formatter",3]],["result",6]]],[11,"fmt","","",128,[[["formatter",3]],["result",6]]],[11,"fmt","","",129,[[["formatter",3]],["result",6]]],[11,"fmt","","",130,[[["formatter",3]],["result",6]]],[11,"fmt","","",155,[[["formatter",3]],["result",6]]],[11,"fmt","","",156,[[["formatter",3]],["result",6]]],[11,"fmt","syn::parse","",113,[[["formatter",3]],["result",6]]],[11,"fmt","","",115,[[["formatter",3]],["result",6]]],[11,"fmt","syn","",157,[[["formatter",3]],["result",6]]],[11,"fmt","","",236,[[["formatter",3]],["result",6]]],[11,"fmt","","",237,[[["formatter",3]],["result",6]]],[11,"fmt","syn::parse","",113,[[["formatter",3]],["result",6]]],[11,"fmt","","",115,[[["formatter",3]],["result",6]]],[11,"index","syn::punctuated","",106,[[]]],[11,"index_mut","","",106,[[]]],[11,"hash","syn::token","",0,[[]]],[11,"hash","","",1,[[]]],[11,"hash","","",2,[[]]],[11,"hash","","",3,[[]]],[11,"hash","","",4,[[]]],[11,"hash","","",5,[[]]],[11,"hash","","",6,[[]]],[11,"hash","","",7,[[]]],[11,"hash","","",8,[[]]],[11,"hash","","",9,[[]]],[11,"hash","","",10,[[]]],[11,"hash","","",11,[[]]],[11,"hash","","",12,[[]]],[11,"hash","","",13,[[]]],[11,"hash","","",14,[[]]],[11,"hash","","",15,[[]]],[11,"hash","","",16,[[]]],[11,"hash","","",17,[[]]],[11,"hash","","",18,[[]]],[11,"hash","","",19,[[]]],[11,"hash","","",20,[[]]],[11,"hash","","",21,[[]]],[11,"hash","","",22,[[]]],[11,"hash","","",23,[[]]],[11,"hash","","",24,[[]]],[11,"hash","","",25,[[]]],[11,"hash","","",26,[[]]],[11,"hash","","",27,[[]]],[11,"hash","","",28,[[]]],[11,"hash","","",29,[[]]],[11,"hash","","",30,[[]]],[11,"hash","","",31,[[]]],[11,"hash","","",32,[[]]],[11,"hash","","",33,[[]]],[11,"hash","","",34,[[]]],[11,"hash","","",35,[[]]],[11,"hash","","",36,[[]]],[11,"hash","","",37,[[]]],[11,"hash","","",38,[[]]],[11,"hash","","",39,[[]]],[11,"hash","","",40,[[]]],[11,"hash","","",41,[[]]],[11,"hash","","",42,[[]]],[11,"hash","","",43,[[]]],[11,"hash","","",44,[[]]],[11,"hash","","",45,[[]]],[11,"hash","","",46,[[]]],[11,"hash","","",47,[[]]],[11,"hash","","",48,[[]]],[11,"hash","","",49,[[]]],[11,"hash","","",50,[[]]],[11,"hash","","",51,[[]]],[11,"hash","","",52,[[]]],[11,"hash","","",53,[[]]],[11,"hash","","",54,[[]]],[11,"hash","","",55,[[]]],[11,"hash","","",56,[[]]],[11,"hash","","",57,[[]]],[11,"hash","","",58,[[]]],[11,"hash","","",59,[[]]],[11,"hash","","",60,[[]]],[11,"hash","","",61,[[]]],[11,"hash","","",62,[[]]],[11,"hash","","",63,[[]]],[11,"hash","","",64,[[]]],[11,"hash","","",65,[[]]],[11,"hash","","",66,[[]]],[11,"hash","","",67,[[]]],[11,"hash","","",68,[[]]],[11,"hash","","",69,[[]]],[11,"hash","","",70,[[]]],[11,"hash","","",71,[[]]],[11,"hash","","",72,[[]]],[11,"hash","","",73,[[]]],[11,"hash","","",74,[[]]],[11,"hash","","",75,[[]]],[11,"hash","","",76,[[]]],[11,"hash","","",77,[[]]],[11,"hash","","",78,[[]]],[11,"hash","","",79,[[]]],[11,"hash","","",80,[[]]],[11,"hash","","",81,[[]]],[11,"hash","","",82,[[]]],[11,"hash","","",83,[[]]],[11,"hash","","",84,[[]]],[11,"hash","","",85,[[]]],[11,"hash","","",86,[[]]],[11,"hash","","",87,[[]]],[11,"hash","","",88,[[]]],[11,"hash","","",89,[[]]],[11,"hash","","",90,[[]]],[11,"hash","","",91,[[]]],[11,"hash","","",92,[[]]],[11,"hash","","",93,[[]]],[11,"hash","","",94,[[]]],[11,"hash","","",95,[[]]],[11,"hash","","",96,[[]]],[11,"hash","","",97,[[]]],[11,"hash","","",98,[[]]],[11,"hash","","",99,[[]]],[11,"hash","","",100,[[]]],[11,"hash","","",101,[[]]],[11,"hash","","",102,[[]]],[11,"hash","syn","",142,[[]]],[11,"hash","","",141,[[]]],[11,"hash","","",229,[[]]],[11,"hash","","",230,[[]]],[11,"hash","","",231,[[]]],[11,"hash","","",157,[[]]],[11,"hash","","",232,[[]]],[11,"hash","","",233,[[]]],[11,"hash","","",234,[[]]],[11,"hash","","",235,[[]]],[11,"hash","","",236,[[]]],[11,"hash","","",237,[[]]],[11,"hash","syn::punctuated","",106,[[]]],[11,"hash","syn","",170,[[]]],[11,"hash","","",189,[[]]],[11,"hash","","",116,[[]]],[11,"hash","","",117,[[]]],[11,"hash","","",171,[[]]],[11,"hash","","",168,[[]]],[11,"hash","","",190,[[]]],[11,"hash","","",143,[[]]],[11,"hash","","",144,[[]]],[11,"hash","","",191,[[]]],[11,"hash","","",163,[[]]],[11,"hash","","",164,[[]]],[11,"hash","","",165,[[]]],[11,"hash","","",166,[[]]],[11,"hash","","",167,[[]]],[11,"hash","","",131,[[]]],[11,"hash","","",132,[[]]],[11,"hash","","",133,[[]]],[11,"hash","","",134,[[]]],[11,"hash","","",135,[[]]],[11,"hash","","",136,[[]]],[11,"hash","","",137,[[]]],[11,"hash","","",138,[[]]],[11,"hash","","",139,[[]]],[11,"hash","","",140,[[]]],[11,"hash","","",122,[[]]],[11,"hash","","",123,[[]]],[11,"hash","","",124,[[]]],[11,"hash","","",125,[[]]],[11,"hash","","",192,[[]]],[11,"hash","","",145,[[]]],[11,"hash","","",146,[[]]],[11,"hash","","",147,[[]]],[11,"hash","","",158,[[]]],[11,"hash","","",159,[[]]],[11,"hash","","",161,[[]]],[11,"hash","","",162,[[]]],[11,"hash","","",118,[[]]],[11,"hash","","",119,[[]]],[11,"hash","","",120,[[]]],[11,"hash","","",121,[[]]],[11,"hash","","",193,[[]]],[11,"hash","","",194,[[]]],[11,"hash","","",195,[[]]],[11,"hash","","",196,[[]]],[11,"hash","","",148,[[]]],[11,"hash","","",149,[[]]],[11,"hash","","",150,[[]]],[11,"hash","","",197,[[]]],[11,"hash","","",172,[[]]],[11,"hash","","",151,[[]]],[11,"hash","","",152,[[]]],[11,"hash","","",173,[[]]],[11,"hash","","",174,[[]]],[11,"hash","","",175,[[]]],[11,"hash","","",176,[[]]],[11,"hash","","",177,[[]]],[11,"hash","","",178,[[]]],[11,"hash","","",179,[[]]],[11,"hash","","",180,[[]]],[11,"hash","","",153,[[]]],[11,"hash","","",154,[[]]],[11,"hash","","",181,[[]]],[11,"hash","","",182,[[]]],[11,"hash","","",183,[[]]],[11,"hash","","",184,[[]]],[11,"hash","","",185,[[]]],[11,"hash","","",186,[[]]],[11,"hash","","",187,[[]]],[11,"hash","","",169,[[]]],[11,"hash","","",188,[[]]],[11,"hash","","",126,[[]]],[11,"hash","","",127,[[]]],[11,"hash","","",128,[[]]],[11,"hash","","",129,[[]]],[11,"hash","","",130,[[]]],[11,"hash","","",155,[[]]],[11,"hash","","",156,[[]]],[11,"from_iter","syn::punctuated","",106,[[["intoiterator",8]]]],[11,"from_iter","","",106,[[["intoiterator",8]]]],[11,"to_tokens","syn::token","",0,[[["tokenstream",3]]]],[11,"to_tokens","","",1,[[["tokenstream",3]]]],[11,"to_tokens","","",2,[[["tokenstream",3]]]],[11,"to_tokens","","",3,[[["tokenstream",3]]]],[11,"to_tokens","","",4,[[["tokenstream",3]]]],[11,"to_tokens","","",5,[[["tokenstream",3]]]],[11,"to_tokens","","",6,[[["tokenstream",3]]]],[11,"to_tokens","","",7,[[["tokenstream",3]]]],[11,"to_tokens","","",8,[[["tokenstream",3]]]],[11,"to_tokens","","",9,[[["tokenstream",3]]]],[11,"to_tokens","","",10,[[["tokenstream",3]]]],[11,"to_tokens","","",11,[[["tokenstream",3]]]],[11,"to_tokens","","",12,[[["tokenstream",3]]]],[11,"to_tokens","","",13,[[["tokenstream",3]]]],[11,"to_tokens","","",14,[[["tokenstream",3]]]],[11,"to_tokens","","",15,[[["tokenstream",3]]]],[11,"to_tokens","","",16,[[["tokenstream",3]]]],[11,"to_tokens","","",17,[[["tokenstream",3]]]],[11,"to_tokens","","",18,[[["tokenstream",3]]]],[11,"to_tokens","","",19,[[["tokenstream",3]]]],[11,"to_tokens","","",20,[[["tokenstream",3]]]],[11,"to_tokens","","",21,[[["tokenstream",3]]]],[11,"to_tokens","","",22,[[["tokenstream",3]]]],[11,"to_tokens","","",23,[[["tokenstream",3]]]],[11,"to_tokens","","",24,[[["tokenstream",3]]]],[11,"to_tokens","","",25,[[["tokenstream",3]]]],[11,"to_tokens","","",26,[[["tokenstream",3]]]],[11,"to_tokens","","",27,[[["tokenstream",3]]]],[11,"to_tokens","","",28,[[["tokenstream",3]]]],[11,"to_tokens","","",29,[[["tokenstream",3]]]],[11,"to_tokens","","",30,[[["tokenstream",3]]]],[11,"to_tokens","","",31,[[["tokenstream",3]]]],[11,"to_tokens","","",32,[[["tokenstream",3]]]],[11,"to_tokens","","",33,[[["tokenstream",3]]]],[11,"to_tokens","","",34,[[["tokenstream",3]]]],[11,"to_tokens","","",35,[[["tokenstream",3]]]],[11,"to_tokens","","",36,[[["tokenstream",3]]]],[11,"to_tokens","","",37,[[["tokenstream",3]]]],[11,"to_tokens","","",38,[[["tokenstream",3]]]],[11,"to_tokens","","",39,[[["tokenstream",3]]]],[11,"to_tokens","","",40,[[["tokenstream",3]]]],[11,"to_tokens","","",41,[[["tokenstream",3]]]],[11,"to_tokens","","",42,[[["tokenstream",3]]]],[11,"to_tokens","","",43,[[["tokenstream",3]]]],[11,"to_tokens","","",44,[[["tokenstream",3]]]],[11,"to_tokens","","",45,[[["tokenstream",3]]]],[11,"to_tokens","","",46,[[["tokenstream",3]]]],[11,"to_tokens","","",47,[[["tokenstream",3]]]],[11,"to_tokens","","",48,[[["tokenstream",3]]]],[11,"to_tokens","","",49,[[["tokenstream",3]]]],[11,"to_tokens","","",50,[[["tokenstream",3]]]],[11,"to_tokens","","",51,[[["tokenstream",3]]]],[11,"to_tokens","","",52,[[["tokenstream",3]]]],[11,"to_tokens","","",53,[[["tokenstream",3]]]],[11,"to_tokens","","",54,[[["tokenstream",3]]]],[11,"to_tokens","","",55,[[["tokenstream",3]]]],[11,"to_tokens","","",56,[[["tokenstream",3]]]],[11,"to_tokens","","",57,[[["tokenstream",3]]]],[11,"to_tokens","","",58,[[["tokenstream",3]]]],[11,"to_tokens","","",59,[[["tokenstream",3]]]],[11,"to_tokens","","",60,[[["tokenstream",3]]]],[11,"to_tokens","","",61,[[["tokenstream",3]]]],[11,"to_tokens","","",62,[[["tokenstream",3]]]],[11,"to_tokens","","",63,[[["tokenstream",3]]]],[11,"to_tokens","","",64,[[["tokenstream",3]]]],[11,"to_tokens","","",65,[[["tokenstream",3]]]],[11,"to_tokens","","",66,[[["tokenstream",3]]]],[11,"to_tokens","","",67,[[["tokenstream",3]]]],[11,"to_tokens","","",68,[[["tokenstream",3]]]],[11,"to_tokens","","",69,[[["tokenstream",3]]]],[11,"to_tokens","","",70,[[["tokenstream",3]]]],[11,"to_tokens","","",71,[[["tokenstream",3]]]],[11,"to_tokens","","",72,[[["tokenstream",3]]]],[11,"to_tokens","","",73,[[["tokenstream",3]]]],[11,"to_tokens","","",74,[[["tokenstream",3]]]],[11,"to_tokens","","",75,[[["tokenstream",3]]]],[11,"to_tokens","","",76,[[["tokenstream",3]]]],[11,"to_tokens","","",77,[[["tokenstream",3]]]],[11,"to_tokens","","",78,[[["tokenstream",3]]]],[11,"to_tokens","","",79,[[["tokenstream",3]]]],[11,"to_tokens","","",80,[[["tokenstream",3]]]],[11,"to_tokens","","",81,[[["tokenstream",3]]]],[11,"to_tokens","","",82,[[["tokenstream",3]]]],[11,"to_tokens","","",83,[[["tokenstream",3]]]],[11,"to_tokens","","",84,[[["tokenstream",3]]]],[11,"to_tokens","","",85,[[["tokenstream",3]]]],[11,"to_tokens","","",86,[[["tokenstream",3]]]],[11,"to_tokens","","",87,[[["tokenstream",3]]]],[11,"to_tokens","","",88,[[["tokenstream",3]]]],[11,"to_tokens","","",89,[[["tokenstream",3]]]],[11,"to_tokens","","",90,[[["tokenstream",3]]]],[11,"to_tokens","","",91,[[["tokenstream",3]]]],[11,"to_tokens","","",92,[[["tokenstream",3]]]],[11,"to_tokens","","",93,[[["tokenstream",3]]]],[11,"to_tokens","","",94,[[["tokenstream",3]]]],[11,"to_tokens","","",95,[[["tokenstream",3]]]],[11,"to_tokens","","",96,[[["tokenstream",3]]]],[11,"to_tokens","","",97,[[["tokenstream",3]]]],[11,"to_tokens","","",98,[[["tokenstream",3]]]],[11,"to_tokens","syn","",118,[[["tokenstream",3]]]],[11,"to_tokens","","",121,[[["tokenstream",3]]]],[11,"to_tokens","","",117,[[["tokenstream",3]]]],[11,"to_tokens","","",119,[[["tokenstream",3]]]],[11,"to_tokens","","",120,[[["tokenstream",3]]]],[11,"to_tokens","","",123,[[["tokenstream",3]]]],[11,"to_tokens","","",130,[[["tokenstream",3]]]],[11,"to_tokens","","",126,[[["tokenstream",3]]]],[11,"to_tokens","","",124,[[["tokenstream",3]]]],[11,"to_tokens","","",125,[[["tokenstream",3]]]],[11,"to_tokens","","",122,[[["tokenstream",3]]]],[11,"to_tokens","","",128,[[["tokenstream",3]]]],[11,"to_tokens","","",127,[[["tokenstream",3]]]],[11,"to_tokens","","",129,[[["tokenstream",3]]]],[11,"to_tokens","","",131,[[["tokenstream",3]]]],[11,"to_tokens","","",199,[[["tokenstream",3]]]],[11,"to_tokens","","",200,[[["tokenstream",3]]]],[11,"to_tokens","","",201,[[["tokenstream",3]]]],[11,"to_tokens","","",202,[[["tokenstream",3]]]],[11,"to_tokens","","",203,[[["tokenstream",3]]]],[11,"to_tokens","","",204,[[["tokenstream",3]]]],[11,"to_tokens","","",205,[[["tokenstream",3]]]],[11,"to_tokens","","",206,[[["tokenstream",3]]]],[11,"to_tokens","","",207,[[["tokenstream",3]]]],[11,"to_tokens","","",208,[[["tokenstream",3]]]],[11,"to_tokens","","",209,[[["tokenstream",3]]]],[11,"to_tokens","","",210,[[["tokenstream",3]]]],[11,"to_tokens","","",211,[[["tokenstream",3]]]],[11,"to_tokens","","",212,[[["tokenstream",3]]]],[11,"to_tokens","","",213,[[["tokenstream",3]]]],[11,"to_tokens","","",214,[[["tokenstream",3]]]],[11,"to_tokens","","",215,[[["tokenstream",3]]]],[11,"to_tokens","","",216,[[["tokenstream",3]]]],[11,"to_tokens","","",217,[[["tokenstream",3]]]],[11,"to_tokens","","",218,[[["tokenstream",3]]]],[11,"to_tokens","","",219,[[["tokenstream",3]]]],[11,"to_tokens","","",220,[[["tokenstream",3]]]],[11,"to_tokens","","",221,[[["tokenstream",3]]]],[11,"to_tokens","","",222,[[["tokenstream",3]]]],[11,"to_tokens","","",223,[[["tokenstream",3]]]],[11,"to_tokens","","",224,[[["tokenstream",3]]]],[11,"to_tokens","","",225,[[["tokenstream",3]]]],[11,"to_tokens","","",226,[[["tokenstream",3]]]],[11,"to_tokens","","",227,[[["tokenstream",3]]]],[11,"to_tokens","","",228,[[["tokenstream",3]]]],[11,"to_tokens","","",133,[[["tokenstream",3]]]],[11,"to_tokens","","",132,[[["tokenstream",3]]]],[11,"to_tokens","","",140,[[["tokenstream",3]]]],[11,"to_tokens","","",137,[[["tokenstream",3]]]],[11,"to_tokens","","",134,[[["tokenstream",3]]]],[11,"to_tokens","","",135,[[["tokenstream",3]]]],[11,"to_tokens","","",142,[[["tokenstream",3]]]],[11,"to_tokens","","",141,[[["tokenstream",3]]]],[11,"to_tokens","","",136,[[["tokenstream",3]]]],[11,"to_tokens","","",139,[[["tokenstream",3]]]],[11,"to_tokens","","",138,[[["tokenstream",3]]]],[11,"to_tokens","","",145,[[["tokenstream",3]]]],[11,"to_tokens","","",154,[[["tokenstream",3]]]],[11,"to_tokens","","",156,[[["tokenstream",3]]]],[11,"to_tokens","","",146,[[["tokenstream",3]]]],[11,"to_tokens","","",229,[[["tokenstream",3]]]],[11,"to_tokens","","",230,[[["tokenstream",3]]]],[11,"to_tokens","","",231,[[["tokenstream",3]]]],[11,"to_tokens","","",143,[[["tokenstream",3]]]],[11,"to_tokens","","",147,[[["tokenstream",3]]]],[11,"to_tokens","","",153,[[["tokenstream",3]]]],[11,"to_tokens","","",151,[[["tokenstream",3]]]],[11,"to_tokens","","",152,[[["tokenstream",3]]]],[11,"to_tokens","","",144,[[["tokenstream",3]]]],[11,"to_tokens","","",155,[[["tokenstream",3]]]],[11,"to_tokens","","",150,[[["tokenstream",3]]]],[11,"to_tokens","","",149,[[["tokenstream",3]]]],[11,"to_tokens","","",148,[[["tokenstream",3]]]],[11,"to_tokens","","",157,[[["tokenstream",3]]]],[11,"to_tokens","","",158,[[["tokenstream",3]]]],[11,"to_tokens","","",232,[[["tokenstream",3]]]],[11,"to_tokens","","",233,[[["tokenstream",3]]]],[11,"to_tokens","","",234,[[["tokenstream",3]]]],[11,"to_tokens","","",235,[[["tokenstream",3]]]],[11,"to_tokens","","",236,[[["tokenstream",3]]]],[11,"to_tokens","","",237,[[["tokenstream",3]]]],[11,"to_tokens","","",159,[[["tokenstream",3]]]],[11,"to_tokens","","",161,[[["tokenstream",3]]]],[11,"to_tokens","","",167,[[["tokenstream",3]]]],[11,"to_tokens","","",168,[[["tokenstream",3]]]],[11,"to_tokens","","",169,[[["tokenstream",3]]]],[11,"to_tokens","","",173,[[["tokenstream",3]]]],[11,"to_tokens","","",185,[[["tokenstream",3]]]],[11,"to_tokens","","",174,[[["tokenstream",3]]]],[11,"to_tokens","","",183,[[["tokenstream",3]]]],[11,"to_tokens","","",184,[[["tokenstream",3]]]],[11,"to_tokens","","",175,[[["tokenstream",3]]]],[11,"to_tokens","","",180,[[["tokenstream",3]]]],[11,"to_tokens","","",187,[[["tokenstream",3]]]],[11,"to_tokens","","",182,[[["tokenstream",3]]]],[11,"to_tokens","","",186,[[["tokenstream",3]]]],[11,"to_tokens","","",177,[[["tokenstream",3]]]],[11,"to_tokens","","",176,[[["tokenstream",3]]]],[11,"to_tokens","","",181,[[["tokenstream",3]]]],[11,"to_tokens","","",178,[[["tokenstream",3]]]],[11,"to_tokens","","",179,[[["tokenstream",3]]]],[11,"to_tokens","","",172,[[["tokenstream",3]]]],[11,"to_tokens","","",171,[[["tokenstream",3]]]],[11,"to_tokens","","",188,[[["tokenstream",3]]]],[11,"to_tokens","","",170,[[["tokenstream",3]]]],[11,"to_tokens","","",194,[[["tokenstream",3]]]],[11,"to_tokens","","",196,[[["tokenstream",3]]]],[11,"to_tokens","","",195,[[["tokenstream",3]]]],[11,"to_tokens","","",192,[[["tokenstream",3]]]],[11,"to_tokens","","",189,[[["tokenstream",3]]]],[11,"to_tokens","","",190,[[["tokenstream",3]]]],[11,"to_tokens","","",191,[[["tokenstream",3]]]],[11,"to_tokens","","",193,[[["tokenstream",3]]]],[11,"to_tokens","syn::punctuated","",106,[[["tokenstream",3]]]],[11,"to_tokens","","",107,[[["tokenstream",3]]]],[11,"fmt","syn","",142,[[["formatter",3]],["result",6]]],[11,"span","","",142,[[],[["option",4],["span",3]]]],[11,"fmt","","",141,[[["formatter",3]],["result",6]]],[11,"span","","",141,[[],[["option",4],["span",3]]]],[11,"new","","Creates a new Ident with the given string as well as the …",198,[[["span",3]],["ident",3]]],[11,"span","","Returns the span of this Ident.",198,[[],["span",3]]],[11,"set_span","","Configures the span of this Ident, possibly changing its …",198,[[["span",3]]]],[11,"parse_meta","","Parses the content of the attribute, consisting of the …",117,[[],[["result",6],["meta",4]]]],[11,"parse_args","","Parse the arguments to the attribute as a syntax tree.",117,[[],[["result",6],["parse",8]]]],[11,"parse_args_with","","Parse the arguments to the attribute using the given …",117,[[["parser",8]],["result",6]]],[11,"parse_outer","","Parses zero or more outer attributes from the stream.",117,[[["parsestream",6]],[["result",6],["vec",3]]]],[11,"parse_inner","","Parses zero or more inner attributes from the stream.",117,[[["parsestream",6]],[["result",6],["vec",3]]]],[11,"path","","Returns the identifier that begins this structured meta …",118,[[],["path",3]]],[11,"parse_named","","Parses a named (braced struct) field.",122,[[["parsestream",6]],["result",6]]],[11,"parse_unnamed","","Parses an unnamed (tuple struct) field.",122,[[["parsestream",6]],["result",6]]],[11,"iter","","Get an iterator over the borrowed [Field] items in this …",123,[[],[["field",3],["iter",3]]]],[11,"iter_mut","","Get an iterator over the mutably borrowed [Field] items …",123,[[],[["field",3],["itermut",3]]]],[11,"len","","Returns the number of fields.",123,[[]]],[11,"is_empty","","Returns true if there are zero fields.",123,[[]]],[11,"type_params","","Returns an Iterator over the type …",146,[[],["typeparams",3]]],[11,"type_params_mut","","Returns an Iterator over the type …",146,[[],["typeparamsmut",3]]],[11,"lifetimes","","Returns an Iterator over the …",146,[[],["lifetimes",3]]],[11,"lifetimes_mut","","Returns an Iterator over the …",146,[[],["lifetimesmut",3]]],[11,"const_params","","Returns an Iterator over the constant …",146,[[],["constparams",3]]],[11,"const_params_mut","","Returns an Iterator over the …",146,[[],["constparamsmut",3]]],[11,"make_where_clause","","Initializes an empty where-clause if there is not one …",146,[[],["whereclause",3]]],[11,"split_for_impl","","Split a type\'s generics into the pieces required for …",146,[[]]],[11,"as_turbofish","","Turn a type\'s generics like into a turbofish like …",230,[[],["turbofish",3]]],[11,"new","","",147,[[["lifetime",3]]]],[11,"new","","PanicsPanics if the lifetime does not conform to the …",157,[[["span",3]]]],[11,"span","","",157,[[],["span",3]]],[11,"set_span","","",157,[[["span",3]]]],[11,"new","","Interpret a Syn literal from a proc-macro2 literal.",158,[[["literal",3]]]],[11,"suffix","","",158,[[]]],[11,"span","","",158,[[],["span",3]]],[11,"set_span","","",158,[[["span",3]]]],[11,"new","","",232,[[["span",3]]]],[11,"value","","",232,[[],["string",3]]],[11,"parse","","Parse a syntax tree node from the content of this string …",232,[[],[["result",6],["parse",8]]]],[11,"parse_with","","Invoke parser on the content of this string literal.",232,[[["parser",8]],["result",6]]],[11,"span","","",232,[[],["span",3]]],[11,"set_span","","",232,[[["span",3]]]],[11,"suffix","","",232,[[]]],[11,"new","","",233,[[["span",3]]]],[11,"value","","",233,[[],["vec",3]]],[11,"span","","",233,[[],["span",3]]],[11,"set_span","","",233,[[["span",3]]]],[11,"suffix","","",233,[[]]],[11,"new","","",234,[[["span",3]]]],[11,"value","","",234,[[]]],[11,"span","","",234,[[],["span",3]]],[11,"set_span","","",234,[[["span",3]]]],[11,"suffix","","",234,[[]]],[11,"new","","",235,[[["span",3]]]],[11,"value","","",235,[[]]],[11,"span","","",235,[[],["span",3]]],[11,"set_span","","",235,[[["span",3]]]],[11,"suffix","","",235,[[]]],[11,"new","","",236,[[["span",3]]]],[11,"base10_digits","","",236,[[]]],[11,"base10_parse","","Parses the literal into a selected number type.",236,[[],["result",6]]],[11,"suffix","","",236,[[]]],[11,"span","","",236,[[],["span",3]]],[11,"set_span","","",236,[[["span",3]]]],[11,"new","","",237,[[["span",3]]]],[11,"base10_digits","","",237,[[]]],[11,"base10_parse","","",237,[[],["result",6]]],[11,"suffix","","",237,[[]]],[11,"span","","",237,[[],["span",3]]],[11,"set_span","","",237,[[["span",3]]]],[11,"new","","",159,[[["span",3]]]],[11,"value","","",159,[[]]],[11,"span","","",159,[[],["span",3]]],[11,"set_span","","",159,[[["span",3]]]],[11,"parse_body","","Parse the tokens within the macro invocation\'s delimiters …",161,[[],[["result",6],["parse",8]]]],[11,"parse_body_with","","Parse the tokens within the macro invocation\'s delimiters …",161,[[["parser",8]],["result",6]]],[11,"without_plus","","In some positions, types may not contain the + character, …",173,[[["parsestream",6]],["result",6]]],[11,"without_plus","","",172,[[["parsestream",6]],["result",6]]],[11,"without_plus","","",186,[[["parsestream",6]],["result",6]]],[11,"parse_mod_style","","Parse a Path containing no path arguments on any of its …",194,[[["parsestream",6]],["result",6]]],[11,"is_ident","","Determines whether this is a path of length 1 equal to …",194,[[]]],[11,"get_ident","","If this path consists of a single ident, returns the …",194,[[],[["ident",3],["option",4]]]],[11,"is_empty","","",195,[[]]],[11,"visit_abi","syn::visit","",109,[[["abi",3]]]],[11,"visit_angle_bracketed_generic_arguments","","",109,[[["anglebracketedgenericarguments",3]]]],[11,"visit_attr_style","","",109,[[["attrstyle",4]]]],[11,"visit_attribute","","",109,[[["attribute",3]]]],[11,"visit_bare_fn_arg","","",109,[[["barefnarg",3]]]],[11,"visit_bin_op","","",109,[[["binop",4]]]],[11,"visit_binding","","",109,[[["binding",3]]]],[11,"visit_bound_lifetimes","","",109,[[["boundlifetimes",3]]]],[11,"visit_const_param","","",109,[[["constparam",3]]]],[11,"visit_constraint","","",109,[[["constraint",3]]]],[11,"visit_data","","",109,[[["data",4]]]],[11,"visit_data_enum","","",109,[[["dataenum",3]]]],[11,"visit_data_struct","","",109,[[["datastruct",3]]]],[11,"visit_data_union","","",109,[[["dataunion",3]]]],[11,"visit_derive_input","","",109,[[["deriveinput",3]]]],[11,"visit_expr","","",109,[[["expr",4]]]],[11,"visit_expr_binary","","",109,[[["exprbinary",3]]]],[11,"visit_expr_call","","",109,[[["exprcall",3]]]],[11,"visit_expr_cast","","",109,[[["exprcast",3]]]],[11,"visit_expr_field","","",109,[[["exprfield",3]]]],[11,"visit_expr_index","","",109,[[["exprindex",3]]]],[11,"visit_expr_lit","","",109,[[["exprlit",3]]]],[11,"visit_expr_paren","","",109,[[["exprparen",3]]]],[11,"visit_expr_path","","",109,[[["exprpath",3]]]],[11,"visit_expr_unary","","",109,[[["exprunary",3]]]],[11,"visit_field","","",109,[[["field",3]]]],[11,"visit_fields","","",109,[[["fields",4]]]],[11,"visit_fields_named","","",109,[[["fieldsnamed",3]]]],[11,"visit_fields_unnamed","","",109,[[["fieldsunnamed",3]]]],[11,"visit_generic_argument","","",109,[[["genericargument",4]]]],[11,"visit_generic_param","","",109,[[["genericparam",4]]]],[11,"visit_generics","","",109,[[["generics",3]]]],[11,"visit_ident","","",109,[[["ident",3]]]],[11,"visit_index","","",109,[[["index",3]]]],[11,"visit_lifetime","","",109,[[["lifetime",3]]]],[11,"visit_lifetime_def","","",109,[[["lifetimedef",3]]]],[11,"visit_lit","","",109,[[["lit",4]]]],[11,"visit_lit_bool","","",109,[[["litbool",3]]]],[11,"visit_lit_byte","","",109,[[["litbyte",3]]]],[11,"visit_lit_byte_str","","",109,[[["litbytestr",3]]]],[11,"visit_lit_char","","",109,[[["litchar",3]]]],[11,"visit_lit_float","","",109,[[["litfloat",3]]]],[11,"visit_lit_int","","",109,[[["litint",3]]]],[11,"visit_lit_str","","",109,[[["litstr",3]]]],[11,"visit_macro","","",109,[[["macro",3]]]],[11,"visit_macro_delimiter","","",109,[[["macrodelimiter",4]]]],[11,"visit_member","","",109,[[["member",4]]]],[11,"visit_meta","","",109,[[["meta",4]]]],[11,"visit_meta_list","","",109,[[["metalist",3]]]],[11,"visit_meta_name_value","","",109,[[["metanamevalue",3]]]],[11,"visit_nested_meta","","",109,[[["nestedmeta",4]]]],[11,"visit_parenthesized_generic_arguments","","",109,[[["parenthesizedgenericarguments",3]]]],[11,"visit_path","","",109,[[["path",3]]]],[11,"visit_path_arguments","","",109,[[["patharguments",4]]]],[11,"visit_path_segment","","",109,[[["pathsegment",3]]]],[11,"visit_predicate_eq","","",109,[[["predicateeq",3]]]],[11,"visit_predicate_lifetime","","",109,[[["predicatelifetime",3]]]],[11,"visit_predicate_type","","",109,[[["predicatetype",3]]]],[11,"visit_qself","","",109,[[["qself",3]]]],[11,"visit_return_type","","",109,[[["returntype",4]]]],[11,"visit_span","","",109,[[["span",3]]]],[11,"visit_trait_bound","","",109,[[["traitbound",3]]]],[11,"visit_trait_bound_modifier","","",109,[[["traitboundmodifier",4]]]],[11,"visit_type","","",109,[[["type",4]]]],[11,"visit_type_array","","",109,[[["typearray",3]]]],[11,"visit_type_bare_fn","","",109,[[["typebarefn",3]]]],[11,"visit_type_group","","",109,[[["typegroup",3]]]],[11,"visit_type_impl_trait","","",109,[[["typeimpltrait",3]]]],[11,"visit_type_infer","","",109,[[["typeinfer",3]]]],[11,"visit_type_macro","","",109,[[["typemacro",3]]]],[11,"visit_type_never","","",109,[[["typenever",3]]]],[11,"visit_type_param","","",109,[[["typeparam",3]]]],[11,"visit_type_param_bound","","",109,[[["typeparambound",4]]]],[11,"visit_type_paren","","",109,[[["typeparen",3]]]],[11,"visit_type_path","","",109,[[["typepath",3]]]],[11,"visit_type_ptr","","",109,[[["typeptr",3]]]],[11,"visit_type_reference","","",109,[[["typereference",3]]]],[11,"visit_type_slice","","",109,[[["typeslice",3]]]],[11,"visit_type_trait_object","","",109,[[["typetraitobject",3]]]],[11,"visit_type_tuple","","",109,[[["typetuple",3]]]],[11,"visit_un_op","","",109,[[["unop",4]]]],[11,"visit_variadic","","",109,[[["variadic",3]]]],[11,"visit_variant","","",109,[[["variant",3]]]],[11,"visit_vis_crate","","",109,[[["viscrate",3]]]],[11,"visit_vis_public","","",109,[[["vispublic",3]]]],[11,"visit_vis_restricted","","",109,[[["visrestricted",3]]]],[11,"visit_visibility","","",109,[[["visibility",4]]]],[11,"visit_where_clause","","",109,[[["whereclause",3]]]],[11,"visit_where_predicate","","",109,[[["wherepredicate",4]]]],[11,"peek","syn::parse","Looks at the next token in the parse stream to determine …",244,[[["peek",8]]]],[11,"error","","Triggers an error at the current position of the parse …",244,[[],["error",3]]]],"p":[[3,"Underscore"],[3,"Abstract"],[3,"As"],[3,"Async"],[3,"Auto"],[3,"Await"],[3,"Become"],[3,"Box"],[3,"Break"],[3,"Const"],[3,"Continue"],[3,"Crate"],[3,"Default"],[3,"Do"],[3,"Dyn"],[3,"Else"],[3,"Enum"],[3,"Extern"],[3,"Final"],[3,"Fn"],[3,"For"],[3,"If"],[3,"Impl"],[3,"In"],[3,"Let"],[3,"Loop"],[3,"Macro"],[3,"Match"],[3,"Mod"],[3,"Move"],[3,"Mut"],[3,"Override"],[3,"Priv"],[3,"Pub"],[3,"Ref"],[3,"Return"],[3,"SelfType"],[3,"SelfValue"],[3,"Static"],[3,"Struct"],[3,"Super"],[3,"Trait"],[3,"Try"],[3,"Type"],[3,"Typeof"],[3,"Union"],[3,"Unsafe"],[3,"Unsized"],[3,"Use"],[3,"Virtual"],[3,"Where"],[3,"While"],[3,"Yield"],[3,"Add"],[3,"AddEq"],[3,"And"],[3,"AndAnd"],[3,"AndEq"],[3,"At"],[3,"Bang"],[3,"Caret"],[3,"CaretEq"],[3,"Colon"],[3,"Colon2"],[3,"Comma"],[3,"Div"],[3,"DivEq"],[3,"Dollar"],[3,"Dot"],[3,"Dot2"],[3,"Dot3"],[3,"DotDotEq"],[3,"Eq"],[3,"EqEq"],[3,"Ge"],[3,"Gt"],[3,"Le"],[3,"Lt"],[3,"MulEq"],[3,"Ne"],[3,"Or"],[3,"OrEq"],[3,"OrOr"],[3,"Pound"],[3,"Question"],[3,"RArrow"],[3,"LArrow"],[3,"Rem"],[3,"RemEq"],[3,"FatArrow"],[3,"Semi"],[3,"Shl"],[3,"ShlEq"],[3,"Shr"],[3,"ShrEq"],[3,"Star"],[3,"Sub"],[3,"SubEq"],[3,"Tilde"],[3,"Brace"],[3,"Bracket"],[3,"Paren"],[3,"Group"],[3,"TokenBuffer"],[3,"Cursor"],[8,"IdentExt"],[3,"Punctuated"],[4,"Pair"],[8,"Spanned"],[8,"Visit"],[8,"Speculative"],[8,"Parse"],[3,"StepCursor"],[3,"ParseBuffer"],[8,"Parser"],[3,"Error"],[4,"AttrStyle"],[3,"Attribute"],[4,"Meta"],[3,"MetaList"],[3,"MetaNameValue"],[4,"NestedMeta"],[3,"Field"],[4,"Fields"],[3,"FieldsNamed"],[3,"FieldsUnnamed"],[3,"Variant"],[3,"VisCrate"],[3,"VisPublic"],[3,"VisRestricted"],[4,"Visibility"],[4,"Expr"],[3,"ExprBinary"],[3,"ExprCall"],[3,"ExprCast"],[3,"ExprField"],[3,"ExprIndex"],[3,"ExprLit"],[3,"ExprParen"],[3,"ExprPath"],[3,"ExprUnary"],[3,"Index"],[4,"Member"],[3,"BoundLifetimes"],[3,"ConstParam"],[4,"GenericParam"],[3,"Generics"],[3,"LifetimeDef"],[3,"PredicateEq"],[3,"PredicateLifetime"],[3,"PredicateType"],[3,"TraitBound"],[4,"TraitBoundModifier"],[3,"TypeParam"],[4,"TypeParamBound"],[3,"WhereClause"],[4,"WherePredicate"],[3,"Lifetime"],[4,"Lit"],[3,"LitBool"],[4,"StrStyle"],[3,"Macro"],[4,"MacroDelimiter"],[4,"Data"],[3,"DataEnum"],[3,"DataStruct"],[3,"DataUnion"],[3,"DeriveInput"],[4,"BinOp"],[4,"UnOp"],[3,"Abi"],[3,"BareFnArg"],[4,"ReturnType"],[4,"Type"],[3,"TypeArray"],[3,"TypeBareFn"],[3,"TypeGroup"],[3,"TypeImplTrait"],[3,"TypeInfer"],[3,"TypeMacro"],[3,"TypeNever"],[3,"TypeParen"],[3,"TypePath"],[3,"TypePtr"],[3,"TypeReference"],[3,"TypeSlice"],[3,"TypeTraitObject"],[3,"TypeTuple"],[3,"Variadic"],[3,"AngleBracketedGenericArguments"],[3,"Binding"],[3,"Constraint"],[4,"GenericArgument"],[3,"ParenthesizedGenericArguments"],[3,"Path"],[4,"PathArguments"],[3,"PathSegment"],[3,"QSelf"],[3,"Ident"],[3,"ExprArray"],[3,"ExprAssign"],[3,"ExprAssignOp"],[3,"ExprAsync"],[3,"ExprAwait"],[3,"ExprBlock"],[3,"ExprBox"],[3,"ExprBreak"],[3,"ExprClosure"],[3,"ExprContinue"],[3,"ExprForLoop"],[3,"ExprGroup"],[3,"ExprIf"],[3,"ExprLet"],[3,"ExprLoop"],[3,"ExprMacro"],[3,"ExprMatch"],[3,"ExprMethodCall"],[3,"ExprRange"],[3,"ExprReference"],[3,"ExprRepeat"],[3,"ExprReturn"],[3,"ExprStruct"],[3,"ExprTry"],[3,"ExprTryBlock"],[3,"ExprTuple"],[3,"ExprType"],[3,"ExprUnsafe"],[3,"ExprWhile"],[3,"ExprYield"],[3,"ImplGenerics"],[3,"TypeGenerics"],[3,"Turbofish"],[3,"LitStr"],[3,"LitByteStr"],[3,"LitByte"],[3,"LitChar"],[3,"LitInt"],[3,"LitFloat"],[3,"Pairs"],[3,"PairsMut"],[3,"IntoPairs"],[3,"IntoIter"],[3,"Iter"],[3,"IterMut"],[3,"Lookahead1"],[3,"Nothing"]]},\ +"synstructure":{"doc":"This crate provides helper types for matching against …","i":[[4,"AddBounds","synstructure","Changes how bounds are added",null,null],[13,"Both","","Add for fields and generics",0,null],[13,"Fields","","Fields only",0,null],[13,"Generics","","Generics only",0,null],[13,"None","","None",0,null],[4,"BindStyle","","The type of binding to use when generating a pattern.",null,null],[13,"Move","","x",1,null],[13,"MoveMut","","mut x",1,null],[13,"Ref","","ref x",1,null],[13,"RefMut","","ref mut x",1,null],[3,"BindingInfo","","Information about a specific binding. This contains both …",null,null],[12,"binding","","The name which this BindingInfo will bind to.",2,null],[12,"style","","The type of binding which this BindingInfo will create.",2,null],[11,"ast","","Returns a reference to the underlying syn AST node which …",2,[[],["field",3]]],[11,"pat","","Generates the pattern fragment for this field binding.",2,[[],["tokenstream",3]]],[11,"referenced_ty_params","","Returns a list of the type parameters which are …",2,[[],[["ident",3],["vec",3]]]],[3,"VariantAst","","This type is similar to syn\'s Variant type, however each …",null,null],[12,"attrs","","",3,null],[12,"ident","","",3,null],[12,"fields","","",3,null],[12,"discriminant","","",3,null],[3,"VariantInfo","","A wrapper around a syn::DeriveInput\'s variant which …",null,null],[12,"prefix","","",4,null],[11,"bindings","","Returns a slice of the bindings in this Variant.",4,[[]]],[11,"bindings_mut","","Returns a mut slice of the bindings in this Variant.",4,[[]]],[11,"ast","","Returns a VariantAst object which contains references to …",4,[[],["variantast",3]]],[11,"omitted_bindings","","True if any bindings were omitted due to a filter call.",4,[[]]],[11,"pat","","Generates the match-arm pattern which could be used to …",4,[[],["tokenstream",3]]],[11,"construct","","Generates the token stream required to construct the …",4,[[],["tokenstream",3]]],[11,"each","","Runs the passed-in function once for each bound field, …",4,[[],["tokenstream",3]]],[11,"fold","","Runs the passed-in function once for each bound field, …",4,[[],["tokenstream",3]]],[11,"filter","","Filter the bindings created by this Variant object. This …",4,[[]]],[11,"remove_binding","","Remove the binding at the given index.",4,[[]]],[11,"bind_with","","Updates the BindStyle for each of the passed-in fields by …",4,[[]]],[11,"binding_name","","Updates the binding name for each fo the passed-in fields …",4,[[]]],[11,"referenced_ty_params","","Returns a list of the type parameters which are …",4,[[],[["ident",3],["vec",3]]]],[3,"Structure","","A wrapper around a syn::DeriveInput which provides …",null,null],[11,"new","","Create a new Structure with the variants and fields from …",5,[[["deriveinput",3]]]],[11,"try_new","","Create a new Structure with the variants and fields from …",5,[[["deriveinput",3]],["result",6]]],[11,"variants","","Returns a slice of the variants in this Structure.",5,[[]]],[11,"variants_mut","","Returns a mut slice of the variants in this Structure.",5,[[]]],[11,"ast","","Returns a reference to the underlying syn AST node which …",5,[[],["deriveinput",3]]],[11,"omitted_variants","","True if any variants were omitted due to a filter_variants…",5,[[]]],[11,"each","","Runs the passed-in function once for each bound field, …",5,[[],["tokenstream",3]]],[11,"fold","","Runs the passed-in function once for each bound field, …",5,[[],["tokenstream",3]]],[11,"each_variant","","Runs the passed-in function once for each variant, …",5,[[],["tokenstream",3]]],[11,"filter","","Filter the bindings created by this Structure object. …",5,[[]]],[11,"add_where_predicate","","Specify additional where predicate bounds which should be …",5,[[["wherepredicate",4]]]],[11,"add_bounds","","Specify which bounds should be generated by …",5,[[["addbounds",4]]]],[11,"filter_variants","","Filter the variants matched by this Structure object. …",5,[[]]],[11,"remove_variant","","Remove the variant at the given index.",5,[[]]],[11,"bind_with","","Updates the BindStyle for each of the passed-in fields by …",5,[[]]],[11,"binding_name","","Updates the binding name for each fo the passed-in fields …",5,[[]]],[11,"referenced_ty_params","","Returns a list of the type parameters which are refrenced …",5,[[],[["ident",3],["vec",3]]]],[11,"add_impl_generic","","Adds an impl<> generic parameter. This can be used when …",5,[[["genericparam",4]]]],[11,"add_trait_bounds","","Add trait bounds for a trait with the given path for each …",5,[[["traitbound",3],["option",4],["addbounds",4]]]],[11,"underscore_const","","Configure whether to use const _ instead of a generated …",5,[[]]],[11,"bound_impl","","NOTE: This methods\' features are superceded by …",5,[[["totokens",8]],["tokenstream",3]]],[11,"unsafe_bound_impl","","NOTE: This methods\' features are superceded by …",5,[[["totokens",8]],["tokenstream",3]]],[11,"unbound_impl","","NOTE: This methods\' features are superceded by …",5,[[["totokens",8]],["tokenstream",3]]],[11,"unsafe_unbound_impl","","NOTE: This methods\' features are superceded by …",5,[[["totokens",8]],["tokenstream",3]]],[11,"gen_impl","","Generate an impl block for the given struct. This impl …",5,[[["tokenstream",3]],["tokenstream",3]]],[5,"unpretty_print","","Dumps an unpretty version of a tokenstream. Takes any …",null,[[["display",8]],["string",3]]],[8,"MacroResult","","Helper trait describing values which may be returned by …",null,null],[10,"into_result","","Convert this result into a Result for further processing …",6,[[],[["tokenstream",3],["result",6]]]],[11,"into_stream","","Convert this result into a proc_macro::TokenStream, ready …",6,[[],["tokenstream",3]]],[14,"decl_derive","","The decl_derive! macro declares a custom derive wrapper. …",null,null],[14,"decl_attribute","","The decl_attribute! macro declares a custom attribute …",null,null],[14,"test_derive","","Run a test on a custom derive. This macro expands both …",null,null],[11,"from","","",0,[[]]],[11,"into","","",0,[[]]],[11,"to_owned","","",0,[[]]],[11,"clone_into","","",0,[[]]],[11,"borrow","","",0,[[]]],[11,"borrow_mut","","",0,[[]]],[11,"try_from","","",0,[[],["result",4]]],[11,"try_into","","",0,[[],["result",4]]],[11,"type_id","","",0,[[],["typeid",3]]],[11,"from","","",1,[[]]],[11,"into","","",1,[[]]],[11,"to_owned","","",1,[[]]],[11,"clone_into","","",1,[[]]],[11,"borrow","","",1,[[]]],[11,"borrow_mut","","",1,[[]]],[11,"try_from","","",1,[[],["result",4]]],[11,"try_into","","",1,[[],["result",4]]],[11,"type_id","","",1,[[],["typeid",3]]],[11,"span","","",1,[[],["span",3]]],[11,"from","","",2,[[]]],[11,"into","","",2,[[]]],[11,"to_owned","","",2,[[]]],[11,"clone_into","","",2,[[]]],[11,"borrow","","",2,[[]]],[11,"borrow_mut","","",2,[[]]],[11,"try_from","","",2,[[],["result",4]]],[11,"try_into","","",2,[[],["result",4]]],[11,"type_id","","",2,[[],["typeid",3]]],[11,"span","","",2,[[],["span",3]]],[11,"from","","",3,[[]]],[11,"into","","",3,[[]]],[11,"to_owned","","",3,[[]]],[11,"clone_into","","",3,[[]]],[11,"borrow","","",3,[[]]],[11,"borrow_mut","","",3,[[]]],[11,"try_from","","",3,[[],["result",4]]],[11,"try_into","","",3,[[],["result",4]]],[11,"type_id","","",3,[[],["typeid",3]]],[11,"from","","",4,[[]]],[11,"into","","",4,[[]]],[11,"to_owned","","",4,[[]]],[11,"clone_into","","",4,[[]]],[11,"borrow","","",4,[[]]],[11,"borrow_mut","","",4,[[]]],[11,"try_from","","",4,[[],["result",4]]],[11,"try_into","","",4,[[],["result",4]]],[11,"type_id","","",4,[[],["typeid",3]]],[11,"from","","",5,[[]]],[11,"into","","",5,[[]]],[11,"to_owned","","",5,[[]]],[11,"clone_into","","",5,[[]]],[11,"borrow","","",5,[[]]],[11,"borrow_mut","","",5,[[]]],[11,"try_from","","",5,[[],["result",4]]],[11,"try_into","","",5,[[],["result",4]]],[11,"type_id","","",5,[[],["typeid",3]]],[11,"clone","","",0,[[],["addbounds",4]]],[11,"clone","","",1,[[],["bindstyle",4]]],[11,"clone","","",2,[[],["bindinginfo",3]]],[11,"clone","","",3,[[],["variantast",3]]],[11,"clone","","",4,[[],["variantinfo",3]]],[11,"clone","","",5,[[],["structure",3]]],[11,"eq","","",0,[[["addbounds",4]]]],[11,"eq","","",1,[[["bindstyle",4]]]],[11,"eq","","",2,[[["bindinginfo",3]]]],[11,"ne","","",2,[[["bindinginfo",3]]]],[11,"eq","","",3,[[["variantast",3]]]],[11,"ne","","",3,[[["variantast",3]]]],[11,"eq","","",4,[[["variantinfo",3]]]],[11,"ne","","",4,[[["variantinfo",3]]]],[11,"eq","","",5,[[["structure",3]]]],[11,"ne","","",5,[[["structure",3]]]],[11,"fmt","","",0,[[["formatter",3]],["result",6]]],[11,"fmt","","",1,[[["formatter",3]],["result",6]]],[11,"fmt","","",2,[[["formatter",3]],["result",6]]],[11,"fmt","","",3,[[["formatter",3]],["result",6]]],[11,"fmt","","",4,[[["formatter",3]],["result",6]]],[11,"fmt","","",5,[[["formatter",3]],["result",6]]],[11,"hash","","",0,[[]]],[11,"hash","","",1,[[]]],[11,"hash","","",2,[[]]],[11,"hash","","",3,[[]]],[11,"hash","","",4,[[]]],[11,"hash","","",5,[[]]],[11,"to_tokens","","",1,[[["tokenstream",3]]]],[11,"to_tokens","","",2,[[["tokenstream",3]]]]],"p":[[4,"AddBounds"],[4,"BindStyle"],[3,"BindingInfo"],[3,"VariantAst"],[3,"VariantInfo"],[3,"Structure"],[8,"MacroResult"]]},\ "unicode_xid":{"doc":"Determine if a char is a valid identifier for a parser …","i":[[17,"UNICODE_VERSION","unicode_xid","The version of Unicode that this version of unicode-xid …",null,null],[8,"UnicodeXID","","Methods for determining if a character is a valid …",null,null],[10,"is_xid_start","","Returns whether the specified character satisfies the …",0,[[]]],[10,"is_xid_continue","","Returns whether the specified char satisfies the …",0,[[]]]],"p":[[8,"UnicodeXID"]]}\ }'); addSearchOptions(searchIndex);initSearch(searchIndex); \ No newline at end of file diff --git a/source-files.js b/source-files.js index 87b49eb..4961348 100644 --- a/source-files.js +++ b/source-files.js @@ -1,6 +1,9 @@ var N = null;var sourcesIndex = {}; +sourcesIndex["cfg_if"] = {"name":"","files":["lib.rs"]}; +sourcesIndex["delog"] = {"name":"","files":["hex.rs","lib.rs","logger.rs","macros.rs","render.rs"]}; sourcesIndex["flexiber"] = {"name":"","files":["decoder.rs","encoder.rs","error.rs","header.rs","length.rs","lib.rs","simpletag.rs","slice.rs","tag.rs","tagged.rs","traits.rs"]}; sourcesIndex["flexiber_derive"] = {"name":"","files":["decodable.rs","encodable.rs","lib.rs"]}; +sourcesIndex["log"] = {"name":"","files":["lib.rs","macros.rs"]}; sourcesIndex["proc_macro2"] = {"name":"","files":["detection.rs","fallback.rs","lib.rs","marker.rs","parse.rs","wrapper.rs"]}; sourcesIndex["quote"] = {"name":"","files":["ext.rs","format.rs","ident_fragment.rs","lib.rs","runtime.rs","spanned.rs","to_tokens.rs"]}; sourcesIndex["syn"] = {"name":"","dirs":[{"name":"gen","files":["clone.rs","debug.rs","eq.rs","gen_helper.rs","hash.rs","visit.rs"]}],"files":["attr.rs","await.rs","bigint.rs","buffer.rs","custom_keyword.rs","custom_punctuation.rs","data.rs","derive.rs","discouraged.rs","error.rs","export.rs","expr.rs","ext.rs","generics.rs","group.rs","ident.rs","lib.rs","lifetime.rs","lit.rs","lookahead.rs","mac.rs","macros.rs","op.rs","parse.rs","parse_macro_input.rs","parse_quote.rs","path.rs","print.rs","punctuated.rs","sealed.rs","span.rs","spanned.rs","thread.rs","token.rs","tt.rs","ty.rs","verbatim.rs"]}; diff --git a/src/cfg_if/lib.rs.html b/src/cfg_if/lib.rs.html new file mode 100644 index 0000000..fbc2960 --- /dev/null +++ b/src/cfg_if/lib.rs.html @@ -0,0 +1,358 @@ +lib.rs - source + +
  1
+  2
+  3
+  4
+  5
+  6
+  7
+  8
+  9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+
+//! A macro for defining `#[cfg]` if-else statements.
+//!
+//! The macro provided by this crate, `cfg_if`, is similar to the `if/elif` C
+//! preprocessor macro by allowing definition of a cascade of `#[cfg]` cases,
+//! emitting the implementation which matches first.
+//!
+//! This allows you to conveniently provide a long list `#[cfg]`'d blocks of code
+//! without having to rewrite each clause multiple times.
+//!
+//! # Example
+//!
+//! ```
+//! cfg_if::cfg_if! {
+//!     if #[cfg(unix)] {
+//!         fn foo() { /* unix specific functionality */ }
+//!     } else if #[cfg(target_pointer_width = "32")] {
+//!         fn foo() { /* non-unix, 32-bit functionality */ }
+//!     } else {
+//!         fn foo() { /* fallback implementation */ }
+//!     }
+//! }
+//!
+//! # fn main() {}
+//! ```
+
+#![no_std]
+#![doc(html_root_url = "https://docs.rs/cfg-if")]
+#![deny(missing_docs)]
+#![cfg_attr(test, deny(warnings))]
+
+/// The main macro provided by this crate. See crate documentation for more
+/// information.
+#[macro_export]
+macro_rules! cfg_if {
+    // match if/else chains with a final `else`
+    ($(
+        if #[cfg($meta:meta)] { $($tokens:tt)* }
+    ) else * else {
+        $($tokens2:tt)*
+    }) => {
+        $crate::cfg_if! {
+            @__items
+            () ;
+            $( ( ($meta) ($($tokens)*) ), )*
+            ( () ($($tokens2)*) ),
+        }
+    };
+
+    // match if/else chains lacking a final `else`
+    (
+        if #[cfg($i_met:meta)] { $($i_tokens:tt)* }
+        $(
+            else if #[cfg($e_met:meta)] { $($e_tokens:tt)* }
+        )*
+    ) => {
+        $crate::cfg_if! {
+            @__items
+            () ;
+            ( ($i_met) ($($i_tokens)*) ),
+            $( ( ($e_met) ($($e_tokens)*) ), )*
+            ( () () ),
+        }
+    };
+
+    // Internal and recursive macro to emit all the items
+    //
+    // Collects all the negated cfgs in a list at the beginning and after the
+    // semicolon is all the remaining items
+    (@__items ($($not:meta,)*) ; ) => {};
+    (@__items ($($not:meta,)*) ; ( ($($m:meta),*) ($($tokens:tt)*) ), $($rest:tt)*) => {
+        // Emit all items within one block, applying an appropriate #[cfg]. The
+        // #[cfg] will require all `$m` matchers specified and must also negate
+        // all previous matchers.
+        #[cfg(all($($m,)* not(any($($not),*))))] $crate::cfg_if! { @__identity $($tokens)* }
+
+        // Recurse to emit all other items in `$rest`, and when we do so add all
+        // our `$m` matchers to the list of `$not` matchers as future emissions
+        // will have to negate everything we just matched as well.
+        $crate::cfg_if! { @__items ($($not,)* $($m,)*) ; $($rest)* }
+    };
+
+    // Internal macro to make __apply work out right for different match types,
+    // because of how macros matching/expand stuff.
+    (@__identity $($tokens:tt)*) => {
+        $($tokens)*
+    };
+}
+
+#[cfg(test)]
+mod tests {
+    cfg_if! {
+        if #[cfg(test)] {
+            use core::option::Option as Option2;
+            fn works1() -> Option2<u32> { Some(1) }
+        } else {
+            fn works1() -> Option<u32> { None }
+        }
+    }
+
+    cfg_if! {
+        if #[cfg(foo)] {
+            fn works2() -> bool { false }
+        } else if #[cfg(test)] {
+            fn works2() -> bool { true }
+        } else {
+            fn works2() -> bool { false }
+        }
+    }
+
+    cfg_if! {
+        if #[cfg(foo)] {
+            fn works3() -> bool { false }
+        } else {
+            fn works3() -> bool { true }
+        }
+    }
+
+    cfg_if! {
+        if #[cfg(test)] {
+            use core::option::Option as Option3;
+            fn works4() -> Option3<u32> { Some(1) }
+        }
+    }
+
+    cfg_if! {
+        if #[cfg(foo)] {
+            fn works5() -> bool { false }
+        } else if #[cfg(test)] {
+            fn works5() -> bool { true }
+        }
+    }
+
+    #[test]
+    fn it_works() {
+        assert!(works1().is_some());
+        assert!(works2());
+        assert!(works3());
+        assert!(works4().is_some());
+        assert!(works5());
+    }
+
+    #[test]
+    #[allow(clippy::assertions_on_constants)]
+    fn test_usage_within_a_function() {
+        cfg_if! {if #[cfg(debug_assertions)] {
+            // we want to put more than one thing here to make sure that they
+            // all get configured properly.
+            assert!(cfg!(debug_assertions));
+            assert_eq!(4, 2+2);
+        } else {
+            assert!(works1().is_some());
+            assert_eq!(10, 5+5);
+        }}
+    }
+
+    trait Trait {
+        fn blah(&self);
+    }
+
+    #[allow(dead_code)]
+    struct Struct;
+
+    impl Trait for Struct {
+        cfg_if! {
+            if #[cfg(feature = "blah")] {
+                fn blah(&self) {
+                    unimplemented!();
+                }
+            } else {
+                fn blah(&self) {
+                    unimplemented!();
+                }
+            }
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/delog/hex.rs.html b/src/delog/hex.rs.html new file mode 100644 index 0000000..4090f03 --- /dev/null +++ b/src/delog/hex.rs.html @@ -0,0 +1,622 @@ +hex.rs - source + +
  1
+  2
+  3
+  4
+  5
+  6
+  7
+  8
+  9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+
+//! Convenient `Display` and other traits for binary data.
+//!
+//! Standard Rust uses the `fmt::UpperHex` and `LowerHex` traits to implement hexadecimal
+//! representations for use in format strings. For instance,
+//! `format_args!("{:02X?}", &[7, 0xA1, 0xFF])` produces the string `"[07, A1, FF]"`.
+//!
+//! ```
+//! assert_eq!(format!("{:02X?}", [7u8, 0xA1, 0xFF].as_ref()), "[07, A1, FF]");
+//! ```
+//!
+//! However, this only works for the `Debug` trait, not `Display`; needs extra dancing
+//! to pad with leading zeros, and is not very compact when debugging binary data formats.
+//!
+//! The idea of this module is to generate newtypes around byte arrays/slices, and implement the `fmt` traits on these.
+//! In release builds, this is all compiled out and translates to direct instructions for the formatting machinery.
+//!
+//! The ide to implement truncated outputs comes from the `hex_fmt` library, which we refer to
+//! for additional newtypes that can be used.
+//!
+//! ```
+//! use delog::{hex_str, hexstr};
+//!
+//! let data = &[7u8, 0xA1, 255, 0xC7];
+//!
+//! assert_eq!(format!("{}", hexstr!(data)), "07A1FFC7");
+//! assert_eq!(format!("{:x}", hexstr!(data)), "07a1ffc7");
+//! assert_eq!(format!("{:2x}", hex_str!(data)), "07..c7");
+//! assert_eq!(format!("{:<3x}", hex_str!(data)), "07 a1 ff..");
+//! assert_eq!(format!("{:>3x}", hex_str!(data)), "..a1 ff c7");
+//! assert_eq!(format!("{}", hex_str!(data, 2)), "07A1 FFC7");
+//! assert_eq!(format!("{:<3}", hex_str!(data, sep: "|")), "07|A1|FF..");
+//! ```
+
+use core::marker::PhantomData;
+use core::fmt;
+
+///// re-export from `hex_fmt`
+/////
+//pub use hex_fmt::HexFmt;
+///// re-export from `hex_fmt`
+/////
+//pub use hex_fmt::HexList;
+
+/// A type that specifies an unsigned integer.
+///
+/// We use this instead of `typenum` as the latter currently lacks
+/// a mapping from `usize` to the associated type.
+pub trait Unsigned {
+    /// The actual number.
+    const N: usize;
+}
+
+/// Sorry little replacement for the missing int to Unsigned type map in `typenum`.
+#[macro_export]
+#[doc(hidden)]
+macro_rules! typeint {
+    ($name:ident, $n:expr) => {
+        /// A type that represents the integer `N`.
+        pub struct $name;
+        impl $crate::hex::Unsigned for $name {
+            const N: usize = $n;
+        }
+    }
+}
+
+/// A type that represents the integer `1`.
+pub struct U1;
+impl Unsigned for U1 {
+    const N: usize = 1;
+}
+
+// /// A type representing the number 1.
+// pub struct U1 {}
+// impl Unsigned for U1 {
+//     const N: usize = 1;
+// }
+
+/// A type that specifies a separator str.
+pub trait Separator {
+    /// The actual separator str.
+    const SEPARATOR: &'static str;
+}
+
+#[macro_export]
+#[doc(hidden)]
+macro_rules! typesep {
+    ($name:ident, $s:expr) => {
+        /// A type that represents the integer `N`.
+        pub struct $name;
+        impl $crate::hex::Separator for $name {
+            const SEPARATOR: &'static str = $s;
+        }
+    }
+}
+
+// /// New approach.
+// pub trait HexStrTrait {
+//     const BYTES_PER_BLOCK: usize;
+//     const SEPARATOR: &'static str;
+//     fn bytes(&self) -> &[u8];
+// }
+
+/// Zero-sized wrapper newtype, allowing grouping bytes in blocks of N hexadecimals
+/// during formatting.
+///
+/// Use the method with the same name to construct this from your byte array or slice,
+/// or preferrably the `hex_str!` or `hexstr!` macro.
+pub struct HexStr<'a, T: ?Sized, U, S>
+where
+    U: Unsigned,
+    S: Separator,
+{
+    /// The value to be formatted.
+    pub value: &'a T,
+    _bytes_per_block: PhantomData<U>,
+    _separator: PhantomData<S>,
+}
+
+#[macro_export]
+/// Compactly format byte arrays and slices as hexadecimals.
+///
+/// The second parameter refers to the number of bytes in a block (separated by spaces).
+///
+/// ```
+/// use delog::hex_str;
+/// let four_bytes = &[7u8, 0xA1, 255, 0xC7];
+/// assert_eq!(format!("{:x}", hex_str!(four_bytes)), "07 a1 ff c7");
+/// assert_eq!(format!("{}", hex_str!(four_bytes, 2)), "07A1 FFC7");
+/// assert_eq!(format!("{}", hex_str!(four_bytes, 2, sep: "|")), "07A1|FFC7");
+/// assert_eq!(format!("{}", hex_str!(four_bytes, 3)), "07A1FF C7");
+/// ```
+macro_rules! hex_str {
+    ($array:expr) => { $crate::hex_str!($array, 1, sep: " ") };
+    ($array:expr, sep: $separator:expr) => { $crate::hex_str!($array, 1, sep: $separator) };
+    ($array:expr, $n:tt) => { $crate::hex_str!($array, $n, sep: " ") };
+    ($array:expr, $n:tt, sep: $separator:expr) => {{
+        $crate::typesep!(Separator, $separator);
+        $crate::typeint!(Number, $n);
+        $crate::hex::HexStr::<_, Number, Separator>($array)
+    }};
+}
+
+#[macro_export]
+/// More compactly format byte arrays and slices as hexadecimals.
+///
+/// ```
+/// use delog::hexstr;
+/// let four_bytes = &[7u8, 0xA1, 255, 0xC7];
+/// assert_eq!(format!("{}", hexstr!(four_bytes)), "07A1FFC7");
+/// assert_eq!(format!("{:x}", hexstr!(four_bytes)), "07a1ffc7");
+/// ```
+macro_rules! hexstr {
+    ($array:expr) => {
+        $crate::hex_str!($array, sep: "")
+    }
+}
+
+#[allow(non_snake_case)]
+/// Explicitly construct a newtype to format with.
+///
+/// The first generic parameter specifies the block size in bytes, the second parameter
+/// the separator string.
+///
+/// This function is just here for documentation of what the `hex_str!` macro
+/// does internally (using the undocumented `typeint!` and `typesep!` macros).
+///
+/// ```
+/// use delog::hex::{HexStr, Separator, Unsigned};
+///
+/// // typeint!(U3, 3);
+/// struct U3 {}
+/// impl Unsigned for U3 {
+///     const N: usize = 3;
+/// }
+///
+/// // typesep!(Pipe, "|");
+/// struct Pipe {}
+/// impl Separator for Pipe {
+///     const SEPARATOR: &'static str  = "|";
+/// }
+///
+/// let four_bytes = &[7u8, 0xA1, 255, 0xC7];
+/// let hex_str = HexStr::<_, U3, Pipe>(four_bytes);
+///
+/// assert_eq!(format!("{}", hex_str), "07A1FF|C7");
+/// ```
+pub fn HexStr<T: ?Sized, U: Unsigned, S: Separator>(value: &T) -> HexStr<T, U, S> {
+    HexStr { value, _bytes_per_block: PhantomData, _separator: PhantomData }
+}
+
+impl<T: ?Sized, S, U> fmt::Debug for HexStr<'_, T, U, S>
+where
+    T: AsRef<[u8]>,
+    U: Unsigned,
+    S: Separator,
+{
+    #[inline]
+    fn fmt(&self, f: &mut fmt::Formatter) -> Result<(), fmt::Error> {
+        fmt::Display::fmt(self, f)
+    }
+}
+
+impl<T: ?Sized, U, S> fmt::Display for HexStr<'_, T, U, S>
+where
+    T: AsRef<[u8]>,
+    U: Unsigned,
+    S: Separator,
+{
+    #[inline]
+    fn fmt(&self, f: &mut fmt::Formatter) -> Result<(), fmt::Error> {
+        fmt::UpperHex::fmt(self, f)
+    }
+}
+
+macro_rules! implement {
+    ($Trait:ident, $padded_formatter:expr) => {
+        impl<'a, T: ?Sized, U, S> fmt::$Trait for HexStr<'a, T, U, S>
+        where
+            T: AsRef<[u8]>,
+            U: Unsigned,
+            S: Separator,
+        {
+            fn fmt(&self, f: &mut fmt::Formatter<'_>) -> Result<(), fmt::Error> {
+                use core::fmt::{self, Alignment::*};
+                let max_bytes = f.width().unwrap_or(usize::MAX);
+                let bytes = self.value.as_ref();
+
+                #[inline]
+                fn nontruncated_fmt(
+                    bytes: &[u8], f: &mut fmt::Formatter<'_>,
+                    chunk_size: usize, separator: &str,
+                ) -> Result<(), fmt::Error> {
+                    let mut first = true;
+                    for entry in bytes.chunks(chunk_size) {
+                        if first {
+                            first = false;
+                        } else {
+                            f.write_str(separator)?;
+                        }
+                        for byte in entry.iter() {
+                            write!(f, $padded_formatter, byte)?;
+                        }
+                    }
+                    Ok(())
+                }
+
+                // const ELLIPSIS: &str = "…";
+                const ELLIPSIS: &str = "..";
+
+                let chunk_size = U::N;
+                let separator = S::SEPARATOR;
+
+                if bytes.len() <= max_bytes {
+                    nontruncated_fmt(bytes, f, chunk_size, separator)
+                } else {
+                    let align = f.align().unwrap_or(Center);
+                    let (left, right) = match align {
+                        Left => (max_bytes, 0),
+                        Center => (max_bytes - max_bytes/2, max_bytes/2),
+                        Right => (0, max_bytes),
+                    };
+                    nontruncated_fmt(&bytes[..left], f, chunk_size, separator)?;
+                    // if left > 0 {
+                    //     f.write_str(separator)?;
+                    // }
+                    f.write_str(ELLIPSIS)?;
+                    // if right > 0 {
+                    //     f.write_str(separator)?;
+                    // }
+                    nontruncated_fmt(&bytes[bytes.len()-right..], f, chunk_size, separator)?;
+                    Ok(())
+                }
+            }
+        }
+    }
+}
+
+implement!(LowerHex, "{:02x}");
+implement!(UpperHex, "{:02X}");
+
+#[cfg(test)]
+mod test {
+    use super::*;
+
+    #[test]
+    fn test_hex_str() {
+        let buf = [1u8, 2, 3, 0xA1, 0xB7, 0xFF, 0x3];
+        insta::assert_debug_snapshot!(format_args!("'{}'", hex_str!(&buf)));
+        insta::assert_debug_snapshot!(format_args!("'{}'", hex_str!(&buf, 2)));
+        insta::assert_debug_snapshot!(format_args!("'{:x}'", hex_str!(&buf, 2)));
+        insta::assert_debug_snapshot!(format_args!("'{}'", hex_str!(&buf, 4)));
+        insta::assert_debug_snapshot!(format_args!("'{}'", hex_str!(&buf[..], 4)));
+        insta::assert_debug_snapshot!(format_args!("'{}'", hex_str!(&buf, 4)));
+        insta::assert_debug_snapshot!(format_args!("'{}'", hex_str!(&buf, 4)));
+    }
+
+    #[test]
+    fn test_custom_hex_str() {
+        let buf = [1u8, 2, 3, 0xA1, 0xB7, 0xFF, 0x3];
+        typeint!(U3, 3);
+        typesep!(Space, " ");
+        insta::assert_debug_snapshot!(format_args!(
+            "'{:X}'",
+            HexStr::<_, U3, Space>(&buf),
+        ));
+    }
+
+}
+
+
\ No newline at end of file diff --git a/src/delog/lib.rs.html b/src/delog/lib.rs.html new file mode 100644 index 0000000..02129bf --- /dev/null +++ b/src/delog/lib.rs.html @@ -0,0 +1,374 @@ +lib.rs - source + +
  1
+  2
+  3
+  4
+  5
+  6
+  7
+  8
+  9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+
+//! # Compile-time configurable deferred logging (for `printf()`-debugging *aka* tracing)
+//!
+//! This is an implementation of the `log::Log` trait, suitable for use
+//! in both embedded and desktop environments.
+//!
+//! It has two main goals:
+//! - logs are stored in a circular static memory buffer, so that logging is "zero-cost in the inner
+//! loop" (apart from the formatting), with deferred actual I/O later via flushing.
+//! - compile-time log level settings for applications with multiple library components;
+//! inactive log levels of libraries are completely compiled out.
+//!
+//! Moreover, setting the kill switch feature flag `knock-it-off`, any and all traces of logging
+//! are removed from the final binary.
+//!
+//! ## Usage and defaults
+//!
+//! > *"Global settings subtractive (default all), local settings additive (default none) but with kill-switch."*
+//!
+//! From `log`, we inherit:
+//! - static global filters, default `LevelFilter::Trace` (i.e., everything), set via `delog` or
+//! `log` feature flags (multiple settings result in the most restrictive filter)
+//! - dynamic global filter, initialized in the "init"/"init_default" constructors of the
+//! macro-generated structs implementing our `Delogger` trait. This can be changed by calls to
+//! the global `set_max_level` function in `log`.
+//!
+//! Libraries that use the logging macros from `log` are governed by the more restrictive of these two settings.
+//!
+//! On the other hand, a library that uses the `delog::generate_macros!()` macro gains macros `info!`, `warn!`, etc.,
+//! which, by default, do nothing, and are completely optimized out.
+//!
+//! If such a libray itself defines a feature `log-all` that is active, then logging calls with these macros are passed through
+//! and goverend by the global filters. Such a library can also define a feature such as
+//! `log-info`, which activates *exactly* the info-level logs; it is up to the library to define
+//! logic such as "log-info implies log-warn". There is a kill-switch: if the library defines a
+//! feature `log-none`, and some intermediate library activates one of the additive `log-*`
+//! features, setting `log-none` completely turns off logging for this library.
+//!
+//! ## Background
+//!
+//! Compared to existing approaches such as `ufmt`, `cortex-m-funnel` and `defmt`,
+//! we pursue different values and requirements, namely:
+//!
+//! - **compatibility with the standard `core::fmt` traits and the standard `log` library API**.
+//!   This means that, while libraries may "upgrade" their logging capabilities by using `delog`
+//!   as drop-in replacement for their logging calls (see below), any existing library that already
+//!   uses `log` is compatible. This, for our use cases, is a huge win, as opposed to using up "weirdness
+//!   budget" and requiring custom tooling for something that is often trivial, throw-away, simple logging.
+//! - it follows that one can easily drop a `trace!("{:?}", &suspicious_object)` call at any time for
+//!   any object that has a (possibly automatically derived) `Debug` trait implementation – without
+//!   passing around structures and keeping on top of lifetimes.
+//! - deferred logging: This is a typical "shared memory" logger, calls to `info!` etc.
+//!   are not directly sent to their final output, but instead are stored in a circular buffer
+//!   that is "drained" by calling `flush` on the logger at a convenient moment, for instance
+//!   in an idle loop.
+//! - immediate mode logging: Sometimes one wants to bypass the deferred flushing of logs,
+//!   this is possible using either the little-known `target` argument to `info!` and friends
+//!   with "!" as parameter, or using the additional `immediate_info!` and friends macros.
+//! - ability to set log levels *per library, at compile-time*. This can be easily retro-fitted
+//!   on existing `log`-based libraries, by adding the requisite features in `Cargo.toml` and
+//!   replacing `log` with `delog` (see `gate-tests` for examples of this).
+//! - the outcome is that one can leave useful logging calls in the library code, only to activate
+//!   them in targeted ways at build time, exactly as needed.
+//! - helper macros to easily output binary byte arrays and slices in hexadecimal representations,
+//!   which wrap the data in newtypes with custom `fmt::UpperHex` etc. implementations.
+//!
+//! **Non-goals**:
+//!
+//! - ultimate speed or code size: Our intention are "normal" logs, not the use of logging/tracing to
+//!   for stream binary data to the host. While admittedly the `core::fmt`-ing facilities are not as
+//!   efficient as one might hope, in our use cases we have sufficient flash and RAM to use these (and
+//!   some hope that, someday, eventually, maybe, the formatting machinery will be revisited and
+//!   improved at the root level, namely the language itself.)
+//!
+//! That said, we believe there is opportunity to extend `delog` in the `defmt` direction by
+//! using, e.g., the `fmt::Binary` trait, newtypes and sentinel values to embed raw binary
+//! representations of data in time-critical situations without formatting, deferring
+//! the extraction and actual formatting to some host-side mechanism.
+//!
+//! ## Features
+//! The `flushers` and `semihosting` features mostly exist to share code within the examples,
+//! including the `example` feature. Without them, dependencies are quite minimal, and compilation fast.
+//!
+//! The `fallible` and `immediate` features (default on) activate the `try_*!` and `*_now!` macros, respectively.
+//!
+//! ## Warning
+//! The current circular buffer implementation (v0.1.0) is definitely unsound on desktop.
+//! For embedded use, atomics are required (so no Cortex-M0/M1, and no plans to support non-atomic
+//! platforms, which are likely to also be too resource-constrained to support the bloat inherent
+//! in `core::fmt`). While we think the implemented circular buffer algorithm works for the "nested interrupt"
+//! setup of NVICs, it has not been tested much.
+//! The hope is that the worst case scenario is some slightly messed up log outputs.
+//!
+//! ## Outlook
+//! We plan to iterate towards a v0.2.0 soon, making use of a separate "flusher" for the
+//! "immediate" logging path. For instance, when logging via serial-over-USB, one might want immediate
+//! logs to pend a separate RTIC interrupt handler that blocks until the logs are pushed and read
+//! (allowing one to debug the boot process of a firmware), or one might want to just write to RTT
+//! (or even semihosting xD) for these, during development.
+//!
+
+#![deny(missing_docs)]
+#![cfg_attr(not(any(feature = "std", test)), no_std)]
+
+use core::fmt;
+
+pub use log;
+pub use log::{Level, LevelFilter, Record};
+
+#[cfg(feature = "example")]
+pub mod example;
+
+pub mod hex;
+
+mod macros;
+mod logger;
+pub mod render;
+
+pub use logger::{Delogger, Statistics, State, TryLog, TryLogWithStatistics, dequeue, enqueue, try_enqueue};
+
+/// A way to pass on logs, user supplied.
+///
+/// In embedded, this is intended to pend an interrupt
+/// to send the logs off via (USB) serial, semihosting, or similar.
+///
+/// On PC, typical implemenation will just println! or eprintln!
+pub trait Flusher: core::fmt::Debug + Send {
+    /// Implementor must handle passed log `&str` in some hopefully useful way.
+    fn flush(&self, logs: &str);
+}
+
+/// A way to format logs, user supplied.
+pub trait Renderer: Send + Sync {
+    /// Implementor must render record into `buf`, returning the slice containing the rendered
+    /// record.
+    fn render<'a>(&self, buf: &'a mut [u8], record: &log::Record) -> &'a [u8];
+}
+
+static mut LOGGER: Option<&'static dyn logger::TryLogWithStatistics> = None;
+
+/// Returns a reference to the logger (as `TryLogWithStatistics` implementation)
+pub fn logger() -> &'static mut Option<&'static dyn logger::TryLogWithStatistics> {
+    unsafe { &mut LOGGER }
+}
+
+// WARNING: this is not part of the crate's public API and is subject to change at any time.
+// Taken from `log` crate, mutatis mutandis.
+// The methods are here and not in `macro` to avoid making the latter public.
+#[doc(hidden)]
+pub fn __private_api_try_log(
+    args: fmt::Arguments,
+    level: log::Level,
+    &(target, module_path, file, line): &(&str, &'static str, &'static str, u32),
+) -> core::result::Result<(), ()> {
+    crate::logger().ok_or(())?.try_log(
+        &log::Record::builder()
+            .args(args)
+            .level(level)
+            .target(target)
+            .module_path_static(Some(module_path))
+            .file_static(Some(file))
+            .line(Some(line))
+            .build(),
+    )
+}
+
+// WARNING: this is not part of the crate's public API and is subject to change at any time.
+#[doc(hidden)]
+pub fn __private_api_try_log_lit(
+    message: &str,
+    level: log::Level,
+    &(target, module_path, file, line): &(&str, &'static str, &'static str, u32),
+) -> core::result::Result<(), ()> {
+    crate::logger().ok_or(())?.try_log(
+        &log::Record::builder()
+            .args(format_args!("{}", message))
+            .level(level)
+            .target(target)
+            .module_path_static(Some(module_path))
+            .file_static(Some(file))
+            .line(Some(line))
+            .build(),
+    )
+}
+
+
+
\ No newline at end of file diff --git a/src/delog/logger.rs.html b/src/delog/logger.rs.html new file mode 100644 index 0000000..5b58809 --- /dev/null +++ b/src/delog/logger.rs.html @@ -0,0 +1,1168 @@ +logger.rs - source + +
  1
+  2
+  3
+  4
+  5
+  6
+  7
+  8
+  9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+
+use core::{cmp, ptr};
+use core::sync::atomic::{AtomicUsize, Ordering};
+
+/// Semi-abstract characterization of the deferred loggers that the `delog!` macro produces.
+///
+/// # Safety
+/// This trait is markes "unsafe" to signal that users should never (need to) "write their own",
+/// but always go through the `delog!` macro.
+///
+/// The user has access to the global logger via `delog::logger()`, but only as TryLog/Log
+/// implementation, not with this direct access to implementation details.
+pub unsafe trait Delogger: log::Log + crate::TryLog + State<&'static AtomicUsize>{
+
+    /// the underlying buffer
+    fn buffer(&self) -> &'static mut [u8];
+    /// How many characters were claimed so far.
+    fn claimed(&self) -> &'static AtomicUsize;
+    /// Call the flusher.
+    fn flush(&self, logs: &str);
+    /// Actually render the arguments (via internal static buffer).
+    fn render(&self, record: &log::Record) -> &'static [u8];
+
+    /// Capacity of circular buffer.
+    fn capacity(&self) -> usize { self.buffer().len() }
+
+}
+
+/// Trait for either state or statistics of loggers.
+pub trait State<T> {
+    /// How often was one of the logging macros called.
+    fn attempts(&self) -> T;
+    /// How often was one of the logging macros called without early exit (e.g., buffer not full)
+    fn successes(&self) -> T;
+    /// How often was the flusher called.
+    fn flushes(&self) -> T;
+    /// How many bytes were flushed so far.
+    fn read(&self) -> T;
+    /// How many bytes were logged so far.
+    fn written(&self) -> T;
+}
+
+#[derive(Clone, Copy, Debug)]
+/// Statistics on logger usage.
+pub struct Statistics {
+    /// How often was one of the logging macros called.
+    pub attempts: usize,
+    /// How often was one of the logging macros called without early exit (e.g., buffer not full)
+    pub successes: usize,
+    /// How often was the flusher called.
+    pub flushes: usize,
+    /// How many bytes were flushed so far.
+    pub read: usize,
+    /// How many bytes were logged so far.
+    pub written: usize,
+}
+
+/// Fallible, panic-free version of the `log::Log` trait.
+///
+/// The intention is actually that implementors of this trait also
+/// implement `log::Log` in a panic-free fashion, and simply drop logs
+/// that can't be logged. Because, if the user can handle the error, they
+/// would be using the fallible macros, and if not, they most likely do **not**
+/// want to crash.
+pub trait TryLog: log::Log {
+    /// Fallible logging call (fails when buffer is full)
+    fn try_log(&self, _: &log::Record) -> core::result::Result<(), ()>;
+}
+
+/// TryLog with some usage statistics on top.
+pub trait TryLogWithStatistics: TryLog + State<usize> {
+    /// Read out statistics on logger usage.
+    fn statistics(&self) -> Statistics {
+        Statistics {
+            attempts: self.attempts(),
+            successes: self.successes(),
+            flushes: self.flushes(),
+            read: self.read(),
+            written: self.written(),
+        }
+    }
+
+    // /// How often was one of the logging macros called.
+    // fn attempts(&self) -> usize;
+    // /// How often was one of the logging macros called without early exit (e.g., buffer not full)
+    // fn successes(&self) -> usize;
+    // /// How often was the flusher called.
+    // fn flushes(&self) -> usize;
+    // /// How many bytes were flushed so far.
+    // fn read(&self) -> usize;
+    // /// How many bytes were logged so far.
+    // fn written(&self) -> usize;
+}
+
+
+/// Generate a deferred logger with specified capacity and flushing mechanism.
+///
+/// Note that only the final "runner" generates, initializes and flushes such a deferred logger.
+///
+/// Libraries simply make calls to `log::log!`, or its drop-in replacement `delog::log!`,
+/// and/or its extension `delog::log_now!`, and/or its alternatives `delog::try_log!` and  `delog::try_log_now`,
+/// and/or the local logging variants `local_log!`.
+#[cfg(not(any(feature = "max_level_off", all(not(debug_assertions), feature = "release_max_level_off"))))]
+#[macro_export]
+macro_rules! delog {
+    ($logger:ident, $capacity:expr, $flusher:ty) => {
+        delog!($logger, $capacity, $flusher, renderer: $crate::render::DefaultRenderer);
+
+        impl $logger {
+            #[inline]
+            pub fn init_default(level: $crate::log::LevelFilter, flusher: &'static $flusher) -> Result<(), ()> {
+                $logger::init(level, flusher, $crate::render::default())
+            }
+        }
+    };
+
+    ($logger:ident, $capacity:expr, $flusher:ty, renderer: $renderer:ty) => {
+
+        #[derive(Clone, Copy)]
+        /// Generated deferred logging implementation.
+        pub struct $logger {
+            flusher: &'static $flusher,
+            renderer: &'static $renderer,
+            // immediate_flusher: &'static $flusher,
+        }
+
+        // log::Log implementations are required to be Send + Sync
+        unsafe impl Send for $logger {}
+        unsafe impl Sync for $logger {}
+
+        impl $crate::log::Log for $logger {
+            /// log level is set via log::set_max_level, not here, hence always true
+            fn enabled(&self, _: &$crate::log::Metadata) -> bool {
+                true
+            }
+
+            /// reads out logs from circular buffer, and flushes via injected flusher
+            fn flush(&self) {
+                let mut buf = [0u8; $capacity] ;
+
+                let logs: &str = unsafe { $crate::dequeue(*self, &mut buf) };
+
+                if logs.len() > 0 {
+                    use $crate::Flusher;
+                    self.flusher.flush(logs);
+                }
+            }
+
+            fn log(&self, record: &$crate::log::Record) {
+                // use $crate::Delogger;
+                unsafe { $crate::enqueue(*self, record) }
+            }
+        }
+
+        impl $crate::TryLog for $logger {
+            fn try_log(&self, record: &$crate::log::Record) -> core::result::Result<(), ()> {
+                unsafe { $crate::try_enqueue(*self, record) }
+            }
+        }
+
+        impl $crate::State<usize> for $logger {
+            fn attempts(&self) -> usize {
+                $crate::Delogger::attempts(self).load(core::sync::atomic::Ordering::SeqCst)
+            }
+            fn successes(&self) -> usize {
+                $crate::Delogger::successes(self).load(core::sync::atomic::Ordering::SeqCst)
+            }
+
+            fn flushes(&self) -> usize {
+                $crate::Delogger::flushes(self).load(core::sync::atomic::Ordering::SeqCst)
+            }
+
+            fn read(&self) -> usize {
+                $crate::Delogger::read(self).load(core::sync::atomic::Ordering::SeqCst)
+            }
+            fn written(&self) -> usize {
+                $crate::Delogger::written(self).load(core::sync::atomic::Ordering::SeqCst)
+            }
+        }
+
+        impl $crate::TryLogWithStatistics for $logger {}
+
+        #[allow(missing_docs)]
+        impl $logger {
+            #[inline]
+            pub fn init(level: $crate::log::LevelFilter, flusher: &'static $flusher, renderer: &'static $renderer) -> Result<(), ()> {
+
+                use core::sync::atomic::{AtomicBool, Ordering};
+
+                static INITIALIZED: AtomicBool = AtomicBool::new(false);
+                if INITIALIZED
+                    .compare_exchange_weak(false, true, Ordering::AcqRel, Ordering::Acquire).is_ok()
+                {
+
+                    // let logger = Self { flusher, immediate_flusher: flusher };
+                    let logger = Self { flusher, renderer };
+                    Self::get().replace(logger);
+                    $crate::logger().replace(Self::get().as_ref().unwrap());
+                    $crate::log::set_logger(Self::get().as_ref().unwrap())
+                        .map(|()| $crate::log::set_max_level(level))
+                        .map_err(|_| ())
+                } else {
+                    Err(())
+                }
+            }
+
+            fn get() -> &'static mut Option<$logger> {
+                static mut LOGGER: Option<$logger> = None;
+                unsafe { &mut LOGGER }
+            }
+
+            pub fn flush() {
+                // gracefully degrade if we're not initialized yet
+                if let Some(logger) = Self::get() {
+                    $crate::log::Log::flush(logger)
+                }
+            }
+        }
+
+        impl $crate::State<&'static core::sync::atomic::AtomicUsize> for $logger {
+            fn attempts(&self) -> &'static core::sync::atomic::AtomicUsize {
+                use core::sync::atomic::AtomicUsize;
+                static LOG_ATTEMPT_COUNT: AtomicUsize = AtomicUsize::new(0);
+                &LOG_ATTEMPT_COUNT
+            }
+
+            fn successes(&self) -> &'static core::sync::atomic::AtomicUsize {
+                use core::sync::atomic::AtomicUsize;
+                static LOG_SUCCESS_COUNT: AtomicUsize = AtomicUsize::new(0);
+                &LOG_SUCCESS_COUNT
+            }
+
+            fn flushes(&self) -> &'static core::sync::atomic::AtomicUsize {
+                use core::sync::atomic::AtomicUsize;
+                static LOG_FLUSH_COUNT: AtomicUsize = AtomicUsize::new(0);
+                &LOG_FLUSH_COUNT
+            }
+
+            fn read(&self) -> &'static core::sync::atomic::AtomicUsize {
+                use core::sync::atomic::AtomicUsize;
+                static READ: AtomicUsize = AtomicUsize::new(0);
+                &READ
+            }
+
+            fn written(&self) -> &'static core::sync::atomic::AtomicUsize {
+                use core::sync::atomic::AtomicUsize;
+                static WRITTEN: AtomicUsize = AtomicUsize::new(0);
+                &WRITTEN
+            }
+        }
+
+        unsafe impl $crate::Delogger for $logger {
+
+            fn buffer(&self) -> &'static mut [u8] {
+                static mut BUFFER: [u8; $capacity] = [0u8; $capacity];
+                unsafe { &mut BUFFER }
+            }
+
+            fn flush(&self, logs: &str) {
+                use $crate::Flusher;
+                self.flusher.flush(logs)
+            }
+
+            fn claimed(&self) -> &'static core::sync::atomic::AtomicUsize {
+                use core::sync::atomic::AtomicUsize;
+                static CLAIMED: AtomicUsize = AtomicUsize::new(0);
+                &CLAIMED
+            }
+
+            fn render(&self, record: &$crate::Record) -> &'static [u8] {
+                static mut LOCAL_BUFFER: [u8; $capacity] = [0u8; $capacity];
+
+                let local_buffer = unsafe { &mut LOCAL_BUFFER };
+                use $crate::Renderer;
+                self.renderer.render(local_buffer, record)
+            }
+        }
+    }
+}
+
+
+/// Generate a deferred logger that will completely optimize out.
+///
+/// Note that the cfg-gate needs to be around the entire macro, as the library
+/// calling it will not be the crate that has the `max_level_off` feature.
+#[cfg(any(feature = "max_level_off", all(not(debug_assertions), feature = "release_max_level_off")))]
+#[macro_export]
+macro_rules! delog {
+    ($logger:ident, $capacity:expr, $flusher:ty) => {
+        delog!($logger, $capacity, $flusher, renderer: $crate::render::DefaultRenderer);
+
+        impl $logger {
+            #[inline]
+            pub fn init_default(level: $crate::log::LevelFilter, flusher: &'static $flusher) -> Result<(), ()> {
+                Ok(())
+            }
+        }
+    };
+
+    ($logger:ident, $capacity:expr, $flusher:ty, renderer: $renderer:ty) => {
+
+        #[derive(Clone, Copy)]
+        /// Generated deferred logging implementation.
+        pub struct $logger {}
+
+        // log::Log implementations are required to be Send + Sync
+        unsafe impl Send for $logger {}
+        unsafe impl Sync for $logger {}
+
+        impl $crate::log::Log for $logger {
+            /// log level is set via log::set_max_level, not here, hence always true
+            fn enabled(&self, _: &$crate::log::Metadata) -> bool {
+                true
+            }
+
+            /// reads out logs from circular buffer, and flushes via injected flusher
+            fn flush(&self) {}
+
+            fn log(&self, _record: &$crate::log::Record) {}
+        }
+
+        impl $crate::TryLog for $logger {
+            fn try_log(&self, record: &$crate::log::Record) -> core::result::Result<(), ()> {
+                Ok(())
+            }
+        }
+
+        impl $crate::State<usize> for $logger {
+            fn attempts(&self) -> usize { 0 }
+            fn successes(&self) -> usize { 0 }
+            fn flushes(&self) -> usize { 0 }
+            fn read(&self) -> usize { 0 }
+            fn written(&self) -> usize { 0 }
+        }
+
+        impl $crate::TryLogWithStatistics for $logger {}
+
+        #[allow(missing_docs)]
+        impl $logger {
+            #[inline]
+            pub fn init(level: $crate::log::LevelFilter, flusher: &'static $flusher, renderer: &'static $renderer) -> Result<(), ()> {
+                Ok(())
+            }
+
+            fn get() -> &'static mut Option<$logger> {
+                static mut LOGGER: Option<$logger> = None;
+                unsafe { &mut LOGGER }
+            }
+
+            pub fn flush() {}
+        }
+
+        impl $crate::State<&'static core::sync::atomic::AtomicUsize> for $logger {
+            fn attempts(&self) -> &'static core::sync::atomic::AtomicUsize {
+                use core::sync::atomic::AtomicUsize;
+                static LOG_ATTEMPT_COUNT: AtomicUsize = AtomicUsize::new(0);
+                &LOG_ATTEMPT_COUNT
+            }
+
+            fn successes(&self) -> &'static core::sync::atomic::AtomicUsize {
+                use core::sync::atomic::AtomicUsize;
+                static LOG_SUCCESS_COUNT: AtomicUsize = AtomicUsize::new(0);
+                &LOG_SUCCESS_COUNT
+            }
+
+            fn flushes(&self) -> &'static core::sync::atomic::AtomicUsize {
+                use core::sync::atomic::AtomicUsize;
+                static LOG_FLUSH_COUNT: AtomicUsize = AtomicUsize::new(0);
+                &LOG_FLUSH_COUNT
+            }
+
+            fn read(&self) -> &'static core::sync::atomic::AtomicUsize {
+                use core::sync::atomic::AtomicUsize;
+                static READ: AtomicUsize = AtomicUsize::new(0);
+                &READ
+            }
+
+            fn written(&self) -> &'static core::sync::atomic::AtomicUsize {
+                use core::sync::atomic::AtomicUsize;
+                static WRITTEN: AtomicUsize = AtomicUsize::new(0);
+                &WRITTEN
+            }
+        }
+
+        unsafe impl $crate::Delogger for $logger {
+
+            fn buffer(&self) -> &'static mut [u8] {
+                unsafe { &mut [] }
+            }
+
+            fn flush(&self, logs: &str) {}
+
+            fn claimed(&self) -> &'static core::sync::atomic::AtomicUsize {
+                use core::sync::atomic::AtomicUsize;
+                static CLAIMED: AtomicUsize = AtomicUsize::new(0);
+                &CLAIMED
+            }
+
+            fn render(&self, record: &$crate::Record) -> &'static [u8] {
+                &[]
+            }
+        }
+    }
+}
+
+/// The core "write to circular buffer" method. Marked unsafe to discourage use!
+///
+/// # Safety
+/// Unfortunately exposed for all to see, as the `delog!` macro needs access to it to
+/// implement the logger at call site. Hence marked as unsafe.
+pub unsafe fn enqueue(delogger: impl Delogger, record: &log::Record) {
+    crate::logger::try_enqueue(delogger, record).ok();
+}
+
+/// The fallible "write to circular buffer" method. Marked unsafe to discourage use!
+///
+/// # Safety
+/// Unfortunately exposed for all to see, as the `delog!` macro needs access to it to
+/// implement the logger at call site. Hence marked as unsafe.
+///
+/// This implementation needs some HEAVY testing. It is unsound on PC, where the OS
+/// can schedule threads in any manner, but assumed to be sound in ARM Cortex-M NVIC
+/// situations, where interrupts are "nested", in the sense that one may be interrupted,
+/// then the interrupter can, ..., then the interrupter hands back control, ..., and finally
+/// the original caller of this function regains control.
+///
+/// In this situation, we keep track of three counters `(read, written, claimed)`, with
+/// invariants `read <= written <= claimed`. Each writer pessimistically gauges sufficient
+/// capacity for its log by checking `claimed + size <= read + capacity`, accounting for the
+/// wraparound. If so, the writer **atomically advances the claim counter**, and starts copying
+/// its data in this newly claimed space. At the end, it is the duty of the "first" caller
+/// to advance the `written` counter to the correct state.
+#[allow(unused_unsafe, unused_variables)]
+pub unsafe fn try_enqueue(delogger: impl Delogger, record: &log::Record) -> core::result::Result<(), ()> {
+    #[cfg(any(feature = "max_level_off", all(not(debug_assertions), feature = "release_max_level_off")))] {
+        return Ok(())
+    }
+    #[cfg(not(any(feature = "max_level_off", all(not(debug_assertions), feature = "release_max_level_off"))))] {
+
+        if record.level() > crate::log::max_level() {
+            return Ok(())
+        }
+
+        // keep track of how man logs were attempted
+        delogger.attempts().fetch_add(1, Ordering::SeqCst);
+
+        if record.target() == "!" {
+            // todo: possibly use separate immediate_flusher
+            let input = delogger.render(record);
+            let input = unsafe { core::str::from_utf8_unchecked(input) };
+            Delogger::flush(&delogger, input);
+            delogger.successes().fetch_add(1, Ordering::SeqCst);
+            return Ok(());
+        }
+
+        let capacity = delogger.capacity();
+        let log = delogger.render(record);
+        let size = log.len();
+
+        let previously_claimed = loop {
+            let read = delogger.read().load(Ordering::SeqCst);
+            let claimed = delogger.claimed().load(Ordering::SeqCst);
+
+            // figure out the corner cases for "wrap-around" at usize capacity
+            if claimed + size > read + capacity {
+                // not enough space, currently
+                return Err(())
+            }
+
+            // try to stake out our claim
+            let previous = delogger.claimed()
+                .compare_and_swap(claimed, claimed + size, Ordering::SeqCst);
+
+            // we were not interrupted, the region is now ours
+            if previous == claimed {
+                break claimed;
+            }
+        };
+
+        // find out if we're the "first" and will need to update `written` at the end:
+        let written = delogger.written().load(Ordering::SeqCst);
+        let first: bool = written == previously_claimed;
+
+        // now copy our data - we can be interrupted here at anytime
+        let destination = previously_claimed % capacity;
+        let buffer = delogger.buffer();
+        if destination + size < capacity {
+            // can do a single copy
+            unsafe { ptr::copy_nonoverlapping(
+                log.as_ptr(),
+                buffer.as_mut_ptr().add(destination),
+                size,
+            ) };
+        } else {
+            // need to split
+            let split = capacity - destination;
+            unsafe {
+                ptr::copy_nonoverlapping(
+                    log.as_ptr(),
+                    buffer.as_mut_ptr().add(destination),
+                    split,
+                );
+                ptr::copy_nonoverlapping(
+                    log.as_ptr().add(split),
+                    buffer.as_mut_ptr(),
+                    size - split,
+                );
+            }
+        }
+
+        if first {
+            // update `written` to current `claimed` (which may be beyond our own claim)
+            loop {
+                let claimed = delogger.claimed().load(Ordering::SeqCst);
+                delogger.written().store(claimed, Ordering::SeqCst);
+                if claimed == delogger.claimed().load(Ordering::SeqCst) {
+                    break;
+                }
+            }
+        }
+
+        delogger.successes().fetch_add(1, Ordering::SeqCst);
+        Ok(())
+    }
+}
+
+/// The core "read from circular buffer" method. Marked unsafe to discourage use!
+///
+/// # Safety
+/// Unfortunately exposed for all to see, as the `delog!` macro needs access to it to
+/// implement the logger at call site. Hence marked as unsafe.
+#[allow(unused_unsafe)]
+pub unsafe fn dequeue(delogger: impl Delogger, buf: &mut [u8]) -> &str
+{
+    delogger.flushes().fetch_add(1, Ordering::SeqCst);
+    // we control the inputs, so we know this is a valid string
+    unsafe { core::str::from_utf8_unchecked(drain_as_bytes(delogger, buf)) }
+}
+
+/// Copy out the contents of the `Logger` ring buffer into the given buffer,
+/// updating `read` to make space for new log data
+fn drain_as_bytes(delogger: impl Delogger, buf: &mut [u8]) -> &[u8] {
+    unsafe {
+        let read = delogger.read().load(Ordering::SeqCst);
+        let written = delogger.written().load(Ordering::SeqCst);
+        let p = delogger.buffer().as_ptr();
+
+        // early exit to hint the compiler that `n` is not `0`
+        let capacity = delogger.buffer().len();
+        if capacity == 0 {
+            return &[];
+        }
+
+        if written > read {
+            // number of bytes to copy
+            let available = cmp::min(buf.len(), written.wrapping_sub(read));
+
+            let r = read % capacity;
+
+            // NOTE `ptr::copy_nonoverlapping` instead of `copy_from_slice` to avoid panics
+            if r + available > capacity {
+                // two memcpy-s
+                let mid = capacity - r;
+                // buf[..mid].copy_from_slice(&buffer[r..]);
+                ptr::copy_nonoverlapping(p.add(r), buf.as_mut_ptr(), mid);
+                // buf[mid..mid + c].copy_from_slice(&buffer[..available - mid]);
+                ptr::copy_nonoverlapping(p, buf.as_mut_ptr().add(mid), available - mid);
+            } else {
+                // single memcpy
+                // buf[..c].copy_from_slice(&buffer[r..r + c]);
+                ptr::copy_nonoverlapping(p.add(r), buf.as_mut_ptr(), available);
+            }
+
+            delogger.read().store(read.wrapping_add(available), Ordering::SeqCst);
+
+            // &buf[..c]
+            buf.get_unchecked(..available)
+        } else {
+            &[]
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/delog/macros.rs.html b/src/delog/macros.rs.html new file mode 100644 index 0000000..e5050a3 --- /dev/null +++ b/src/delog/macros.rs.html @@ -0,0 +1,546 @@ +macros.rs - source + +
  1
+  2
+  3
+  4
+  5
+  6
+  7
+  8
+  9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+
+/// Fallible (ungated) version of `log!`.
+#[macro_export]
+macro_rules! try_log {
+
+    (target: $target:expr, $lvl:expr, $message:expr) => ({
+        let lvl = $lvl;
+        if lvl <= $crate::log::STATIC_MAX_LEVEL && lvl <= $crate::log::max_level() {
+            // ensure that $message is a valid format string literal
+            let _ = $crate::log::__log_format_args!($message);
+            $crate::__private_api_try_log_lit(
+                $message,
+                lvl,
+                &($target, $crate::log::__log_module_path!(), $crate::log::__log_file!(), $crate::log::__log_line!()),
+            )
+        } else {
+            Ok(())
+        }
+    });
+
+    (target: $target:expr, $lvl:expr, $($arg:tt)+) => ({
+        let lvl = $lvl;
+        if lvl <= $crate::log::STATIC_MAX_LEVEL && lvl <= $crate::log::max_level() {
+            $crate::__private_api_try_log(
+                $crate::log::__log_format_args!($($arg)+),
+                lvl,
+                &($target, $crate::log::__log_module_path!(), $crate::log::__log_file!(), $crate::log::__log_line!()),
+            )
+        } else {
+            Ok(())
+        }
+    });
+
+    ($lvl:expr, $($arg:tt)+) => ($crate::try_log!(target: $crate::log::__log_module_path!(), $lvl, $($arg)+))
+}
+
+// There is a syntax issue with "repetitions in binding patterns for nested macros",
+// with a workaround: https://github.com/rust-lang/rust/issues/35853#issuecomment-443110660
+//
+// This is why we want to  have `($)` expressions in the following, can just imagine they're not there.
+//
+// Unfortunately, I couldn't get this to work, so instead we use the weird `with_dollar_sign!` instead.
+
+#[macro_export]
+#[doc(hidden)]
+macro_rules! with_dollar_sign {
+    ($($body:tt)*) => {
+        macro_rules! __with_dollar_sign { $($body)* }
+        __with_dollar_sign!($);
+    }
+}
+
+/// Generate logging macros that can be gated by library.
+///
+/// Realize that these macros are generated **in the namespace of the consuming library**, the one
+/// that actally later makes calls to `local_warn!` etc.
+///
+/// To see this in action, compile documentation using `cargo doc --features example`, or inspect
+/// the `gate-tests/` subdirectory.
+#[macro_export]
+macro_rules! generate_macros {
+    () => {
+        $crate::with_dollar_sign! {
+            ($d:tt) => {
+
+                /// Fallible version of `debug!`.
+                #[cfg(all(any(feature = "log-all", feature = "log-debug"), not(feature = "log-none")))]
+                #[macro_use] #[macro_export]
+                macro_rules! try_debug {
+
+                    (target: $target:expr, $d($arg:tt)+) => (
+                        $crate::try_log!(target: $target, $crate::Level::Debug, $d($arg)+)
+                    );
+
+                    ($d($arg:tt)+) => (
+                        $crate::try_log!($crate::Level::Debug, $d($arg)+)
+                    );
+                }
+
+                /// Fallible version of `debug!`.
+                #[cfg(not(all(any(feature = "log-all", feature = "log-debug"), not(feature = "log-none"))))]
+                #[macro_use] #[macro_export]
+                macro_rules! try_debug {
+
+                    // (target: $target:expr, $d($arg:tt)+) => ( core::result::Result::<(), ()>::Ok(()) );
+                    ($d($arg:tt)+) => ( core::result::Result::<(), ()>::Ok(()) );
+                }
+
+                /// Fallible version of `error!`.
+                #[cfg(all(any(feature = "log-all", feature = "log-error"), not(feature = "log-none")))]
+                #[macro_use] #[macro_export]
+                macro_rules! try_error {
+
+                    (target: $target:expr, $d($arg:tt)+) => (
+                        $crate::try_log!(target: $target, $crate::Level::Error, $d($arg)+)
+                    );
+
+                    ($d($arg:tt)+) => (
+                        $crate::try_log!($crate::Level::Error, $d($arg)+)
+                    );
+                }
+
+                /// Fallible version of `error!`.
+                #[cfg(not(all(any(feature = "log-all", feature = "log-error"), not(feature = "log-none"))))]
+                #[macro_use] #[macro_export]
+                macro_rules! try_error {
+
+                    // (target: $target:expr, $d($arg:tt)+) => ( core::result::Result::<(), ()>::Ok(()) );
+                    ($d($arg:tt)+) => ( core::result::Result::<(), ()>::Ok(()) );
+                }
+
+                /// Fallible version of `info!`.
+                #[cfg(all(any(feature = "log-all", feature = "log-info"), not(feature = "log-none")))]
+                #[macro_use] #[macro_export]
+                macro_rules! try_info {
+
+                    (target: $target:expr, $d($arg:tt)+) => (
+                        $crate::try_log!(target: $target, $crate::Level::Info, $d($arg)+)
+                    );
+
+                    ($d($arg:tt)+) => (
+                        $crate::try_log!($crate::Level::Info, $d($arg)+)
+                    );
+                }
+
+                /// Fallible version of `info!`.
+                #[cfg(not(all(any(feature = "log-all", feature = "log-info"), not(feature = "log-none"))))]
+                #[macro_use] #[macro_export]
+                macro_rules! try_info {
+
+                    // (target: $target:expr, $d($arg:tt)+) => ( core::result::Result::<(), ()>::Ok(()) );
+                    ($d($arg:tt)+) => ( core::result::Result::<(), ()>::Ok(()) );
+                }
+
+                /// Fallible version of `trace!`.
+                #[cfg(all(any(feature = "log-all", feature = "log-trace"), not(feature = "log-none")))]
+                #[macro_use] #[macro_export]
+                macro_rules! try_trace {
+
+                    (target: $target:expr, $d($arg:tt)+) => (
+                        $crate::try_log!(target: $target, $crate::Level::Trace, $d($arg)+)
+                    );
+
+                    ($d($arg:tt)+) => (
+                        $crate::try_log!($crate::Level::Trace, $d($arg)+)
+                    );
+                }
+
+                /// Fallible version of `trace!`.
+                #[cfg(not(all(any(feature = "log-all", feature = "log-trace"), not(feature = "log-none"))))]
+                #[macro_use] #[macro_export]
+                macro_rules! try_trace {
+
+                    (target: $target:expr, $d($arg:tt)+) => ( core::result::Result::<(), ()>::Ok(()) );
+                    ($d($arg:tt)+) => ( core::result::Result::<(), ()>::Ok(()) );
+                }
+
+                /// Fallible version of `warn!`.
+                #[cfg(all(any(feature = "log-all", feature = "log-warn"), not(feature = "log-none")))]
+                #[macro_use] #[macro_export]
+                macro_rules! try_warn {
+
+                    (target: $target:expr, $d($arg:tt)+) => (
+                        $crate::try_log!(target: $target, $crate::Level::Warn, $d($arg)+)
+                    );
+
+                    ($d($arg:tt)+) => (
+                        $crate::try_log!($crate::Level::Warn, $d($arg)+)
+                    );
+                }
+
+                /// Fallible version of `warn!`.
+                #[cfg(not(all(any(feature = "log-all", feature = "log-warn"), not(feature = "log-none"))))]
+                #[macro_use] #[macro_export]
+                macro_rules! try_warn {
+
+                    (target: $target:expr, $d($arg:tt)+) => ( core::result::Result::<(), ()>::Ok(()) );
+                    ($d($arg:tt)+) => ( core::result::Result::<(), ()>::Ok(()) );
+                }
+
+                #[cfg(not(feature = "log-none"))]
+                /// Local version of `log!`.
+                #[macro_use] #[macro_export]
+                macro_rules! log {
+                    (target: $target:expr, $d($arg:tt)+) => ( $crate::try_log!(target: $target, $d($arg)+).ok() );
+                    ($d($arg:tt)+) => ( $crate::try_log!($d($arg)+).ok() );
+                }
+
+                #[cfg(feature = "log-none")]
+                /// Local version of `log!`.
+                #[macro_use] #[macro_export]
+                macro_rules! log {
+                    ($d($arg:tt)+) => ( core::result::Result::<(), ()>::Ok(()) );
+                }
+
+                #[macro_use] #[macro_export]
+                /// Local version of `debug!`.
+                macro_rules! debug { ($d($arg:tt)+) => ( try_debug!($d($arg)+).ok() ); }
+
+                #[macro_use] #[macro_export]
+                /// Local version of `error!`.
+                macro_rules! error { ($d($arg:tt)+) => ( try_error!($d($arg)+).ok() ); }
+
+                #[macro_use] #[macro_export]
+                /// Local version of `info!`.
+                macro_rules! info { ($d($arg:tt)+) => ( try_info!($d($arg)+).ok() ); }
+
+                #[macro_use] #[macro_export]
+                /// Local version of `trace!`.
+                macro_rules! trace { ($d($arg:tt)+) => ( $try_trace!($d($arg)+).ok() ); }
+
+                #[macro_use] #[macro_export]
+                /// Local version of `warn!`.
+                macro_rules! warn { ($d($arg:tt)+) => ( try_warn!($d($arg)+).ok() ); }
+
+                #[macro_use] #[macro_export]
+                /// Immediate version of `log!`.
+                macro_rules! log_now {
+                    ($lvl:expr, $d($arg:tt)+) => ( log!(target: "!", $lvl, $d($arg)+) );
+                }
+
+                #[macro_use] #[macro_export]
+                /// Immediate version of `debug!`.
+                macro_rules! debug_now { ($d($arg:tt)+) => ( debug!(target: "!", $d($arg)+) ); }
+
+                #[macro_use] #[macro_export]
+                /// Immediate version of `error!`.
+                macro_rules! error_now { ($d($arg:tt)+) => ( error!(target: "!", $d($arg)+) ); }
+
+                #[macro_use] #[macro_export]
+                /// Immediate version of `info!`.
+                macro_rules! info_now { ($d($arg:tt)+) => ( info!(target: "!", $d($arg)+) ); }
+
+                #[macro_use] #[macro_export]
+                /// Immediate version of `trace!`.
+                macro_rules! trace_now { ($d($arg:tt)+) => ( trace!(target: "!", $d($arg)+) ); }
+
+                #[macro_use] #[macro_export]
+                /// Immediate version of `warn!`.
+                macro_rules! warn_now { ($d($arg:tt)+) => ( warn!(target: "!", $d($arg)+) ); }
+
+                #[macro_use] #[macro_export]
+                /// Fallible immediate version of `log!`.
+                macro_rules! try_log_now {
+                    ($lvl:expr, $d($arg:tt)+) => ( try_log!(target: "!", $lvl, $d($arg)+) );
+                }
+
+                #[macro_use] #[macro_export]
+                /// Fallible immediate version of `debug!`.
+                macro_rules! try_debug_now { ($d($arg:tt)+) => ( try_debug!(target: "!", $d($arg)+) ); }
+
+                #[macro_use] #[macro_export]
+                /// Fallible immediate version of `error!`.
+                macro_rules! try_error_now { ($d($arg:tt)+) => ( try_error!(target: "!", $d($arg)+) ); }
+
+                #[macro_use] #[macro_export]
+                /// Fallible immediate version of `info!`.
+                macro_rules! try_info_now { ($d($arg:tt)+) => ( try_info!(target: "!", $d($arg)+) ); }
+
+                #[macro_use] #[macro_export]
+                /// Fallible immediate version of `trace!`.
+                macro_rules! try_trace_now { ($d($arg:tt)+) => ( try_trace!(target: "!", $d($arg)+) ); }
+
+                #[macro_use] #[macro_export]
+                /// Fallible immediate version of `warn!`.
+                macro_rules! try_warn_now { ($d($arg:tt)+) => ( try_warn!(target: "!", $d($arg)+) ); }
+
+            }
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/delog/render.rs.html b/src/delog/render.rs.html new file mode 100644 index 0000000..3625d96 --- /dev/null +++ b/src/delog/render.rs.html @@ -0,0 +1,216 @@ +render.rs - source + +
  1
+  2
+  3
+  4
+  5
+  6
+  7
+  8
+  9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+
+//! The default, minimal renderer, and some helper functions.
+
+use core::{cmp, fmt};
+
+/// For some reason, there seems to be no existing method to easily render
+/// fmt::Arguments in a pre-allocated byte array.
+///
+/// That is what this does.
+pub fn render_arguments<'a>(buf: &'a mut [u8], args: fmt::Arguments) -> &'a [u8] {
+    let mut writer = WriteTo::new(buf);
+    core::fmt::write(&mut writer, args).ok();
+    writer.endl();
+    let used = writer.used;
+    &buf[..used]
+}
+
+/// Render record, based on feature flags.
+pub fn render_record<'a>(buf: &'a mut [u8], record: &log::Record) -> &'a [u8] {
+    if cfg!(feature = "prefix-level") {
+        match (record.file(), record.line()) {
+            (Some(file), Some(line)) => render_arguments(buf,
+                     format_args!("{}|{}|{}:{}: {}", record.level(), record.target(), file, line, record.args())),
+            _ => render_arguments(buf,
+                     format_args!("{}|{}: {}", record.level(), record.target(), record.args())),
+        }
+    } else {
+        render_arguments(buf, *record.args())
+    }
+}
+
+// I don't get it, why isn't this implemented already?
+struct WriteTo<'a> {
+    buffer: &'a mut [u8],
+    // on write error (i.e. not enough space in buffer) this grows beyond
+    // `buffer.len()`.
+    used: usize,
+}
+
+impl<'a> WriteTo<'a> {
+    pub fn new(buffer: &'a mut [u8]) -> Self {
+        WriteTo { buffer, used: 0 }
+    }
+
+    pub fn endl(&mut self) {
+        self.buffer[self.used] = b'\n';
+        self.used += 1;
+    }
+}
+
+impl<'a> core::fmt::Write for WriteTo<'a> {
+    fn write_str(&mut self, s: &str) -> fmt::Result {
+        if self.used > self.buffer.len() {
+            return Err(fmt::Error);
+        }
+        let remaining_buf = &mut self.buffer[self.used..];
+        let raw_s = s.as_bytes();
+        let write_num = cmp::min(raw_s.len(), remaining_buf.len());
+        remaining_buf[..write_num].copy_from_slice(&raw_s[..write_num]);
+        self.used += raw_s.len();
+        if write_num < raw_s.len() {
+            Err(fmt::Error)
+        } else {
+            Ok(())
+        }
+    }
+}
+
+use crate::Renderer;
+
+#[derive(Clone, Copy)]
+/// Renders just the `record.args()`.
+pub struct DefaultRenderer {}
+
+/// The default, minimal renderer.
+pub fn default() -> &'static DefaultRenderer {
+    static RENDERER: DefaultRenderer = DefaultRenderer {};
+    &RENDERER
+}
+
+
+impl Renderer for DefaultRenderer {
+    fn render<'a>(&self, buf: &'a mut [u8], record: &log::Record) -> &'a [u8] {
+        render_arguments(buf, *record.args())
+    }
+}
+
+unsafe impl Send for DefaultRenderer {}
+unsafe impl Sync for DefaultRenderer {}
+
+#[derive(Clone, Copy)]
+/// Renders the `record.args()`, prefixed by level, target, and file, line if they are some.
+pub struct RipgrepRenderer {}
+
+impl Renderer for RipgrepRenderer {
+    fn render<'a>(&self, buf: &'a mut [u8], record: &log::Record) -> &'a [u8] {
+        match (record.file(), record.line()) {
+            (Some(file), Some(line)) => render_arguments(buf,
+                 format_args!("{}|{}|{}:{}: {}", record.level(), record.target(), file, line, record.args())),
+            (Some(file), None) => render_arguments(buf,
+                 format_args!("{}|{}|{}: {}", record.level(), record.target(), file, record.args())),
+            _ => render_arguments(buf,
+                 format_args!("{}|{}: {}", record.level(), record.target(), record.args())),
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/flexiber/lib.rs.html b/src/flexiber/lib.rs.html index 6fe7bef..2b035ca 100644 --- a/src/flexiber/lib.rs.html +++ b/src/flexiber/lib.rs.html @@ -61,6 +61,10 @@ 58 59 60 +61 +62 +63 +64
 //! # flexiber
 //!
@@ -87,6 +91,10 @@
 #[cfg(feature = "alloc")]
 extern crate alloc;
 
+#[macro_use]
+extern crate delog;
+generate_macros!();
+
 #[cfg(feature = "derive")]
 pub use flexiber_derive::{Decodable, Encodable};
 
diff --git a/src/flexiber/traits.rs.html b/src/flexiber/traits.rs.html
index e4d8714..c792944 100644
--- a/src/flexiber/traits.rs.html
+++ b/src/flexiber/traits.rs.html
@@ -627,6 +627,30 @@
 624
 625
 626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
 
 // pub use der::{Decodable, Encodable};
 //! Trait definitions
@@ -672,12 +696,16 @@
     }
 }
 
+/// This implementation is quite gotcha-y, since only one byte is peeked.
+///
+/// It should evaluate to the desired tag via `Tag::try_from(byte)?`.
 impl<'a, T> Decodable<'a> for Option<T>
 where
     T: Decodable<'a> + Tagged,
 {
     fn decode(decoder: &mut Decoder<'a>) -> Result<Option<T>> {
         if let Some(byte) = decoder.peek() {
+            debug_now!("comparing {} against {} interpreted as {}", &T::tag(), byte, Tag::try_from(byte)?);
             if T::tag() == Tag::try_from(byte)? {
                 return T::decode(decoder).map(Some);
             }
@@ -899,10 +927,30 @@
     }
 }
 
-impl Encodable for Option<&[u8]> {
+// impl Encodable for Option<&[u8]> {
+//     fn encoded_length(&self) -> Result<Length> {
+//         match self {
+//             Some(slice) => slice.encoded_length(),
+//             None => Ok(Length::zero()),
+//         }
+//     }
+
+//     /// Encode this value as BER-TLV using the provided [`Encoder`].
+//     fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()> {
+//         match self {
+//             Some(slice) => encoder.bytes(slice),
+//             None => Ok(())
+//         }
+//     }
+// }
+
+impl<T> Encodable for Option<T>
+where
+    T: Encodable
+{
     fn encoded_length(&self) -> Result<Length> {
         match self {
-            Some(slice) => slice.encoded_length(),
+            Some(t) => t.encoded_length(),
             None => Ok(Length::zero()),
         }
     }
@@ -910,7 +958,7 @@
     /// Encode this value as BER-TLV using the provided [`Encoder`].
     fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()> {
         match self {
-            Some(slice) => encoder.bytes(slice),
+            Some(t) => t.encode(encoder),
             None => Ok(())
         }
     }
diff --git a/src/log/lib.rs.html b/src/log/lib.rs.html
new file mode 100644
index 0000000..c4629a0
--- /dev/null
+++ b/src/log/lib.rs.html
@@ -0,0 +1,3554 @@
+lib.rs - source
   1
+   2
+   3
+   4
+   5
+   6
+   7
+   8
+   9
+  10
+  11
+  12
+  13
+  14
+  15
+  16
+  17
+  18
+  19
+  20
+  21
+  22
+  23
+  24
+  25
+  26
+  27
+  28
+  29
+  30
+  31
+  32
+  33
+  34
+  35
+  36
+  37
+  38
+  39
+  40
+  41
+  42
+  43
+  44
+  45
+  46
+  47
+  48
+  49
+  50
+  51
+  52
+  53
+  54
+  55
+  56
+  57
+  58
+  59
+  60
+  61
+  62
+  63
+  64
+  65
+  66
+  67
+  68
+  69
+  70
+  71
+  72
+  73
+  74
+  75
+  76
+  77
+  78
+  79
+  80
+  81
+  82
+  83
+  84
+  85
+  86
+  87
+  88
+  89
+  90
+  91
+  92
+  93
+  94
+  95
+  96
+  97
+  98
+  99
+ 100
+ 101
+ 102
+ 103
+ 104
+ 105
+ 106
+ 107
+ 108
+ 109
+ 110
+ 111
+ 112
+ 113
+ 114
+ 115
+ 116
+ 117
+ 118
+ 119
+ 120
+ 121
+ 122
+ 123
+ 124
+ 125
+ 126
+ 127
+ 128
+ 129
+ 130
+ 131
+ 132
+ 133
+ 134
+ 135
+ 136
+ 137
+ 138
+ 139
+ 140
+ 141
+ 142
+ 143
+ 144
+ 145
+ 146
+ 147
+ 148
+ 149
+ 150
+ 151
+ 152
+ 153
+ 154
+ 155
+ 156
+ 157
+ 158
+ 159
+ 160
+ 161
+ 162
+ 163
+ 164
+ 165
+ 166
+ 167
+ 168
+ 169
+ 170
+ 171
+ 172
+ 173
+ 174
+ 175
+ 176
+ 177
+ 178
+ 179
+ 180
+ 181
+ 182
+ 183
+ 184
+ 185
+ 186
+ 187
+ 188
+ 189
+ 190
+ 191
+ 192
+ 193
+ 194
+ 195
+ 196
+ 197
+ 198
+ 199
+ 200
+ 201
+ 202
+ 203
+ 204
+ 205
+ 206
+ 207
+ 208
+ 209
+ 210
+ 211
+ 212
+ 213
+ 214
+ 215
+ 216
+ 217
+ 218
+ 219
+ 220
+ 221
+ 222
+ 223
+ 224
+ 225
+ 226
+ 227
+ 228
+ 229
+ 230
+ 231
+ 232
+ 233
+ 234
+ 235
+ 236
+ 237
+ 238
+ 239
+ 240
+ 241
+ 242
+ 243
+ 244
+ 245
+ 246
+ 247
+ 248
+ 249
+ 250
+ 251
+ 252
+ 253
+ 254
+ 255
+ 256
+ 257
+ 258
+ 259
+ 260
+ 261
+ 262
+ 263
+ 264
+ 265
+ 266
+ 267
+ 268
+ 269
+ 270
+ 271
+ 272
+ 273
+ 274
+ 275
+ 276
+ 277
+ 278
+ 279
+ 280
+ 281
+ 282
+ 283
+ 284
+ 285
+ 286
+ 287
+ 288
+ 289
+ 290
+ 291
+ 292
+ 293
+ 294
+ 295
+ 296
+ 297
+ 298
+ 299
+ 300
+ 301
+ 302
+ 303
+ 304
+ 305
+ 306
+ 307
+ 308
+ 309
+ 310
+ 311
+ 312
+ 313
+ 314
+ 315
+ 316
+ 317
+ 318
+ 319
+ 320
+ 321
+ 322
+ 323
+ 324
+ 325
+ 326
+ 327
+ 328
+ 329
+ 330
+ 331
+ 332
+ 333
+ 334
+ 335
+ 336
+ 337
+ 338
+ 339
+ 340
+ 341
+ 342
+ 343
+ 344
+ 345
+ 346
+ 347
+ 348
+ 349
+ 350
+ 351
+ 352
+ 353
+ 354
+ 355
+ 356
+ 357
+ 358
+ 359
+ 360
+ 361
+ 362
+ 363
+ 364
+ 365
+ 366
+ 367
+ 368
+ 369
+ 370
+ 371
+ 372
+ 373
+ 374
+ 375
+ 376
+ 377
+ 378
+ 379
+ 380
+ 381
+ 382
+ 383
+ 384
+ 385
+ 386
+ 387
+ 388
+ 389
+ 390
+ 391
+ 392
+ 393
+ 394
+ 395
+ 396
+ 397
+ 398
+ 399
+ 400
+ 401
+ 402
+ 403
+ 404
+ 405
+ 406
+ 407
+ 408
+ 409
+ 410
+ 411
+ 412
+ 413
+ 414
+ 415
+ 416
+ 417
+ 418
+ 419
+ 420
+ 421
+ 422
+ 423
+ 424
+ 425
+ 426
+ 427
+ 428
+ 429
+ 430
+ 431
+ 432
+ 433
+ 434
+ 435
+ 436
+ 437
+ 438
+ 439
+ 440
+ 441
+ 442
+ 443
+ 444
+ 445
+ 446
+ 447
+ 448
+ 449
+ 450
+ 451
+ 452
+ 453
+ 454
+ 455
+ 456
+ 457
+ 458
+ 459
+ 460
+ 461
+ 462
+ 463
+ 464
+ 465
+ 466
+ 467
+ 468
+ 469
+ 470
+ 471
+ 472
+ 473
+ 474
+ 475
+ 476
+ 477
+ 478
+ 479
+ 480
+ 481
+ 482
+ 483
+ 484
+ 485
+ 486
+ 487
+ 488
+ 489
+ 490
+ 491
+ 492
+ 493
+ 494
+ 495
+ 496
+ 497
+ 498
+ 499
+ 500
+ 501
+ 502
+ 503
+ 504
+ 505
+ 506
+ 507
+ 508
+ 509
+ 510
+ 511
+ 512
+ 513
+ 514
+ 515
+ 516
+ 517
+ 518
+ 519
+ 520
+ 521
+ 522
+ 523
+ 524
+ 525
+ 526
+ 527
+ 528
+ 529
+ 530
+ 531
+ 532
+ 533
+ 534
+ 535
+ 536
+ 537
+ 538
+ 539
+ 540
+ 541
+ 542
+ 543
+ 544
+ 545
+ 546
+ 547
+ 548
+ 549
+ 550
+ 551
+ 552
+ 553
+ 554
+ 555
+ 556
+ 557
+ 558
+ 559
+ 560
+ 561
+ 562
+ 563
+ 564
+ 565
+ 566
+ 567
+ 568
+ 569
+ 570
+ 571
+ 572
+ 573
+ 574
+ 575
+ 576
+ 577
+ 578
+ 579
+ 580
+ 581
+ 582
+ 583
+ 584
+ 585
+ 586
+ 587
+ 588
+ 589
+ 590
+ 591
+ 592
+ 593
+ 594
+ 595
+ 596
+ 597
+ 598
+ 599
+ 600
+ 601
+ 602
+ 603
+ 604
+ 605
+ 606
+ 607
+ 608
+ 609
+ 610
+ 611
+ 612
+ 613
+ 614
+ 615
+ 616
+ 617
+ 618
+ 619
+ 620
+ 621
+ 622
+ 623
+ 624
+ 625
+ 626
+ 627
+ 628
+ 629
+ 630
+ 631
+ 632
+ 633
+ 634
+ 635
+ 636
+ 637
+ 638
+ 639
+ 640
+ 641
+ 642
+ 643
+ 644
+ 645
+ 646
+ 647
+ 648
+ 649
+ 650
+ 651
+ 652
+ 653
+ 654
+ 655
+ 656
+ 657
+ 658
+ 659
+ 660
+ 661
+ 662
+ 663
+ 664
+ 665
+ 666
+ 667
+ 668
+ 669
+ 670
+ 671
+ 672
+ 673
+ 674
+ 675
+ 676
+ 677
+ 678
+ 679
+ 680
+ 681
+ 682
+ 683
+ 684
+ 685
+ 686
+ 687
+ 688
+ 689
+ 690
+ 691
+ 692
+ 693
+ 694
+ 695
+ 696
+ 697
+ 698
+ 699
+ 700
+ 701
+ 702
+ 703
+ 704
+ 705
+ 706
+ 707
+ 708
+ 709
+ 710
+ 711
+ 712
+ 713
+ 714
+ 715
+ 716
+ 717
+ 718
+ 719
+ 720
+ 721
+ 722
+ 723
+ 724
+ 725
+ 726
+ 727
+ 728
+ 729
+ 730
+ 731
+ 732
+ 733
+ 734
+ 735
+ 736
+ 737
+ 738
+ 739
+ 740
+ 741
+ 742
+ 743
+ 744
+ 745
+ 746
+ 747
+ 748
+ 749
+ 750
+ 751
+ 752
+ 753
+ 754
+ 755
+ 756
+ 757
+ 758
+ 759
+ 760
+ 761
+ 762
+ 763
+ 764
+ 765
+ 766
+ 767
+ 768
+ 769
+ 770
+ 771
+ 772
+ 773
+ 774
+ 775
+ 776
+ 777
+ 778
+ 779
+ 780
+ 781
+ 782
+ 783
+ 784
+ 785
+ 786
+ 787
+ 788
+ 789
+ 790
+ 791
+ 792
+ 793
+ 794
+ 795
+ 796
+ 797
+ 798
+ 799
+ 800
+ 801
+ 802
+ 803
+ 804
+ 805
+ 806
+ 807
+ 808
+ 809
+ 810
+ 811
+ 812
+ 813
+ 814
+ 815
+ 816
+ 817
+ 818
+ 819
+ 820
+ 821
+ 822
+ 823
+ 824
+ 825
+ 826
+ 827
+ 828
+ 829
+ 830
+ 831
+ 832
+ 833
+ 834
+ 835
+ 836
+ 837
+ 838
+ 839
+ 840
+ 841
+ 842
+ 843
+ 844
+ 845
+ 846
+ 847
+ 848
+ 849
+ 850
+ 851
+ 852
+ 853
+ 854
+ 855
+ 856
+ 857
+ 858
+ 859
+ 860
+ 861
+ 862
+ 863
+ 864
+ 865
+ 866
+ 867
+ 868
+ 869
+ 870
+ 871
+ 872
+ 873
+ 874
+ 875
+ 876
+ 877
+ 878
+ 879
+ 880
+ 881
+ 882
+ 883
+ 884
+ 885
+ 886
+ 887
+ 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+1156
+1157
+1158
+1159
+1160
+1161
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1217
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1231
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288
+1289
+1290
+1291
+1292
+1293
+1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
+1302
+1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
+1314
+1315
+1316
+1317
+1318
+1319
+1320
+1321
+1322
+1323
+1324
+1325
+1326
+1327
+1328
+1329
+1330
+1331
+1332
+1333
+1334
+1335
+1336
+1337
+1338
+1339
+1340
+1341
+1342
+1343
+1344
+1345
+1346
+1347
+1348
+1349
+1350
+1351
+1352
+1353
+1354
+1355
+1356
+1357
+1358
+1359
+1360
+1361
+1362
+1363
+1364
+1365
+1366
+1367
+1368
+1369
+1370
+1371
+1372
+1373
+1374
+1375
+1376
+1377
+1378
+1379
+1380
+1381
+1382
+1383
+1384
+1385
+1386
+1387
+1388
+1389
+1390
+1391
+1392
+1393
+1394
+1395
+1396
+1397
+1398
+1399
+1400
+1401
+1402
+1403
+1404
+1405
+1406
+1407
+1408
+1409
+1410
+1411
+1412
+1413
+1414
+1415
+1416
+1417
+1418
+1419
+1420
+1421
+1422
+1423
+1424
+1425
+1426
+1427
+1428
+1429
+1430
+1431
+1432
+1433
+1434
+1435
+1436
+1437
+1438
+1439
+1440
+1441
+1442
+1443
+1444
+1445
+1446
+1447
+1448
+1449
+1450
+1451
+1452
+1453
+1454
+1455
+1456
+1457
+1458
+1459
+1460
+1461
+1462
+1463
+1464
+1465
+1466
+1467
+1468
+1469
+1470
+1471
+1472
+1473
+1474
+1475
+1476
+1477
+1478
+1479
+1480
+1481
+1482
+1483
+1484
+1485
+1486
+1487
+1488
+1489
+1490
+1491
+1492
+1493
+1494
+1495
+1496
+1497
+1498
+1499
+1500
+1501
+1502
+1503
+1504
+1505
+1506
+1507
+1508
+1509
+1510
+1511
+1512
+1513
+1514
+1515
+1516
+1517
+1518
+1519
+1520
+1521
+1522
+1523
+1524
+1525
+1526
+1527
+1528
+1529
+1530
+1531
+1532
+1533
+1534
+1535
+1536
+1537
+1538
+1539
+1540
+1541
+1542
+1543
+1544
+1545
+1546
+1547
+1548
+1549
+1550
+1551
+1552
+1553
+1554
+1555
+1556
+1557
+1558
+1559
+1560
+1561
+1562
+1563
+1564
+1565
+1566
+1567
+1568
+1569
+1570
+1571
+1572
+1573
+1574
+1575
+1576
+1577
+1578
+1579
+1580
+1581
+1582
+1583
+1584
+1585
+1586
+1587
+1588
+1589
+1590
+1591
+1592
+1593
+1594
+1595
+1596
+1597
+1598
+1599
+1600
+1601
+1602
+1603
+1604
+1605
+1606
+1607
+1608
+1609
+1610
+1611
+1612
+1613
+1614
+1615
+1616
+1617
+1618
+1619
+1620
+1621
+1622
+1623
+1624
+1625
+1626
+1627
+1628
+1629
+1630
+1631
+1632
+1633
+1634
+1635
+1636
+1637
+1638
+1639
+1640
+1641
+1642
+1643
+1644
+1645
+1646
+1647
+1648
+1649
+1650
+1651
+1652
+1653
+1654
+1655
+1656
+1657
+1658
+1659
+1660
+1661
+1662
+1663
+1664
+1665
+1666
+1667
+1668
+1669
+1670
+1671
+1672
+1673
+1674
+1675
+1676
+1677
+1678
+1679
+1680
+1681
+1682
+1683
+1684
+1685
+1686
+1687
+1688
+1689
+1690
+1691
+1692
+1693
+1694
+1695
+1696
+1697
+1698
+1699
+1700
+1701
+1702
+1703
+1704
+1705
+1706
+1707
+1708
+1709
+1710
+1711
+1712
+1713
+1714
+1715
+1716
+1717
+1718
+1719
+1720
+1721
+1722
+1723
+1724
+1725
+1726
+1727
+1728
+1729
+1730
+1731
+1732
+1733
+1734
+1735
+1736
+1737
+1738
+1739
+1740
+1741
+1742
+1743
+1744
+1745
+1746
+1747
+1748
+1749
+1750
+1751
+1752
+1753
+1754
+1755
+1756
+1757
+1758
+1759
+1760
+1761
+1762
+1763
+1764
+1765
+1766
+1767
+1768
+1769
+1770
+1771
+1772
+1773
+1774
+1775
+
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! A lightweight logging facade.
+//!
+//! The `log` crate provides a single logging API that abstracts over the
+//! actual logging implementation. Libraries can use the logging API provided
+//! by this crate, and the consumer of those libraries can choose the logging
+//! implementation that is most suitable for its use case.
+//!
+//! If no logging implementation is selected, the facade falls back to a "noop"
+//! implementation that ignores all log messages. The overhead in this case
+//! is very small - just an integer load, comparison and jump.
+//!
+//! A log request consists of a _target_, a _level_, and a _body_. A target is a
+//! string which defaults to the module path of the location of the log request,
+//! though that default may be overridden. Logger implementations typically use
+//! the target to filter requests based on some user configuration.
+//!
+//! # Use
+//!
+//! The basic use of the log crate is through the five logging macros: [`error!`],
+//! [`warn!`], [`info!`], [`debug!`] and [`trace!`]
+//! where `error!` represents the highest-priority log messages
+//! and `trace!` the lowest. The log messages are filtered by configuring
+//! the log level to exclude messages with a lower priority.
+//! Each of these macros accept format strings similarly to [`println!`].
+//!
+//!
+//! [`error!`]: ./macro.error.html
+//! [`warn!`]: ./macro.warn.html
+//! [`info!`]: ./macro.info.html
+//! [`debug!`]: ./macro.debug.html
+//! [`trace!`]: ./macro.trace.html
+//! [`println!`]: https://doc.rust-lang.org/stable/std/macro.println.html
+//!
+//! ## In libraries
+//!
+//! Libraries should link only to the `log` crate, and use the provided
+//! macros to log whatever information will be useful to downstream consumers.
+//!
+//! ### Examples
+//!
+//! ```edition2018
+//! # #[derive(Debug)] pub struct Yak(String);
+//! # impl Yak { fn shave(&mut self, _: u32) {} }
+//! # fn find_a_razor() -> Result<u32, u32> { Ok(1) }
+//! use log::{info, warn};
+//!
+//! pub fn shave_the_yak(yak: &mut Yak) {
+//!     info!(target: "yak_events", "Commencing yak shaving for {:?}", yak);
+//!
+//!     loop {
+//!         match find_a_razor() {
+//!             Ok(razor) => {
+//!                 info!("Razor located: {}", razor);
+//!                 yak.shave(razor);
+//!                 break;
+//!             }
+//!             Err(err) => {
+//!                 warn!("Unable to locate a razor: {}, retrying", err);
+//!             }
+//!         }
+//!     }
+//! }
+//! # fn main() {}
+//! ```
+//!
+//! ## In executables
+//!
+//! Executables should choose a logging implementation and initialize it early in the
+//! runtime of the program. Logging implementations will typically include a
+//! function to do this. Any log messages generated before
+//! the implementation is initialized will be ignored.
+//!
+//! The executable itself may use the `log` crate to log as well.
+//!
+//! ### Warning
+//!
+//! The logging system may only be initialized once.
+//!
+//! # Available logging implementations
+//!
+//! In order to produce log output executables have to use
+//! a logger implementation compatible with the facade.
+//! There are many available implementations to choose from,
+//! here are some of the most popular ones:
+//!
+//! * Simple minimal loggers:
+//!     * [env_logger]
+//!     * [simple_logger]
+//!     * [simplelog]
+//!     * [pretty_env_logger]
+//!     * [stderrlog]
+//!     * [flexi_logger]
+//! * Complex configurable frameworks:
+//!     * [log4rs]
+//!     * [fern]
+//! * Adaptors for other facilities:
+//!     * [syslog]
+//!     * [slog-stdlog]
+//!
+//! # Implementing a Logger
+//!
+//! Loggers implement the [`Log`] trait. Here's a very basic example that simply
+//! logs all messages at the [`Error`][level_link], [`Warn`][level_link] or
+//! [`Info`][level_link] levels to stdout:
+//!
+//! ```edition2018
+//! use log::{Record, Level, Metadata};
+//!
+//! struct SimpleLogger;
+//!
+//! impl log::Log for SimpleLogger {
+//!     fn enabled(&self, metadata: &Metadata) -> bool {
+//!         metadata.level() <= Level::Info
+//!     }
+//!
+//!     fn log(&self, record: &Record) {
+//!         if self.enabled(record.metadata()) {
+//!             println!("{} - {}", record.level(), record.args());
+//!         }
+//!     }
+//!
+//!     fn flush(&self) {}
+//! }
+//!
+//! # fn main() {}
+//! ```
+//!
+//! Loggers are installed by calling the [`set_logger`] function. The maximum
+//! log level also needs to be adjusted via the [`set_max_level`] function. The
+//! logging facade uses this as an optimization to improve performance of log
+//! messages at levels that are disabled. It's important to set it, as it
+//! defaults to [`Off`][filter_link], so no log messages will ever be captured!
+//! In the case of our example logger, we'll want to set the maximum log level
+//! to [`Info`][filter_link], since we ignore any [`Debug`][level_link] or
+//! [`Trace`][level_link] level log messages. A logging implementation should
+//! provide a function that wraps a call to [`set_logger`] and
+//! [`set_max_level`], handling initialization of the logger:
+//!
+//! ```edition2018
+//! # use log::{Level, Metadata};
+//! # struct SimpleLogger;
+//! # impl log::Log for SimpleLogger {
+//! #   fn enabled(&self, _: &Metadata) -> bool { false }
+//! #   fn log(&self, _: &log::Record) {}
+//! #   fn flush(&self) {}
+//! # }
+//! # fn main() {}
+//! use log::{SetLoggerError, LevelFilter};
+//!
+//! static LOGGER: SimpleLogger = SimpleLogger;
+//!
+//! pub fn init() -> Result<(), SetLoggerError> {
+//!     log::set_logger(&LOGGER)
+//!         .map(|()| log::set_max_level(LevelFilter::Info))
+//! }
+//! ```
+//!
+//! Implementations that adjust their configurations at runtime should take care
+//! to adjust the maximum log level as well.
+//!
+//! # Use with `std`
+//!
+//! `set_logger` requires you to provide a `&'static Log`, which can be hard to
+//! obtain if your logger depends on some runtime configuration. The
+//! `set_boxed_logger` function is available with the `std` Cargo feature. It is
+//! identical to `set_logger` except that it takes a `Box<Log>` rather than a
+//! `&'static Log`:
+//!
+//! ```edition2018
+//! # use log::{Level, LevelFilter, Log, SetLoggerError, Metadata};
+//! # struct SimpleLogger;
+//! # impl log::Log for SimpleLogger {
+//! #   fn enabled(&self, _: &Metadata) -> bool { false }
+//! #   fn log(&self, _: &log::Record) {}
+//! #   fn flush(&self) {}
+//! # }
+//! # fn main() {}
+//! # #[cfg(feature = "std")]
+//! pub fn init() -> Result<(), SetLoggerError> {
+//!     log::set_boxed_logger(Box::new(SimpleLogger))
+//!         .map(|()| log::set_max_level(LevelFilter::Info))
+//! }
+//! ```
+//!
+//! # Compile time filters
+//!
+//! Log levels can be statically disabled at compile time via Cargo features. Log invocations at
+//! disabled levels will be skipped and will not even be present in the resulting binary.
+//! This level is configured separately for release and debug builds. The features are:
+//!
+//! * `max_level_off`
+//! * `max_level_error`
+//! * `max_level_warn`
+//! * `max_level_info`
+//! * `max_level_debug`
+//! * `max_level_trace`
+//! * `release_max_level_off`
+//! * `release_max_level_error`
+//! * `release_max_level_warn`
+//! * `release_max_level_info`
+//! * `release_max_level_debug`
+//! * `release_max_level_trace`
+//!
+//! These features control the value of the `STATIC_MAX_LEVEL` constant. The logging macros check
+//! this value before logging a message. By default, no levels are disabled.
+//!
+//! Libraries should avoid using the max level features because they're global and can't be changed
+//! once they're set.
+//!
+//! For example, a crate can disable trace level logs in debug builds and trace, debug, and info
+//! level logs in release builds with the following configuration:
+//!
+//! ```toml
+//! [dependencies]
+//! log = { version = "0.4", features = ["max_level_debug", "release_max_level_warn"] }
+//! ```
+//! # Crate Feature Flags
+//!
+//! The following crate feature flags are available in addition to the filters. They are
+//! configured in your `Cargo.toml`.
+//!
+//! * `std` allows use of `std` crate instead of the default `core`. Enables using `std::error` and
+//! `set_boxed_logger` functionality.
+//! * `serde` enables support for serialization and deserialization of `Level` and `LevelFilter`.
+//!
+//! ```toml
+//! [dependencies]
+//! log = { version = "0.4", features = ["std", "serde"] }
+//! ```
+//!
+//! # Version compatibility
+//!
+//! The 0.3 and 0.4 versions of the `log` crate are almost entirely compatible. Log messages
+//! made using `log` 0.3 will forward transparently to a logger implementation using `log` 0.4. Log
+//! messages made using `log` 0.4 will forward to a logger implementation using `log` 0.3, but the
+//! module path and file name information associated with the message will unfortunately be lost.
+//!
+//! [`Log`]: trait.Log.html
+//! [level_link]: enum.Level.html
+//! [filter_link]: enum.LevelFilter.html
+//! [`set_logger`]: fn.set_logger.html
+//! [`set_max_level`]: fn.set_max_level.html
+//! [`try_set_logger_raw`]: fn.try_set_logger_raw.html
+//! [`shutdown_logger_raw`]: fn.shutdown_logger_raw.html
+//! [env_logger]: https://docs.rs/env_logger/*/env_logger/
+//! [simple_logger]: https://github.com/borntyping/rust-simple_logger
+//! [simplelog]: https://github.com/drakulix/simplelog.rs
+//! [pretty_env_logger]: https://docs.rs/pretty_env_logger/*/pretty_env_logger/
+//! [stderrlog]: https://docs.rs/stderrlog/*/stderrlog/
+//! [flexi_logger]: https://docs.rs/flexi_logger/*/flexi_logger/
+//! [syslog]: https://docs.rs/syslog/*/syslog/
+//! [slog-stdlog]: https://docs.rs/slog-stdlog/*/slog_stdlog/
+//! [log4rs]: https://docs.rs/log4rs/*/log4rs/
+//! [fern]: https://docs.rs/fern/*/fern/
+
+#![doc(
+    html_logo_url = "https://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
+    html_favicon_url = "https://www.rust-lang.org/favicon.ico",
+    html_root_url = "https://docs.rs/log/0.4.14"
+)]
+#![warn(missing_docs)]
+#![deny(missing_debug_implementations)]
+#![cfg_attr(all(not(feature = "std"), not(test)), no_std)]
+// When compiled for the rustc compiler itself we want to make sure that this is
+// an unstable crate
+#![cfg_attr(rustbuild, feature(staged_api, rustc_private))]
+#![cfg_attr(rustbuild, unstable(feature = "rustc_private", issue = "27812"))]
+
+#[cfg(all(not(feature = "std"), not(test)))]
+extern crate core as std;
+
+#[macro_use]
+extern crate cfg_if;
+
+use std::cmp;
+#[cfg(feature = "std")]
+use std::error;
+use std::fmt;
+use std::mem;
+use std::str::FromStr;
+
+#[macro_use]
+mod macros;
+mod serde;
+
+#[cfg(feature = "kv_unstable")]
+pub mod kv;
+
+#[cfg(has_atomics)]
+use std::sync::atomic::{AtomicUsize, Ordering};
+
+#[cfg(not(has_atomics))]
+use std::cell::Cell;
+#[cfg(not(has_atomics))]
+use std::sync::atomic::Ordering;
+
+#[cfg(not(has_atomics))]
+struct AtomicUsize {
+    v: Cell<usize>,
+}
+
+#[cfg(not(has_atomics))]
+impl AtomicUsize {
+    const fn new(v: usize) -> AtomicUsize {
+        AtomicUsize { v: Cell::new(v) }
+    }
+
+    fn load(&self, _order: Ordering) -> usize {
+        self.v.get()
+    }
+
+    fn store(&self, val: usize, _order: Ordering) {
+        self.v.set(val)
+    }
+
+    #[cfg(atomic_cas)]
+    fn compare_exchange(
+        &self,
+        current: usize,
+        new: usize,
+        _success: Ordering,
+        _failure: Ordering,
+    ) -> Result<usize, usize> {
+        let prev = self.v.get();
+        if current == prev {
+            self.v.set(new);
+        }
+        Ok(prev)
+    }
+}
+
+// Any platform without atomics is unlikely to have multiple cores, so
+// writing via Cell will not be a race condition.
+#[cfg(not(has_atomics))]
+unsafe impl Sync for AtomicUsize {}
+
+// The LOGGER static holds a pointer to the global logger. It is protected by
+// the STATE static which determines whether LOGGER has been initialized yet.
+static mut LOGGER: &dyn Log = &NopLogger;
+
+static STATE: AtomicUsize = AtomicUsize::new(0);
+
+// There are three different states that we care about: the logger's
+// uninitialized, the logger's initializing (set_logger's been called but
+// LOGGER hasn't actually been set yet), or the logger's active.
+const UNINITIALIZED: usize = 0;
+const INITIALIZING: usize = 1;
+const INITIALIZED: usize = 2;
+
+static MAX_LOG_LEVEL_FILTER: AtomicUsize = AtomicUsize::new(0);
+
+static LOG_LEVEL_NAMES: [&str; 6] = ["OFF", "ERROR", "WARN", "INFO", "DEBUG", "TRACE"];
+
+static SET_LOGGER_ERROR: &str = "attempted to set a logger after the logging system \
+                                 was already initialized";
+static LEVEL_PARSE_ERROR: &str =
+    "attempted to convert a string that doesn't match an existing log level";
+
+/// An enum representing the available verbosity levels of the logger.
+///
+/// Typical usage includes: checking if a certain `Level` is enabled with
+/// [`log_enabled!`](macro.log_enabled.html), specifying the `Level` of
+/// [`log!`](macro.log.html), and comparing a `Level` directly to a
+/// [`LevelFilter`](enum.LevelFilter.html).
+#[repr(usize)]
+#[derive(Copy, Eq, Debug, Hash)]
+pub enum Level {
+    /// The "error" level.
+    ///
+    /// Designates very serious errors.
+    // This way these line up with the discriminants for LevelFilter below
+    // This works because Rust treats field-less enums the same way as C does:
+    // https://doc.rust-lang.org/reference/items/enumerations.html#custom-discriminant-values-for-field-less-enumerations
+    Error = 1,
+    /// The "warn" level.
+    ///
+    /// Designates hazardous situations.
+    Warn,
+    /// The "info" level.
+    ///
+    /// Designates useful information.
+    Info,
+    /// The "debug" level.
+    ///
+    /// Designates lower priority information.
+    Debug,
+    /// The "trace" level.
+    ///
+    /// Designates very low priority, often extremely verbose, information.
+    Trace,
+}
+
+impl Clone for Level {
+    #[inline]
+    fn clone(&self) -> Level {
+        *self
+    }
+}
+
+impl PartialEq for Level {
+    #[inline]
+    fn eq(&self, other: &Level) -> bool {
+        *self as usize == *other as usize
+    }
+}
+
+impl PartialEq<LevelFilter> for Level {
+    #[inline]
+    fn eq(&self, other: &LevelFilter) -> bool {
+        *self as usize == *other as usize
+    }
+}
+
+impl PartialOrd for Level {
+    #[inline]
+    fn partial_cmp(&self, other: &Level) -> Option<cmp::Ordering> {
+        Some(self.cmp(other))
+    }
+
+    #[inline]
+    fn lt(&self, other: &Level) -> bool {
+        (*self as usize) < *other as usize
+    }
+
+    #[inline]
+    fn le(&self, other: &Level) -> bool {
+        *self as usize <= *other as usize
+    }
+
+    #[inline]
+    fn gt(&self, other: &Level) -> bool {
+        *self as usize > *other as usize
+    }
+
+    #[inline]
+    fn ge(&self, other: &Level) -> bool {
+        *self as usize >= *other as usize
+    }
+}
+
+impl PartialOrd<LevelFilter> for Level {
+    #[inline]
+    fn partial_cmp(&self, other: &LevelFilter) -> Option<cmp::Ordering> {
+        Some((*self as usize).cmp(&(*other as usize)))
+    }
+
+    #[inline]
+    fn lt(&self, other: &LevelFilter) -> bool {
+        (*self as usize) < *other as usize
+    }
+
+    #[inline]
+    fn le(&self, other: &LevelFilter) -> bool {
+        *self as usize <= *other as usize
+    }
+
+    #[inline]
+    fn gt(&self, other: &LevelFilter) -> bool {
+        *self as usize > *other as usize
+    }
+
+    #[inline]
+    fn ge(&self, other: &LevelFilter) -> bool {
+        *self as usize >= *other as usize
+    }
+}
+
+impl Ord for Level {
+    #[inline]
+    fn cmp(&self, other: &Level) -> cmp::Ordering {
+        (*self as usize).cmp(&(*other as usize))
+    }
+}
+
+fn ok_or<T, E>(t: Option<T>, e: E) -> Result<T, E> {
+    match t {
+        Some(t) => Ok(t),
+        None => Err(e),
+    }
+}
+
+// Reimplemented here because std::ascii is not available in libcore
+fn eq_ignore_ascii_case(a: &str, b: &str) -> bool {
+    fn to_ascii_uppercase(c: u8) -> u8 {
+        if c >= b'a' && c <= b'z' {
+            c - b'a' + b'A'
+        } else {
+            c
+        }
+    }
+
+    if a.len() == b.len() {
+        a.bytes()
+            .zip(b.bytes())
+            .all(|(a, b)| to_ascii_uppercase(a) == to_ascii_uppercase(b))
+    } else {
+        false
+    }
+}
+
+impl FromStr for Level {
+    type Err = ParseLevelError;
+    fn from_str(level: &str) -> Result<Level, Self::Err> {
+        ok_or(
+            LOG_LEVEL_NAMES
+                .iter()
+                .position(|&name| eq_ignore_ascii_case(name, level))
+                .into_iter()
+                .filter(|&idx| idx != 0)
+                .map(|idx| Level::from_usize(idx).unwrap())
+                .next(),
+            ParseLevelError(()),
+        )
+    }
+}
+
+impl fmt::Display for Level {
+    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
+        fmt.pad(self.as_str())
+    }
+}
+
+impl Level {
+    fn from_usize(u: usize) -> Option<Level> {
+        match u {
+            1 => Some(Level::Error),
+            2 => Some(Level::Warn),
+            3 => Some(Level::Info),
+            4 => Some(Level::Debug),
+            5 => Some(Level::Trace),
+            _ => None,
+        }
+    }
+
+    /// Returns the most verbose logging level.
+    #[inline]
+    pub fn max() -> Level {
+        Level::Trace
+    }
+
+    /// Converts the `Level` to the equivalent `LevelFilter`.
+    #[inline]
+    pub fn to_level_filter(&self) -> LevelFilter {
+        LevelFilter::from_usize(*self as usize).unwrap()
+    }
+
+    /// Returns the string representation of the `Level`.
+    ///
+    /// This returns the same string as the `fmt::Display` implementation.
+    pub fn as_str(&self) -> &'static str {
+        LOG_LEVEL_NAMES[*self as usize]
+    }
+}
+
+/// An enum representing the available verbosity level filters of the logger.
+///
+/// A `LevelFilter` may be compared directly to a [`Level`]. Use this type
+/// to get and set the maximum log level with [`max_level()`] and [`set_max_level`].
+///
+/// [`Level`]: enum.Level.html
+/// [`max_level()`]: fn.max_level.html
+/// [`set_max_level`]: fn.set_max_level.html
+#[repr(usize)]
+#[derive(Copy, Eq, Debug, Hash)]
+pub enum LevelFilter {
+    /// A level lower than all log levels.
+    Off,
+    /// Corresponds to the `Error` log level.
+    Error,
+    /// Corresponds to the `Warn` log level.
+    Warn,
+    /// Corresponds to the `Info` log level.
+    Info,
+    /// Corresponds to the `Debug` log level.
+    Debug,
+    /// Corresponds to the `Trace` log level.
+    Trace,
+}
+
+// Deriving generates terrible impls of these traits
+
+impl Clone for LevelFilter {
+    #[inline]
+    fn clone(&self) -> LevelFilter {
+        *self
+    }
+}
+
+impl PartialEq for LevelFilter {
+    #[inline]
+    fn eq(&self, other: &LevelFilter) -> bool {
+        *self as usize == *other as usize
+    }
+}
+
+impl PartialEq<Level> for LevelFilter {
+    #[inline]
+    fn eq(&self, other: &Level) -> bool {
+        other.eq(self)
+    }
+}
+
+impl PartialOrd for LevelFilter {
+    #[inline]
+    fn partial_cmp(&self, other: &LevelFilter) -> Option<cmp::Ordering> {
+        Some(self.cmp(other))
+    }
+
+    #[inline]
+    fn lt(&self, other: &LevelFilter) -> bool {
+        (*self as usize) < *other as usize
+    }
+
+    #[inline]
+    fn le(&self, other: &LevelFilter) -> bool {
+        *self as usize <= *other as usize
+    }
+
+    #[inline]
+    fn gt(&self, other: &LevelFilter) -> bool {
+        *self as usize > *other as usize
+    }
+
+    #[inline]
+    fn ge(&self, other: &LevelFilter) -> bool {
+        *self as usize >= *other as usize
+    }
+}
+
+impl PartialOrd<Level> for LevelFilter {
+    #[inline]
+    fn partial_cmp(&self, other: &Level) -> Option<cmp::Ordering> {
+        Some((*self as usize).cmp(&(*other as usize)))
+    }
+
+    #[inline]
+    fn lt(&self, other: &Level) -> bool {
+        (*self as usize) < *other as usize
+    }
+
+    #[inline]
+    fn le(&self, other: &Level) -> bool {
+        *self as usize <= *other as usize
+    }
+
+    #[inline]
+    fn gt(&self, other: &Level) -> bool {
+        *self as usize > *other as usize
+    }
+
+    #[inline]
+    fn ge(&self, other: &Level) -> bool {
+        *self as usize >= *other as usize
+    }
+}
+
+impl Ord for LevelFilter {
+    #[inline]
+    fn cmp(&self, other: &LevelFilter) -> cmp::Ordering {
+        (*self as usize).cmp(&(*other as usize))
+    }
+}
+
+impl FromStr for LevelFilter {
+    type Err = ParseLevelError;
+    fn from_str(level: &str) -> Result<LevelFilter, Self::Err> {
+        ok_or(
+            LOG_LEVEL_NAMES
+                .iter()
+                .position(|&name| eq_ignore_ascii_case(name, level))
+                .map(|p| LevelFilter::from_usize(p).unwrap()),
+            ParseLevelError(()),
+        )
+    }
+}
+
+impl fmt::Display for LevelFilter {
+    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
+        fmt.pad(self.as_str())
+    }
+}
+
+impl LevelFilter {
+    fn from_usize(u: usize) -> Option<LevelFilter> {
+        match u {
+            0 => Some(LevelFilter::Off),
+            1 => Some(LevelFilter::Error),
+            2 => Some(LevelFilter::Warn),
+            3 => Some(LevelFilter::Info),
+            4 => Some(LevelFilter::Debug),
+            5 => Some(LevelFilter::Trace),
+            _ => None,
+        }
+    }
+    /// Returns the most verbose logging level filter.
+    #[inline]
+    pub fn max() -> LevelFilter {
+        LevelFilter::Trace
+    }
+
+    /// Converts `self` to the equivalent `Level`.
+    ///
+    /// Returns `None` if `self` is `LevelFilter::Off`.
+    #[inline]
+    pub fn to_level(&self) -> Option<Level> {
+        Level::from_usize(*self as usize)
+    }
+
+    /// Returns the string representation of the `LevelFilter`.
+    ///
+    /// This returns the same string as the `fmt::Display` implementation.
+    pub fn as_str(&self) -> &'static str {
+        LOG_LEVEL_NAMES[*self as usize]
+    }
+}
+
+#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Debug)]
+enum MaybeStaticStr<'a> {
+    Static(&'static str),
+    Borrowed(&'a str),
+}
+
+impl<'a> MaybeStaticStr<'a> {
+    #[inline]
+    fn get(&self) -> &'a str {
+        match *self {
+            MaybeStaticStr::Static(s) => s,
+            MaybeStaticStr::Borrowed(s) => s,
+        }
+    }
+}
+
+/// The "payload" of a log message.
+///
+/// # Use
+///
+/// `Record` structures are passed as parameters to the [`log`][method.log]
+/// method of the [`Log`] trait. Logger implementors manipulate these
+/// structures in order to display log messages. `Record`s are automatically
+/// created by the [`log!`] macro and so are not seen by log users.
+///
+/// Note that the [`level()`] and [`target()`] accessors are equivalent to
+/// `self.metadata().level()` and `self.metadata().target()` respectively.
+/// These methods are provided as a convenience for users of this structure.
+///
+/// # Example
+///
+/// The following example shows a simple logger that displays the level,
+/// module path, and message of any `Record` that is passed to it.
+///
+/// ```edition2018
+/// struct SimpleLogger;
+///
+/// impl log::Log for SimpleLogger {
+///    fn enabled(&self, metadata: &log::Metadata) -> bool {
+///        true
+///    }
+///
+///    fn log(&self, record: &log::Record) {
+///        if !self.enabled(record.metadata()) {
+///            return;
+///        }
+///
+///        println!("{}:{} -- {}",
+///                 record.level(),
+///                 record.target(),
+///                 record.args());
+///    }
+///    fn flush(&self) {}
+/// }
+/// ```
+///
+/// [method.log]: trait.Log.html#tymethod.log
+/// [`Log`]: trait.Log.html
+/// [`log!`]: macro.log.html
+/// [`level()`]: struct.Record.html#method.level
+/// [`target()`]: struct.Record.html#method.target
+#[derive(Clone, Debug)]
+pub struct Record<'a> {
+    metadata: Metadata<'a>,
+    args: fmt::Arguments<'a>,
+    module_path: Option<MaybeStaticStr<'a>>,
+    file: Option<MaybeStaticStr<'a>>,
+    line: Option<u32>,
+    #[cfg(feature = "kv_unstable")]
+    key_values: KeyValues<'a>,
+}
+
+// This wrapper type is only needed so we can
+// `#[derive(Debug)]` on `Record`. It also
+// provides a useful `Debug` implementation for
+// the underlying `Source`.
+#[cfg(feature = "kv_unstable")]
+#[derive(Clone)]
+struct KeyValues<'a>(&'a dyn kv::Source);
+
+#[cfg(feature = "kv_unstable")]
+impl<'a> fmt::Debug for KeyValues<'a> {
+    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+        let mut visitor = f.debug_map();
+        self.0.visit(&mut visitor).map_err(|_| fmt::Error)?;
+        visitor.finish()
+    }
+}
+
+impl<'a> Record<'a> {
+    /// Returns a new builder.
+    #[inline]
+    pub fn builder() -> RecordBuilder<'a> {
+        RecordBuilder::new()
+    }
+
+    /// The message body.
+    #[inline]
+    pub fn args(&self) -> &fmt::Arguments<'a> {
+        &self.args
+    }
+
+    /// Metadata about the log directive.
+    #[inline]
+    pub fn metadata(&self) -> &Metadata<'a> {
+        &self.metadata
+    }
+
+    /// The verbosity level of the message.
+    #[inline]
+    pub fn level(&self) -> Level {
+        self.metadata.level()
+    }
+
+    /// The name of the target of the directive.
+    #[inline]
+    pub fn target(&self) -> &'a str {
+        self.metadata.target()
+    }
+
+    /// The module path of the message.
+    #[inline]
+    pub fn module_path(&self) -> Option<&'a str> {
+        self.module_path.map(|s| s.get())
+    }
+
+    /// The module path of the message, if it is a `'static` string.
+    #[inline]
+    pub fn module_path_static(&self) -> Option<&'static str> {
+        match self.module_path {
+            Some(MaybeStaticStr::Static(s)) => Some(s),
+            _ => None,
+        }
+    }
+
+    /// The source file containing the message.
+    #[inline]
+    pub fn file(&self) -> Option<&'a str> {
+        self.file.map(|s| s.get())
+    }
+
+    /// The module path of the message, if it is a `'static` string.
+    #[inline]
+    pub fn file_static(&self) -> Option<&'static str> {
+        match self.file {
+            Some(MaybeStaticStr::Static(s)) => Some(s),
+            _ => None,
+        }
+    }
+
+    /// The line containing the message.
+    #[inline]
+    pub fn line(&self) -> Option<u32> {
+        self.line
+    }
+
+    /// The structued key-value pairs associated with the message.
+    #[cfg(feature = "kv_unstable")]
+    #[inline]
+    pub fn key_values(&self) -> &dyn kv::Source {
+        self.key_values.0
+    }
+
+    /// Create a new [`RecordBuilder`](struct.RecordBuilder.html) based on this record.
+    #[cfg(feature = "kv_unstable")]
+    #[inline]
+    pub fn to_builder(&self) -> RecordBuilder {
+        RecordBuilder {
+            record: Record {
+                metadata: Metadata {
+                    level: self.metadata.level,
+                    target: self.metadata.target,
+                },
+                args: self.args,
+                module_path: self.module_path,
+                file: self.file,
+                line: self.line,
+                key_values: self.key_values.clone(),
+            },
+        }
+    }
+}
+
+/// Builder for [`Record`](struct.Record.html).
+///
+/// Typically should only be used by log library creators or for testing and "shim loggers".
+/// The `RecordBuilder` can set the different parameters of `Record` object, and returns
+/// the created object when `build` is called.
+///
+/// # Examples
+///
+///
+/// ```edition2018
+/// use log::{Level, Record};
+///
+/// let record = Record::builder()
+///                 .args(format_args!("Error!"))
+///                 .level(Level::Error)
+///                 .target("myApp")
+///                 .file(Some("server.rs"))
+///                 .line(Some(144))
+///                 .module_path(Some("server"))
+///                 .build();
+/// ```
+///
+/// Alternatively, use [`MetadataBuilder`](struct.MetadataBuilder.html):
+///
+/// ```edition2018
+/// use log::{Record, Level, MetadataBuilder};
+///
+/// let error_metadata = MetadataBuilder::new()
+///                         .target("myApp")
+///                         .level(Level::Error)
+///                         .build();
+///
+/// let record = Record::builder()
+///                 .metadata(error_metadata)
+///                 .args(format_args!("Error!"))
+///                 .line(Some(433))
+///                 .file(Some("app.rs"))
+///                 .module_path(Some("server"))
+///                 .build();
+/// ```
+#[derive(Debug)]
+pub struct RecordBuilder<'a> {
+    record: Record<'a>,
+}
+
+impl<'a> RecordBuilder<'a> {
+    /// Construct new `RecordBuilder`.
+    ///
+    /// The default options are:
+    ///
+    /// - `args`: [`format_args!("")`]
+    /// - `metadata`: [`Metadata::builder().build()`]
+    /// - `module_path`: `None`
+    /// - `file`: `None`
+    /// - `line`: `None`
+    ///
+    /// [`format_args!("")`]: https://doc.rust-lang.org/std/macro.format_args.html
+    /// [`Metadata::builder().build()`]: struct.MetadataBuilder.html#method.build
+    #[inline]
+    pub fn new() -> RecordBuilder<'a> {
+        RecordBuilder {
+            record: Record {
+                args: format_args!(""),
+                metadata: Metadata::builder().build(),
+                module_path: None,
+                file: None,
+                line: None,
+                #[cfg(feature = "kv_unstable")]
+                key_values: KeyValues(&Option::None::<(kv::Key, kv::Value)>),
+            },
+        }
+    }
+
+    /// Set [`args`](struct.Record.html#method.args).
+    #[inline]
+    pub fn args(&mut self, args: fmt::Arguments<'a>) -> &mut RecordBuilder<'a> {
+        self.record.args = args;
+        self
+    }
+
+    /// Set [`metadata`](struct.Record.html#method.metadata). Construct a `Metadata` object with [`MetadataBuilder`](struct.MetadataBuilder.html).
+    #[inline]
+    pub fn metadata(&mut self, metadata: Metadata<'a>) -> &mut RecordBuilder<'a> {
+        self.record.metadata = metadata;
+        self
+    }
+
+    /// Set [`Metadata::level`](struct.Metadata.html#method.level).
+    #[inline]
+    pub fn level(&mut self, level: Level) -> &mut RecordBuilder<'a> {
+        self.record.metadata.level = level;
+        self
+    }
+
+    /// Set [`Metadata::target`](struct.Metadata.html#method.target)
+    #[inline]
+    pub fn target(&mut self, target: &'a str) -> &mut RecordBuilder<'a> {
+        self.record.metadata.target = target;
+        self
+    }
+
+    /// Set [`module_path`](struct.Record.html#method.module_path)
+    #[inline]
+    pub fn module_path(&mut self, path: Option<&'a str>) -> &mut RecordBuilder<'a> {
+        self.record.module_path = path.map(MaybeStaticStr::Borrowed);
+        self
+    }
+
+    /// Set [`module_path`](struct.Record.html#method.module_path) to a `'static` string
+    #[inline]
+    pub fn module_path_static(&mut self, path: Option<&'static str>) -> &mut RecordBuilder<'a> {
+        self.record.module_path = path.map(MaybeStaticStr::Static);
+        self
+    }
+
+    /// Set [`file`](struct.Record.html#method.file)
+    #[inline]
+    pub fn file(&mut self, file: Option<&'a str>) -> &mut RecordBuilder<'a> {
+        self.record.file = file.map(MaybeStaticStr::Borrowed);
+        self
+    }
+
+    /// Set [`file`](struct.Record.html#method.file) to a `'static` string.
+    #[inline]
+    pub fn file_static(&mut self, file: Option<&'static str>) -> &mut RecordBuilder<'a> {
+        self.record.file = file.map(MaybeStaticStr::Static);
+        self
+    }
+
+    /// Set [`line`](struct.Record.html#method.line)
+    #[inline]
+    pub fn line(&mut self, line: Option<u32>) -> &mut RecordBuilder<'a> {
+        self.record.line = line;
+        self
+    }
+
+    /// Set [`key_values`](struct.Record.html#method.key_values)
+    #[cfg(feature = "kv_unstable")]
+    #[inline]
+    pub fn key_values(&mut self, kvs: &'a dyn kv::Source) -> &mut RecordBuilder<'a> {
+        self.record.key_values = KeyValues(kvs);
+        self
+    }
+
+    /// Invoke the builder and return a `Record`
+    #[inline]
+    pub fn build(&self) -> Record<'a> {
+        self.record.clone()
+    }
+}
+
+/// Metadata about a log message.
+///
+/// # Use
+///
+/// `Metadata` structs are created when users of the library use
+/// logging macros.
+///
+/// They are consumed by implementations of the `Log` trait in the
+/// `enabled` method.
+///
+/// `Record`s use `Metadata` to determine the log message's severity
+/// and target.
+///
+/// Users should use the `log_enabled!` macro in their code to avoid
+/// constructing expensive log messages.
+///
+/// # Examples
+///
+/// ```edition2018
+/// use log::{Record, Level, Metadata};
+///
+/// struct MyLogger;
+///
+/// impl log::Log for MyLogger {
+///     fn enabled(&self, metadata: &Metadata) -> bool {
+///         metadata.level() <= Level::Info
+///     }
+///
+///     fn log(&self, record: &Record) {
+///         if self.enabled(record.metadata()) {
+///             println!("{} - {}", record.level(), record.args());
+///         }
+///     }
+///     fn flush(&self) {}
+/// }
+///
+/// # fn main(){}
+/// ```
+#[derive(Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Debug)]
+pub struct Metadata<'a> {
+    level: Level,
+    target: &'a str,
+}
+
+impl<'a> Metadata<'a> {
+    /// Returns a new builder.
+    #[inline]
+    pub fn builder() -> MetadataBuilder<'a> {
+        MetadataBuilder::new()
+    }
+
+    /// The verbosity level of the message.
+    #[inline]
+    pub fn level(&self) -> Level {
+        self.level
+    }
+
+    /// The name of the target of the directive.
+    #[inline]
+    pub fn target(&self) -> &'a str {
+        self.target
+    }
+}
+
+/// Builder for [`Metadata`](struct.Metadata.html).
+///
+/// Typically should only be used by log library creators or for testing and "shim loggers".
+/// The `MetadataBuilder` can set the different parameters of a `Metadata` object, and returns
+/// the created object when `build` is called.
+///
+/// # Example
+///
+/// ```edition2018
+/// let target = "myApp";
+/// use log::{Level, MetadataBuilder};
+/// let metadata = MetadataBuilder::new()
+///                     .level(Level::Debug)
+///                     .target(target)
+///                     .build();
+/// ```
+#[derive(Eq, PartialEq, Ord, PartialOrd, Hash, Debug)]
+pub struct MetadataBuilder<'a> {
+    metadata: Metadata<'a>,
+}
+
+impl<'a> MetadataBuilder<'a> {
+    /// Construct a new `MetadataBuilder`.
+    ///
+    /// The default options are:
+    ///
+    /// - `level`: `Level::Info`
+    /// - `target`: `""`
+    #[inline]
+    pub fn new() -> MetadataBuilder<'a> {
+        MetadataBuilder {
+            metadata: Metadata {
+                level: Level::Info,
+                target: "",
+            },
+        }
+    }
+
+    /// Setter for [`level`](struct.Metadata.html#method.level).
+    #[inline]
+    pub fn level(&mut self, arg: Level) -> &mut MetadataBuilder<'a> {
+        self.metadata.level = arg;
+        self
+    }
+
+    /// Setter for [`target`](struct.Metadata.html#method.target).
+    #[inline]
+    pub fn target(&mut self, target: &'a str) -> &mut MetadataBuilder<'a> {
+        self.metadata.target = target;
+        self
+    }
+
+    /// Returns a `Metadata` object.
+    #[inline]
+    pub fn build(&self) -> Metadata<'a> {
+        self.metadata.clone()
+    }
+}
+
+/// A trait encapsulating the operations required of a logger.
+pub trait Log: Sync + Send {
+    /// Determines if a log message with the specified metadata would be
+    /// logged.
+    ///
+    /// This is used by the `log_enabled!` macro to allow callers to avoid
+    /// expensive computation of log message arguments if the message would be
+    /// discarded anyway.
+    fn enabled(&self, metadata: &Metadata) -> bool;
+
+    /// Logs the `Record`.
+    ///
+    /// Note that `enabled` is *not* necessarily called before this method.
+    /// Implementations of `log` should perform all necessary filtering
+    /// internally.
+    fn log(&self, record: &Record);
+
+    /// Flushes any buffered records.
+    fn flush(&self);
+}
+
+// Just used as a dummy initial value for LOGGER
+struct NopLogger;
+
+impl Log for NopLogger {
+    fn enabled(&self, _: &Metadata) -> bool {
+        false
+    }
+
+    fn log(&self, _: &Record) {}
+    fn flush(&self) {}
+}
+
+#[cfg(feature = "std")]
+impl<T> Log for std::boxed::Box<T>
+where
+    T: ?Sized + Log,
+{
+    fn enabled(&self, metadata: &Metadata) -> bool {
+        self.as_ref().enabled(metadata)
+    }
+
+    fn log(&self, record: &Record) {
+        self.as_ref().log(record)
+    }
+    fn flush(&self) {
+        self.as_ref().flush()
+    }
+}
+
+/// Sets the global maximum log level.
+///
+/// Generally, this should only be called by the active logging implementation.
+#[inline]
+pub fn set_max_level(level: LevelFilter) {
+    MAX_LOG_LEVEL_FILTER.store(level as usize, Ordering::SeqCst)
+}
+
+/// Returns the current maximum log level.
+///
+/// The [`log!`], [`error!`], [`warn!`], [`info!`], [`debug!`], and [`trace!`] macros check
+/// this value and discard any message logged at a higher level. The maximum
+/// log level is set by the [`set_max_level`] function.
+///
+/// [`log!`]: macro.log.html
+/// [`error!`]: macro.error.html
+/// [`warn!`]: macro.warn.html
+/// [`info!`]: macro.info.html
+/// [`debug!`]: macro.debug.html
+/// [`trace!`]: macro.trace.html
+/// [`set_max_level`]: fn.set_max_level.html
+#[inline(always)]
+pub fn max_level() -> LevelFilter {
+    // Since `LevelFilter` is `repr(usize)`,
+    // this transmute is sound if and only if `MAX_LOG_LEVEL_FILTER`
+    // is set to a usize that is a valid discriminant for `LevelFilter`.
+    // Since `MAX_LOG_LEVEL_FILTER` is private, the only time it's set
+    // is by `set_max_level` above, i.e. by casting a `LevelFilter` to `usize`.
+    // So any usize stored in `MAX_LOG_LEVEL_FILTER` is a valid discriminant.
+    unsafe { mem::transmute(MAX_LOG_LEVEL_FILTER.load(Ordering::Relaxed)) }
+}
+
+/// Sets the global logger to a `Box<Log>`.
+///
+/// This is a simple convenience wrapper over `set_logger`, which takes a
+/// `Box<Log>` rather than a `&'static Log`. See the documentation for
+/// [`set_logger`] for more details.
+///
+/// Requires the `std` feature.
+///
+/// # Errors
+///
+/// An error is returned if a logger has already been set.
+///
+/// [`set_logger`]: fn.set_logger.html
+#[cfg(all(feature = "std", atomic_cas))]
+pub fn set_boxed_logger(logger: Box<dyn Log>) -> Result<(), SetLoggerError> {
+    set_logger_inner(|| Box::leak(logger))
+}
+
+/// Sets the global logger to a `&'static Log`.
+///
+/// This function may only be called once in the lifetime of a program. Any log
+/// events that occur before the call to `set_logger` completes will be ignored.
+///
+/// This function does not typically need to be called manually. Logger
+/// implementations should provide an initialization method that installs the
+/// logger internally.
+///
+/// # Availability
+///
+/// This method is available even when the `std` feature is disabled. However,
+/// it is currently unavailable on `thumbv6` targets, which lack support for
+/// some atomic operations which are used by this function. Even on those
+/// targets, [`set_logger_racy`] will be available.
+///
+/// # Errors
+///
+/// An error is returned if a logger has already been set.
+///
+/// # Examples
+///
+/// ```edition2018
+/// use log::{error, info, warn, Record, Level, Metadata, LevelFilter};
+///
+/// static MY_LOGGER: MyLogger = MyLogger;
+///
+/// struct MyLogger;
+///
+/// impl log::Log for MyLogger {
+///     fn enabled(&self, metadata: &Metadata) -> bool {
+///         metadata.level() <= Level::Info
+///     }
+///
+///     fn log(&self, record: &Record) {
+///         if self.enabled(record.metadata()) {
+///             println!("{} - {}", record.level(), record.args());
+///         }
+///     }
+///     fn flush(&self) {}
+/// }
+///
+/// # fn main(){
+/// log::set_logger(&MY_LOGGER).unwrap();
+/// log::set_max_level(LevelFilter::Info);
+///
+/// info!("hello log");
+/// warn!("warning");
+/// error!("oops");
+/// # }
+/// ```
+///
+/// [`set_logger_racy`]: fn.set_logger_racy.html
+#[cfg(atomic_cas)]
+pub fn set_logger(logger: &'static dyn Log) -> Result<(), SetLoggerError> {
+    set_logger_inner(|| logger)
+}
+
+#[cfg(atomic_cas)]
+fn set_logger_inner<F>(make_logger: F) -> Result<(), SetLoggerError>
+where
+    F: FnOnce() -> &'static dyn Log,
+{
+    let old_state = match STATE.compare_exchange(
+        UNINITIALIZED,
+        INITIALIZING,
+        Ordering::SeqCst,
+        Ordering::SeqCst,
+    ) {
+        Ok(s) | Err(s) => s,
+    };
+    match old_state {
+        UNINITIALIZED => {
+            unsafe {
+                LOGGER = make_logger();
+            }
+            STATE.store(INITIALIZED, Ordering::SeqCst);
+            Ok(())
+        }
+        INITIALIZING => {
+            while STATE.load(Ordering::SeqCst) == INITIALIZING {
+                std::sync::atomic::spin_loop_hint();
+            }
+            Err(SetLoggerError(()))
+        }
+        _ => Err(SetLoggerError(())),
+    }
+}
+
+/// A thread-unsafe version of [`set_logger`].
+///
+/// This function is available on all platforms, even those that do not have
+/// support for atomics that is needed by [`set_logger`].
+///
+/// In almost all cases, [`set_logger`] should be preferred.
+///
+/// # Safety
+///
+/// This function is only safe to call when no other logger initialization
+/// function is called while this function still executes.
+///
+/// This can be upheld by (for example) making sure that **there are no other
+/// threads**, and (on embedded) that **interrupts are disabled**.
+///
+/// It is safe to use other logging functions while this function runs
+/// (including all logging macros).
+///
+/// [`set_logger`]: fn.set_logger.html
+pub unsafe fn set_logger_racy(logger: &'static dyn Log) -> Result<(), SetLoggerError> {
+    match STATE.load(Ordering::SeqCst) {
+        UNINITIALIZED => {
+            LOGGER = logger;
+            STATE.store(INITIALIZED, Ordering::SeqCst);
+            Ok(())
+        }
+        INITIALIZING => {
+            // This is just plain UB, since we were racing another initialization function
+            unreachable!("set_logger_racy must not be used with other initialization functions")
+        }
+        _ => Err(SetLoggerError(())),
+    }
+}
+
+/// The type returned by [`set_logger`] if [`set_logger`] has already been called.
+///
+/// [`set_logger`]: fn.set_logger.html
+#[allow(missing_copy_implementations)]
+#[derive(Debug)]
+pub struct SetLoggerError(());
+
+impl fmt::Display for SetLoggerError {
+    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
+        fmt.write_str(SET_LOGGER_ERROR)
+    }
+}
+
+// The Error trait is not available in libcore
+#[cfg(feature = "std")]
+impl error::Error for SetLoggerError {}
+
+/// The type returned by [`from_str`] when the string doesn't match any of the log levels.
+///
+/// [`from_str`]: https://doc.rust-lang.org/std/str/trait.FromStr.html#tymethod.from_str
+#[allow(missing_copy_implementations)]
+#[derive(Debug, PartialEq)]
+pub struct ParseLevelError(());
+
+impl fmt::Display for ParseLevelError {
+    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
+        fmt.write_str(LEVEL_PARSE_ERROR)
+    }
+}
+
+// The Error trait is not available in libcore
+#[cfg(feature = "std")]
+impl error::Error for ParseLevelError {}
+
+/// Returns a reference to the logger.
+///
+/// If a logger has not been set, a no-op implementation is returned.
+pub fn logger() -> &'static dyn Log {
+    if STATE.load(Ordering::SeqCst) != INITIALIZED {
+        static NOP: NopLogger = NopLogger;
+        &NOP
+    } else {
+        unsafe { LOGGER }
+    }
+}
+
+// WARNING: this is not part of the crate's public API and is subject to change at any time
+#[doc(hidden)]
+pub fn __private_api_log(
+    args: fmt::Arguments,
+    level: Level,
+    &(target, module_path, file, line): &(&str, &'static str, &'static str, u32),
+) {
+    logger().log(
+        &Record::builder()
+            .args(args)
+            .level(level)
+            .target(target)
+            .module_path_static(Some(module_path))
+            .file_static(Some(file))
+            .line(Some(line))
+            .build(),
+    );
+}
+
+// WARNING: this is not part of the crate's public API and is subject to change at any time
+#[doc(hidden)]
+pub fn __private_api_enabled(level: Level, target: &str) -> bool {
+    logger().enabled(&Metadata::builder().level(level).target(target).build())
+}
+
+/// The statically resolved maximum log level.
+///
+/// See the crate level documentation for information on how to configure this.
+///
+/// This value is checked by the log macros, but not by the `Log`ger returned by
+/// the [`logger`] function. Code that manually calls functions on that value
+/// should compare the level against this value.
+///
+/// [`logger`]: fn.logger.html
+pub const STATIC_MAX_LEVEL: LevelFilter = MAX_LEVEL_INNER;
+
+cfg_if! {
+    if #[cfg(all(not(debug_assertions), feature = "release_max_level_off"))] {
+        const MAX_LEVEL_INNER: LevelFilter = LevelFilter::Off;
+    } else if #[cfg(all(not(debug_assertions), feature = "release_max_level_error"))] {
+        const MAX_LEVEL_INNER: LevelFilter = LevelFilter::Error;
+    } else if #[cfg(all(not(debug_assertions), feature = "release_max_level_warn"))] {
+        const MAX_LEVEL_INNER: LevelFilter = LevelFilter::Warn;
+    } else if #[cfg(all(not(debug_assertions), feature = "release_max_level_info"))] {
+        const MAX_LEVEL_INNER: LevelFilter = LevelFilter::Info;
+    } else if #[cfg(all(not(debug_assertions), feature = "release_max_level_debug"))] {
+        const MAX_LEVEL_INNER: LevelFilter = LevelFilter::Debug;
+    } else if #[cfg(all(not(debug_assertions), feature = "release_max_level_trace"))] {
+        const MAX_LEVEL_INNER: LevelFilter = LevelFilter::Trace;
+    } else if #[cfg(feature = "max_level_off")] {
+        const MAX_LEVEL_INNER: LevelFilter = LevelFilter::Off;
+    } else if #[cfg(feature = "max_level_error")] {
+        const MAX_LEVEL_INNER: LevelFilter = LevelFilter::Error;
+    } else if #[cfg(feature = "max_level_warn")] {
+        const MAX_LEVEL_INNER: LevelFilter = LevelFilter::Warn;
+    } else if #[cfg(feature = "max_level_info")] {
+        const MAX_LEVEL_INNER: LevelFilter = LevelFilter::Info;
+    } else if #[cfg(feature = "max_level_debug")] {
+        const MAX_LEVEL_INNER: LevelFilter = LevelFilter::Debug;
+    } else {
+        const MAX_LEVEL_INNER: LevelFilter = LevelFilter::Trace;
+    }
+}
+
+#[cfg(test)]
+mod tests {
+    extern crate std;
+    use super::{Level, LevelFilter, ParseLevelError};
+    use tests::std::string::ToString;
+
+    #[test]
+    fn test_levelfilter_from_str() {
+        let tests = [
+            ("off", Ok(LevelFilter::Off)),
+            ("error", Ok(LevelFilter::Error)),
+            ("warn", Ok(LevelFilter::Warn)),
+            ("info", Ok(LevelFilter::Info)),
+            ("debug", Ok(LevelFilter::Debug)),
+            ("trace", Ok(LevelFilter::Trace)),
+            ("OFF", Ok(LevelFilter::Off)),
+            ("ERROR", Ok(LevelFilter::Error)),
+            ("WARN", Ok(LevelFilter::Warn)),
+            ("INFO", Ok(LevelFilter::Info)),
+            ("DEBUG", Ok(LevelFilter::Debug)),
+            ("TRACE", Ok(LevelFilter::Trace)),
+            ("asdf", Err(ParseLevelError(()))),
+        ];
+        for &(s, ref expected) in &tests {
+            assert_eq!(expected, &s.parse());
+        }
+    }
+
+    #[test]
+    fn test_level_from_str() {
+        let tests = [
+            ("OFF", Err(ParseLevelError(()))),
+            ("error", Ok(Level::Error)),
+            ("warn", Ok(Level::Warn)),
+            ("info", Ok(Level::Info)),
+            ("debug", Ok(Level::Debug)),
+            ("trace", Ok(Level::Trace)),
+            ("ERROR", Ok(Level::Error)),
+            ("WARN", Ok(Level::Warn)),
+            ("INFO", Ok(Level::Info)),
+            ("DEBUG", Ok(Level::Debug)),
+            ("TRACE", Ok(Level::Trace)),
+            ("asdf", Err(ParseLevelError(()))),
+        ];
+        for &(s, ref expected) in &tests {
+            assert_eq!(expected, &s.parse());
+        }
+    }
+
+    #[test]
+    fn test_level_as_str() {
+        let tests = &[
+            (Level::Error, "ERROR"),
+            (Level::Warn, "WARN"),
+            (Level::Info, "INFO"),
+            (Level::Debug, "DEBUG"),
+            (Level::Trace, "TRACE"),
+        ];
+        for (input, expected) in tests {
+            assert_eq!(*expected, input.as_str());
+        }
+    }
+
+    #[test]
+    fn test_level_show() {
+        assert_eq!("INFO", Level::Info.to_string());
+        assert_eq!("ERROR", Level::Error.to_string());
+    }
+
+    #[test]
+    fn test_levelfilter_show() {
+        assert_eq!("OFF", LevelFilter::Off.to_string());
+        assert_eq!("ERROR", LevelFilter::Error.to_string());
+    }
+
+    #[test]
+    fn test_cross_cmp() {
+        assert!(Level::Debug > LevelFilter::Error);
+        assert!(LevelFilter::Warn < Level::Trace);
+        assert!(LevelFilter::Off < Level::Error);
+    }
+
+    #[test]
+    fn test_cross_eq() {
+        assert!(Level::Error == LevelFilter::Error);
+        assert!(LevelFilter::Off != Level::Error);
+        assert!(Level::Trace == LevelFilter::Trace);
+    }
+
+    #[test]
+    fn test_to_level() {
+        assert_eq!(Some(Level::Error), LevelFilter::Error.to_level());
+        assert_eq!(None, LevelFilter::Off.to_level());
+        assert_eq!(Some(Level::Debug), LevelFilter::Debug.to_level());
+    }
+
+    #[test]
+    fn test_to_level_filter() {
+        assert_eq!(LevelFilter::Error, Level::Error.to_level_filter());
+        assert_eq!(LevelFilter::Trace, Level::Trace.to_level_filter());
+    }
+
+    #[test]
+    fn test_level_filter_as_str() {
+        let tests = &[
+            (LevelFilter::Off, "OFF"),
+            (LevelFilter::Error, "ERROR"),
+            (LevelFilter::Warn, "WARN"),
+            (LevelFilter::Info, "INFO"),
+            (LevelFilter::Debug, "DEBUG"),
+            (LevelFilter::Trace, "TRACE"),
+        ];
+        for (input, expected) in tests {
+            assert_eq!(*expected, input.as_str());
+        }
+    }
+
+    #[test]
+    #[cfg(feature = "std")]
+    fn test_error_trait() {
+        use super::SetLoggerError;
+        let e = SetLoggerError(());
+        assert_eq!(
+            &e.to_string(),
+            "attempted to set a logger after the logging system \
+             was already initialized"
+        );
+    }
+
+    #[test]
+    fn test_metadata_builder() {
+        use super::MetadataBuilder;
+        let target = "myApp";
+        let metadata_test = MetadataBuilder::new()
+            .level(Level::Debug)
+            .target(target)
+            .build();
+        assert_eq!(metadata_test.level(), Level::Debug);
+        assert_eq!(metadata_test.target(), "myApp");
+    }
+
+    #[test]
+    fn test_metadata_convenience_builder() {
+        use super::Metadata;
+        let target = "myApp";
+        let metadata_test = Metadata::builder()
+            .level(Level::Debug)
+            .target(target)
+            .build();
+        assert_eq!(metadata_test.level(), Level::Debug);
+        assert_eq!(metadata_test.target(), "myApp");
+    }
+
+    #[test]
+    fn test_record_builder() {
+        use super::{MetadataBuilder, RecordBuilder};
+        let target = "myApp";
+        let metadata = MetadataBuilder::new().target(target).build();
+        let fmt_args = format_args!("hello");
+        let record_test = RecordBuilder::new()
+            .args(fmt_args)
+            .metadata(metadata)
+            .module_path(Some("foo"))
+            .file(Some("bar"))
+            .line(Some(30))
+            .build();
+        assert_eq!(record_test.metadata().target(), "myApp");
+        assert_eq!(record_test.module_path(), Some("foo"));
+        assert_eq!(record_test.file(), Some("bar"));
+        assert_eq!(record_test.line(), Some(30));
+    }
+
+    #[test]
+    fn test_record_convenience_builder() {
+        use super::{Metadata, Record};
+        let target = "myApp";
+        let metadata = Metadata::builder().target(target).build();
+        let fmt_args = format_args!("hello");
+        let record_test = Record::builder()
+            .args(fmt_args)
+            .metadata(metadata)
+            .module_path(Some("foo"))
+            .file(Some("bar"))
+            .line(Some(30))
+            .build();
+        assert_eq!(record_test.target(), "myApp");
+        assert_eq!(record_test.module_path(), Some("foo"));
+        assert_eq!(record_test.file(), Some("bar"));
+        assert_eq!(record_test.line(), Some(30));
+    }
+
+    #[test]
+    fn test_record_complete_builder() {
+        use super::{Level, Record};
+        let target = "myApp";
+        let record_test = Record::builder()
+            .module_path(Some("foo"))
+            .file(Some("bar"))
+            .line(Some(30))
+            .target(target)
+            .level(Level::Error)
+            .build();
+        assert_eq!(record_test.target(), "myApp");
+        assert_eq!(record_test.level(), Level::Error);
+        assert_eq!(record_test.module_path(), Some("foo"));
+        assert_eq!(record_test.file(), Some("bar"));
+        assert_eq!(record_test.line(), Some(30));
+    }
+
+    #[test]
+    #[cfg(feature = "kv_unstable")]
+    fn test_record_key_values_builder() {
+        use super::Record;
+        use kv::{self, Visitor};
+
+        struct TestVisitor {
+            seen_pairs: usize,
+        }
+
+        impl<'kvs> Visitor<'kvs> for TestVisitor {
+            fn visit_pair(
+                &mut self,
+                _: kv::Key<'kvs>,
+                _: kv::Value<'kvs>,
+            ) -> Result<(), kv::Error> {
+                self.seen_pairs += 1;
+                Ok(())
+            }
+        }
+
+        let kvs: &[(&str, i32)] = &[("a", 1), ("b", 2)];
+        let record_test = Record::builder().key_values(&kvs).build();
+
+        let mut visitor = TestVisitor { seen_pairs: 0 };
+
+        record_test.key_values().visit(&mut visitor).unwrap();
+
+        assert_eq!(2, visitor.seen_pairs);
+    }
+
+    #[test]
+    #[cfg(feature = "kv_unstable")]
+    fn test_record_key_values_get_coerce() {
+        use super::Record;
+
+        let kvs: &[(&str, &str)] = &[("a", "1"), ("b", "2")];
+        let record = Record::builder().key_values(&kvs).build();
+
+        assert_eq!(
+            "2",
+            record
+                .key_values()
+                .get("b".into())
+                .expect("missing key")
+                .to_borrowed_str()
+                .expect("invalid value")
+        );
+    }
+}
+
+
\ No newline at end of file diff --git a/src/log/macros.rs.html b/src/log/macros.rs.html new file mode 100644 index 0000000..e22048e --- /dev/null +++ b/src/log/macros.rs.html @@ -0,0 +1,504 @@ +macros.rs - source
  1
+  2
+  3
+  4
+  5
+  6
+  7
+  8
+  9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+
+// Copyright 2014-2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+/// The standard logging macro.
+///
+/// This macro will generically log with the specified `Level` and `format!`
+/// based argument list.
+///
+/// # Examples
+///
+/// ```edition2018
+/// use log::{log, Level};
+///
+/// # fn main() {
+/// let data = (42, "Forty-two");
+/// let private_data = "private";
+///
+/// log!(Level::Error, "Received errors: {}, {}", data.0, data.1);
+/// log!(target: "app_events", Level::Warn, "App warning: {}, {}, {}",
+///     data.0, data.1, private_data);
+/// # }
+/// ```
+#[macro_export(local_inner_macros)]
+macro_rules! log {
+    (target: $target:expr, $lvl:expr, $($arg:tt)+) => ({
+        let lvl = $lvl;
+        if lvl <= $crate::STATIC_MAX_LEVEL && lvl <= $crate::max_level() {
+            $crate::__private_api_log(
+                __log_format_args!($($arg)+),
+                lvl,
+                &($target, __log_module_path!(), __log_file!(), __log_line!()),
+            );
+        }
+    });
+    ($lvl:expr, $($arg:tt)+) => (log!(target: __log_module_path!(), $lvl, $($arg)+))
+}
+
+/// Logs a message at the error level.
+///
+/// # Examples
+///
+/// ```edition2018
+/// use log::error;
+///
+/// # fn main() {
+/// let (err_info, port) = ("No connection", 22);
+///
+/// error!("Error: {} on port {}", err_info, port);
+/// error!(target: "app_events", "App Error: {}, Port: {}", err_info, 22);
+/// # }
+/// ```
+#[macro_export(local_inner_macros)]
+macro_rules! error {
+    (target: $target:expr, $($arg:tt)+) => (
+        log!(target: $target, $crate::Level::Error, $($arg)+)
+    );
+    ($($arg:tt)+) => (
+        log!($crate::Level::Error, $($arg)+)
+    )
+}
+
+/// Logs a message at the warn level.
+///
+/// # Examples
+///
+/// ```edition2018
+/// use log::warn;
+///
+/// # fn main() {
+/// let warn_description = "Invalid Input";
+///
+/// warn!("Warning! {}!", warn_description);
+/// warn!(target: "input_events", "App received warning: {}", warn_description);
+/// # }
+/// ```
+#[macro_export(local_inner_macros)]
+macro_rules! warn {
+    (target: $target:expr, $($arg:tt)+) => (
+        log!(target: $target, $crate::Level::Warn, $($arg)+)
+    );
+    ($($arg:tt)+) => (
+        log!($crate::Level::Warn, $($arg)+)
+    )
+}
+
+/// Logs a message at the info level.
+///
+/// # Examples
+///
+/// ```edition2018
+/// use log::info;
+///
+/// # fn main() {
+/// # struct Connection { port: u32, speed: f32 }
+/// let conn_info = Connection { port: 40, speed: 3.20 };
+///
+/// info!("Connected to port {} at {} Mb/s", conn_info.port, conn_info.speed);
+/// info!(target: "connection_events", "Successfull connection, port: {}, speed: {}",
+///       conn_info.port, conn_info.speed);
+/// # }
+/// ```
+#[macro_export(local_inner_macros)]
+macro_rules! info {
+    (target: $target:expr, $($arg:tt)+) => (
+        log!(target: $target, $crate::Level::Info, $($arg)+)
+    );
+    ($($arg:tt)+) => (
+        log!($crate::Level::Info, $($arg)+)
+    )
+}
+
+/// Logs a message at the debug level.
+///
+/// # Examples
+///
+/// ```edition2018
+/// use log::debug;
+///
+/// # fn main() {
+/// # struct Position { x: f32, y: f32 }
+/// let pos = Position { x: 3.234, y: -1.223 };
+///
+/// debug!("New position: x: {}, y: {}", pos.x, pos.y);
+/// debug!(target: "app_events", "New position: x: {}, y: {}", pos.x, pos.y);
+/// # }
+/// ```
+#[macro_export(local_inner_macros)]
+macro_rules! debug {
+    (target: $target:expr, $($arg:tt)+) => (
+        log!(target: $target, $crate::Level::Debug, $($arg)+)
+    );
+    ($($arg:tt)+) => (
+        log!($crate::Level::Debug, $($arg)+)
+    )
+}
+
+/// Logs a message at the trace level.
+///
+/// # Examples
+///
+/// ```edition2018
+/// use log::trace;
+///
+/// # fn main() {
+/// # struct Position { x: f32, y: f32 }
+/// let pos = Position { x: 3.234, y: -1.223 };
+///
+/// trace!("Position is: x: {}, y: {}", pos.x, pos.y);
+/// trace!(target: "app_events", "x is {} and y is {}",
+///        if pos.x >= 0.0 { "positive" } else { "negative" },
+///        if pos.y >= 0.0 { "positive" } else { "negative" });
+/// # }
+/// ```
+#[macro_export(local_inner_macros)]
+macro_rules! trace {
+    (target: $target:expr, $($arg:tt)+) => (
+        log!(target: $target, $crate::Level::Trace, $($arg)+)
+    );
+    ($($arg:tt)+) => (
+        log!($crate::Level::Trace, $($arg)+)
+    )
+}
+
+/// Determines if a message logged at the specified level in that module will
+/// be logged.
+///
+/// This can be used to avoid expensive computation of log message arguments if
+/// the message would be ignored anyway.
+///
+/// # Examples
+///
+/// ```edition2018
+/// use log::Level::Debug;
+/// use log::{debug, log_enabled};
+///
+/// # fn foo() {
+/// if log_enabled!(Debug) {
+///     let data = expensive_call();
+///     debug!("expensive debug data: {} {}", data.x, data.y);
+/// }
+/// if log_enabled!(target: "Global", Debug) {
+///    let data = expensive_call();
+///    debug!(target: "Global", "expensive debug data: {} {}", data.x, data.y);
+/// }
+/// # }
+/// # struct Data { x: u32, y: u32 }
+/// # fn expensive_call() -> Data { Data { x: 0, y: 0 } }
+/// # fn main() {}
+/// ```
+#[macro_export(local_inner_macros)]
+macro_rules! log_enabled {
+    (target: $target:expr, $lvl:expr) => {{
+        let lvl = $lvl;
+        lvl <= $crate::STATIC_MAX_LEVEL
+            && lvl <= $crate::max_level()
+            && $crate::__private_api_enabled(lvl, $target)
+    }};
+    ($lvl:expr) => {
+        log_enabled!(target: __log_module_path!(), $lvl)
+    };
+}
+
+// The log macro above cannot invoke format_args directly because it uses
+// local_inner_macros. A format_args invocation there would resolve to
+// $crate::format_args which does not exist. Instead invoke format_args here
+// outside of local_inner_macros so that it resolves (probably) to
+// core::format_args or std::format_args. Same for the several macros that
+// follow.
+//
+// This is a workaround until we drop support for pre-1.30 compilers. At that
+// point we can remove use of local_inner_macros, use $crate:: when invoking
+// local macros, and invoke format_args directly.
+#[doc(hidden)]
+#[macro_export]
+macro_rules! __log_format_args {
+    ($($args:tt)*) => {
+        format_args!($($args)*)
+    };
+}
+
+#[doc(hidden)]
+#[macro_export]
+macro_rules! __log_module_path {
+    () => {
+        module_path!()
+    };
+}
+
+#[doc(hidden)]
+#[macro_export]
+macro_rules! __log_file {
+    () => {
+        file!()
+    };
+}
+
+#[doc(hidden)]
+#[macro_export]
+macro_rules! __log_line {
+    () => {
+        line!()
+    };
+}
+
+
\ No newline at end of file diff --git a/src/syn/attr.rs.html b/src/syn/attr.rs.html index c6b145b..eba9e5a 100644 --- a/src/syn/attr.rs.html +++ b/src/syn/attr.rs.html @@ -1,4 +1,4 @@ -attr.rs - source +attr.rs - source
  1
diff --git a/src/syn/await.rs.html b/src/syn/await.rs.html
index a601624..177e218 100644
--- a/src/syn/await.rs.html
+++ b/src/syn/await.rs.html
@@ -1,4 +1,4 @@
-await.rs - source
+await.rs - source
 
 
1
diff --git a/src/syn/bigint.rs.html b/src/syn/bigint.rs.html
index 38fd7e1..1ccb5ca 100644
--- a/src/syn/bigint.rs.html
+++ b/src/syn/bigint.rs.html
@@ -1,4 +1,4 @@
-bigint.rs - source
+bigint.rs - source
 
 
 1
diff --git a/src/syn/buffer.rs.html b/src/syn/buffer.rs.html
index c8fe242..f4b8cef 100644
--- a/src/syn/buffer.rs.html
+++ b/src/syn/buffer.rs.html
@@ -1,4 +1,4 @@
-buffer.rs - source
+buffer.rs - source
 
 
  1
diff --git a/src/syn/custom_keyword.rs.html b/src/syn/custom_keyword.rs.html
index c8380ab..f9284b7 100644
--- a/src/syn/custom_keyword.rs.html
+++ b/src/syn/custom_keyword.rs.html
@@ -1,4 +1,4 @@
-custom_keyword.rs - source
+custom_keyword.rs - source
 
 
  1
diff --git a/src/syn/custom_punctuation.rs.html b/src/syn/custom_punctuation.rs.html
index 498025d..9e85d08 100644
--- a/src/syn/custom_punctuation.rs.html
+++ b/src/syn/custom_punctuation.rs.html
@@ -1,4 +1,4 @@
-custom_punctuation.rs - source
+custom_punctuation.rs - source
 
 
  1
diff --git a/src/syn/data.rs.html b/src/syn/data.rs.html
index 61f7dd3..e53ca34 100644
--- a/src/syn/data.rs.html
+++ b/src/syn/data.rs.html
@@ -1,4 +1,4 @@
-data.rs - source
+data.rs - source
 
 
  1
diff --git a/src/syn/derive.rs.html b/src/syn/derive.rs.html
index 76c7b9a..efe3b8d 100644
--- a/src/syn/derive.rs.html
+++ b/src/syn/derive.rs.html
@@ -1,4 +1,4 @@
-derive.rs - source
+derive.rs - source
 
 
  1
diff --git a/src/syn/discouraged.rs.html b/src/syn/discouraged.rs.html
index 22d5907..335742e 100644
--- a/src/syn/discouraged.rs.html
+++ b/src/syn/discouraged.rs.html
@@ -1,4 +1,4 @@
-discouraged.rs - source
+discouraged.rs - source
 
 
  1
diff --git a/src/syn/error.rs.html b/src/syn/error.rs.html
index a27b5ed..68aac9c 100644
--- a/src/syn/error.rs.html
+++ b/src/syn/error.rs.html
@@ -1,4 +1,4 @@
-error.rs - source
+error.rs - source
 
 
  1
diff --git a/src/syn/export.rs.html b/src/syn/export.rs.html
index ec2a621..d69c405 100644
--- a/src/syn/export.rs.html
+++ b/src/syn/export.rs.html
@@ -1,4 +1,4 @@
-export.rs - source
+export.rs - source
 
 
 1
diff --git a/src/syn/expr.rs.html b/src/syn/expr.rs.html
index 4050851..692a47f 100644
--- a/src/syn/expr.rs.html
+++ b/src/syn/expr.rs.html
@@ -1,4 +1,4 @@
-expr.rs - source
+expr.rs - source
 
 
   1
@@ -3309,6 +3309,14 @@
 3306
 3307
 3308
+3309
+3310
+3311
+3312
+3313
+3314
+3315
+3316
 
 use super::*;
 use crate::punctuated::Punctuated;
@@ -4139,7 +4147,11 @@
             | Expr::TryBlock(ExprTryBlock { attrs, .. })
             | Expr::Yield(ExprYield { attrs, .. }) => mem::replace(attrs, new),
             Expr::Verbatim(_) => Vec::new(),
-            Expr::__TestExhaustive(_) => unreachable!(),
+
+            #[cfg(test)]
+            Expr::__TestExhaustive(_) => unimplemented!(),
+            #[cfg(not(test))]
+            _ => unreachable!(),
         }
     }
 }
@@ -5638,7 +5650,11 @@
                 Pat::Type(_) => unreachable!(),
                 Pat::Verbatim(_) => {}
                 Pat::Wild(pat) => pat.attrs = attrs,
-                Pat::__TestExhaustive(_) => unreachable!(),
+
+                #[cfg(test)]
+                Pat::__TestExhaustive(_) => unimplemented!(),
+                #[cfg(not(test))]
+                _ => unreachable!(),
             }
             Ok(pat)
         }
diff --git a/src/syn/ext.rs.html b/src/syn/ext.rs.html
index 0492b8e..cfbc522 100644
--- a/src/syn/ext.rs.html
+++ b/src/syn/ext.rs.html
@@ -1,4 +1,4 @@
-ext.rs - source
+ext.rs - source
 
 
  1
diff --git a/src/syn/gen/clone.rs.html b/src/syn/gen/clone.rs.html
index 9739b06..e4e986f 100644
--- a/src/syn/gen/clone.rs.html
+++ b/src/syn/gen/clone.rs.html
@@ -1,4 +1,4 @@
-clone.rs - source
+clone.rs - source
 
 
   1
diff --git a/src/syn/gen/debug.rs.html b/src/syn/gen/debug.rs.html
index 4309adc..d2290d1 100644
--- a/src/syn/gen/debug.rs.html
+++ b/src/syn/gen/debug.rs.html
@@ -1,4 +1,4 @@
-debug.rs - source
+debug.rs - source
 
 
   1
diff --git a/src/syn/gen/eq.rs.html b/src/syn/gen/eq.rs.html
index 125813e..0a7f05d 100644
--- a/src/syn/gen/eq.rs.html
+++ b/src/syn/gen/eq.rs.html
@@ -1,4 +1,4 @@
-eq.rs - source
+eq.rs - source
 
 
   1
diff --git a/src/syn/gen/hash.rs.html b/src/syn/gen/hash.rs.html
index 95ce11f..8590f97 100644
--- a/src/syn/gen/hash.rs.html
+++ b/src/syn/gen/hash.rs.html
@@ -1,4 +1,4 @@
-hash.rs - source
+hash.rs - source
 
 
   1
diff --git a/src/syn/gen/up/gen_helper.rs.html b/src/syn/gen/up/gen_helper.rs.html
index 3357f7d..99b92fc 100644
--- a/src/syn/gen/up/gen_helper.rs.html
+++ b/src/syn/gen/up/gen_helper.rs.html
@@ -1,4 +1,4 @@
-gen_helper.rs - source
+gen_helper.rs - source
 
 
  1
diff --git a/src/syn/gen/visit.rs.html b/src/syn/gen/visit.rs.html
index e28b0f8..bfcfd55 100644
--- a/src/syn/gen/visit.rs.html
+++ b/src/syn/gen/visit.rs.html
@@ -1,4 +1,4 @@
-visit.rs - source
+visit.rs - source
 
 
   1
diff --git a/src/syn/generics.rs.html b/src/syn/generics.rs.html
index 85ddd22..d347de2 100644
--- a/src/syn/generics.rs.html
+++ b/src/syn/generics.rs.html
@@ -1,4 +1,4 @@
-generics.rs - source
+generics.rs - source
 
 
   1
diff --git a/src/syn/group.rs.html b/src/syn/group.rs.html
index 26a7d2d..797dc5b 100644
--- a/src/syn/group.rs.html
+++ b/src/syn/group.rs.html
@@ -1,4 +1,4 @@
-group.rs - source
+group.rs - source
 
 
  1
diff --git a/src/syn/ident.rs.html b/src/syn/ident.rs.html
index bd8a6a5..74943fc 100644
--- a/src/syn/ident.rs.html
+++ b/src/syn/ident.rs.html
@@ -1,4 +1,4 @@
-ident.rs - source
+ident.rs - source
 
 
  1
diff --git a/src/syn/lib.rs.html b/src/syn/lib.rs.html
index 2339488..0a37f53 100644
--- a/src/syn/lib.rs.html
+++ b/src/syn/lib.rs.html
@@ -1,4 +1,4 @@
-lib.rs - source
+lib.rs - source
 
 
  1
@@ -993,6 +993,8 @@
 990
 991
 992
+993
+994
 
 //! [![github]](https://github.com/dtolnay/syn)&ensp;[![crates-io]](https://crates.io/crates/syn)&ensp;[![docs-rs]](crate)
 //!
@@ -1246,7 +1248,7 @@
 //!   dynamic library libproc_macro from rustc toolchain.
 
 // Syn types in rustdoc of other crates get linked to here.
-#![doc(html_root_url = "https://docs.rs/syn/1.0.60")]
+#![doc(html_root_url = "https://docs.rs/syn/1.0.61")]
 #![cfg_attr(doc_cfg, feature(doc_cfg))]
 #![allow(non_camel_case_types)]
 // Ignored clippy lints.
@@ -1255,7 +1257,9 @@
     clippy::eval_order_dependence,
     clippy::inherent_to_string,
     clippy::large_enum_variant,
+    clippy::manual_map, // https://github.com/rust-lang/rust-clippy/issues/6795
     clippy::match_on_vec_items,
+    clippy::missing_panics_doc,
     clippy::needless_doctest_main,
     clippy::needless_pass_by_value,
     clippy::never_loop,
diff --git a/src/syn/lifetime.rs.html b/src/syn/lifetime.rs.html
index c72dfc3..73cb685 100644
--- a/src/syn/lifetime.rs.html
+++ b/src/syn/lifetime.rs.html
@@ -1,4 +1,4 @@
-lifetime.rs - source
+lifetime.rs - source
 
 
  1
@@ -144,6 +144,17 @@
 141
 142
 143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
 
 use proc_macro2::{Ident, Span};
 use std::cmp::Ordering;
@@ -204,6 +215,17 @@
             ident: Ident::new(&symbol[1..], span),
         }
     }
+
+    pub fn span(&self) -> Span {
+        self.apostrophe
+            .join(self.ident.span())
+            .unwrap_or(self.apostrophe)
+    }
+
+    pub fn set_span(&mut self, span: Span) {
+        self.apostrophe = span;
+        self.ident.set_span(span);
+    }
 }
 
 impl Display for Lifetime {
diff --git a/src/syn/lit.rs.html b/src/syn/lit.rs.html
index dd5ce6a..b68efea 100644
--- a/src/syn/lit.rs.html
+++ b/src/syn/lit.rs.html
@@ -1,4 +1,4 @@
-lit.rs - source
+lit.rs - source
 
 
   1
@@ -1557,6 +1557,24 @@
 1554
 1555
 1556
+1557
+1558
+1559
+1560
+1561
+1562
+1563
+1564
+1565
+1566
+1567
+1568
+1569
+1570
+1571
+1572
+1573
+1574
 
 #[cfg(feature = "parsing")]
 use crate::lookahead;
@@ -2065,6 +2083,24 @@
     }
 }
 
+impl LitBool {
+    pub fn new(value: bool, span: Span) -> Self {
+        LitBool { value, span }
+    }
+
+    pub fn value(&self) -> bool {
+        self.value
+    }
+
+    pub fn span(&self) -> Span {
+        self.span
+    }
+
+    pub fn set_span(&mut self, span: Span) {
+        self.span = span;
+    }
+}
+
 #[cfg(feature = "extra-traits")]
 mod debug_impls {
     use super::*;
diff --git a/src/syn/lookahead.rs.html b/src/syn/lookahead.rs.html
index 68521e5..8879f88 100644
--- a/src/syn/lookahead.rs.html
+++ b/src/syn/lookahead.rs.html
@@ -1,4 +1,4 @@
-lookahead.rs - source
+lookahead.rs - source
 
 
  1
diff --git a/src/syn/mac.rs.html b/src/syn/mac.rs.html
index feaa11e..315bddc 100644
--- a/src/syn/mac.rs.html
+++ b/src/syn/mac.rs.html
@@ -1,4 +1,4 @@
-mac.rs - source
+mac.rs - source
 
 
  1
diff --git a/src/syn/macros.rs.html b/src/syn/macros.rs.html
index e01ef40..6fa29c6 100644
--- a/src/syn/macros.rs.html
+++ b/src/syn/macros.rs.html
@@ -1,4 +1,4 @@
-macros.rs - source
+macros.rs - source
 
 
  1
diff --git a/src/syn/op.rs.html b/src/syn/op.rs.html
index 654d3d6..0aac828 100644
--- a/src/syn/op.rs.html
+++ b/src/syn/op.rs.html
@@ -1,4 +1,4 @@
-op.rs - source
+op.rs - source
 
 
  1
diff --git a/src/syn/parse.rs.html b/src/syn/parse.rs.html
index bdf5589..22ba5e4 100644
--- a/src/syn/parse.rs.html
+++ b/src/syn/parse.rs.html
@@ -1,4 +1,4 @@
-parse.rs - source
+parse.rs - source
 
 
   1
diff --git a/src/syn/parse_macro_input.rs.html b/src/syn/parse_macro_input.rs.html
index ad5c86c..34e4cfe 100644
--- a/src/syn/parse_macro_input.rs.html
+++ b/src/syn/parse_macro_input.rs.html
@@ -1,4 +1,4 @@
-parse_macro_input.rs - source
+parse_macro_input.rs - source
 
 
  1
diff --git a/src/syn/parse_quote.rs.html b/src/syn/parse_quote.rs.html
index b408440..e304569 100644
--- a/src/syn/parse_quote.rs.html
+++ b/src/syn/parse_quote.rs.html
@@ -1,4 +1,4 @@
-parse_quote.rs - source
+parse_quote.rs - source
 
 
  1
diff --git a/src/syn/path.rs.html b/src/syn/path.rs.html
index f56027a..11992e9 100644
--- a/src/syn/path.rs.html
+++ b/src/syn/path.rs.html
@@ -1,4 +1,4 @@
-path.rs - source
+path.rs - source
 
 
  1
diff --git a/src/syn/print.rs.html b/src/syn/print.rs.html
index a744990..e38bb86 100644
--- a/src/syn/print.rs.html
+++ b/src/syn/print.rs.html
@@ -1,4 +1,4 @@
-print.rs - source
+print.rs - source
 
 
 1
diff --git a/src/syn/punctuated.rs.html b/src/syn/punctuated.rs.html
index 78fb184..94214dd 100644
--- a/src/syn/punctuated.rs.html
+++ b/src/syn/punctuated.rs.html
@@ -1,4 +1,4 @@
-punctuated.rs - source
+punctuated.rs - source
 
 
   1
@@ -1026,6 +1026,21 @@
 1023
 1024
 1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
 
 //! A punctuated sequence of syntax tree nodes separated by punctuation.
 //!
@@ -1191,7 +1206,11 @@
     /// Panics if the sequence does not already have a trailing punctuation when
     /// this method is called.
     pub fn push_value(&mut self, value: T) {
-        assert!(self.empty_or_trailing());
+        assert!(
+            self.empty_or_trailing(),
+            "Punctuated::push_value: cannot push value if Punctuated is missing trailing punctuation",
+        );
+
         self.last = Some(Box::new(value));
     }
 
@@ -1203,7 +1222,11 @@
     ///
     /// Panics if the sequence is empty or already has a trailing punctuation.
     pub fn push_punct(&mut self, punctuation: P) {
-        assert!(self.last.is_some());
+        assert!(
+            self.last.is_some(),
+            "Punctuated::push_punct: cannot push punctuation if Punctuated is empty or already has trailing punctuation",
+        );
+
         let last = self.last.take().unwrap();
         self.inner.push((*last, punctuation));
     }
@@ -1257,7 +1280,10 @@
     where
         P: Default,
     {
-        assert!(index <= self.len());
+        assert!(
+            index <= self.len(),
+            "Punctuated::insert: index out of range",
+        );
 
         if index == self.len() {
             self.push(value);
@@ -1483,7 +1509,11 @@
 
 impl<T, P> Extend<Pair<T, P>> for Punctuated<T, P> {
     fn extend<I: IntoIterator<Item = Pair<T, P>>>(&mut self, i: I) {
-        assert!(self.empty_or_trailing());
+        assert!(
+            self.empty_or_trailing(),
+            "Punctuated::extend: Punctuated is not empty or does not have a trailing punctuation",
+        );
+
         let mut nomore = false;
         for pair in i {
             if nomore {
diff --git a/src/syn/sealed.rs.html b/src/syn/sealed.rs.html
index ffe61b5..6d8c564 100644
--- a/src/syn/sealed.rs.html
+++ b/src/syn/sealed.rs.html
@@ -1,4 +1,4 @@
-sealed.rs - source
+sealed.rs - source
 
 
1
diff --git a/src/syn/span.rs.html b/src/syn/span.rs.html
index bcbe522..4e38225 100644
--- a/src/syn/span.rs.html
+++ b/src/syn/span.rs.html
@@ -1,4 +1,4 @@
-span.rs - source
+span.rs - source
 
 
 1
diff --git a/src/syn/spanned.rs.html b/src/syn/spanned.rs.html
index 49030bc..36592be 100644
--- a/src/syn/spanned.rs.html
+++ b/src/syn/spanned.rs.html
@@ -1,4 +1,4 @@
-spanned.rs - source
+spanned.rs - source
 
 
  1
diff --git a/src/syn/thread.rs.html b/src/syn/thread.rs.html
index a35bf7a..2716e64 100644
--- a/src/syn/thread.rs.html
+++ b/src/syn/thread.rs.html
@@ -1,4 +1,4 @@
-thread.rs - source
+thread.rs - source
 
 
 1
diff --git a/src/syn/token.rs.html b/src/syn/token.rs.html
index e19e851..10713dc 100644
--- a/src/syn/token.rs.html
+++ b/src/syn/token.rs.html
@@ -1,4 +1,4 @@
-token.rs - source
+token.rs - source
 
 
   1
diff --git a/src/syn/tt.rs.html b/src/syn/tt.rs.html
index ded8e89..f683084 100644
--- a/src/syn/tt.rs.html
+++ b/src/syn/tt.rs.html
@@ -1,4 +1,4 @@
-tt.rs - source
+tt.rs - source
 
 
  1
diff --git a/src/syn/ty.rs.html b/src/syn/ty.rs.html
index 5bfee3b..be48755 100644
--- a/src/syn/ty.rs.html
+++ b/src/syn/ty.rs.html
@@ -1,4 +1,4 @@
-ty.rs - source
+ty.rs - source
 
 
   1
diff --git a/src/syn/verbatim.rs.html b/src/syn/verbatim.rs.html
index d524a4a..db0cb6f 100644
--- a/src/syn/verbatim.rs.html
+++ b/src/syn/verbatim.rs.html
@@ -1,4 +1,4 @@
-verbatim.rs - source
+verbatim.rs - source
 
 
 1
diff --git a/syn/all.html b/syn/all.html
index 9040c19..9efff44 100644
--- a/syn/all.html
+++ b/syn/all.html
@@ -1,6 +1,6 @@
 List of all items in this crate
 
-

impl From<ExprYield> for Expr[src]

impl Hash for Expr[src]

impl Parse for Expr[src]

impl PartialEq<Expr> for Expr[src]

impl Parse for Expr[src]

impl PartialEq<Expr> for Expr[src]

impl ToTokens for Expr[src]

Bool(LitBool)

A boolean literal: true or false.

Verbatim(Literal)

A raw token literal not interpreted by Syn.

-

Implementations

impl Lit[src]

pub fn new(token: Literal) -> Self[src]

Interpret a Syn literal from a proc-macro2 literal.

-

pub fn suffix(&self) -> &str[src]

pub fn span(&self) -> Span[src]

pub fn set_span(&mut self, span: Span)[src]

Trait Implementations

impl Clone for Lit[src]

Implementations

impl Lit[src]

pub fn new(token: Literal) -> Self[src]

Interpret a Syn literal from a proc-macro2 literal.

+

pub fn suffix(&self) -> &str[src]

pub fn span(&self) -> Span[src]

pub fn set_span(&mut self, span: Span)[src]

Trait Implementations

impl Clone for Lit[src]

impl Debug for Lit[src]

impl Eq for Lit[src]

impl From<Lit> for NestedMeta[src]

impl From<LitStr> for Lit[src]

impl Hash for Lit[src]

impl Parse for Lit[src]

impl PartialEq<Lit> for Lit[src]

impl Parse for Lit[src]

impl PartialEq<Lit> for Lit[src]

impl ToTokens for Lit[src]

-

pub fn suffix(&self) -> &str[src]

pub fn span(&self) -> Span[src]

pub fn set_span(&mut self, span: Span)[src]

Trait Implementations

impl Clone for LitInt[src]

pub fn suffix(&self) -> &str[src]

pub fn span(&self) -> Span[src]

pub fn set_span(&mut self, span: Span)[src]

Trait Implementations

impl Clone for LitInt[src]

impl Debug for LitInt[src]

impl Debug for LitInt[src]

impl Display for LitInt[src]

impl Eq for LitInt[src]

impl From<LitInt> for Lit[src]

impl From<Literal> for LitInt[src]

impl Hash for LitInt[src]

impl Hash for LitInt[src]

impl Parse for LitInt[src]

impl PartialEq<LitInt> for LitInt[src]

impl Parse for LitInt[src]

impl PartialEq<LitInt> for LitInt[src]

impl ToTokens for LitInt[src]

impl ToTokens for LitInt[src]

impl Token for LitInt[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

-

pub fn span(&self) -> Span[src]

pub fn set_span(&mut self, span: Span)[src]

pub fn suffix(&self) -> &str[src]

Trait Implementations

impl Clone for LitStr[src]

pub fn span(&self) -> Span[src]

pub fn set_span(&mut self, span: Span)[src]

pub fn suffix(&self) -> &str[src]

Trait Implementations

impl Clone for LitStr[src]

impl Debug for LitStr[src]

impl Debug for LitStr[src]

impl Eq for LitStr[src]

impl From<LitStr> for Lit[src]

impl Hash for LitStr[src]

impl Hash for LitStr[src]

impl Parse for LitStr[src]

impl PartialEq<LitStr> for LitStr[src]

impl Parse for LitStr[src]

impl PartialEq<LitStr> for LitStr[src]

impl ToTokens for LitStr[src]

impl ToTokens for LitStr[src]

impl Token for LitStr[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]