diff --git a/doc/ayaka_bindings/all.html b/doc/ayaka_bindings/all.html index 2578e3b4..bda857a8 100644 --- a/doc/ayaka_bindings/all.html +++ b/doc/ayaka_bindings/all.html @@ -1,2 +1 @@ -List of all items in this crate -

List of all items

Structs

Attribute Macros

\ No newline at end of file +List of all items in this crate

List of all items

Structs

Attribute Macros

\ No newline at end of file diff --git a/doc/ayaka_bindings/attr.export.html b/doc/ayaka_bindings/attr.export.html index 1e2b9ef3..7b2b71ec 100644 --- a/doc/ayaka_bindings/attr.export.html +++ b/doc/ayaka_bindings/attr.export.html @@ -1,2 +1 @@ -export in ayaka_bindings - Rust -

Attribute Macro ayaka_bindings::export

source ·
#[export]
\ No newline at end of file +export in ayaka_bindings - Rust

Attribute Macro ayaka_bindings::export

source ·
#[export]
\ No newline at end of file diff --git a/doc/ayaka_bindings/attr.import.html b/doc/ayaka_bindings/attr.import.html index be984acb..f88a539b 100644 --- a/doc/ayaka_bindings/attr.import.html +++ b/doc/ayaka_bindings/attr.import.html @@ -1,2 +1 @@ -import in ayaka_bindings - Rust -

Attribute Macro ayaka_bindings::import

source ·
#[import]
\ No newline at end of file +import in ayaka_bindings - Rust

Attribute Macro ayaka_bindings::import

source ·
#[import]
\ No newline at end of file diff --git a/doc/ayaka_bindings/fs/index.html b/doc/ayaka_bindings/fs/index.html index 9a4e4c7e..7d131068 100644 --- a/doc/ayaka_bindings/fs/index.html +++ b/doc/ayaka_bindings/fs/index.html @@ -1,2 +1 @@ -ayaka_bindings::fs - Rust -

Module ayaka_bindings::fs

source ·

Structs§

\ No newline at end of file +ayaka_bindings::fs - Rust

Module ayaka_bindings::fs

source ·

Structs§

\ No newline at end of file diff --git a/doc/ayaka_bindings/fs/struct.HostFS.html b/doc/ayaka_bindings/fs/struct.HostFS.html index a534f4f5..3a313a8d 100644 --- a/doc/ayaka_bindings/fs/struct.HostFS.html +++ b/doc/ayaka_bindings/fs/struct.HostFS.html @@ -1,5 +1,4 @@ -HostFS in ayaka_bindings::fs - Rust -

Struct ayaka_bindings::fs::HostFS

source ·
pub struct HostFS;

Trait Implementations§

source§

impl Debug for HostFS

source§

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

Formats the value using the given formatter. Read more
source§

impl Default for HostFS

source§

fn default() -> HostFS

Returns the “default value” for a type. Read more
source§

impl FileSystem for HostFS

source§

fn read_dir( +HostFS in ayaka_bindings::fs - Rust

Struct ayaka_bindings::fs::HostFS

source ·
pub struct HostFS;

Trait Implementations§

source§

impl Debug for HostFS

source§

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

Formats the value using the given formatter. Read more
source§

impl Default for HostFS

source§

fn default() -> HostFS

Returns the “default value” for a type. Read more
source§

impl FileSystem for HostFS

source§

fn read_dir( &self, path: &str ) -> VfsResult<Box<dyn Iterator<Item = String> + Send>>

Iterates over all direct children of this directory path @@ -12,5 +11,5 @@

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file diff --git a/doc/ayaka_bindings/index.html b/doc/ayaka_bindings/index.html index 07ccfdcf..45e4883f 100644 --- a/doc/ayaka_bindings/index.html +++ b/doc/ayaka_bindings/index.html @@ -1,3 +1 @@ -ayaka_bindings - Rust -

Crate ayaka_bindings

source ·

Re-exports§

  • pub use ayaka_primitive::RawValue;
  • pub use ayaka_primitive::ValueType;
  • pub use log;
  • pub use vfs;
  • pub use ayaka_bindings_types::*;

Modules§

Attribute Macros§

\ No newline at end of file +ayaka_bindings - Rust

Crate ayaka_bindings

source ·

Re-exports§

  • pub use ayaka_primitive::RawValue;
  • pub use ayaka_primitive::ValueType;
  • pub use log;
  • pub use vfs;
  • pub use ayaka_bindings_types::*;

Modules§

Attribute Macros§

\ No newline at end of file diff --git a/doc/ayaka_bindings_impl/all.html b/doc/ayaka_bindings_impl/all.html index d000864d..e8ba3486 100644 --- a/doc/ayaka_bindings_impl/all.html +++ b/doc/ayaka_bindings_impl/all.html @@ -1,2 +1 @@ -List of all items in this crate -

List of all items

Attribute Macros

\ No newline at end of file +List of all items in this crate

List of all items

Attribute Macros

\ No newline at end of file diff --git a/doc/ayaka_bindings_impl/attr.export.html b/doc/ayaka_bindings_impl/attr.export.html index 6affa61b..587bd8cb 100644 --- a/doc/ayaka_bindings_impl/attr.export.html +++ b/doc/ayaka_bindings_impl/attr.export.html @@ -1,2 +1 @@ -export in ayaka_bindings_impl - Rust -

Attribute Macro ayaka_bindings_impl::export

source ·
#[export]
\ No newline at end of file +export in ayaka_bindings_impl - Rust

Attribute Macro ayaka_bindings_impl::export

source ·
#[export]
\ No newline at end of file diff --git a/doc/ayaka_bindings_impl/attr.import.html b/doc/ayaka_bindings_impl/attr.import.html index b9c4c28d..b57d8b53 100644 --- a/doc/ayaka_bindings_impl/attr.import.html +++ b/doc/ayaka_bindings_impl/attr.import.html @@ -1,2 +1 @@ -import in ayaka_bindings_impl - Rust -

Attribute Macro ayaka_bindings_impl::import

source ·
#[import]
\ No newline at end of file +import in ayaka_bindings_impl - Rust

Attribute Macro ayaka_bindings_impl::import

source ·
#[import]
\ No newline at end of file diff --git a/doc/ayaka_bindings_impl/index.html b/doc/ayaka_bindings_impl/index.html index c4333faf..7c461671 100644 --- a/doc/ayaka_bindings_impl/index.html +++ b/doc/ayaka_bindings_impl/index.html @@ -1,3 +1 @@ -ayaka_bindings_impl - Rust -

Attribute Macros§

\ No newline at end of file +ayaka_bindings_impl - Rust

Crate ayaka_bindings_impl

source ·

Attribute Macros§

\ No newline at end of file diff --git a/doc/ayaka_bindings_types/all.html b/doc/ayaka_bindings_types/all.html index 0459c3b4..5a6ae1b5 100644 --- a/doc/ayaka_bindings_types/all.html +++ b/doc/ayaka_bindings_types/all.html @@ -1,2 +1 @@ -List of all items in this crate -

List of all items

Structs

Enums

Type Aliases

\ No newline at end of file +List of all items in this crate

List of all items

Structs

Enums

Type Aliases

\ No newline at end of file diff --git a/doc/ayaka_bindings_types/enum.Action.html b/doc/ayaka_bindings_types/enum.Action.html index 1ae6fe2d..abab1438 100644 --- a/doc/ayaka_bindings_types/enum.Action.html +++ b/doc/ayaka_bindings_types/enum.Action.html @@ -1,5 +1,4 @@ -Action in ayaka_bindings_types - Rust -
pub enum Action {
+Action in ayaka_bindings_types - Rust

Enum ayaka_bindings_types::Action

source ·
pub enum Action {
     Empty,
     Text(ActionText),
     Switches(Vec<Switch>),
@@ -10,11 +9,11 @@
 
§

Text(ActionText)

A text action, display some texts.

§

Switches(Vec<Switch>)

A switch action, display switches and let player to choose.

§

Custom(VarMap)

A custom action.

-

Trait Implementations§

source§

impl Clone for Action

source§

fn clone(&self) -> Action

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for Action

source§

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

Formats the value using the given formatter. Read more
source§

impl Default for Action

source§

fn default() -> Action

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for Action

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl PartialEq for Action

source§

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

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for Action

source§

fn clone(&self) -> Action

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for Action

source§

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

Formats the value using the given formatter. Read more
source§

impl Default for Action

source§

fn default() -> Action

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for Action

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl PartialEq for Action

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Serialize for Action

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl StructuralPartialEq for Action

Auto Trait Implementations§

§

impl Freeze for Action

§

impl RefUnwindSafe for Action

§

impl Send for Action

§

impl Sync for Action

§

impl Unpin for Action

§

impl UnwindSafe for Action

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl Serialize for Action

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl StructuralPartialEq for Action

Auto Trait Implementations§

§

impl Freeze for Action

§

impl RefUnwindSafe for Action

§

impl Send for Action

§

impl Sync for Action

§

impl Unpin for Action

§

impl UnwindSafe for Action

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -24,6 +23,6 @@ From<T> for U chooses to do.

source§

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

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file + U: Into<T>,
§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/doc/ayaka_bindings_types/enum.ActionSubText.html b/doc/ayaka_bindings_types/enum.ActionSubText.html index dbc0adf0..63a708c0 100644 --- a/doc/ayaka_bindings_types/enum.ActionSubText.html +++ b/doc/ayaka_bindings_types/enum.ActionSubText.html @@ -1,5 +1,4 @@ -ActionSubText in ayaka_bindings_types - Rust -
pub enum ActionSubText {
+ActionSubText in ayaka_bindings_types - Rust

Enum ayaka_bindings_types::ActionSubText

source ·
pub enum ActionSubText {
     Chars(String),
     Block(String),
 }
Expand description

The unit of one line in an action.

@@ -14,11 +13,11 @@
source

pub fn block(s: impl Into<String>) -> Self

source

pub fn as_str(&self) -> &str

Gets a reference of str.

source

pub fn into_string(self) -> String

Gets the inner String.

-

Trait Implementations§

source§

impl Clone for ActionSubText

source§

fn clone(&self) -> ActionSubText

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ActionSubText

source§

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

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for ActionSubText

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl PartialEq for ActionSubText

source§

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

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for ActionSubText

source§

fn clone(&self) -> ActionSubText

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ActionSubText

source§

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

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for ActionSubText

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl PartialEq for ActionSubText

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Serialize for ActionSubText

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Eq for ActionSubText

source§

impl StructuralPartialEq for ActionSubText

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl Serialize for ActionSubText

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Eq for ActionSubText

source§

impl StructuralPartialEq for ActionSubText

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -28,6 +27,6 @@ From<T> for U chooses to do.

source§

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

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file + U: Into<T>,
§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/doc/ayaka_bindings_types/enum.FileSeekFrom.html b/doc/ayaka_bindings_types/enum.FileSeekFrom.html index 99ec22cd..ad2c624c 100644 --- a/doc/ayaka_bindings_types/enum.FileSeekFrom.html +++ b/doc/ayaka_bindings_types/enum.FileSeekFrom.html @@ -1,5 +1,4 @@ -FileSeekFrom in ayaka_bindings_types - Rust -
pub enum FileSeekFrom {
+FileSeekFrom in ayaka_bindings_types - Rust

Enum ayaka_bindings_types::FileSeekFrom

source ·
pub enum FileSeekFrom {
     Start(u64),
     End(i64),
     Current(i64),
@@ -7,11 +6,11 @@
 

Variants§

§

Start(u64)

Seek from start.

§

End(i64)

Seek from end.

§

Current(i64)

Seek from current position.

-

Trait Implementations§

source§

impl Clone for FileSeekFrom

source§

fn clone(&self) -> FileSeekFrom

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for FileSeekFrom

source§

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

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for FileSeekFrom

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl From<FileSeekFrom> for SeekFrom

source§

fn from(value: FileSeekFrom) -> Self

Converts to this type from the input type.
source§

impl From<SeekFrom> for FileSeekFrom

source§

fn from(value: SeekFrom) -> Self

Converts to this type from the input type.
source§

impl PartialEq for FileSeekFrom

source§

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

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for FileSeekFrom

source§

fn clone(&self) -> FileSeekFrom

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for FileSeekFrom

source§

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

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for FileSeekFrom

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl From<FileSeekFrom> for SeekFrom

source§

fn from(value: FileSeekFrom) -> Self

Converts to this type from the input type.
source§

impl From<SeekFrom> for FileSeekFrom

source§

fn from(value: SeekFrom) -> Self

Converts to this type from the input type.
source§

impl PartialEq for FileSeekFrom

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Serialize for FileSeekFrom

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Copy for FileSeekFrom

source§

impl Eq for FileSeekFrom

source§

impl StructuralPartialEq for FileSeekFrom

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl Serialize for FileSeekFrom

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Copy for FileSeekFrom

source§

impl Eq for FileSeekFrom

source§

impl StructuralPartialEq for FileSeekFrom

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -21,6 +20,6 @@ From<T> for U chooses to do.

source§

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

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file + U: Into<T>,
§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/doc/ayaka_bindings_types/enum.FileType.html b/doc/ayaka_bindings_types/enum.FileType.html index ac8f1226..b4f85f14 100644 --- a/doc/ayaka_bindings_types/enum.FileType.html +++ b/doc/ayaka_bindings_types/enum.FileType.html @@ -1,15 +1,14 @@ -FileType in ayaka_bindings_types - Rust -
pub enum FileType {
+FileType in ayaka_bindings_types - Rust

Enum ayaka_bindings_types::FileType

source ·
pub enum FileType {
     File,
     Dir,
 }
Expand description

Type of a file.

Variants§

§

File

A file.

§

Dir

A directory.

-

Trait Implementations§

source§

impl Clone for FileType

source§

fn clone(&self) -> FileType

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for FileType

source§

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

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for FileType

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl From<FileType> for VfsFileType

source§

fn from(value: FileType) -> Self

Converts to this type from the input type.
source§

impl From<VfsFileType> for FileType

source§

fn from(value: VfsFileType) -> Self

Converts to this type from the input type.
source§

impl PartialEq for FileType

source§

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

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for FileType

source§

fn clone(&self) -> FileType

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for FileType

source§

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

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for FileType

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl From<FileType> for VfsFileType

source§

fn from(value: FileType) -> Self

Converts to this type from the input type.
source§

impl From<VfsFileType> for FileType

source§

fn from(value: VfsFileType) -> Self

Converts to this type from the input type.
source§

impl PartialEq for FileType

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Serialize for FileType

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Copy for FileType

source§

impl Eq for FileType

source§

impl StructuralPartialEq for FileType

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl Serialize for FileType

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Copy for FileType

source§

impl Eq for FileType

source§

impl StructuralPartialEq for FileType

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -19,6 +18,6 @@ From<T> for U chooses to do.

source§

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

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file + U: Into<T>,
§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/doc/ayaka_bindings_types/enum.FrontendType.html b/doc/ayaka_bindings_types/enum.FrontendType.html index d8769255..c012fafb 100644 --- a/doc/ayaka_bindings_types/enum.FrontendType.html +++ b/doc/ayaka_bindings_types/enum.FrontendType.html @@ -1,5 +1,4 @@ -FrontendType in ayaka_bindings_types - Rust -
pub enum FrontendType {
+FrontendType in ayaka_bindings_types - Rust

Enum ayaka_bindings_types::FrontendType

source ·
pub enum FrontendType {
     Text,
     Html,
     Latex,
@@ -7,9 +6,9 @@
 

Variants§

§

Text

The frontend only accepts raw texts.

§

Html

The frontend renders HTML.

§

Latex

The frontend renders LaTeX.

-

Trait Implementations§

source§

impl Clone for FrontendType

source§

fn clone(&self) -> FrontendType

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for FrontendType

source§

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

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for FrontendType

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for FrontendType

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Copy for FrontendType

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Clone for FrontendType

source§

fn clone(&self) -> FrontendType

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for FrontendType

source§

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

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for FrontendType

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for FrontendType

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Copy for FrontendType

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -19,6 +18,6 @@ From<T> for U chooses to do.

source§

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

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file + U: Into<T>,
§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/doc/ayaka_bindings_types/index.html b/doc/ayaka_bindings_types/index.html index facbf396..8cb6c0e2 100644 --- a/doc/ayaka_bindings_types/index.html +++ b/doc/ayaka_bindings_types/index.html @@ -1,6 +1,4 @@ -ayaka_bindings_types - Rust -
Expand description

The types used in both runtime and plugins.

+ayaka_bindings_types - Rust

Crate ayaka_bindings_types

source ·
Expand description

The types used in both runtime and plugins.

Structs§

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/doc/ayaka_bindings_types/struct.ActionProcessResult.html b/doc/ayaka_bindings_types/struct.ActionProcessResult.html index 65bc8629..2d5610f4 100644 --- a/doc/ayaka_bindings_types/struct.ActionProcessResult.html +++ b/doc/ayaka_bindings_types/struct.ActionProcessResult.html @@ -1,12 +1,11 @@ -ActionProcessResult in ayaka_bindings_types - Rust -
pub struct ActionProcessResult {
+ActionProcessResult in ayaka_bindings_types - Rust

Struct ayaka_bindings_types::ActionProcessResult

source ·
pub struct ActionProcessResult {
     pub action: ActionText,
 }
Expand description

The result of action plugins. See examples at ActionProcessContext.

Fields§

§action: ActionText

The processed action text.

-

Trait Implementations§

source§

impl Debug for ActionProcessResult

source§

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

Formats the value using the given formatter. Read more
source§

impl Default for ActionProcessResult

source§

fn default() -> ActionProcessResult

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for ActionProcessResult

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for ActionProcessResult

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Debug for ActionProcessResult

source§

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

Formats the value using the given formatter. Read more
source§

impl Default for ActionProcessResult

source§

fn default() -> ActionProcessResult

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for ActionProcessResult

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for ActionProcessResult

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -15,6 +14,6 @@

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file + U: Into<T>,
§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/doc/ayaka_bindings_types/struct.ActionText.html b/doc/ayaka_bindings_types/struct.ActionText.html index fe0cb67a..2e0abf07 100644 --- a/doc/ayaka_bindings_types/struct.ActionText.html +++ b/doc/ayaka_bindings_types/struct.ActionText.html @@ -1,5 +1,4 @@ -ActionText in ayaka_bindings_types - Rust -
pub struct ActionText {
+ActionText in ayaka_bindings_types - Rust

Struct ayaka_bindings_types::ActionText

source ·
pub struct ActionText {
     pub text: VecDeque<ActionSubText>,
     pub ch_key: Option<String>,
     pub character: Option<String>,
@@ -23,11 +22,11 @@
 If the back element is also ActionSubText::Chars, the string is appended.

source

pub fn push_back_block<'a>(&mut self, s: impl Into<Cow<'a, str>>)

Push the string as ActionSubText::Block to the back. If the back element is also ActionSubText::Block, the string is appended.

-

Trait Implementations§

source§

impl Clone for ActionText

source§

fn clone(&self) -> ActionText

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ActionText

source§

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

Formats the value using the given formatter. Read more
source§

impl Default for ActionText

source§

fn default() -> ActionText

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for ActionText

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Display for ActionText

source§

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

Formats the value using the given formatter. Read more
source§

impl FallbackSpec for ActionText

§

type SpecType = __FallbackActionText

The specialized fallback type.
source§

impl PartialEq for ActionText

source§

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

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for ActionText

source§

fn clone(&self) -> ActionText

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ActionText

source§

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

Formats the value using the given formatter. Read more
source§

impl Default for ActionText

source§

fn default() -> ActionText

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for ActionText

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Display for ActionText

source§

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

Formats the value using the given formatter. Read more
source§

impl FallbackSpec for ActionText

§

type SpecType = __FallbackActionText

The specialized fallback type.
source§

impl PartialEq for ActionText

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Serialize for ActionText

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl Serialize for ActionText

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -36,8 +35,8 @@

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

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

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

impl<T> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file + T: Clone,
§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

impl<T> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/doc/ayaka_bindings_types/struct.FileMetadata.html b/doc/ayaka_bindings_types/struct.FileMetadata.html index fe8fc4ec..b21daf67 100644 --- a/doc/ayaka_bindings_types/struct.FileMetadata.html +++ b/doc/ayaka_bindings_types/struct.FileMetadata.html @@ -1,13 +1,12 @@ -FileMetadata in ayaka_bindings_types - Rust -
pub struct FileMetadata {
+FileMetadata in ayaka_bindings_types - Rust

Struct ayaka_bindings_types::FileMetadata

source ·
pub struct FileMetadata {
     pub file_type: FileType,
     pub len: u64,
 }
Expand description

File metadata.

Fields§

§file_type: FileType

Type of file.

§len: u64

Length of the file.

-

Trait Implementations§

source§

impl Debug for FileMetadata

source§

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

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for FileMetadata

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl From<FileMetadata> for VfsMetadata

source§

fn from(value: FileMetadata) -> Self

Converts to this type from the input type.
source§

impl From<VfsMetadata> for FileMetadata

source§

fn from(value: VfsMetadata) -> Self

Converts to this type from the input type.
source§

impl Serialize for FileMetadata

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Debug for FileMetadata

source§

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

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for FileMetadata

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl From<FileMetadata> for VfsMetadata

source§

fn from(value: FileMetadata) -> Self

Converts to this type from the input type.
source§

impl From<VfsMetadata> for FileMetadata

source§

fn from(value: VfsMetadata) -> Self

Converts to this type from the input type.
source§

impl Serialize for FileMetadata

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -16,6 +15,6 @@

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file + U: Into<T>,
§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/doc/ayaka_bindings_types/struct.GameProcessContext.html b/doc/ayaka_bindings_types/struct.GameProcessContext.html index 4ffa4862..5e5913c7 100644 --- a/doc/ayaka_bindings_types/struct.GameProcessContext.html +++ b/doc/ayaka_bindings_types/struct.GameProcessContext.html @@ -1,5 +1,4 @@ -GameProcessContext in ayaka_bindings_types - Rust -
pub struct GameProcessContext {
+GameProcessContext in ayaka_bindings_types - Rust

Struct ayaka_bindings_types::GameProcessContext

source ·
pub struct GameProcessContext {
     pub title: String,
     pub author: String,
     pub props: HashMap<String, String>,
@@ -16,9 +15,9 @@
 

Fields§

§title: String

The title of the game.

§author: String

The author of the game.

§props: HashMap<String, String>

The global properties of the game.

-

Trait Implementations§

source§

impl Debug for GameProcessContext

source§

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

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for GameProcessContext

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for GameProcessContext

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Debug for GameProcessContext

source§

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

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for GameProcessContext

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for GameProcessContext

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -27,6 +26,6 @@

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file + U: Into<T>,
§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/doc/ayaka_bindings_types/struct.GameProcessResult.html b/doc/ayaka_bindings_types/struct.GameProcessResult.html index 44ae4ba9..dde5f062 100644 --- a/doc/ayaka_bindings_types/struct.GameProcessResult.html +++ b/doc/ayaka_bindings_types/struct.GameProcessResult.html @@ -1,12 +1,11 @@ -GameProcessResult in ayaka_bindings_types - Rust -
pub struct GameProcessResult {
+GameProcessResult in ayaka_bindings_types - Rust

Struct ayaka_bindings_types::GameProcessResult

source ·
pub struct GameProcessResult {
     pub props: HashMap<String, String>,
 }
Expand description

The result of game plugins. See examples at GameProcessContext.

Fields§

§props: HashMap<String, String>

The updated properties.

-

Trait Implementations§

source§

impl Debug for GameProcessResult

source§

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

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for GameProcessResult

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for GameProcessResult

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Debug for GameProcessResult

source§

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

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for GameProcessResult

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for GameProcessResult

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -15,6 +14,6 @@

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file + U: Into<T>,
§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/doc/ayaka_bindings_types/struct.LineProcessContext.html b/doc/ayaka_bindings_types/struct.LineProcessContext.html index 6ffcfeed..8dcf71b0 100644 --- a/doc/ayaka_bindings_types/struct.LineProcessContext.html +++ b/doc/ayaka_bindings_types/struct.LineProcessContext.html @@ -1,5 +1,4 @@ -LineProcessContext in ayaka_bindings_types - Rust -
pub struct LineProcessContext {
+LineProcessContext in ayaka_bindings_types - Rust

Struct ayaka_bindings_types::LineProcessContext

source ·
pub struct LineProcessContext {
     pub game_props: HashMap<String, String>,
     pub frontend: FrontendType,
     pub ctx: RawContext,
@@ -23,9 +22,9 @@
 
§frontend: FrontendType

The frontend type.

§ctx: RawContext

The current context.

§props: VarMap

The full properties of the custom command.

-

Trait Implementations§

source§

impl Debug for LineProcessContext

source§

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

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for LineProcessContext

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for LineProcessContext

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Debug for LineProcessContext

source§

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

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for LineProcessContext

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for LineProcessContext

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -34,6 +33,6 @@

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file + U: Into<T>,
§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/doc/ayaka_bindings_types/struct.LineProcessResult.html b/doc/ayaka_bindings_types/struct.LineProcessResult.html index 0b009525..50bc8b60 100644 --- a/doc/ayaka_bindings_types/struct.LineProcessResult.html +++ b/doc/ayaka_bindings_types/struct.LineProcessResult.html @@ -1,14 +1,13 @@ -LineProcessResult in ayaka_bindings_types - Rust -
pub struct LineProcessResult {
+LineProcessResult in ayaka_bindings_types - Rust

Struct ayaka_bindings_types::LineProcessResult

source ·
pub struct LineProcessResult {
     pub locals: VarMap,
     pub vars: VarMap,
 }
Expand description

The result of commands in line plugins. See examples at LineProcessContext.

Fields§

§locals: VarMap

The updated variables.

§vars: VarMap

The temp variables.

-

Trait Implementations§

source§

impl Debug for LineProcessResult

source§

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

Formats the value using the given formatter. Read more
source§

impl Default for LineProcessResult

source§

fn default() -> LineProcessResult

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for LineProcessResult

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for LineProcessResult

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Debug for LineProcessResult

source§

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

Formats the value using the given formatter. Read more
source§

impl Default for LineProcessResult

source§

fn default() -> LineProcessResult

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for LineProcessResult

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for LineProcessResult

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -17,6 +16,6 @@

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file + U: Into<T>,
§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/doc/ayaka_bindings_types/struct.PluginType.html b/doc/ayaka_bindings_types/struct.PluginType.html index 22453565..b40887c5 100644 --- a/doc/ayaka_bindings_types/struct.PluginType.html +++ b/doc/ayaka_bindings_types/struct.PluginType.html @@ -1,5 +1,4 @@ -PluginType in ayaka_bindings_types - Rust -
pub struct PluginType {
+PluginType in ayaka_bindings_types - Rust

Struct ayaka_bindings_types::PluginType

source ·
pub struct PluginType {
     pub action: bool,
     pub text: Vec<String>,
     pub line: Vec<String>,
@@ -23,9 +22,9 @@
 
§game: bool

The game plugin. This plugin processes the game properties after it is loaded.

Implementations§

source§

impl PluginType

source

pub fn builder() -> PluginTypeBuilder

Creates a PluginTypeBuilder instance to build a PluginType.

-

Trait Implementations§

source§

impl Clone for PluginType

source§

fn clone(&self) -> PluginType

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for PluginType

source§

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

Formats the value using the given formatter. Read more
source§

impl Default for PluginType

source§

fn default() -> PluginType

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for PluginType

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for PluginType

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Clone for PluginType

source§

fn clone(&self) -> PluginType

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for PluginType

source§

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

Formats the value using the given formatter. Read more
source§

impl Default for PluginType

source§

fn default() -> PluginType

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for PluginType

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for PluginType

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -35,6 +34,6 @@ From<T> for U chooses to do.

source§

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

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file + U: Into<T>,
§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/doc/ayaka_bindings_types/struct.PluginTypeBuilder.html b/doc/ayaka_bindings_types/struct.PluginTypeBuilder.html index effa4599..1b4791b0 100644 --- a/doc/ayaka_bindings_types/struct.PluginTypeBuilder.html +++ b/doc/ayaka_bindings_types/struct.PluginTypeBuilder.html @@ -1,5 +1,4 @@ -PluginTypeBuilder in ayaka_bindings_types - Rust -
pub struct PluginTypeBuilder { /* private fields */ }
Expand description

The builder of PluginType.

+PluginTypeBuilder in ayaka_bindings_types - Rust

Struct ayaka_bindings_types::PluginTypeBuilder

source ·
pub struct PluginTypeBuilder { /* private fields */ }
Expand description

The builder of PluginType.

Implementations§

source§

impl PluginTypeBuilder

source

pub fn action(self) -> Self

An action plugin.

source

pub fn text(self, cmds: impl IntoIterator<Item = impl Into<String>>) -> Self

A text plugin, which provides commands.

source

pub fn line(self, cmds: impl IntoIterator<Item = impl Into<String>>) -> Self

A line plugins, which provides custom line types.

@@ -14,5 +13,5 @@

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file + U: Into<T>,
§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file diff --git a/doc/ayaka_bindings_types/struct.RawContext.html b/doc/ayaka_bindings_types/struct.RawContext.html index 46aa3763..fc1ea70e 100644 --- a/doc/ayaka_bindings_types/struct.RawContext.html +++ b/doc/ayaka_bindings_types/struct.RawContext.html @@ -1,5 +1,4 @@ -RawContext in ayaka_bindings_types - Rust -
pub struct RawContext {
+RawContext in ayaka_bindings_types - Rust

Struct ayaka_bindings_types::RawContext

source ·
pub struct RawContext {
     pub cur_base_para: String,
     pub cur_para: String,
     pub cur_act: usize,
@@ -9,9 +8,9 @@
 
§cur_para: String

Current paragraph tag.

§cur_act: usize

Current text index.

§locals: VarMap

Current local variables.

-

Trait Implementations§

source§

impl Clone for RawContext

source§

fn clone(&self) -> RawContext

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for RawContext

source§

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

Formats the value using the given formatter. Read more
source§

impl Default for RawContext

source§

fn default() -> RawContext

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for RawContext

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for RawContext

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Clone for RawContext

source§

fn clone(&self) -> RawContext

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for RawContext

source§

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

Formats the value using the given formatter. Read more
source§

impl Default for RawContext

source§

fn default() -> RawContext

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for RawContext

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for RawContext

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -21,6 +20,6 @@ From<T> for U chooses to do.

source§

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

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file + U: Into<T>,
§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/doc/ayaka_bindings_types/struct.Switch.html b/doc/ayaka_bindings_types/struct.Switch.html index f1121059..4a71b2f5 100644 --- a/doc/ayaka_bindings_types/struct.Switch.html +++ b/doc/ayaka_bindings_types/struct.Switch.html @@ -1,15 +1,14 @@ -Switch in ayaka_bindings_types - Rust -
pub struct Switch {
+Switch in ayaka_bindings_types - Rust

Struct ayaka_bindings_types::Switch

source ·
pub struct Switch {
     pub text: String,
     pub enabled: bool,
 }
Expand description

One switch in the switches of an Action.

Fields§

§text: String

The switch text.

§enabled: bool

Whether the switch is enabled.

-

Trait Implementations§

source§

impl Clone for Switch

source§

fn clone(&self) -> Switch

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for Switch

source§

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

Formats the value using the given formatter. Read more
source§

impl Default for Switch

source§

fn default() -> Switch

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for Switch

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl FallbackSpec for Switch

§

type SpecType = __FallbackSwitch

The specialized fallback type.
source§

impl PartialEq for Switch

source§

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

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for Switch

source§

fn clone(&self) -> Switch

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for Switch

source§

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

Formats the value using the given formatter. Read more
source§

impl Default for Switch

source§

fn default() -> Switch

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for Switch

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl FallbackSpec for Switch

§

type SpecType = __FallbackSwitch

The specialized fallback type.
source§

impl PartialEq for Switch

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Serialize for Switch

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Eq for Switch

source§

impl StructuralPartialEq for Switch

Auto Trait Implementations§

§

impl Freeze for Switch

§

impl RefUnwindSafe for Switch

§

impl Send for Switch

§

impl Sync for Switch

§

impl Unpin for Switch

§

impl UnwindSafe for Switch

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl Serialize for Switch

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Eq for Switch

source§

impl StructuralPartialEq for Switch

Auto Trait Implementations§

§

impl Freeze for Switch

§

impl RefUnwindSafe for Switch

§

impl Send for Switch

§

impl Sync for Switch

§

impl Unpin for Switch

§

impl UnwindSafe for Switch

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -19,6 +18,6 @@ From<T> for U chooses to do.

source§

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

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file + U: Into<T>,
§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/doc/ayaka_bindings_types/struct.TextProcessContext.html b/doc/ayaka_bindings_types/struct.TextProcessContext.html index 7552e1ed..96331f40 100644 --- a/doc/ayaka_bindings_types/struct.TextProcessContext.html +++ b/doc/ayaka_bindings_types/struct.TextProcessContext.html @@ -1,5 +1,4 @@ -TextProcessContext in ayaka_bindings_types - Rust -
pub struct TextProcessContext {
+TextProcessContext in ayaka_bindings_types - Rust

Struct ayaka_bindings_types::TextProcessContext

source ·
pub struct TextProcessContext {
     pub game_props: HashMap<String, String>,
     pub frontend: FrontendType,
 }
Expand description

The argument to text plugin.

@@ -19,9 +18,9 @@ }

Fields§

§game_props: HashMap<String, String>

The global properties of the game profile.

§frontend: FrontendType

The frontend type.

-

Trait Implementations§

source§

impl Debug for TextProcessContext

source§

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

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for TextProcessContext

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for TextProcessContext

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Debug for TextProcessContext

source§

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

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for TextProcessContext

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for TextProcessContext

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -30,6 +29,6 @@

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file + U: Into<T>,
§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/doc/ayaka_bindings_types/struct.TextProcessResult.html b/doc/ayaka_bindings_types/struct.TextProcessResult.html index c1427599..53ea799e 100644 --- a/doc/ayaka_bindings_types/struct.TextProcessResult.html +++ b/doc/ayaka_bindings_types/struct.TextProcessResult.html @@ -1,12 +1,11 @@ -TextProcessResult in ayaka_bindings_types - Rust -
pub struct TextProcessResult {
+TextProcessResult in ayaka_bindings_types - Rust

Struct ayaka_bindings_types::TextProcessResult

source ·
pub struct TextProcessResult {
     pub text: ActionText,
 }
Expand description

The result of commands in text plugins. See examples at TextProcessContext.

Fields§

§text: ActionText

The lines to append.

-

Trait Implementations§

source§

impl Debug for TextProcessResult

source§

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

Formats the value using the given formatter. Read more
source§

impl Default for TextProcessResult

source§

fn default() -> TextProcessResult

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for TextProcessResult

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for TextProcessResult

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Debug for TextProcessResult

source§

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

Formats the value using the given formatter. Read more
source§

impl Default for TextProcessResult

source§

fn default() -> TextProcessResult

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for TextProcessResult

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for TextProcessResult

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -15,6 +14,6 @@

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file + U: Into<T>,
§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/doc/ayaka_bindings_types/type.VarMap.html b/doc/ayaka_bindings_types/type.VarMap.html index 623ce245..d72c8534 100644 --- a/doc/ayaka_bindings_types/type.VarMap.html +++ b/doc/ayaka_bindings_types/type.VarMap.html @@ -1,3 +1,2 @@ -VarMap in ayaka_bindings_types - Rust -

Type Alias ayaka_bindings_types::VarMap

source ·
pub type VarMap = HashMap<String, RawValue>;
Expand description

A map from variable name to [RawValue].

+VarMap in ayaka_bindings_types - Rust

Type Alias ayaka_bindings_types::VarMap

source ·
pub type VarMap = HashMap<String, RawValue>;
Expand description

A map from variable name to [RawValue].

Aliased Type§

struct VarMap { /* private fields */ }
\ No newline at end of file diff --git a/doc/ayaka_model/all.html b/doc/ayaka_model/all.html index b4b9bdff..b7f9e957 100644 --- a/doc/ayaka_model/all.html +++ b/doc/ayaka_model/all.html @@ -1,2 +1 @@ -List of all items in this crate -
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/doc/ayaka_model/enum.OpenGameStatus.html b/doc/ayaka_model/enum.OpenGameStatus.html index 1a5be259..f92c708b 100644 --- a/doc/ayaka_model/enum.OpenGameStatus.html +++ b/doc/ayaka_model/enum.OpenGameStatus.html @@ -1,5 +1,4 @@ -OpenGameStatus in ayaka_model - Rust -
pub enum OpenGameStatus {
+OpenGameStatus in ayaka_model - Rust

Enum ayaka_model::OpenGameStatus

source ·
pub enum OpenGameStatus {
     LoadSettings,
     LoadGlobalRecords,
     LoadRecords,
@@ -11,8 +10,8 @@
 
§

Loaded

The game is loaded.

Trait Implementations§

source§

impl Clone for OpenGameStatus

source§

fn clone(&self) -> OpenGameStatus

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for OpenGameStatus

source§

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

Formats the value using the given formatter. Read more
source§

impl PartialEq for OpenGameStatus

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Serialize for OpenGameStatus

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Eq for OpenGameStatus

source§

impl StructuralPartialEq for OpenGameStatus

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl Serialize for OpenGameStatus

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Eq for OpenGameStatus

source§

impl StructuralPartialEq for OpenGameStatus

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
§

impl<Q, K> Equivalent<K> for Q
where @@ -26,8 +25,8 @@ From<T> for U chooses to do.

source§

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

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

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

§

impl<T> MaybeSendSync for T
where T: Send + Sync,

\ No newline at end of file diff --git a/doc/ayaka_model/index.html b/doc/ayaka_model/index.html index e919fcf0..ce207271 100644 --- a/doc/ayaka_model/index.html +++ b/doc/ayaka_model/index.html @@ -1,6 +1,4 @@ -ayaka_model - Rust -

Crate ayaka_model

source ·
Expand description

The high level wrapper model of Ayaka.

+ayaka_model - Rust

Crate ayaka_model

source ·
Expand description

The high level wrapper model of Ayaka.

This crate provides a view model for a full-functionality frontend, and a abstract trait of settings manager.

It re-exports the types of [ayaka_runtime].

diff --git a/doc/ayaka_model/struct.ActionRecord.html b/doc/ayaka_model/struct.ActionRecord.html index aceec859..1cfe7264 100644 --- a/doc/ayaka_model/struct.ActionRecord.html +++ b/doc/ayaka_model/struct.ActionRecord.html @@ -1,14 +1,13 @@ -ActionRecord in ayaka_model - Rust -
pub struct ActionRecord {
+ActionRecord in ayaka_model - Rust

Struct ayaka_model::ActionRecord

source ·
pub struct ActionRecord {
     pub history: Vec<RawContext>,
 }
Expand description

The specific record.

Fields§

§history: Vec<RawContext>

The history actions.

Implementations§

source§

impl ActionRecord

source

pub fn last_ctx(&self) -> Option<&RawContext>

Get the [RawContext] object from the last [Action] in the history.

source

pub fn last_ctx_with_game(&self, game: &Game) -> RawContext

Get the [RawContext] object from the last [Action] in the history, and if the history is empty, create a new [RawContext] from the game.

-

Trait Implementations§

source§

impl Clone for ActionRecord

source§

fn clone(&self) -> ActionRecord

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ActionRecord

source§

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

Formats the value using the given formatter. Read more
source§

impl Default for ActionRecord

source§

fn default() -> ActionRecord

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for ActionRecord

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for ActionRecord

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Clone for ActionRecord

source§

fn clone(&self) -> ActionRecord

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ActionRecord

source§

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

Formats the value using the given formatter. Read more
source§

impl Default for ActionRecord

source§

fn default() -> ActionRecord

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for ActionRecord

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for ActionRecord

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -18,9 +17,9 @@ From<T> for U chooses to do.

source§

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

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

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

§

impl<T> MaybeSendSync for T
where T: Send + Sync,

\ No newline at end of file diff --git a/doc/ayaka_model/struct.GameViewModel.html b/doc/ayaka_model/struct.GameViewModel.html index db75fb15..908f22eb 100644 --- a/doc/ayaka_model/struct.GameViewModel.html +++ b/doc/ayaka_model/struct.GameViewModel.html @@ -1,11 +1,10 @@ -GameViewModel in ayaka_model - Rust -
pub struct GameViewModel<S: SettingsManager, M: RawModule + Send + Sync + 'static> { /* private fields */ }
Expand description

A view model of Ayaka. +GameViewModel in ayaka_model - Rust

Struct ayaka_model::GameViewModel

source ·
pub struct GameViewModel<S: SettingsManager, M: RawModule + Send + Sync + 'static> { /* private fields */ }
Expand description

A view model of Ayaka. It manages all settings and provides high-level APIs.

Implementations§

source§

impl<S: SettingsManager, M: RawModule + Send + Sync + 'static> GameViewModel<S, M>

source

pub fn new(settings_manager: S) -> Self

Create a GameViewModel with a settings manager.

source

pub fn open_game<'a>( &'a mut self, context: Context<M> -) -> impl Future<Output = Result<()>> + Stream<Item = OpenGameStatus> + 'a

Open the game with context.

+) -> impl Future<Output = Result<()>> + Stream<Item = OpenGameStatus> + 'a

Open the game with context.

source

pub fn context(&self) -> &Context<M>

The [Context], should be called after Self::open_game.

source

pub fn context_mut(&mut self) -> &mut Context<M>

The [Context], should be called after Self::open_game.

source

pub fn record(&self) -> &ActionRecord

The current ActionRecord.

@@ -30,7 +29,7 @@
source

pub fn current_actions(&self) -> Option<(Action, Option<Action>)>

Get the current action by language and secondary language.

source

pub fn switch(&mut self, i: usize)

Choose a switch item by index.

source

pub fn save_current_to(&mut self, index: usize)

Save current ActionRecord to the records.

-
source

pub fn save_settings(&self) -> Result<()>

Save all settings and records.

+
source

pub fn save_settings(&self) -> Result<()>

Save all settings and records.

source

pub fn current_visited(&self) -> bool

Determine if current run has been visited.

source

pub fn records_text(&self) -> impl Iterator<Item = ActionText> + '_

Get the last action text from each record.

source

pub fn current_history( @@ -49,8 +48,8 @@

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

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

§

impl<T> MaybeSendSync for T
where T: Send + Sync,

\ No newline at end of file diff --git a/doc/ayaka_model/struct.GlobalRecord.html b/doc/ayaka_model/struct.GlobalRecord.html index c3a26870..f062b0fa 100644 --- a/doc/ayaka_model/struct.GlobalRecord.html +++ b/doc/ayaka_model/struct.GlobalRecord.html @@ -1,5 +1,4 @@ -GlobalRecord in ayaka_model - Rust -
pub struct GlobalRecord {
+GlobalRecord in ayaka_model - Rust

Struct ayaka_model::GlobalRecord

source ·
pub struct GlobalRecord {
     pub record: HashMap<String, usize>,
 }
Expand description

The global record.

Fields§

§record: HashMap<String, usize>

The key is the tag of paragraphs, @@ -7,9 +6,9 @@

Implementations§

source§

impl GlobalRecord

source

pub fn visited(&self, ctx: &RawContext) -> bool

Determine if an [RawContext] has been visited, by the paragraph tag and action index.

source

pub fn update(&mut self, ctx: &RawContext)

Update the global record with the latest [RawContext].

-

Trait Implementations§

source§

impl Clone for GlobalRecord

source§

fn clone(&self) -> GlobalRecord

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for GlobalRecord

source§

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

Formats the value using the given formatter. Read more
source§

impl Default for GlobalRecord

source§

fn default() -> GlobalRecord

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GlobalRecord

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for GlobalRecord

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Clone for GlobalRecord

source§

fn clone(&self) -> GlobalRecord

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for GlobalRecord

source§

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

Formats the value using the given formatter. Read more
source§

impl Default for GlobalRecord

source§

fn default() -> GlobalRecord

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GlobalRecord

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for GlobalRecord

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -19,9 +18,9 @@ From<T> for U chooses to do.

source§

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

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

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

§

impl<T> MaybeSendSync for T
where T: Send + Sync,

\ No newline at end of file diff --git a/doc/ayaka_model/struct.Settings.html b/doc/ayaka_model/struct.Settings.html index 762470cf..2d611403 100644 --- a/doc/ayaka_model/struct.Settings.html +++ b/doc/ayaka_model/struct.Settings.html @@ -1,5 +1,4 @@ -Settings in ayaka_model - Rust -

Struct ayaka_model::Settings

source ·
pub struct Settings {
+Settings in ayaka_model - Rust

Struct ayaka_model::Settings

source ·
pub struct Settings {
     pub lang: Locale,
     pub sub_lang: Option<Locale>,
     pub bgm_volume: u8,
@@ -11,9 +10,9 @@
 
§bgm_volume: u8

Volume of background music.

§voice_volume: u8

Volume of voices.

§video_volume: u8

Volume of videos.

-

Trait Implementations§

source§

impl Clone for Settings

source§

fn clone(&self) -> Settings

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for Settings

source§

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

Formats the value using the given formatter. Read more
source§

impl Default for Settings

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for Settings

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for Settings

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Clone for Settings

source§

fn clone(&self) -> Settings

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for Settings

source§

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

Formats the value using the given formatter. Read more
source§

impl Default for Settings

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for Settings

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for Settings

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -23,9 +22,9 @@ From<T> for U chooses to do.

source§

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

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

§

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

§

impl<T> MaybeSendSync for T
where T: Send + Sync,

\ No newline at end of file diff --git a/doc/ayaka_model/trait.SettingsManager.html b/doc/ayaka_model/trait.SettingsManager.html index 3f9b912f..64a7e4a0 100644 --- a/doc/ayaka_model/trait.SettingsManager.html +++ b/doc/ayaka_model/trait.SettingsManager.html @@ -1,52 +1,51 @@ -SettingsManager in ayaka_model - Rust -
pub trait SettingsManager {
+SettingsManager in ayaka_model - Rust

Trait ayaka_model::SettingsManager

source ·
pub trait SettingsManager {
     // Required methods
-    fn load_file<T: DeserializeOwned>(
+    fn load_file<T: DeserializeOwned>(
         &self,
         path: impl AsRef<Path>
-    ) -> Result<T>;
-    fn save_file<T: Serialize>(
+    ) -> Result<T>;
+    fn save_file<T: Serialize>(
         &self,
         path: impl AsRef<Path>,
         data: &T,
         pretty: bool
-    ) -> Result<()>;
-    fn settings_path(&self) -> Result<PathBuf>;
-    fn global_record_path(&self, game: &str) -> Result<PathBuf>;
+    ) -> Result<()>;
+    fn settings_path(&self) -> Result<PathBuf>;
+    fn global_record_path(&self, game: &str) -> Result<PathBuf>;
     fn records_path(
         &self,
         game: &str
-    ) -> Result<impl Iterator<Item = Result<PathBuf>>>;
-    fn record_path(&self, game: &str, i: usize) -> Result<PathBuf>;
+    ) -> Result<impl Iterator<Item = Result<PathBuf>>>;
+    fn record_path(&self, game: &str, i: usize) -> Result<PathBuf>;
 
     // Provided methods
-    fn load_settings(&self) -> Result<Settings> { ... }
-    fn save_settings(&self, data: &Settings) -> Result<()> { ... }
-    fn load_global_record(&self, game: &str) -> Result<GlobalRecord> { ... }
-    fn save_global_record(&self, game: &str, data: &GlobalRecord) -> Result<()> { ... }
-    fn load_records(&self, game: &str) -> Result<Vec<ActionRecord>> { ... }
-    fn save_records(&self, game: &str, contexts: &[ActionRecord]) -> Result<()> { ... }
+    fn load_settings(&self) -> Result<Settings> { ... }
+    fn save_settings(&self, data: &Settings) -> Result<()> { ... }
+    fn load_global_record(&self, game: &str) -> Result<GlobalRecord> { ... }
+    fn save_global_record(&self, game: &str, data: &GlobalRecord) -> Result<()> { ... }
+    fn load_records(&self, game: &str) -> Result<Vec<ActionRecord>> { ... }
+    fn save_records(&self, game: &str, contexts: &[ActionRecord]) -> Result<()> { ... }
 }
Expand description

A settings manager trait.

This type should handle the file loading and saving, and manage the paths of the files.

-

Required Methods§

source

fn load_file<T: DeserializeOwned>(&self, path: impl AsRef<Path>) -> Result<T>

Load a file from specified path.

-
source

fn save_file<T: Serialize>( +

Required Methods§

source

fn load_file<T: DeserializeOwned>(&self, path: impl AsRef<Path>) -> Result<T>

Load a file from specified path.

+
source

fn save_file<T: Serialize>( &self, path: impl AsRef<Path>, data: &T, pretty: bool -) -> Result<()>

Save a file to specified path.

-
source

fn settings_path(&self) -> Result<PathBuf>

Get the settings path.

-
source

fn global_record_path(&self, game: &str) -> Result<PathBuf>

Get the global record path.

+) -> Result<()>

Save a file to specified path.

+
source

fn settings_path(&self) -> Result<PathBuf>

Get the settings path.

+
source

fn global_record_path(&self, game: &str) -> Result<PathBuf>

Get the global record path.

source

fn records_path( &self, game: &str -) -> Result<impl Iterator<Item = Result<PathBuf>>>

Get an iterator of record paths.

-
source

fn record_path(&self, game: &str, i: usize) -> Result<PathBuf>

Get the record path from index.

-

Provided Methods§

source

fn load_settings(&self) -> Result<Settings>

Load Settings.

-
source

fn save_settings(&self, data: &Settings) -> Result<()>

Save Settings.

-
source

fn load_global_record(&self, game: &str) -> Result<GlobalRecord>

Load GlobalRecord.

-
source

fn save_global_record(&self, game: &str, data: &GlobalRecord) -> Result<()>

Save GlobalRecord.

-
source

fn load_records(&self, game: &str) -> Result<Vec<ActionRecord>>

Load all ActionRecord.

-
source

fn save_records(&self, game: &str, contexts: &[ActionRecord]) -> Result<()>

Save all ActionRecord.

+) -> Result<impl Iterator<Item = Result<PathBuf>>>

Get an iterator of record paths.

+
source

fn record_path(&self, game: &str, i: usize) -> Result<PathBuf>

Get the record path from index.

+

Provided Methods§

source

fn load_settings(&self) -> Result<Settings>

Load Settings.

+
source

fn save_settings(&self, data: &Settings) -> Result<()>

Save Settings.

+
source

fn load_global_record(&self, game: &str) -> Result<GlobalRecord>

Load GlobalRecord.

+
source

fn save_global_record(&self, game: &str, data: &GlobalRecord) -> Result<()>

Save GlobalRecord.

+
source

fn load_records(&self, game: &str) -> Result<Vec<ActionRecord>>

Load all ActionRecord.

+
source

fn save_records(&self, game: &str, contexts: &[ActionRecord]) -> Result<()>

Save all ActionRecord.

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file diff --git a/doc/ayaka_plugin/all.html b/doc/ayaka_plugin/all.html index db399ad7..ba792016 100644 --- a/doc/ayaka_plugin/all.html +++ b/doc/ayaka_plugin/all.html @@ -1,2 +1 @@ -List of all items in this crate -
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/doc/ayaka_plugin/constant.ABI_ALLOC_NAME.html b/doc/ayaka_plugin/constant.ABI_ALLOC_NAME.html index 700de556..6621b9ff 100644 --- a/doc/ayaka_plugin/constant.ABI_ALLOC_NAME.html +++ b/doc/ayaka_plugin/constant.ABI_ALLOC_NAME.html @@ -1,3 +1,2 @@ -ABI_ALLOC_NAME in ayaka_plugin - Rust -
pub const ABI_ALLOC_NAME: &str = "__abi_alloc";
Expand description

The exported method __abi_alloc.

+ABI_ALLOC_NAME in ayaka_plugin - Rust

Constant ayaka_plugin::ABI_ALLOC_NAME

source ·
pub const ABI_ALLOC_NAME: &str = "__abi_alloc";
Expand description

The exported method __abi_alloc.

\ No newline at end of file diff --git a/doc/ayaka_plugin/constant.ABI_FREE_NAME.html b/doc/ayaka_plugin/constant.ABI_FREE_NAME.html index c27343f6..f719459d 100644 --- a/doc/ayaka_plugin/constant.ABI_FREE_NAME.html +++ b/doc/ayaka_plugin/constant.ABI_FREE_NAME.html @@ -1,3 +1,2 @@ -ABI_FREE_NAME in ayaka_plugin - Rust -
pub const ABI_FREE_NAME: &str = "__abi_free";
Expand description

The exported method __abi_free.

+ABI_FREE_NAME in ayaka_plugin - Rust

Constant ayaka_plugin::ABI_FREE_NAME

source ·
pub const ABI_FREE_NAME: &str = "__abi_free";
Expand description

The exported method __abi_free.

\ No newline at end of file diff --git a/doc/ayaka_plugin/constant.MEMORY_NAME.html b/doc/ayaka_plugin/constant.MEMORY_NAME.html index 48fc0368..dd99a6a7 100644 --- a/doc/ayaka_plugin/constant.MEMORY_NAME.html +++ b/doc/ayaka_plugin/constant.MEMORY_NAME.html @@ -1,3 +1,2 @@ -MEMORY_NAME in ayaka_plugin - Rust -

Constant ayaka_plugin::MEMORY_NAME

source ·
pub const MEMORY_NAME: &str = "memory";
Expand description

The default exported memory name.

+MEMORY_NAME in ayaka_plugin - Rust

Constant ayaka_plugin::MEMORY_NAME

source ·
pub const MEMORY_NAME: &str = "memory";
Expand description

The default exported memory name.

\ No newline at end of file diff --git a/doc/ayaka_plugin/index.html b/doc/ayaka_plugin/index.html index 96371aca..96608262 100644 --- a/doc/ayaka_plugin/index.html +++ b/doc/ayaka_plugin/index.html @@ -1,6 +1,4 @@ -ayaka_plugin - Rust -

Crate ayaka_plugin

source ·
Expand description

Base crate for plugin runtimes.

+ayaka_plugin - Rust

Crate ayaka_plugin

source ·
Expand description

Base crate for plugin runtimes.

This crate provides abstract types and traits for different plugin backends.

-

Re-exports§

Structs§

Constants§

Traits§

\ No newline at end of file +

Re-exports§

Structs§

Constants§

Traits§

\ No newline at end of file diff --git a/doc/ayaka_plugin/struct.PluginModule.html b/doc/ayaka_plugin/struct.PluginModule.html index de99cef7..ddfbd433 100644 --- a/doc/ayaka_plugin/struct.PluginModule.html +++ b/doc/ayaka_plugin/struct.PluginModule.html @@ -1,11 +1,10 @@ -PluginModule in ayaka_plugin - Rust -
pub struct PluginModule<M: RawModule> { /* private fields */ }
Expand description

High-level wrapper for plugin module.

+PluginModule in ayaka_plugin - Rust

Struct ayaka_plugin::PluginModule

source ·
pub struct PluginModule<M: RawModule> { /* private fields */ }
Expand description

High-level wrapper for plugin module.

Implementations§

source§

impl<M: RawModule> PluginModule<M>

source

pub fn new(module: M) -> Self

Creates a wrapper on raw module.

-
source

pub fn call<P: Serialize, R: DeserializeOwned>( +

source

pub fn call<P: Serialize, R: DeserializeOwned>( &self, name: &str, args: P -) -> Result<R>

Call a method by name.

+) -> Result<R>

Call a method by name.

The args and returns are passed by MessagePack with [rmp_serde].

source

pub fn inner(&self) -> &M

Get inner raw module.

Auto Trait Implementations§

§

impl<M> Freeze for PluginModule<M>
where @@ -23,5 +22,5 @@

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file + U: Into<T>,
§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file diff --git a/doc/ayaka_plugin/trait.Linker.html b/doc/ayaka_plugin/trait.Linker.html index 03bf7321..4721b255 100644 --- a/doc/ayaka_plugin/trait.Linker.html +++ b/doc/ayaka_plugin/trait.Linker.html @@ -1,48 +1,47 @@ -Linker in ayaka_plugin - Rust -

Trait ayaka_plugin::Linker

source ·
pub trait Linker<M: RawModule>: Sized {
+Linker in ayaka_plugin - Rust

Trait ayaka_plugin::Linker

source ·
pub trait Linker<M: RawModule>: Sized {
     type Config;
 
     // Required methods
-    fn new(config: Self::Config) -> Result<Self>;
-    fn create(&self, binary: &[u8]) -> Result<M>;
+    fn new(config: Self::Config) -> Result<Self>;
+    fn create(&self, binary: &[u8]) -> Result<M>;
     fn import(
         &mut self,
         ns: impl Into<String>,
         funcs: HashMap<String, M::Func>
-    ) -> Result<()>;
+    ) -> Result<()>;
     fn wrap_raw(
         &self,
-        f: impl Fn(M::LinkerHandle<'_>, i32, i32) -> Result<Vec<u8>> + Send + Sync + 'static
+        f: impl Fn(M::LinkerHandle<'_>, i32, i32) -> Result<Vec<u8>> + Send + Sync + 'static
     ) -> M::Func;
 
     // Provided methods
-    fn wrap<P: DeserializeOwned + Tuple, R: Serialize>(
+    fn wrap<P: DeserializeOwned + Tuple, R: Serialize>(
         &self,
-        f: impl Fn(P) -> Result<R> + Send + Sync + 'static
+        f: impl Fn(P) -> Result<R> + Send + Sync + 'static
     ) -> M::Func { ... }
-    fn wrap_with<P: DeserializeOwned + Tuple, R: Serialize>(
+    fn wrap_with<P: DeserializeOwned + Tuple, R: Serialize>(
         &self,
-        f: impl Fn(M::LinkerHandle<'_>, P) -> Result<R> + Send + Sync + 'static
+        f: impl Fn(M::LinkerHandle<'_>, P) -> Result<R> + Send + Sync + 'static
     ) -> M::Func { ... }
 }
Expand description

Represents the linker of plugin modules.

Required Associated Types§

source

type Config

Config type to create the linker.

-

Required Methods§

source

fn new(config: Self::Config) -> Result<Self>

Create the linker.

-
source

fn create(&self, binary: &[u8]) -> Result<M>

Create a raw module from binary.

+

Required Methods§

source

fn new(config: Self::Config) -> Result<Self>

Create the linker.

+
source

fn create(&self, binary: &[u8]) -> Result<M>

Create a raw module from binary.

source

fn import( &mut self, ns: impl Into<String>, funcs: HashMap<String, M::Func> -) -> Result<()>

Import functions by namespace and names.

+) -> Result<()>

Import functions by namespace and names.

source

fn wrap_raw( &self, - f: impl Fn(M::LinkerHandle<'_>, i32, i32) -> Result<Vec<u8>> + Send + Sync + 'static + f: impl Fn(M::LinkerHandle<'_>, i32, i32) -> Result<Vec<u8>> + Send + Sync + 'static ) -> M::Func

Wrap a function with args in bytes.

-

Provided Methods§

Provided Methods§

source

fn wrap<P: DeserializeOwned + Tuple, R: Serialize>( &self, - f: impl Fn(P) -> Result<R> + Send + Sync + 'static + f: impl Fn(P) -> Result<R> + Send + Sync + 'static ) -> M::Func

Wrap a function with args.

-
source

fn wrap_with<P: DeserializeOwned + Tuple, R: Serialize>( +

source

fn wrap_with<P: DeserializeOwned + Tuple, R: Serialize>( &self, - f: impl Fn(M::LinkerHandle<'_>, P) -> Result<R> + Send + Sync + 'static + f: impl Fn(M::LinkerHandle<'_>, P) -> Result<R> + Send + Sync + 'static ) -> M::Func

Wrap a function with args and linker handle.

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file diff --git a/doc/ayaka_plugin/trait.LinkerHandle.html b/doc/ayaka_plugin/trait.LinkerHandle.html index 42d3d76e..ab59afad 100644 --- a/doc/ayaka_plugin/trait.LinkerHandle.html +++ b/doc/ayaka_plugin/trait.LinkerHandle.html @@ -1,13 +1,12 @@ -LinkerHandle in ayaka_plugin - Rust -
pub trait LinkerHandle<'a, M: RawModule> {
+LinkerHandle in ayaka_plugin - Rust

Trait ayaka_plugin::LinkerHandle

source ·
pub trait LinkerHandle<'a, M: RawModule> {
     // Required methods
     fn call<T>(
         &mut self,
         m: &M,
         name: &str,
         args: &[u8],
-        f: impl FnOnce(&[u8]) -> Result<T>
-    ) -> Result<T>;
+        f: impl FnOnce(&[u8]) -> Result<T>
+    ) -> Result<T>;
     fn slice<T>(&self, start: i32, len: i32, f: impl FnOnce(&[u8]) -> T) -> T;
     fn slice_mut<T>(
         &mut self,
@@ -23,8 +22,8 @@
     m: &M,
     name: &str,
     args: &[u8],
-    f: impl FnOnce(&[u8]) -> Result<T>
-) -> Result<T>

Call methods of a module.

+ f: impl FnOnce(&[u8]) -> Result<T> +) -> Result<T>

Call methods of a module.

source

fn slice<T>(&self, start: i32, len: i32, f: impl FnOnce(&[u8]) -> T) -> T

Get memory slice.

source

fn slice_mut<T>( &mut self, diff --git a/doc/ayaka_plugin/trait.RawModule.html b/doc/ayaka_plugin/trait.RawModule.html index c52ef870..db305ffa 100644 --- a/doc/ayaka_plugin/trait.RawModule.html +++ b/doc/ayaka_plugin/trait.RawModule.html @@ -1,5 +1,4 @@ -RawModule in ayaka_plugin - Rust -
pub trait RawModule: Sized {
+RawModule in ayaka_plugin - Rust

Trait ayaka_plugin::RawModule

source ·
pub trait RawModule: Sized {
     type Linker: Linker<Self>;
     type LinkerHandle<'a>: LinkerHandle<'a, Self>;
     type Func;
@@ -9,8 +8,8 @@
         &self,
         name: &str,
         args: &[u8],
-        f: impl FnOnce(&[u8]) -> Result<T>
-    ) -> Result<T>;
+        f: impl FnOnce(&[u8]) -> Result<T>
+    ) -> Result<T>;
 }
Expand description

Represents a raw plugin module.

Required Associated Types§

source

type Linker: Linker<Self>

The linker type that can create raw module.

source

type LinkerHandle<'a>: LinkerHandle<'a, Self>

The linker handle type.

@@ -19,7 +18,7 @@ &self, name: &str, args: &[u8], - f: impl FnOnce(&[u8]) -> Result<T> -) -> Result<T>

Calls a method by name.

+ f: impl FnOnce(&[u8]) -> Result<T> +) -> Result<T>

Calls a method by name.

The args and returns are bytes.

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file diff --git a/doc/ayaka_plugin_wasmer/all.html b/doc/ayaka_plugin_wasmer/all.html index 42b12a54..b99ecd8b 100644 --- a/doc/ayaka_plugin_wasmer/all.html +++ b/doc/ayaka_plugin_wasmer/all.html @@ -1,2 +1 @@ -List of all items in this crate -
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/doc/ayaka_plugin_wasmer/index.html b/doc/ayaka_plugin_wasmer/index.html index 00ed3469..fbbec127 100644 --- a/doc/ayaka_plugin_wasmer/index.html +++ b/doc/ayaka_plugin_wasmer/index.html @@ -1,4 +1,2 @@ -ayaka_plugin_wasmer - Rust -
Expand description

Wasmer-based plugin backend.

+ayaka_plugin_wasmer - Rust

Crate ayaka_plugin_wasmer

source ·
Expand description

Wasmer-based plugin backend.

Structs§

\ No newline at end of file diff --git a/doc/ayaka_plugin_wasmer/struct.WasmerFunction.html b/doc/ayaka_plugin_wasmer/struct.WasmerFunction.html index ce135cd9..a3dc5fd0 100644 --- a/doc/ayaka_plugin_wasmer/struct.WasmerFunction.html +++ b/doc/ayaka_plugin_wasmer/struct.WasmerFunction.html @@ -1,5 +1,4 @@ -WasmerFunction in ayaka_plugin_wasmer - Rust -
pub struct WasmerFunction(/* private fields */);
Expand description

Represents a wrapped wasmer function.

+WasmerFunction in ayaka_plugin_wasmer - Rust

Struct ayaka_plugin_wasmer::WasmerFunction

source ·
pub struct WasmerFunction(/* private fields */);
Expand description

Represents a wrapped wasmer function.

Trait Implementations§

source§

impl Clone for WasmerFunction

source§

fn clone(&self) -> WasmerFunction

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

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

Performs copy-assignment from source. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

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

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata @@ -18,10 +17,17 @@ U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T> LayoutRaw for T

§

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

Gets the layout of the type.
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> Pointee for T

§

type Metadata = ()

The type for metadata in pointers and references to Self.
source§

impl<T> ToOwned for T
where +

source§

impl<T> IntoEither for T

source§

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

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

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

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> LayoutRaw for T

§

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

Gets the layout of the type.
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> Pointee for T

§

type Metadata = ()

The type for metadata in pointers and references to Self.
source§

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

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> Upcastable for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> Upcastable for T
where T: Any + Send + Sync + 'static,

§

fn upcast_any_ref(&self) -> &(dyn Any + 'static)

upcast ref
§

fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)

upcast mut ref
§

fn upcast_any_box(self: Box<T>) -> Box<dyn Any>

upcast boxed dyn
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

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

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/doc/ayaka_plugin_wasmer/struct.WasmerLinker.html b/doc/ayaka_plugin_wasmer/struct.WasmerLinker.html index f0d50862..ec48d944 100644 --- a/doc/ayaka_plugin_wasmer/struct.WasmerLinker.html +++ b/doc/ayaka_plugin_wasmer/struct.WasmerLinker.html @@ -1,23 +1,22 @@ -WasmerLinker in ayaka_plugin_wasmer - Rust -
pub struct WasmerLinker { /* private fields */ }
Expand description

A Wasmer [Store] with some imports.

-

Trait Implementations§

source§

impl Linker<WasmerModule> for WasmerLinker

§

type Config = ()

Config type to create the linker.
source§

fn new(_: ()) -> Result<Self>

Create the linker.
source§

fn create(&self, binary: &[u8]) -> Result<WasmerModule>

Create a raw module from binary.
source§

fn import( +WasmerLinker in ayaka_plugin_wasmer - Rust

Struct ayaka_plugin_wasmer::WasmerLinker

source ·
pub struct WasmerLinker { /* private fields */ }
Expand description

A Wasmer [Store] with some imports.

+

Trait Implementations§

source§

impl Linker<WasmerModule> for WasmerLinker

§

type Config = ()

Config type to create the linker.
source§

fn new(_: ()) -> Result<Self>

Create the linker.
source§

fn create(&self, binary: &[u8]) -> Result<WasmerModule>

Create a raw module from binary.
source§

fn import( &mut self, ns: impl Into<String>, funcs: HashMap<String, WasmerFunction> -) -> Result<()>

Import functions by namespace and names.
source§

fn wrap_raw( +) -> Result<()>

Import functions by namespace and names.
source§

fn wrap_raw( &self, - f: impl Fn(WasmerLinkerHandle<'_>, i32, i32) -> Result<Vec<u8>> + Send + Sync + 'static + f: impl Fn(WasmerLinkerHandle<'_>, i32, i32) -> Result<Vec<u8>> + Send + Sync + 'static ) -> WasmerFunction

Wrap a function with args in bytes.
§

fn wrap<P, R>( &self, - f: impl Fn(P) -> Result<R, Error> + Send + Sync + 'static + f: impl Fn(P) -> Result<R, Error> + Send + Sync + 'static ) -> <M as RawModule>::Func
where - P: DeserializeOwned + Tuple, - R: Serialize,

Wrap a function with args.
§

fn wrap_with<P, R>( + P: DeserializeOwned + Tuple, + R: Serialize,

Wrap a function with args.
§

fn wrap_with<P, R>( &self, - f: impl Fn(<M as RawModule>::LinkerHandle<'_>, P) -> Result<R, Error> + Send + Sync + 'static + f: impl Fn(<M as RawModule>::LinkerHandle<'_>, P) -> Result<R, Error> + Send + Sync + 'static ) -> <M as RawModule>::Func
where - P: DeserializeOwned + Tuple, - R: Serialize,

Wrap a function with args and linker handle.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + P: DeserializeOwned + Tuple, + R: Serialize,

Wrap a function with args and linker handle.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

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

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

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

impl<T> Borrow<T> for T
where @@ -35,9 +34,16 @@ U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T> LayoutRaw for T

§

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

Gets the layout of the type.
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> Pointee for T

§

type Metadata = ()

The type for metadata in pointers and references to Self.
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> Upcastable for T
where +

source§

impl<T> IntoEither for T

source§

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

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

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

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> LayoutRaw for T

§

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

Gets the layout of the type.
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> Pointee for T

§

type Metadata = ()

The type for metadata in pointers and references to Self.
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> Upcastable for T
where T: Any + Send + Sync + 'static,

§

fn upcast_any_ref(&self) -> &(dyn Any + 'static)

upcast ref
§

fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)

upcast mut ref
§

fn upcast_any_box(self: Box<T>) -> Box<dyn Any>

upcast boxed dyn
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

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

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/doc/ayaka_plugin_wasmer/struct.WasmerLinkerHandle.html b/doc/ayaka_plugin_wasmer/struct.WasmerLinkerHandle.html index 0e62b62a..eb232946 100644 --- a/doc/ayaka_plugin_wasmer/struct.WasmerLinkerHandle.html +++ b/doc/ayaka_plugin_wasmer/struct.WasmerLinkerHandle.html @@ -1,12 +1,11 @@ -WasmerLinkerHandle in ayaka_plugin_wasmer - Rust -
pub struct WasmerLinkerHandle<'a> { /* private fields */ }
Expand description

A Wasmer [StoreMut].

+WasmerLinkerHandle in ayaka_plugin_wasmer - Rust

Struct ayaka_plugin_wasmer::WasmerLinkerHandle

source ·
pub struct WasmerLinkerHandle<'a> { /* private fields */ }
Expand description

A Wasmer [StoreMut].

Trait Implementations§

source§

impl<'a> LinkerHandle<'a, WasmerModule> for WasmerLinkerHandle<'a>

source§

fn call<T>( &mut self, m: &WasmerModule, name: &str, data: &[u8], - f: impl FnOnce(&[u8]) -> Result<T> -) -> Result<T>

Call methods of a module.
source§

fn slice<T>(&self, start: i32, len: i32, f: impl FnOnce(&[u8]) -> T) -> T

Get memory slice.
source§

fn slice_mut<T>( + f: impl FnOnce(&[u8]) -> Result<T> +) -> Result<T>

Call methods of a module.
source§

fn slice<T>(&self, start: i32, len: i32, f: impl FnOnce(&[u8]) -> T) -> T

Get memory slice.
source§

fn slice_mut<T>( &mut self, start: i32, len: i32, @@ -29,9 +28,16 @@ U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T> LayoutRaw for T

§

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

Gets the layout of the type.
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> Pointee for T

§

type Metadata = ()

The type for metadata in pointers and references to Self.
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where +

source§

impl<T> IntoEither for T

source§

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

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

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

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> LayoutRaw for T

§

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

Gets the layout of the type.
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> Pointee for T

§

type Metadata = ()

The type for metadata in pointers and references to Self.
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

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

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/doc/ayaka_plugin_wasmer/struct.WasmerModule.html b/doc/ayaka_plugin_wasmer/struct.WasmerModule.html index 0e17db15..2a0e4aba 100644 --- a/doc/ayaka_plugin_wasmer/struct.WasmerModule.html +++ b/doc/ayaka_plugin_wasmer/struct.WasmerModule.html @@ -1,39 +1,38 @@ -WasmerModule in ayaka_plugin_wasmer - Rust -
pub struct WasmerModule { /* private fields */ }
Expand description

A Wasmer [Instance].

-

Trait Implementations§

source§

impl Linker<WasmerModule> for WasmerLinker

§

type Config = ()

Config type to create the linker.
source§

fn new(_: ()) -> Result<Self>

Create the linker.
source§

fn create(&self, binary: &[u8]) -> Result<WasmerModule>

Create a raw module from binary.
source§

fn import( +WasmerModule in ayaka_plugin_wasmer - Rust

Struct ayaka_plugin_wasmer::WasmerModule

source ·
pub struct WasmerModule { /* private fields */ }
Expand description

A Wasmer [Instance].

+

Trait Implementations§

source§

impl Linker<WasmerModule> for WasmerLinker

§

type Config = ()

Config type to create the linker.
source§

fn new(_: ()) -> Result<Self>

Create the linker.
source§

fn create(&self, binary: &[u8]) -> Result<WasmerModule>

Create a raw module from binary.
source§

fn import( &mut self, ns: impl Into<String>, funcs: HashMap<String, WasmerFunction> -) -> Result<()>

Import functions by namespace and names.
source§

fn wrap_raw( +) -> Result<()>

Import functions by namespace and names.
source§

fn wrap_raw( &self, - f: impl Fn(WasmerLinkerHandle<'_>, i32, i32) -> Result<Vec<u8>> + Send + Sync + 'static + f: impl Fn(WasmerLinkerHandle<'_>, i32, i32) -> Result<Vec<u8>> + Send + Sync + 'static ) -> WasmerFunction

Wrap a function with args in bytes.
§

fn wrap<P, R>( &self, - f: impl Fn(P) -> Result<R, Error> + Send + Sync + 'static + f: impl Fn(P) -> Result<R, Error> + Send + Sync + 'static ) -> <M as RawModule>::Func
where - P: DeserializeOwned + Tuple, - R: Serialize,

Wrap a function with args.
§

fn wrap_with<P, R>( + P: DeserializeOwned + Tuple, + R: Serialize,

Wrap a function with args.
§

fn wrap_with<P, R>( &self, - f: impl Fn(<M as RawModule>::LinkerHandle<'_>, P) -> Result<R, Error> + Send + Sync + 'static + f: impl Fn(<M as RawModule>::LinkerHandle<'_>, P) -> Result<R, Error> + Send + Sync + 'static ) -> <M as RawModule>::Func
where - P: DeserializeOwned + Tuple, - R: Serialize,

Wrap a function with args and linker handle.
source§

impl<'a> LinkerHandle<'a, WasmerModule> for WasmerLinkerHandle<'a>

Wrap a function with args and linker handle.
source§

impl<'a> LinkerHandle<'a, WasmerModule> for WasmerLinkerHandle<'a>

source§

fn call<T>( &mut self, m: &WasmerModule, name: &str, data: &[u8], - f: impl FnOnce(&[u8]) -> Result<T> -) -> Result<T>

Call methods of a module.
source§

fn slice<T>(&self, start: i32, len: i32, f: impl FnOnce(&[u8]) -> T) -> T

Get memory slice.
source§

fn slice_mut<T>( + f: impl FnOnce(&[u8]) -> Result<T> +) -> Result<T>

Call methods of a module.
source§

fn slice<T>(&self, start: i32, len: i32, f: impl FnOnce(&[u8]) -> T) -> T

Get memory slice.
source§

fn slice_mut<T>( &mut self, start: i32, len: i32, f: impl FnOnce(&mut [u8]) -> T -) -> T

Get memory mutable slice.
source§

impl RawModule for WasmerModule

§

type Linker = WasmerLinker

The linker type that can create raw module.
§

type LinkerHandle<'a> = WasmerLinkerHandle<'a>

The linker handle type.
§

type Func = WasmerFunction

The import function type.
source§

fn call<T>( +) -> T

Get memory mutable slice.
source§

impl RawModule for WasmerModule

§

type Linker = WasmerLinker

The linker type that can create raw module.
§

type LinkerHandle<'a> = WasmerLinkerHandle<'a>

The linker handle type.
§

type Func = WasmerFunction

The import function type.
source§

fn call<T>( &self, name: &str, data: &[u8], - f: impl FnOnce(&[u8]) -> Result<T> -) -> Result<T>

Calls a method by name. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + f: impl FnOnce(&[u8]) -> Result<T> +) -> Result<T>

Calls a method by name. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

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

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

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

impl<T> Borrow<T> for T
where @@ -51,9 +50,16 @@ U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T> LayoutRaw for T

§

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

Gets the layout of the type.
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> Pointee for T

§

type Metadata = ()

The type for metadata in pointers and references to Self.
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> Upcastable for T
where +

source§

impl<T> IntoEither for T

source§

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

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

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

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> LayoutRaw for T

§

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

Gets the layout of the type.
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> Pointee for T

§

type Metadata = ()

The type for metadata in pointers and references to Self.
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> Upcastable for T
where T: Any + Send + Sync + 'static,

§

fn upcast_any_ref(&self) -> &(dyn Any + 'static)

upcast ref
§

fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)

upcast mut ref
§

fn upcast_any_box(self: Box<T>) -> Box<dyn Any>

upcast boxed dyn
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

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

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/doc/ayaka_plugin_wasmi/all.html b/doc/ayaka_plugin_wasmi/all.html index 87c7cc64..19d2c92a 100644 --- a/doc/ayaka_plugin_wasmi/all.html +++ b/doc/ayaka_plugin_wasmi/all.html @@ -1,2 +1 @@ -List of all items in this crate -
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/doc/ayaka_plugin_wasmi/index.html b/doc/ayaka_plugin_wasmi/index.html index 7045833a..76f33e3f 100644 --- a/doc/ayaka_plugin_wasmi/index.html +++ b/doc/ayaka_plugin_wasmi/index.html @@ -1,4 +1,2 @@ -ayaka_plugin_wasmi - Rust -
Expand description

Wasmi-based plugin backend.

+ayaka_plugin_wasmi - Rust

Crate ayaka_plugin_wasmi

source ·
Expand description

Wasmi-based plugin backend.

Structs§

\ No newline at end of file diff --git a/doc/ayaka_plugin_wasmi/struct.WasmiLinker.html b/doc/ayaka_plugin_wasmi/struct.WasmiLinker.html index bc8670b9..3ab2849a 100644 --- a/doc/ayaka_plugin_wasmi/struct.WasmiLinker.html +++ b/doc/ayaka_plugin_wasmi/struct.WasmiLinker.html @@ -1,23 +1,22 @@ -WasmiLinker in ayaka_plugin_wasmi - Rust -
pub struct WasmiLinker { /* private fields */ }
Expand description

A Wasmi [Store] with [Linker].

-

Trait Implementations§

source§

impl Linker<WasmiModule> for WasmiLinker

§

type Config = ()

Config type to create the linker.
source§

fn new(_: ()) -> Result<Self>

Create the linker.
source§

fn create(&self, binary: &[u8]) -> Result<WasmiModule>

Create a raw module from binary.
source§

fn import( +WasmiLinker in ayaka_plugin_wasmi - Rust

Struct ayaka_plugin_wasmi::WasmiLinker

source ·
pub struct WasmiLinker { /* private fields */ }
Expand description

A Wasmi [Store] with [Linker].

+

Trait Implementations§

source§

impl Linker<WasmiModule> for WasmiLinker

§

type Config = ()

Config type to create the linker.
source§

fn new(_: ()) -> Result<Self>

Create the linker.
source§

fn create(&self, binary: &[u8]) -> Result<WasmiModule>

Create a raw module from binary.
source§

fn import( &mut self, ns: impl Into<String>, funcs: HashMap<String, Func> -) -> Result<()>

Import functions by namespace and names.
source§

fn wrap_raw( +) -> Result<()>

Import functions by namespace and names.
source§

fn wrap_raw( &self, - f: impl Fn(WasmiLinkerHandle<'_>, i32, i32) -> Result<Vec<u8>> + Send + Sync + 'static + f: impl Fn(WasmiLinkerHandle<'_>, i32, i32) -> Result<Vec<u8>> + Send + Sync + 'static ) -> Func

Wrap a function with args in bytes.
§

fn wrap<P, R>( &self, - f: impl Fn(P) -> Result<R, Error> + Send + Sync + 'static + f: impl Fn(P) -> Result<R, Error> + Send + Sync + 'static ) -> <M as RawModule>::Func
where - P: DeserializeOwned + Tuple, - R: Serialize,

Wrap a function with args.
§

fn wrap_with<P, R>( + P: DeserializeOwned + Tuple, + R: Serialize,

Wrap a function with args.
§

fn wrap_with<P, R>( &self, - f: impl Fn(<M as RawModule>::LinkerHandle<'_>, P) -> Result<R, Error> + Send + Sync + 'static + f: impl Fn(<M as RawModule>::LinkerHandle<'_>, P) -> Result<R, Error> + Send + Sync + 'static ) -> <M as RawModule>::Func
where - P: DeserializeOwned + Tuple, - R: Serialize,

Wrap a function with args and linker handle.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + P: DeserializeOwned + Tuple, + R: Serialize,

Wrap a function with args and linker handle.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
§

impl<T> Downcast for T
where @@ -26,12 +25,12 @@ further downcast into Rc<ConcreteType> where ConcreteType implements Trait.

§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
§

impl<T> DowncastSync for T
where - T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be + T: Any + Send + Sync,
§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file + U: Into<T>,
§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file diff --git a/doc/ayaka_plugin_wasmi/struct.WasmiLinkerHandle.html b/doc/ayaka_plugin_wasmi/struct.WasmiLinkerHandle.html index bbcce2b8..1eb96d7c 100644 --- a/doc/ayaka_plugin_wasmi/struct.WasmiLinkerHandle.html +++ b/doc/ayaka_plugin_wasmi/struct.WasmiLinkerHandle.html @@ -1,12 +1,11 @@ -WasmiLinkerHandle in ayaka_plugin_wasmi - Rust -
pub struct WasmiLinkerHandle<'a> { /* private fields */ }
Expand description

A Wasmi [StoreContextMut].

+WasmiLinkerHandle in ayaka_plugin_wasmi - Rust

Struct ayaka_plugin_wasmi::WasmiLinkerHandle

source ·
pub struct WasmiLinkerHandle<'a> { /* private fields */ }
Expand description

A Wasmi [StoreContextMut].

Trait Implementations§

source§

impl<'a> LinkerHandle<'a, WasmiModule> for WasmiLinkerHandle<'a>

source§

fn call<T>( &mut self, m: &WasmiModule, name: &str, data: &[u8], - f: impl FnOnce(&[u8]) -> Result<T> -) -> Result<T>

Call methods of a module.
source§

fn slice<T>(&self, start: i32, len: i32, f: impl FnOnce(&[u8]) -> T) -> T

Get memory slice.
source§

fn slice_mut<T>( + f: impl FnOnce(&[u8]) -> Result<T> +) -> Result<T>

Call methods of a module.
source§

fn slice<T>(&self, start: i32, len: i32, f: impl FnOnce(&[u8]) -> T) -> T

Get memory slice.
source§

fn slice_mut<T>( &mut self, start: i32, len: i32, @@ -20,12 +19,12 @@ further downcast into Rc<ConcreteType> where ConcreteType implements Trait.

§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
§

impl<T> DowncastSync for T
where - T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be + T: Any + Send + Sync,
§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file + U: Into<T>,
§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file diff --git a/doc/ayaka_plugin_wasmi/struct.WasmiModule.html b/doc/ayaka_plugin_wasmi/struct.WasmiModule.html index c64156b6..adfdf770 100644 --- a/doc/ayaka_plugin_wasmi/struct.WasmiModule.html +++ b/doc/ayaka_plugin_wasmi/struct.WasmiModule.html @@ -1,29 +1,28 @@ -WasmiModule in ayaka_plugin_wasmi - Rust -
pub struct WasmiModule { /* private fields */ }
Expand description

A Wasmi [Instance].

-

Trait Implementations§

source§

impl Linker<WasmiModule> for WasmiLinker

§

type Config = ()

Config type to create the linker.
source§

fn new(_: ()) -> Result<Self>

Create the linker.
source§

fn create(&self, binary: &[u8]) -> Result<WasmiModule>

Create a raw module from binary.
source§

fn import( +WasmiModule in ayaka_plugin_wasmi - Rust

Struct ayaka_plugin_wasmi::WasmiModule

source ·
pub struct WasmiModule { /* private fields */ }
Expand description

A Wasmi [Instance].

+

Trait Implementations§

source§

impl Linker<WasmiModule> for WasmiLinker

§

type Config = ()

Config type to create the linker.
source§

fn new(_: ()) -> Result<Self>

Create the linker.
source§

fn create(&self, binary: &[u8]) -> Result<WasmiModule>

Create a raw module from binary.
source§

fn import( &mut self, ns: impl Into<String>, funcs: HashMap<String, Func> -) -> Result<()>

Import functions by namespace and names.
source§

fn wrap_raw( +) -> Result<()>

Import functions by namespace and names.
source§

fn wrap_raw( &self, - f: impl Fn(WasmiLinkerHandle<'_>, i32, i32) -> Result<Vec<u8>> + Send + Sync + 'static + f: impl Fn(WasmiLinkerHandle<'_>, i32, i32) -> Result<Vec<u8>> + Send + Sync + 'static ) -> Func

Wrap a function with args in bytes.
§

fn wrap<P, R>( &self, - f: impl Fn(P) -> Result<R, Error> + Send + Sync + 'static + f: impl Fn(P) -> Result<R, Error> + Send + Sync + 'static ) -> <M as RawModule>::Func
where - P: DeserializeOwned + Tuple, - R: Serialize,

Wrap a function with args.
§

fn wrap_with<P, R>( + P: DeserializeOwned + Tuple, + R: Serialize,

Wrap a function with args.
§

fn wrap_with<P, R>( &self, - f: impl Fn(<M as RawModule>::LinkerHandle<'_>, P) -> Result<R, Error> + Send + Sync + 'static + f: impl Fn(<M as RawModule>::LinkerHandle<'_>, P) -> Result<R, Error> + Send + Sync + 'static ) -> <M as RawModule>::Func
where - P: DeserializeOwned + Tuple, - R: Serialize,

Wrap a function with args and linker handle.
source§

impl<'a> LinkerHandle<'a, WasmiModule> for WasmiLinkerHandle<'a>

Wrap a function with args and linker handle.
source§

impl<'a> LinkerHandle<'a, WasmiModule> for WasmiLinkerHandle<'a>

source§

fn call<T>( &mut self, m: &WasmiModule, name: &str, data: &[u8], - f: impl FnOnce(&[u8]) -> Result<T> -) -> Result<T>

Call methods of a module.
source§

fn slice<T>(&self, start: i32, len: i32, f: impl FnOnce(&[u8]) -> T) -> T

Get memory slice.
source§

fn slice_mut<T>( + f: impl FnOnce(&[u8]) -> Result<T> +) -> Result<T>

Call methods of a module.
source§

fn slice<T>(&self, start: i32, len: i32, f: impl FnOnce(&[u8]) -> T) -> T

Get memory slice.
source§

fn slice_mut<T>( &mut self, start: i32, len: i32, @@ -32,8 +31,8 @@ &self, name: &str, data: &[u8], - f: impl FnOnce(&[u8]) -> Result<T> -) -> Result<T>

Calls a method by name. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + f: impl FnOnce(&[u8]) -> Result<T> +) -> Result<T>

Calls a method by name. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
§

impl<T> Downcast for T
where @@ -42,12 +41,12 @@ further downcast into Rc<ConcreteType> where ConcreteType implements Trait.

§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
§

impl<T> DowncastSync for T
where - T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be + T: Any + Send + Sync,
§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file + U: Into<T>,
§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file diff --git a/doc/ayaka_plugin_wasmtime/all.html b/doc/ayaka_plugin_wasmtime/all.html index 83b4b9dd..73c6860b 100644 --- a/doc/ayaka_plugin_wasmtime/all.html +++ b/doc/ayaka_plugin_wasmtime/all.html @@ -1,2 +1 @@ -List of all items in this crate -
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/doc/ayaka_plugin_wasmtime/index.html b/doc/ayaka_plugin_wasmtime/index.html index fa4e0757..172af37e 100644 --- a/doc/ayaka_plugin_wasmtime/index.html +++ b/doc/ayaka_plugin_wasmtime/index.html @@ -1,4 +1,2 @@ -ayaka_plugin_wasmtime - Rust -
Expand description

Wasmtime-based plugin backend.

+ayaka_plugin_wasmtime - Rust

Crate ayaka_plugin_wasmtime

source ·
Expand description

Wasmtime-based plugin backend.

Structs§

\ No newline at end of file diff --git a/doc/ayaka_plugin_wasmtime/struct.WasmtimeLinker.html b/doc/ayaka_plugin_wasmtime/struct.WasmtimeLinker.html index 866f90bf..4c9bc37d 100644 --- a/doc/ayaka_plugin_wasmtime/struct.WasmtimeLinker.html +++ b/doc/ayaka_plugin_wasmtime/struct.WasmtimeLinker.html @@ -1,23 +1,22 @@ -WasmtimeLinker in ayaka_plugin_wasmtime - Rust -
pub struct WasmtimeLinker { /* private fields */ }
Expand description

A Wasmtime [Store] with [Linker].

-

Trait Implementations§

source§

impl Linker<WasmtimeModule> for WasmtimeLinker

§

type Config = ()

Config type to create the linker.
source§

fn new(_: ()) -> Result<Self>

Create the linker.
source§

fn create(&self, binary: &[u8]) -> Result<WasmtimeModule>

Create a raw module from binary.
source§

fn import( +WasmtimeLinker in ayaka_plugin_wasmtime - Rust

Struct ayaka_plugin_wasmtime::WasmtimeLinker

source ·
pub struct WasmtimeLinker { /* private fields */ }
Expand description

A Wasmtime [Store] with [Linker].

+

Trait Implementations§

source§

impl Linker<WasmtimeModule> for WasmtimeLinker

§

type Config = ()

Config type to create the linker.
source§

fn new(_: ()) -> Result<Self>

Create the linker.
source§

fn create(&self, binary: &[u8]) -> Result<WasmtimeModule>

Create a raw module from binary.
source§

fn import( &mut self, ns: impl Into<String>, funcs: HashMap<String, Func> -) -> Result<()>

Import functions by namespace and names.
source§

fn wrap_raw( +) -> Result<()>

Import functions by namespace and names.
source§

fn wrap_raw( &self, - f: impl Fn(WasmtimeLinkerHandle<'_>, i32, i32) -> Result<Vec<u8>> + Send + Sync + 'static + f: impl Fn(WasmtimeLinkerHandle<'_>, i32, i32) -> Result<Vec<u8>> + Send + Sync + 'static ) -> Func

Wrap a function with args in bytes.
§

fn wrap<P, R>( &self, - f: impl Fn(P) -> Result<R, Error> + Send + Sync + 'static + f: impl Fn(P) -> Result<R, Error> + Send + Sync + 'static ) -> <M as RawModule>::Func
where - P: DeserializeOwned + Tuple, - R: Serialize,

Wrap a function with args.
§

fn wrap_with<P, R>( + P: DeserializeOwned + Tuple, + R: Serialize,

Wrap a function with args.
§

fn wrap_with<P, R>( &self, - f: impl Fn(<M as RawModule>::LinkerHandle<'_>, P) -> Result<R, Error> + Send + Sync + 'static + f: impl Fn(<M as RawModule>::LinkerHandle<'_>, P) -> Result<R, Error> + Send + Sync + 'static ) -> <M as RawModule>::Func
where - P: DeserializeOwned + Tuple, - R: Serialize,

Wrap a function with args and linker handle.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + P: DeserializeOwned + Tuple, + R: Serialize,

Wrap a function with args and linker handle.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -25,6 +24,13 @@ U: From<T>,
source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file +
source§

impl<T> IntoEither for T

source§

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

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

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

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file diff --git a/doc/ayaka_plugin_wasmtime/struct.WasmtimeLinkerHandle.html b/doc/ayaka_plugin_wasmtime/struct.WasmtimeLinkerHandle.html index fcb6b249..b42aad84 100644 --- a/doc/ayaka_plugin_wasmtime/struct.WasmtimeLinkerHandle.html +++ b/doc/ayaka_plugin_wasmtime/struct.WasmtimeLinkerHandle.html @@ -1,12 +1,11 @@ -WasmtimeLinkerHandle in ayaka_plugin_wasmtime - Rust -
pub struct WasmtimeLinkerHandle<'a> { /* private fields */ }
Expand description

A Wasmtime [StoreContextMut].

+WasmtimeLinkerHandle in ayaka_plugin_wasmtime - Rust

Struct ayaka_plugin_wasmtime::WasmtimeLinkerHandle

source ·
pub struct WasmtimeLinkerHandle<'a> { /* private fields */ }
Expand description

A Wasmtime [StoreContextMut].

Trait Implementations§

source§

impl<'a> LinkerHandle<'a, WasmtimeModule> for WasmtimeLinkerHandle<'a>

source§

fn call<T>( &mut self, m: &WasmtimeModule, name: &str, data: &[u8], - f: impl FnOnce(&[u8]) -> Result<T> -) -> Result<T>

Call methods of a module.
source§

fn slice<T>(&self, start: i32, len: i32, f: impl FnOnce(&[u8]) -> T) -> T

Get memory slice.
source§

fn slice_mut<T>( + f: impl FnOnce(&[u8]) -> Result<T> +) -> Result<T>

Call methods of a module.
source§

fn slice<T>(&self, start: i32, len: i32, f: impl FnOnce(&[u8]) -> T) -> T

Get memory slice.
source§

fn slice_mut<T>( &mut self, start: i32, len: i32, @@ -19,6 +18,13 @@ U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file +
source§

impl<T> IntoEither for T

source§

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

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

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

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file diff --git a/doc/ayaka_plugin_wasmtime/struct.WasmtimeModule.html b/doc/ayaka_plugin_wasmtime/struct.WasmtimeModule.html index b99bf4c0..306ffc8f 100644 --- a/doc/ayaka_plugin_wasmtime/struct.WasmtimeModule.html +++ b/doc/ayaka_plugin_wasmtime/struct.WasmtimeModule.html @@ -1,29 +1,28 @@ -WasmtimeModule in ayaka_plugin_wasmtime - Rust -
pub struct WasmtimeModule { /* private fields */ }
Expand description

A Wasmtime [Instance].

-

Trait Implementations§

source§

impl Linker<WasmtimeModule> for WasmtimeLinker

§

type Config = ()

Config type to create the linker.
source§

fn new(_: ()) -> Result<Self>

Create the linker.
source§

fn create(&self, binary: &[u8]) -> Result<WasmtimeModule>

Create a raw module from binary.
source§

fn import( +WasmtimeModule in ayaka_plugin_wasmtime - Rust

Struct ayaka_plugin_wasmtime::WasmtimeModule

source ·
pub struct WasmtimeModule { /* private fields */ }
Expand description

A Wasmtime [Instance].

+

Trait Implementations§

source§

impl Linker<WasmtimeModule> for WasmtimeLinker

§

type Config = ()

Config type to create the linker.
source§

fn new(_: ()) -> Result<Self>

Create the linker.
source§

fn create(&self, binary: &[u8]) -> Result<WasmtimeModule>

Create a raw module from binary.
source§

fn import( &mut self, ns: impl Into<String>, funcs: HashMap<String, Func> -) -> Result<()>

Import functions by namespace and names.
source§

fn wrap_raw( +) -> Result<()>

Import functions by namespace and names.
source§

fn wrap_raw( &self, - f: impl Fn(WasmtimeLinkerHandle<'_>, i32, i32) -> Result<Vec<u8>> + Send + Sync + 'static + f: impl Fn(WasmtimeLinkerHandle<'_>, i32, i32) -> Result<Vec<u8>> + Send + Sync + 'static ) -> Func

Wrap a function with args in bytes.
§

fn wrap<P, R>( &self, - f: impl Fn(P) -> Result<R, Error> + Send + Sync + 'static + f: impl Fn(P) -> Result<R, Error> + Send + Sync + 'static ) -> <M as RawModule>::Func
where - P: DeserializeOwned + Tuple, - R: Serialize,

Wrap a function with args.
§

fn wrap_with<P, R>( + P: DeserializeOwned + Tuple, + R: Serialize,

Wrap a function with args.
§

fn wrap_with<P, R>( &self, - f: impl Fn(<M as RawModule>::LinkerHandle<'_>, P) -> Result<R, Error> + Send + Sync + 'static + f: impl Fn(<M as RawModule>::LinkerHandle<'_>, P) -> Result<R, Error> + Send + Sync + 'static ) -> <M as RawModule>::Func
where - P: DeserializeOwned + Tuple, - R: Serialize,

Wrap a function with args and linker handle.
source§

impl<'a> LinkerHandle<'a, WasmtimeModule> for WasmtimeLinkerHandle<'a>

Wrap a function with args and linker handle.
source§

impl<'a> LinkerHandle<'a, WasmtimeModule> for WasmtimeLinkerHandle<'a>

source§

fn call<T>( &mut self, m: &WasmtimeModule, name: &str, data: &[u8], - f: impl FnOnce(&[u8]) -> Result<T> -) -> Result<T>

Call methods of a module.
source§

fn slice<T>(&self, start: i32, len: i32, f: impl FnOnce(&[u8]) -> T) -> T

Get memory slice.
source§

fn slice_mut<T>( + f: impl FnOnce(&[u8]) -> Result<T> +) -> Result<T>

Call methods of a module.
source§

fn slice<T>(&self, start: i32, len: i32, f: impl FnOnce(&[u8]) -> T) -> T

Get memory slice.
source§

fn slice_mut<T>( &mut self, start: i32, len: i32, @@ -32,8 +31,8 @@ &self, name: &str, data: &[u8], - f: impl FnOnce(&[u8]) -> Result<T> -) -> Result<T>

Calls a method by name. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + f: impl FnOnce(&[u8]) -> Result<T> +) -> Result<T>

Calls a method by name. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -41,6 +40,13 @@ U: From<T>,
source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file +
source§

impl<T> IntoEither for T

source§

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

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

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

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file diff --git a/doc/ayaka_primitive/all.html b/doc/ayaka_primitive/all.html index 4489be5e..8b520d33 100644 --- a/doc/ayaka_primitive/all.html +++ b/doc/ayaka_primitive/all.html @@ -1,2 +1 @@ -List of all items in this crate -

List of all items

Structs

Enums

\ No newline at end of file +List of all items in this crate

List of all items

Structs

Enums

\ No newline at end of file diff --git a/doc/ayaka_primitive/enum.Line.html b/doc/ayaka_primitive/enum.Line.html index 74d416bc..19aa6ca2 100644 --- a/doc/ayaka_primitive/enum.Line.html +++ b/doc/ayaka_primitive/enum.Line.html @@ -1,5 +1,4 @@ -Line in ayaka_primitive - Rust -
pub enum Line {
+Line in ayaka_primitive - Rust

Enum ayaka_primitive::Line

source ·
pub enum Line {
     Empty,
     Text(Text),
     Switch {
@@ -9,11 +8,11 @@
 }
Expand description

Represents a line in a prograph.

Variants§

§

Empty

An empty line, usually fallbacks to the base language one.

§

Text(Text)

A text line.

-
§

Switch

Fields

§switches: Vec<String>

The switch items.

-

Some switches.

-
§

Custom(HashMap<String, RawValue>)

Custom line types.

-

Trait Implementations§

source§

impl Clone for Line

source§

fn clone(&self) -> Line

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for Line

source§

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

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for Line

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl PartialEq for Line

source§

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

This method tests for self and other values to be equal, and is used +
§

Switch

Some switches.

+

Fields

§switches: Vec<String>

The switch items.

+
§

Custom(HashMap<String, RawValue>)

Custom line types.

+

Trait Implementations§

source§

impl Clone for Line

source§

fn clone(&self) -> Line

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for Line

source§

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

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for Line

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl PartialEq for Line

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for Line

source§

impl StructuralPartialEq for Line

Auto Trait Implementations§

§

impl Freeze for Line

§

impl RefUnwindSafe for Line

§

impl Send for Line

§

impl Sync for Line

§

impl Unpin for Line

§

impl UnwindSafe for Line

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where @@ -25,6 +24,6 @@ From<T> for U chooses to do.

source§

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

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file + U: Into<T>,
§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/doc/ayaka_primitive/enum.RawValue.html b/doc/ayaka_primitive/enum.RawValue.html index a7a05efd..f57c23fa 100644 --- a/doc/ayaka_primitive/enum.RawValue.html +++ b/doc/ayaka_primitive/enum.RawValue.html @@ -1,5 +1,4 @@ -RawValue in ayaka_primitive - Rust -
pub enum RawValue {
+RawValue in ayaka_primitive - Rust

Enum ayaka_primitive::RawValue

source ·
pub enum RawValue {
     Unit,
     Bool(bool),
     Num(i64),
@@ -63,18 +62,18 @@
 
  • A RawValue::Bool converts to “false” or “true”.
  • A RawValue::Num converts to the string representation of the number.
  • -

    Trait Implementations§

    source§

    impl Clone for RawValue

    source§

    fn clone(&self) -> RawValue

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

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

    Performs copy-assignment from source. Read more
    source§

    impl Debug for RawValue

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for RawValue

    source§

    fn default() -> RawValue

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for RawValue

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Hash for RawValue

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where +

    Trait Implementations§

    source§

    impl Clone for RawValue

    source§

    fn clone(&self) -> RawValue

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

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

    Performs copy-assignment from source. Read more
    source§

    impl Debug for RawValue

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for RawValue

    source§

    fn default() -> RawValue

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for RawValue

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Hash for RawValue

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Ord for RawValue

    source§

    fn cmp(&self, other: &RawValue) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where - Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where - Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Self
    where + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Ord for RawValue

    source§

    fn cmp(&self, other: &RawValue) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where + Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where + Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Self
    where Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source§

    impl PartialEq for RawValue

    source§

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

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

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

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl PartialOrd for RawValue

    source§

    fn partial_cmp(&self, other: &RawValue) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

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

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

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

    This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
    1.0.0 · source§

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

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

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

    This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
    source§

    impl Serialize for RawValue

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Eq for RawValue

    source§

    impl StructuralPartialEq for RawValue

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl PartialOrd for RawValue

    source§

    fn partial_cmp(&self, other: &RawValue) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

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

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

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

    This method tests less than or equal to (for self and other) and is used by the <= +operator. Read more
    1.0.0 · source§

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

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

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

    This method tests greater than or equal to (for self and other) and is used by the >= +operator. Read more
    source§

    impl Serialize for RawValue

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Eq for RawValue

    source§

    impl StructuralPartialEq for RawValue

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    @@ -84,6 +83,6 @@ From<T> for U chooses to do.

    source§

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

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

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

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

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file + U: Into<T>,
    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/doc/ayaka_primitive/enum.SubText.html b/doc/ayaka_primitive/enum.SubText.html index 4f92b5e2..1adad144 100644 --- a/doc/ayaka_primitive/enum.SubText.html +++ b/doc/ayaka_primitive/enum.SubText.html @@ -1,5 +1,4 @@ -SubText in ayaka_primitive - Rust -
    pub enum SubText {
    +SubText in ayaka_primitive - Rust

    Enum ayaka_primitive::SubText

    source ·
    pub enum SubText {
         Char(char),
         Str(String),
         Cmd(String, Vec<SubText>),
    @@ -19,5 +18,5 @@
     From<T> for U chooses to do.

    source§

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

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

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

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

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file + U: Into<T>,
    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file diff --git a/doc/ayaka_primitive/enum.ValueType.html b/doc/ayaka_primitive/enum.ValueType.html index 3020b875..b61c805a 100644 --- a/doc/ayaka_primitive/enum.ValueType.html +++ b/doc/ayaka_primitive/enum.ValueType.html @@ -1,5 +1,4 @@ -ValueType in ayaka_primitive - Rust -
    pub enum ValueType {
    +ValueType in ayaka_primitive - Rust

    Enum ayaka_primitive::ValueType

    source ·
    pub enum ValueType {
         Unit,
         Bool,
         Num,
    @@ -9,13 +8,13 @@
     
    §

    Bool

    The boolean type.

    §

    Num

    The number type.

    §

    Str

    The string type.

    -

    Trait Implementations§

    source§

    impl Clone for ValueType

    source§

    fn clone(&self) -> ValueType

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

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

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ValueType

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Ord for ValueType

    source§

    fn cmp(&self, other: &ValueType) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where - Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where - Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Self
    where +

    Trait Implementations§

    source§

    impl Clone for ValueType

    source§

    fn clone(&self) -> ValueType

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

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

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ValueType

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Ord for ValueType

    source§

    fn cmp(&self, other: &ValueType) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where + Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where + Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Self
    where Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source§

    impl PartialEq for ValueType

    source§

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

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

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

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl PartialOrd for ValueType

    source§

    fn partial_cmp(&self, other: &ValueType) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

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

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

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

    This method tests less than or equal to (for self and other) and is used by the <= -operator. Read more
    1.0.0 · source§

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

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

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

    This method tests greater than or equal to (for self and other) and is used by the >= +sufficient, and should not be overridden without very good reason.
    source§

    impl PartialOrd for ValueType

    source§

    fn partial_cmp(&self, other: &ValueType) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

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

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

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

    This method tests less than or equal to (for self and other) and is used by the <= +operator. Read more
    1.0.0 · source§

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

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

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

    This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
    source§

    impl Copy for ValueType

    source§

    impl Eq for ValueType

    source§

    impl StructuralPartialEq for ValueType

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where @@ -26,5 +25,5 @@ From<T> for U chooses to do.

    source§

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

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

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

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

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file + U: Into<T>,
    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file diff --git a/doc/ayaka_primitive/index.html b/doc/ayaka_primitive/index.html index d2bf3112..fcc0dbee 100644 --- a/doc/ayaka_primitive/index.html +++ b/doc/ayaka_primitive/index.html @@ -1,4 +1,2 @@ -ayaka_primitive - Rust -

    Crate ayaka_primitive

    source ·
    Expand description

    Primitive types.

    +ayaka_primitive - Rust

    Crate ayaka_primitive

    source ·
    Expand description

    Primitive types.

    Structs§

    Enums§

    • Represents a line in a prograph.
    • The basic and only type used in scripts.
    • A part of a line, either some texts or a command.
    • Represents the type of RawValue.
    \ No newline at end of file diff --git a/doc/ayaka_primitive/struct.Text.html b/doc/ayaka_primitive/struct.Text.html index ea3fd6a0..22c0deda 100644 --- a/doc/ayaka_primitive/struct.Text.html +++ b/doc/ayaka_primitive/struct.Text.html @@ -1,5 +1,4 @@ -Text in ayaka_primitive - Rust -

    Struct ayaka_primitive::Text

    source ·
    pub struct Text {
    +Text in ayaka_primitive - Rust

    Struct ayaka_primitive::Text

    source ·
    pub struct Text {
         pub ch_tag: Option<String>,
         pub ch_alias: Option<String>,
         pub sub_texts: Vec<SubText>,
    @@ -7,8 +6,8 @@
     

    Fields§

    §ch_tag: Option<String>

    The tag of current character.

    §ch_alias: Option<String>

    The alias of current character.

    §sub_texts: Vec<SubText>

    The texts.

    -

    Trait Implementations§

    source§

    impl Clone for Text

    source§

    fn clone(&self) -> Text

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

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

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Text

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for Text

    source§

    fn default() -> Text

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Text

    source§

    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
    where - D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Text

    source§

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

    This method tests for self and other values to be equal, and is used +

    Trait Implementations§

    source§

    impl Clone for Text

    source§

    fn clone(&self) -> Text

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

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

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Text

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for Text

    source§

    fn default() -> Text

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Text

    source§

    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
    where + D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Text

    source§

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

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

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

    This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
    source§

    impl<'a> TryFrom<&'a str> for Text

    §

    type Error = VerboseError<&'a str>

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: &'a str) -> Result<Self, Self::Error>

    Performs the conversion.
    source§

    impl Eq for Text

    source§

    impl StructuralPartialEq for Text

    Auto Trait Implementations§

    §

    impl Freeze for Text

    §

    impl RefUnwindSafe for Text

    §

    impl Send for Text

    §

    impl Sync for Text

    §

    impl Unpin for Text

    §

    impl UnwindSafe for Text

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where @@ -20,6 +19,6 @@ From<T> for U chooses to do.

    source§

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

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

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

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

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file + U: Into<T>,
    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/doc/ayaka_runtime/all.html b/doc/ayaka_runtime/all.html index 11a63665..cf698ea2 100644 --- a/doc/ayaka_runtime/all.html +++ b/doc/ayaka_runtime/all.html @@ -1,2 +1 @@ -List of all items in this crate -
    \ No newline at end of file +List of all items in this crate
    \ No newline at end of file diff --git a/doc/ayaka_runtime/enum.OpenStatus.html b/doc/ayaka_runtime/enum.OpenStatus.html index c81ea74e..59d1670f 100644 --- a/doc/ayaka_runtime/enum.OpenStatus.html +++ b/doc/ayaka_runtime/enum.OpenStatus.html @@ -1,5 +1,4 @@ -OpenStatus in ayaka_runtime - Rust -
    pub enum OpenStatus {
    +OpenStatus in ayaka_runtime - Rust

    Enum ayaka_runtime::OpenStatus

    source ·
    pub enum OpenStatus {
         LoadProfile,
         CreateRuntime,
         LoadPlugin(String, usize, usize),
    @@ -15,8 +14,8 @@
     
    §

    LoadParagraph

    Loading the paragraphs.

    Trait Implementations§

    source§

    impl Clone for OpenStatus

    source§

    fn clone(&self) -> OpenStatus

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

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

    Performs copy-assignment from source. Read more
    source§

    impl Debug for OpenStatus

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl From<LoadStatus> for OpenStatus

    source§

    fn from(value: LoadStatus) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for OpenStatus

    source§

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

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

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

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for OpenStatus

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Eq for OpenStatus

    source§

    impl StructuralPartialEq for OpenStatus

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for OpenStatus

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Eq for OpenStatus

    source§

    impl StructuralPartialEq for OpenStatus

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where @@ -30,8 +29,8 @@ From<T> for U chooses to do.

    source§

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

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

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

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

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

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

    §

    impl<T> MaybeSendSync for T
    where T: Send + Sync,

    \ No newline at end of file diff --git a/doc/ayaka_runtime/fn.version.html b/doc/ayaka_runtime/fn.version.html index 62f803a9..4e5a4f58 100644 --- a/doc/ayaka_runtime/fn.version.html +++ b/doc/ayaka_runtime/fn.version.html @@ -1,4 +1,3 @@ -version in ayaka_runtime - Rust -

    Function ayaka_runtime::version

    source ·
    pub fn version() -> &'static str
    Expand description

    Get the version of Ayaka runtime. +version in ayaka_runtime - Rust

    Function ayaka_runtime::version

    source ·
    pub fn version() -> &'static str
    Expand description

    Get the version of Ayaka runtime. This version string is exacted from CARGO_PKG_VERSION.

    \ No newline at end of file diff --git a/doc/ayaka_runtime/index.html b/doc/ayaka_runtime/index.html index 31a2b501..81979476 100644 --- a/doc/ayaka_runtime/index.html +++ b/doc/ayaka_runtime/index.html @@ -1,10 +1,8 @@ -ayaka_runtime - Rust -

    Crate ayaka_runtime

    source ·
    Expand description

    The runtime of Ayaka project.

    +ayaka_runtime - Rust

    Crate ayaka_runtime

    source ·
    Expand description

    The runtime of Ayaka project.

    This runtime provides the game config, running context, plugin system and settings system. It can be treated as the “backend” of the game engine.

    -

    Re-exports§

    • pub use anyhow;
    • pub use ayaka_plugin::Linker;
    • pub use ayaka_plugin::RawModule;
    • pub use futures_util::StreamExt;
    • pub use futures_util::TryStreamExt;
    • pub use log;
    • pub use vfs;
    • pub use ayaka_bindings_types::*;
    • pub use ayaka_primitive::*;
    • pub use locale::*;

    Modules§

    Macros§

    • A macro allowing for compile-time construction of valid [Locale]. +

    Re-exports§

    • pub use anyhow;
    • pub use ayaka_plugin::Linker;
    • pub use ayaka_plugin::RawModule;
    • pub use futures_util::StreamExt;
    • pub use futures_util::TryStreamExt;
    • pub use log;
    • pub use vfs;
    • pub use ayaka_bindings_types::*;
    • pub use ayaka_primitive::*;
    • pub use locale::*;

    Modules§

    Macros§

    • A macro allowing for compile-time construction of valid [Locale]. See [icu_locid::langid!].

    Structs§

    Enums§

    Functions§

    source

    pub fn process_game( &self, ctx: GameProcessContextRef<'_> -) -> Result<GameProcessResult>

    Processes Game when opening the config file.

    +) -> Result<GameProcessResult>

    Processes Game when opening the config file.

    Auto Trait Implementations§

    §

    impl<M> Freeze for Module<M>
    where M: Freeze,

    §

    impl<M> RefUnwindSafe for Module<M>
    where M: RefUnwindSafe,

    §

    impl<M> Send for Module<M>
    where @@ -35,8 +34,8 @@

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

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

    §

    impl<T> MaybeSendSync for T
    where T: Send + Sync,

    \ No newline at end of file diff --git a/doc/ayaka_runtime/plugin/struct.Runtime.html b/doc/ayaka_runtime/plugin/struct.Runtime.html index 54e0d260..980ae4c3 100644 --- a/doc/ayaka_runtime/plugin/struct.Runtime.html +++ b/doc/ayaka_runtime/plugin/struct.Runtime.html @@ -1,11 +1,10 @@ -Runtime in ayaka_runtime::plugin - Rust -
    pub struct Runtime<M: RawModule + Send + Sync + 'static> { /* private fields */ }
    Expand description

    The plugin runtime.

    +Runtime in ayaka_runtime::plugin - Rust

    Struct ayaka_runtime::plugin::Runtime

    source ·
    pub struct Runtime<M: RawModule + Send + Sync + 'static> { /* private fields */ }
    Expand description

    The plugin runtime.

    Implementations§

    source§

    impl<M: RawModule + Send + Sync + 'static> Runtime<M>

    source

    pub fn load<'a>( dir: impl AsRef<str> + 'a, root_path: &'a VfsPath, names: &'a [impl AsRef<str>], store: M::Linker -) -> impl Future<Output = Result<Arc<Self>>> + Stream<Item = LoadStatus> + 'a

    Load plugins from specific directory and plugin names.

    +) -> impl Future<Output = Result<Arc<Self>>> + Stream<Item = LoadStatus> + 'a

    Load plugins from specific directory and plugin names.

    The actual load folder will be rel_to.join(dir).

    If names is empty, all WASM files will be loaded.

    source

    pub fn module(&self, key: &str) -> Option<&Module<M>>

    Gets module from name.

    @@ -25,8 +24,8 @@

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

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

    §

    impl<T> MaybeSendSync for T
    where T: Send + Sync,

    \ No newline at end of file diff --git a/doc/ayaka_runtime/struct.Context.html b/doc/ayaka_runtime/struct.Context.html index f0107555..345ea612 100644 --- a/doc/ayaka_runtime/struct.Context.html +++ b/doc/ayaka_runtime/struct.Context.html @@ -1,12 +1,11 @@ -Context in ayaka_runtime - Rust -

    Struct ayaka_runtime::Context

    source ·
    pub struct Context<M: RawModule + Send + Sync + 'static> { /* private fields */ }
    Expand description

    The game running context.

    +Context in ayaka_runtime - Rust

    Struct ayaka_runtime::Context

    source ·
    pub struct Context<M: RawModule + Send + Sync + 'static> { /* private fields */ }
    Expand description

    The game running context.

    Implementations§

    source§

    impl<M: RawModule + Send + Sync + 'static> Context<M>

    source

    pub fn set_start_context(&mut self)

    Initialize the [RawContext] at the start of the game.

    source

    pub fn set_context(&mut self, ctx: RawContext)

    Initialize the [RawContext] with given record.

    source

    pub fn game(&self) -> &Game

    The inner Game object.

    source

    pub fn root_path(&self) -> &VfsPath

    The root path of config.

    -
    source

    pub fn call(&self, text: &Text) -> Result<String>

    Call the part of script with this context.

    +
    source

    pub fn call(&self, text: &Text) -> Result<String>

    Call the part of script with this context.

    source

    pub fn switch(&mut self, i: usize)

    Choose a switch item by index, start by 0.

    -
    source

    pub fn get_action(&self, loc: &Locale, ctx: &RawContext) -> Result<Action>

    Get the [Action] from [Locale] and [RawContext].

    +
    source

    pub fn get_action(&self, loc: &Locale, ctx: &RawContext) -> Result<Action>

    Get the [Action] from [Locale] and [RawContext].

    source

    pub fn next_run(&mut self) -> Option<RawContext>

    Step to next line.

    source

    pub fn current_paragraph_title(&self, loc: &Locale) -> Option<&String>

    Get current paragraph title.

    Auto Trait Implementations§

    §

    impl<M> Freeze for Context<M>

    §

    impl<M> !RefUnwindSafe for Context<M>

    §

    impl<M> Send for Context<M>

    §

    impl<M> Sync for Context<M>

    §

    impl<M> Unpin for Context<M>

    §

    impl<M> !UnwindSafe for Context<M>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where @@ -18,8 +17,8 @@

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

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

    §

    impl<T> MaybeSendSync for T
    where T: Send + Sync,

    \ No newline at end of file diff --git a/doc/ayaka_runtime/struct.ContextBuilder.html b/doc/ayaka_runtime/struct.ContextBuilder.html index bee0181a..48387cdf 100644 --- a/doc/ayaka_runtime/struct.ContextBuilder.html +++ b/doc/ayaka_runtime/struct.ContextBuilder.html @@ -1,17 +1,16 @@ -ContextBuilder in ayaka_runtime - Rust -
    pub struct ContextBuilder<M: RawModule + Send + Sync + 'static> { /* private fields */ }
    Expand description

    Builder of Context.

    +ContextBuilder in ayaka_runtime - Rust

    Struct ayaka_runtime::ContextBuilder

    source ·
    pub struct ContextBuilder<M: RawModule + Send + Sync + 'static> { /* private fields */ }
    Expand description

    Builder of Context.

    Implementations§

    source§

    impl<M: RawModule + Send + Sync + 'static> ContextBuilder<M>

    source

    pub fn new(frontend: FrontendType, linker: M::Linker) -> Self

    Create a new ContextBuilder with frontend type and plugin runtime linker.

    source

    pub fn with_paths( self, paths: &[impl AsRef<Path>] -) -> Result<ContextBuilderWithPaths<'_, M>>

    Open a context with config paths.

    +) -> Result<ContextBuilderWithPaths<'_, M>>

    Open a context with config paths.

    If the input paths contains only one element, it may be a YAML or an FRFS file. If the input paths contains many element, they should all be FRFS files, and the latter one will override the former one.

    source

    pub fn with_vfs( self, paths: &[VfsPath] -) -> Result<ContextBuilderWithPaths<'static, M>>

    Open a context with config paths.

    +) -> Result<ContextBuilderWithPaths<'static, M>>

    Open a context with config paths.

    Auto Trait Implementations§

    §

    impl<M> Freeze for ContextBuilder<M>
    where <M as RawModule>::Linker: Freeze,

    §

    impl<M> RefUnwindSafe for ContextBuilder<M>
    where <M as RawModule>::Linker: RefUnwindSafe,

    §

    impl<M> Send for ContextBuilder<M>
    where @@ -27,8 +26,8 @@

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

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

    §

    impl<T> MaybeSendSync for T
    where T: Send + Sync,

    \ No newline at end of file diff --git a/doc/ayaka_runtime/struct.ContextBuilderWithPaths.html b/doc/ayaka_runtime/struct.ContextBuilderWithPaths.html index fc0c38fe..7fad6bf0 100644 --- a/doc/ayaka_runtime/struct.ContextBuilderWithPaths.html +++ b/doc/ayaka_runtime/struct.ContextBuilderWithPaths.html @@ -1,8 +1,7 @@ -ContextBuilderWithPaths in ayaka_runtime - Rust -
    pub struct ContextBuilderWithPaths<'a, M: RawModule + Send + Sync + 'static> { /* private fields */ }
    Expand description

    Builder of Context.

    +ContextBuilderWithPaths in ayaka_runtime - Rust

    Struct ayaka_runtime::ContextBuilderWithPaths

    source ·
    pub struct ContextBuilderWithPaths<'a, M: RawModule + Send + Sync + 'static> { /* private fields */ }
    Expand description

    Builder of Context.

    Implementations§

    source§

    impl<'a, M: RawModule + Send + Sync + 'static> ContextBuilderWithPaths<'a, M>

    source

    pub fn open( self -) -> impl Future<Output = Result<Context<M>>> + Stream<Item = OpenStatus> + 'a

    Open the config and load the Context.

    +) -> impl Future<Output = Result<Context<M>>> + Stream<Item = OpenStatus> + 'a

    Open the config and load the Context.

    Auto Trait Implementations§

    §

    impl<'a, M> Freeze for ContextBuilderWithPaths<'a, M>
    where <M as RawModule>::Linker: Freeze,

    §

    impl<'a, M> !RefUnwindSafe for ContextBuilderWithPaths<'a, M>

    §

    impl<'a, M> Send for ContextBuilderWithPaths<'a, M>
    where <M as RawModule>::Linker: Send,

    §

    impl<'a, M> Sync for ContextBuilderWithPaths<'a, M>
    where @@ -16,8 +15,8 @@

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

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

    §

    impl<T> MaybeSendSync for T
    where T: Send + Sync,

    \ No newline at end of file diff --git a/doc/ayaka_runtime/struct.Game.html b/doc/ayaka_runtime/struct.Game.html index 9eba23de..eaea1979 100644 --- a/doc/ayaka_runtime/struct.Game.html +++ b/doc/ayaka_runtime/struct.Game.html @@ -1,5 +1,4 @@ -Game in ayaka_runtime - Rust -

    Struct ayaka_runtime::Game

    source ·
    pub struct Game {
    +Game in ayaka_runtime - Rust

    Struct ayaka_runtime::Game

    source ·
    pub struct Game {
         pub config: GameConfig,
         pub paras: HashMap<Locale, HashMap<String, Vec<Paragraph>>>,
         pub res: HashMap<Locale, VarMap>,
    @@ -32,8 +31,8 @@
     

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

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

    §

    impl<T> MaybeSendSync for T
    where T: Send + Sync,

    \ No newline at end of file diff --git a/doc/ayaka_runtime/struct.GameConfig.html b/doc/ayaka_runtime/struct.GameConfig.html index 5223d475..82e86d08 100644 --- a/doc/ayaka_runtime/struct.GameConfig.html +++ b/doc/ayaka_runtime/struct.GameConfig.html @@ -1,5 +1,4 @@ -GameConfig in ayaka_runtime - Rust -
    pub struct GameConfig {
    +GameConfig in ayaka_runtime - Rust

    Struct ayaka_runtime::GameConfig

    source ·
    pub struct GameConfig {
         pub title: String,
         pub author: String,
         pub paras: String,
    @@ -20,8 +19,8 @@
     
    §base_lang: Locale

    The base language. If the runtime fails to choose a best match, it fallbacks to this one.

    -

    Trait Implementations§

    source§

    impl Debug for GameConfig

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for GameConfig

    source§

    fn default() -> GameConfig

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for GameConfig

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Debug for GameConfig

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for GameConfig

    source§

    fn default() -> GameConfig

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for GameConfig

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    @@ -30,9 +29,9 @@

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

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

    §

    impl<T> MaybeSendSync for T
    where T: Send + Sync,

    \ No newline at end of file diff --git a/doc/ayaka_runtime/struct.Paragraph.html b/doc/ayaka_runtime/struct.Paragraph.html index 16362014..4e626936 100644 --- a/doc/ayaka_runtime/struct.Paragraph.html +++ b/doc/ayaka_runtime/struct.Paragraph.html @@ -1,5 +1,4 @@ -Paragraph in ayaka_runtime - Rust -
    pub struct Paragraph {
    +Paragraph in ayaka_runtime - Rust

    Struct ayaka_runtime::Paragraph

    source ·
    pub struct Paragraph {
         pub tag: String,
         pub title: Option<String>,
         pub texts: Vec<Line>,
    @@ -13,8 +12,8 @@
     They will be parsed into [ayaka_primitive::Text] later.

    §next: Option<Text>

    The next paragraph. If None, the game meets the end.

    -

    Trait Implementations§

    source§

    impl Debug for Paragraph

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Paragraph

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Debug for Paragraph

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Paragraph

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    @@ -23,9 +22,9 @@

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

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

    §

    impl<T> MaybeSendSync for T
    where T: Send + Sync,

    \ No newline at end of file diff --git a/doc/ayaka_runtime/struct.PluginConfig.html b/doc/ayaka_runtime/struct.PluginConfig.html index a15d4027..980586ba 100644 --- a/doc/ayaka_runtime/struct.PluginConfig.html +++ b/doc/ayaka_runtime/struct.PluginConfig.html @@ -1,12 +1,11 @@ -PluginConfig in ayaka_runtime - Rust -
    pub struct PluginConfig {
    +PluginConfig in ayaka_runtime - Rust

    Struct ayaka_runtime::PluginConfig

    source ·
    pub struct PluginConfig {
         pub dir: String,
         pub modules: Vec<String>,
     }
    Expand description

    The plugin config.

    Fields§

    §dir: String

    The directory of the plugins.

    §modules: Vec<String>

    The names of the plugins, without extension.

    -

    Trait Implementations§

    source§

    impl Debug for PluginConfig

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for PluginConfig

    source§

    fn default() -> PluginConfig

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for PluginConfig

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Debug for PluginConfig

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for PluginConfig

    source§

    fn default() -> PluginConfig

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for PluginConfig

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    @@ -15,9 +14,9 @@

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where + U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

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

    §

    impl<T> MaybeSendSync for T
    where T: Send + Sync,

    \ No newline at end of file diff --git a/doc/ayaka_script/all.html b/doc/ayaka_script/all.html index 5980e3e1..403fe51a 100644 --- a/doc/ayaka_script/all.html +++ b/doc/ayaka_script/all.html @@ -1,2 +1 @@ -List of all items in this crate -
    \ No newline at end of file +List of all items in this crate
    \ No newline at end of file diff --git a/doc/ayaka_script/enum.BinaryOp.html b/doc/ayaka_script/enum.BinaryOp.html index c66e08e6..df511de9 100644 --- a/doc/ayaka_script/enum.BinaryOp.html +++ b/doc/ayaka_script/enum.BinaryOp.html @@ -1,5 +1,4 @@ -BinaryOp in ayaka_script - Rust -
    pub enum BinaryOp {
    +BinaryOp in ayaka_script - Rust

    Enum ayaka_script::BinaryOp

    source ·
    pub enum BinaryOp {
         Val(ValBinaryOp),
         Logic(LogicBinaryOp),
         Assign,
    @@ -9,11 +8,11 @@
     
    §

    Logic(LogicBinaryOp)

    Logical operations.

    §

    Assign

    Assignment.

    §

    Inplace(ValBinaryOp)

    Inplace value operations.

    -

    Trait Implementations§

    source§

    impl Clone for BinaryOp

    source§

    fn clone(&self) -> BinaryOp

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

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

    Performs copy-assignment from source. Read more
    source§

    impl Debug for BinaryOp

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for BinaryOp

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for BinaryOp

    source§

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

    This method tests for self and other values to be equal, and is used +

    Trait Implementations§

    source§

    impl Clone for BinaryOp

    source§

    fn clone(&self) -> BinaryOp

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

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

    Performs copy-assignment from source. Read more
    source§

    impl Debug for BinaryOp

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for BinaryOp

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for BinaryOp

    source§

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

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

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

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for BinaryOp

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Copy for BinaryOp

    source§

    impl Eq for BinaryOp

    source§

    impl StructuralPartialEq for BinaryOp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for BinaryOp

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Copy for BinaryOp

    source§

    impl Eq for BinaryOp

    source§

    impl StructuralPartialEq for BinaryOp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    @@ -23,6 +22,6 @@ From<T> for U chooses to do.

    source§

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

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

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

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

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file + U: Into<T>,
    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/doc/ayaka_script/enum.Expr.html b/doc/ayaka_script/enum.Expr.html index 440eb3e9..cc57589d 100644 --- a/doc/ayaka_script/enum.Expr.html +++ b/doc/ayaka_script/enum.Expr.html @@ -1,22 +1,21 @@ -Expr in ayaka_script - Rust -

    Enum ayaka_script::Expr

    source ·
    pub enum Expr {
    +Expr in ayaka_script - Rust

    Enum ayaka_script::Expr

    source ·
    pub enum Expr {
         Ref(Ref),
    -    Const(RawValue),
    +    Const(RawValue),
         Unary(UnaryOp, Box<Expr>),
         Binary(Box<Expr>, BinaryOp, Box<Expr>),
         Call(String, String, Vec<Expr>),
     }
    Expand description

    An expression.

    Two expressions should be splited with ;.

    Variants§

    §

    Ref(Ref)

    A reference to a variable.

    -
    §

    Const(RawValue)

    A const value.

    +
    §

    Const(RawValue)

    A const value.

    §

    Unary(UnaryOp, Box<Expr>)

    A unary operation.

    §

    Binary(Box<Expr>, BinaryOp, Box<Expr>)

    A binary operation.

    §

    Call(String, String, Vec<Expr>)

    A call to a function.

    -

    Trait Implementations§

    source§

    impl Clone for Expr

    source§

    fn clone(&self) -> Expr

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

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

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Expr

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Expr

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Expr

    source§

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

    This method tests for self and other values to be equal, and is used +

    Trait Implementations§

    source§

    impl Clone for Expr

    source§

    fn clone(&self) -> Expr

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

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

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Expr

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Expr

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Expr

    source§

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

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

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

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Expr

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Eq for Expr

    source§

    impl StructuralPartialEq for Expr

    Auto Trait Implementations§

    §

    impl Freeze for Expr

    §

    impl RefUnwindSafe for Expr

    §

    impl Send for Expr

    §

    impl Sync for Expr

    §

    impl Unpin for Expr

    §

    impl UnwindSafe for Expr

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for Expr

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Eq for Expr

    source§

    impl StructuralPartialEq for Expr

    Auto Trait Implementations§

    §

    impl Freeze for Expr

    §

    impl RefUnwindSafe for Expr

    §

    impl Send for Expr

    §

    impl Sync for Expr

    §

    impl Unpin for Expr

    §

    impl UnwindSafe for Expr

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    @@ -26,6 +25,6 @@ From<T> for U chooses to do.

    source§

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

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

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

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

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file + U: Into<T>,
    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/doc/ayaka_script/enum.LogicBinaryOp.html b/doc/ayaka_script/enum.LogicBinaryOp.html index a5f2f7b1..d3283b9f 100644 --- a/doc/ayaka_script/enum.LogicBinaryOp.html +++ b/doc/ayaka_script/enum.LogicBinaryOp.html @@ -1,5 +1,4 @@ -LogicBinaryOp in ayaka_script - Rust -
    pub enum LogicBinaryOp {
    +LogicBinaryOp in ayaka_script - Rust

    Enum ayaka_script::LogicBinaryOp

    source ·
    pub enum LogicBinaryOp {
         And,
         Or,
         Eq,
    @@ -17,11 +16,11 @@
     
    §

    Le

    <=

    §

    Gt

    >

    §

    Ge

    >=

    -

    Trait Implementations§

    source§

    impl Clone for LogicBinaryOp

    source§

    fn clone(&self) -> LogicBinaryOp

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

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

    Performs copy-assignment from source. Read more
    source§

    impl Debug for LogicBinaryOp

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for LogicBinaryOp

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for LogicBinaryOp

    source§

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

    This method tests for self and other values to be equal, and is used +

    Trait Implementations§

    source§

    impl Clone for LogicBinaryOp

    source§

    fn clone(&self) -> LogicBinaryOp

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

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

    Performs copy-assignment from source. Read more
    source§

    impl Debug for LogicBinaryOp

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for LogicBinaryOp

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for LogicBinaryOp

    source§

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

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

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

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for LogicBinaryOp

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Copy for LogicBinaryOp

    source§

    impl Eq for LogicBinaryOp

    source§

    impl StructuralPartialEq for LogicBinaryOp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for LogicBinaryOp

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Copy for LogicBinaryOp

    source§

    impl Eq for LogicBinaryOp

    source§

    impl StructuralPartialEq for LogicBinaryOp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    @@ -31,6 +30,6 @@ From<T> for U chooses to do.

    source§

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

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

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

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

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file + U: Into<T>,
    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/doc/ayaka_script/enum.Ref.html b/doc/ayaka_script/enum.Ref.html index 409596bc..5fd02c97 100644 --- a/doc/ayaka_script/enum.Ref.html +++ b/doc/ayaka_script/enum.Ref.html @@ -1,5 +1,4 @@ -Ref in ayaka_script - Rust -

    Enum ayaka_script::Ref

    source ·
    pub enum Ref {
    +Ref in ayaka_script - Rust

    Enum ayaka_script::Ref

    source ·
    pub enum Ref {
         Var(String),
         Ctx(String),
     }
    Expand description

    Reference of a variable.

    @@ -8,11 +7,11 @@
    §

    Ctx(String)

    A context variable. It is stored in the context. The variable name is prefixed with $.

    -

    Trait Implementations§

    source§

    impl Clone for Ref

    source§

    fn clone(&self) -> Ref

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

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

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Ref

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Ref

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Ref

    source§

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

    This method tests for self and other values to be equal, and is used +

    Trait Implementations§

    source§

    impl Clone for Ref

    source§

    fn clone(&self) -> Ref

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

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

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Ref

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Ref

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for Ref

    source§

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

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

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

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Ref

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Eq for Ref

    source§

    impl StructuralPartialEq for Ref

    Auto Trait Implementations§

    §

    impl Freeze for Ref

    §

    impl RefUnwindSafe for Ref

    §

    impl Send for Ref

    §

    impl Sync for Ref

    §

    impl Unpin for Ref

    §

    impl UnwindSafe for Ref

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for Ref

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Eq for Ref

    source§

    impl StructuralPartialEq for Ref

    Auto Trait Implementations§

    §

    impl Freeze for Ref

    §

    impl RefUnwindSafe for Ref

    §

    impl Send for Ref

    §

    impl Sync for Ref

    §

    impl Unpin for Ref

    §

    impl UnwindSafe for Ref

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    @@ -22,6 +21,6 @@ From<T> for U chooses to do.

    source§

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

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

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

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

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file + U: Into<T>,
    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/doc/ayaka_script/enum.UnaryOp.html b/doc/ayaka_script/enum.UnaryOp.html index dbdd57c9..31f1a471 100644 --- a/doc/ayaka_script/enum.UnaryOp.html +++ b/doc/ayaka_script/enum.UnaryOp.html @@ -1,5 +1,4 @@ -UnaryOp in ayaka_script - Rust -
    pub enum UnaryOp {
    +UnaryOp in ayaka_script - Rust

    Enum ayaka_script::UnaryOp

    source ·
    pub enum UnaryOp {
         Positive,
         Negative,
         Not,
    @@ -7,11 +6,11 @@
     

    Variants§

    §

    Positive

    +

    §

    Negative

    -

    §

    Not

    !

    -

    Trait Implementations§

    source§

    impl Clone for UnaryOp

    source§

    fn clone(&self) -> UnaryOp

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

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

    Performs copy-assignment from source. Read more
    source§

    impl Debug for UnaryOp

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for UnaryOp

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for UnaryOp

    source§

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

    This method tests for self and other values to be equal, and is used +

    Trait Implementations§

    source§

    impl Clone for UnaryOp

    source§

    fn clone(&self) -> UnaryOp

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

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

    Performs copy-assignment from source. Read more
    source§

    impl Debug for UnaryOp

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for UnaryOp

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for UnaryOp

    source§

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

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

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

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for UnaryOp

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Copy for UnaryOp

    source§

    impl Eq for UnaryOp

    source§

    impl StructuralPartialEq for UnaryOp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for UnaryOp

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Copy for UnaryOp

    source§

    impl Eq for UnaryOp

    source§

    impl StructuralPartialEq for UnaryOp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    @@ -21,6 +20,6 @@ From<T> for U chooses to do.

    source§

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

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

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

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

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file + U: Into<T>,
    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/doc/ayaka_script/enum.ValBinaryOp.html b/doc/ayaka_script/enum.ValBinaryOp.html index 3695f501..baaca4b4 100644 --- a/doc/ayaka_script/enum.ValBinaryOp.html +++ b/doc/ayaka_script/enum.ValBinaryOp.html @@ -1,5 +1,4 @@ -ValBinaryOp in ayaka_script - Rust -
    pub enum ValBinaryOp {
    +ValBinaryOp in ayaka_script - Rust

    Enum ayaka_script::ValBinaryOp

    source ·
    pub enum ValBinaryOp {
         Add,
         Minus,
         Mul,
    @@ -17,11 +16,11 @@
     
    §

    And

    &

    §

    Or

    |

    §

    Xor

    ^

    -

    Trait Implementations§

    source§

    impl Clone for ValBinaryOp

    source§

    fn clone(&self) -> ValBinaryOp

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

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

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ValBinaryOp

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for ValBinaryOp

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for ValBinaryOp

    source§

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

    This method tests for self and other values to be equal, and is used +

    Trait Implementations§

    source§

    impl Clone for ValBinaryOp

    source§

    fn clone(&self) -> ValBinaryOp

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

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

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ValBinaryOp

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for ValBinaryOp

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for ValBinaryOp

    source§

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

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

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

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for ValBinaryOp

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Copy for ValBinaryOp

    source§

    impl Eq for ValBinaryOp

    source§

    impl StructuralPartialEq for ValBinaryOp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for ValBinaryOp

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Copy for ValBinaryOp

    source§

    impl Eq for ValBinaryOp

    source§

    impl StructuralPartialEq for ValBinaryOp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    @@ -31,6 +30,6 @@ From<T> for U chooses to do.

    source§

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

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

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

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

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file + U: Into<T>,
    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/doc/ayaka_script/index.html b/doc/ayaka_script/index.html index 7740b10d..39e80266 100644 --- a/doc/ayaka_script/index.html +++ b/doc/ayaka_script/index.html @@ -1,4 +1,2 @@ -ayaka_script - Rust -

    Crate ayaka_script

    source ·
    Expand description

    The script parsers.

    -

    Re-exports§

    • pub use ayaka_primitive::RawValue;
    • pub use ayaka_primitive::ValueType;

    Structs§

    Enums§

    \ No newline at end of file +ayaka_script - Rust

    Crate ayaka_script

    source ·
    Expand description

    The script parsers.

    +

    Re-exports§

    Structs§

    Enums§

    \ No newline at end of file diff --git a/doc/ayaka_script/struct.ConstParser.html b/doc/ayaka_script/struct.ConstParser.html index 85882ab4..42c49b67 100644 --- a/doc/ayaka_script/struct.ConstParser.html +++ b/doc/ayaka_script/struct.ConstParser.html @@ -1,8 +1,7 @@ -ConstParser in ayaka_script - Rust -
    pub struct ConstParser { /* private fields */ }

    Implementations§

    source§

    impl ConstParser

    source

    pub fn new() -> ConstParser

    source

    pub fn parse<'input>( +ConstParser in ayaka_script - Rust

    Struct ayaka_script::ConstParser

    source ·
    pub struct ConstParser { /* private fields */ }

    Implementations§

    source§

    impl ConstParser

    source

    pub fn new() -> ConstParser

    source

    pub fn parse<'input>( &self, input: &'input str -) -> Result<RawValue, ParseError<usize, Token<'input>, &'static str>>

    Trait Implementations§

    source§

    impl Default for ConstParser

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<RawValue, ParseError<usize, Token<'input>, &'static str>>

    Trait Implementations§

    source§

    impl Default for ConstParser

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    @@ -11,5 +10,5 @@

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file + U: Into<T>,
    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file diff --git a/doc/ayaka_script/struct.ExprParser.html b/doc/ayaka_script/struct.ExprParser.html index f4a07d76..0de38da8 100644 --- a/doc/ayaka_script/struct.ExprParser.html +++ b/doc/ayaka_script/struct.ExprParser.html @@ -1,8 +1,7 @@ -ExprParser in ayaka_script - Rust -
    pub struct ExprParser { /* private fields */ }

    Implementations§

    source§

    impl ExprParser

    source

    pub fn new() -> ExprParser

    source

    pub fn parse<'input>( +ExprParser in ayaka_script - Rust

    Struct ayaka_script::ExprParser

    source ·
    pub struct ExprParser { /* private fields */ }

    Implementations§

    source§

    impl ExprParser

    source

    pub fn new() -> ExprParser

    source

    pub fn parse<'input>( &self, input: &'input str -) -> Result<Expr, ParseError<usize, Token<'input>, &'static str>>

    Trait Implementations§

    source§

    impl Default for ExprParser

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<Expr, ParseError<usize, Token<'input>, &'static str>>

    Trait Implementations§

    source§

    impl Default for ExprParser

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    @@ -11,5 +10,5 @@

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file + U: Into<T>,
    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file diff --git a/doc/ayaka_script/struct.Program.html b/doc/ayaka_script/struct.Program.html index 801df698..d492a181 100644 --- a/doc/ayaka_script/struct.Program.html +++ b/doc/ayaka_script/struct.Program.html @@ -1,11 +1,10 @@ -Program in ayaka_script - Rust -

    Struct ayaka_script::Program

    source ·
    pub struct Program(pub Vec<Expr>);
    Expand description

    A full script, a collection of expressions.

    +Program in ayaka_script - Rust

    Struct ayaka_script::Program

    source ·
    pub struct Program(pub Vec<Expr>);
    Expand description

    A full script, a collection of expressions.

    The last expression is the final value of the script.

    -

    Tuple Fields§

    §0: Vec<Expr>

    Trait Implementations§

    source§

    impl Clone for Program

    source§

    fn clone(&self) -> Program

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

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

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Program

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for Program

    source§

    fn default() -> Program

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Program

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl FromStr for Program

    §

    type Err = Error

    The associated error which can be returned from parsing.
    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    Parses a string s to return a value of this type. Read more
    source§

    impl PartialEq for Program

    source§

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

    This method tests for self and other values to be equal, and is used +

    Tuple Fields§

    §0: Vec<Expr>

    Trait Implementations§

    source§

    impl Clone for Program

    source§

    fn clone(&self) -> Program

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

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

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Program

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl Default for Program

    source§

    fn default() -> Program

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Program

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl FromStr for Program

    §

    type Err = Error

    The associated error which can be returned from parsing.
    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    Parses a string s to return a value of this type. Read more
    source§

    impl PartialEq for Program

    source§

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

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

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

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Program

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Eq for Program

    source§

    impl StructuralPartialEq for Program

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for Program

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Eq for Program

    source§

    impl StructuralPartialEq for Program

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    @@ -15,6 +14,6 @@ From<T> for U chooses to do.

    source§

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

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

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

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

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file + U: Into<T>,
    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/doc/ayaka_script/struct.ProgramParser.html b/doc/ayaka_script/struct.ProgramParser.html index 80cba750..3b3cf5a9 100644 --- a/doc/ayaka_script/struct.ProgramParser.html +++ b/doc/ayaka_script/struct.ProgramParser.html @@ -1,8 +1,7 @@ -ProgramParser in ayaka_script - Rust -
    pub struct ProgramParser { /* private fields */ }

    Implementations§

    source§

    impl ProgramParser

    source

    pub fn new() -> ProgramParser

    source

    pub fn parse<'input>( +ProgramParser in ayaka_script - Rust

    Struct ayaka_script::ProgramParser

    source ·
    pub struct ProgramParser { /* private fields */ }

    Implementations§

    source§

    impl ProgramParser

    source

    pub fn new() -> ProgramParser

    source

    pub fn parse<'input>( &self, input: &'input str -) -> Result<Program, ParseError<usize, Token<'input>, &'static str>>

    Trait Implementations§

    source§

    impl Default for ProgramParser

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<Program, ParseError<usize, Token<'input>, &'static str>>

    Trait Implementations§

    source§

    impl Default for ProgramParser

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    @@ -11,5 +10,5 @@

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file + U: Into<T>,
    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file diff --git a/doc/ayaka_script/struct.RefParser.html b/doc/ayaka_script/struct.RefParser.html index e4e9c143..e52def12 100644 --- a/doc/ayaka_script/struct.RefParser.html +++ b/doc/ayaka_script/struct.RefParser.html @@ -1,8 +1,7 @@ -RefParser in ayaka_script - Rust -

    Struct ayaka_script::RefParser

    source ·
    pub struct RefParser { /* private fields */ }

    Implementations§

    source§

    impl RefParser

    source

    pub fn new() -> RefParser

    source

    pub fn parse<'input>( +RefParser in ayaka_script - Rust

    Struct ayaka_script::RefParser

    source ·
    pub struct RefParser { /* private fields */ }

    Implementations§

    source§

    impl RefParser

    source

    pub fn new() -> RefParser

    source

    pub fn parse<'input>( &self, input: &'input str -) -> Result<Ref, ParseError<usize, Token<'input>, &'static str>>

    Trait Implementations§

    source§

    impl Default for RefParser

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<Ref, ParseError<usize, Token<'input>, &'static str>>

    Trait Implementations§

    source§

    impl Default for RefParser

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    @@ -11,5 +10,5 @@

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file + U: Into<T>,
    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \ No newline at end of file diff --git a/doc/help.html b/doc/help.html index 86d667bf..8b70e582 100644 --- a/doc/help.html +++ b/doc/help.html @@ -1,2 +1 @@ -Help -

    Rustdoc help

    Back
    \ No newline at end of file +Help

    Rustdoc help

    Back
    \ No newline at end of file diff --git a/doc/search-index.js b/doc/search-index.js index 81cfbd80..c0d2c793 100644 --- a/doc/search-index.js +++ b/doc/search-index.js @@ -1,15 +1,15 @@ var searchIndex = new Map(JSON.parse('[\ -["ayaka_bindings",{"doc":"","t":"EEXCXEEFNNNNNNNNNNNNNNNNNN","n":["RawValue","ValueType","export","fs","import","log","vfs","HostFS","append_file","borrow","borrow_mut","create_dir","create_file","default","exists","fmt","from","into","metadata","open_file","read_dir","remove_dir","remove_file","try_from","try_into","type_id"],"q":[[0,"ayaka_bindings"],[7,"ayaka_bindings::fs"],[26,"std::io"],[27,"alloc::boxed"],[28,"vfs::error"],[29,"core::fmt"],[30,"core::fmt"],[31,"vfs::path"],[32,"core::result"],[33,"core::any"]],"d":["","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","",""],"i":[0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"f":"````````{{bd}{{j{{h{f}}}}}}{ce{}{}}0{{bd}{{j{l}}}}2{{}b}{{bd}{{j{n}}}}{{bA`}Ab}{cc{}}5{{bd}{{j{Ad}}}}{{bd}{{j{{h{Af}}}}}}{{bd}{{j{{h{Ah}}}}}}77{c{{Aj{e}}}{}{}}0{cAl{}}","c":[],"p":[[5,"HostFS",7],[1,"str"],[10,"Write",26],[5,"Box",27],[8,"VfsResult",28],[1,"unit"],[1,"bool"],[5,"Formatter",29],[8,"Result",29],[5,"VfsMetadata",30],[10,"SeekAndRead",30],[10,"Iterator",31],[6,"Result",32],[5,"TypeId",33]],"b":[]}],\ -["ayaka_bindings_impl",{"doc":"","t":"XX","n":["export","import"],"q":[[0,"ayaka_bindings_impl"]],"d":["",""],"i":[0,0],"f":"``","c":[],"p":[],"b":[]}],\ -["ayaka_bindings_types",{"doc":"The types used in both runtime and plugins.","t":"GFFGFPPPPPPPPFGGGFFPPFFFFFPFPPPFFINOOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONOOOONNNNNNNNNNNNNNNNNNNNONOOOOOONNNNNNNNNNNNNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOO","n":["Action","ActionProcessContext","ActionProcessResult","ActionSubText","ActionText","Block","Chars","Current","Custom","Dir","Empty","End","File","FileMetadata","FileSeekFrom","FileType","FrontendType","GameProcessContext","GameProcessResult","Html","Latex","LineProcessContext","LineProcessResult","PluginType","PluginTypeBuilder","RawContext","Start","Switch","Switches","Text","Text","TextProcessContext","TextProcessResult","VarMap","action","action","action","action","as_str","author","block","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","builder","ch_key","character","chars","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","ctx","ctx","cur_act","cur_base_para","cur_para","default","default","default","default","default","default","default","default","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","enabled","eq","eq","eq","eq","eq","eq","file_type","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","frontend","frontend","frontend","game","game","game_props","game_props","game_props","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_string","len","line","line","locals","locals","props","props","props","push_back_block","push_back_chars","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","text","text","text","text","text","title","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vars","vars"],"q":[[0,"ayaka_bindings_types"],[313,"alloc::string"],[314,"core::convert"],[315,"core::result"],[316,"serde::de"],[317,"core::fmt"],[318,"core::fmt"],[319,"vfs::path"],[320,"core::iter::traits::collect"],[321,"alloc::borrow"],[322,"serde::ser"],[323,"core::any"]],"d":["The full action information in one line of config. It …","The argument to action plugin.","The result of action plugins. See examples at …","The unit of one line in an action.","The text is a VecDeque<ActionSubText>. The ActionSubText …","Characters printed together. Usually they are HTML tags or …","Characters printed one by one. Usually they are meaningful …","Seek from current position.","A custom action.","A directory.","An empty action usually means an exec or custom action.","Seek from end.","A file.","File metadata.","A SeekFrom type which implements serde.","Type of a file.","The type of current frontend.","The argument to game plugin.","The result of game plugins. See examples at …","The frontend renders HTML.","The frontend renders LaTeX.","The argument to line plugin.","The result of commands in line plugins. See examples at …","The bit flags to describe plugin type.","The builder of PluginType.","The serializable context.","Seek from start.","One switch in the switches of an Action.","A switch action, display switches and let player to choose.","The frontend only accepts raw texts.","A text action, display some texts.","The argument to text plugin.","The result of commands in text plugins. See examples at …","A map from variable name to RawValue.","An action plugin.","The action plugin. This plugin processes the action after …","The current action.","The processed action text.","Gets a reference of str.","The author of the game.","Creates ActionSubText::Block.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Build a PluginType.","Creates a PluginTypeBuilder instance to build a PluginType.","The key of current character.","The current character.","Creates ActionSubText::Chars.","","","","","","","","","","","","","","","","","","","The current context.","The current context.","Current text index.","Current base paragraph tag.","Current paragraph tag.","","","","","","","","","","","","","","","","","","","","","","","","","","","Whether the switch is enabled.","","","","","","","Type of file.","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","The frontend type.","The frontend type.","The frontend type.","A game plugin.","The game plugin. This plugin processes the game properties …","The global properties of the game profile.","The global properties of the game profile.","The global properties of the game profile.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Gets the inner String.","Length of the file.","A line plugins, which provides custom line types.","The line plugin. The custom line types are dealt with this …","The updated variables.","Current local variables.","The global properties of the game.","The updated properties.","The full properties of the custom command.","Push the string as ActionSubText::Block to the back. If …","Push the string as ActionSubText::Chars to the back. If …","","","","","","","","","","","","","","","","","","","A text plugin, which provides commands.","The text plugin. The custom text commands are dealt with …","The lines to append.","The full texts.","The switch text.","The title of the game.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The temp variables.","The temp variables."],"i":[0,0,0,0,0,2,2,13,10,12,10,13,12,0,0,0,0,0,0,7,7,0,0,0,0,0,13,0,10,7,10,0,0,0,1,6,20,15,2,22,2,1,6,7,20,15,21,16,22,23,24,17,2,8,9,10,11,12,25,13,1,6,7,20,15,21,16,22,23,24,17,2,8,9,10,11,12,25,13,1,6,9,9,2,6,7,2,8,9,10,11,12,13,6,7,2,8,9,10,11,12,13,20,24,8,8,8,6,15,16,17,8,9,10,11,6,7,20,15,21,16,22,23,24,17,2,8,9,10,11,12,25,13,11,2,9,10,11,12,13,25,6,7,20,15,21,16,22,23,24,17,2,8,9,9,10,11,12,25,13,1,6,7,20,15,21,16,22,23,24,17,2,8,9,10,11,12,12,25,25,13,13,20,21,24,1,6,20,21,24,1,6,7,20,15,21,16,22,23,24,17,2,8,9,10,11,12,25,13,2,25,1,6,17,8,22,23,24,9,9,6,7,20,15,21,16,22,23,24,17,2,8,9,10,11,12,25,13,1,6,16,9,11,22,6,7,2,8,9,10,11,12,13,9,1,6,7,20,15,21,16,22,23,24,17,2,8,9,10,11,12,25,13,1,6,7,20,15,21,16,22,23,24,17,2,8,9,10,11,12,25,13,1,6,7,20,15,21,16,22,23,24,17,2,8,9,10,11,12,25,13,17,9],"f":"``````````````````````````````````{bb}```{df}`{cd{{j{h}}}}{ce{}{}}0000000000000000000000000000000000000{bl}{{}b}``3{ll}{nn}{dd}{A`A`}{AbAb}{AdAd}{AfAf}{AhAh}{AjAj}{{ce}Al{}{}}00000000`````{{}l}{{}An}{{}B`}{{}Bb}{{}A`}{{}Ab}{{}Ad}{{}Af}{c{{Bd{l}}}Bf}{c{{Bd{n}}}Bf}{c{{Bd{Bh}}}Bf}{c{{Bd{An}}}Bf}{c{{Bd{Bj}}}Bf}{c{{Bd{B`}}}Bf}{c{{Bd{Bl}}}Bf}{c{{Bd{Bn}}}Bf}{c{{Bd{C`}}}Bf}{c{{Bd{Bb}}}Bf}{c{{Bd{d}}}Bf}{c{{Bd{A`}}}Bf}{c{{Bd{Ab}}}Bf}{c{{Bd{Ad}}}Bf}{c{{Bd{Af}}}Bf}{c{{Bd{Ah}}}Bf}{c{{Bd{Cb}}}Bf}{c{{Bd{Aj}}}Bf}`{{dd}Cd}{{AbAb}Cd}{{AdAd}Cd}{{AfAf}Cd}{{AhAh}Cd}{{AjAj}Cd}`{{lCf}Ch}{{nCf}Ch}{{BhCf}Ch}{{AnCf}Ch}{{BjCf}Ch}{{B`Cf}Ch}{{BlCf}Ch}{{BnCf}Ch}{{C`Cf}Ch}{{BbCf}Ch}{{dCf}Ch}{{A`Cf}Ch}{{AbCf}Ch}0{{AdCf}Ch}{{AfCf}Ch}{{AhCf}Ch}{{CbCf}Ch}{{AjCf}Ch}{cc{}}000000000000000{CjAh}1{ClCb}22{CnAj}```{bb}````{ce{}{}}000000000000000000{dh}`{{be}b{{j{h}}}{{Db{}{{D`{c}}}}}}``````{{Abc}Al{{j{{Dd{f}}}}}}0{{lc}BdDf}{{nc}BdDf}{{Bhc}BdDf}{{Anc}BdDf}{{Bjc}BdDf}{{B`c}BdDf}{{Blc}BdDf}{{Bnc}BdDf}{{C`c}BdDf}{{Bbc}BdDf}{{dc}BdDf}{{A`c}BdDf}{{Abc}BdDf}{{Adc}BdDf}{{Afc}BdDf}{{Ahc}BdDf}{{Cbc}BdDf}{{Ajc}BdDf}{{be}b{{j{h}}}{{Db{}{{D`{c}}}}}}`````{ce{}{}}00000000{ch{}}{c{{Bd{e}}}{}{}}0000000000000000000000000000000000000{cDh{}}000000000000000000``","c":[],"p":[[5,"PluginTypeBuilder",0],[6,"ActionSubText",0],[1,"str"],[5,"String",313],[10,"Into",314],[5,"PluginType",0],[6,"FrontendType",0],[5,"RawContext",0],[5,"ActionText",0],[6,"Action",0],[5,"Switch",0],[6,"FileType",0],[6,"FileSeekFrom",0],[1,"unit"],[5,"ActionProcessResult",0],[5,"TextProcessResult",0],[5,"LineProcessResult",0],[6,"Result",315],[10,"Deserializer",316],[5,"ActionProcessContext",0],[5,"TextProcessContext",0],[5,"GameProcessContext",0],[5,"GameProcessResult",0],[5,"LineProcessContext",0],[5,"FileMetadata",0],[1,"bool"],[5,"Formatter",317],[8,"Result",317],[6,"VfsFileType",318],[5,"VfsMetadata",318],[6,"SeekFrom",319],[17,"Item"],[10,"IntoIterator",320],[6,"Cow",321],[10,"Serializer",322],[5,"TypeId",323]],"b":[[153,"impl-Debug-for-ActionText"],[154,"impl-Display-for-ActionText"]]}],\ -["ayaka_model",{"doc":"The high level wrapper model of Ayaka.","t":"FFFPPPPGFKNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMONNNNNNNNONNMNNNNNNNNNNNOMNMNNMNNNNNNNNNNNNNMONNNNNNNNNNNNNNNNNNNNNONONNNNN","n":["ActionRecord","GameViewModel","GlobalRecord","LoadGlobalRecords","LoadRecords","LoadSettings","Loaded","OpenGameStatus","Settings","SettingsManager","avaliable_locale","bgm_volume","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","context","context_mut","current_action","current_actions","current_history","current_run","current_title","current_visited","default","default","default","deserialize","deserialize","deserialize","eq","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","from","from","from","from","from","global_record","global_record_mut","global_record_path","history","init_context","init_context_by_index","init_new","into","into","into","into","into","lang","last_ctx","last_ctx_with_game","load_file","load_global_record","load_global_record","load_records","load_records","load_settings","load_settings","new","next_back_run","next_run","open_game","record","record","record_path","records","records_path","records_text","save_current_to","save_file","save_global_record","save_global_record","save_records","save_records","save_settings","save_settings","save_settings","serialize","serialize","serialize","serialize","set_settings","settings","settings_path","sub_lang","switch","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","update","video_volume","visited","voice_volume","vzip","vzip","vzip","vzip","vzip"],"q":[[0,"ayaka_model"],[135,"ayaka_runtime::locale"],[136,"core::iter::traits::iterator"],[137,"ayaka_plugin"],[138,"core::marker"],[139,"core::marker"],[140,"ayaka_bindings_types::config"],[141,"core::option"],[142,"core::iter::traits::double_ended"],[143,"ayaka_bindings_types::config"],[144,"core::result"],[145,"serde::de"],[146,"core::fmt"],[147,"core::fmt"],[148,"anyhow"],[149,"ayaka_runtime::config"],[150,"std::path"],[151,"serde::de"],[152,"core::future::future"],[153,"futures_core::stream"],[154,"ayaka_bindings_types::config"],[155,"serde::ser"]],"d":["The specific record.","A view model of Ayaka. It manages all settings and …","The global record.","Loading the global records.","Loading the records.","Loading the settings.","The game is loaded.","The status when calling GameViewModel::open_game.","The settings of the game.","A settings manager trait.","Get the avaliable locales from paragraphs.","Volume of background music.","","","","","","","","","","","","","","","","","","","The Context, should be called after Self::open_game.","The Context, should be called after Self::open_game.","Get the current action by language.","Get the current action by language and secondary language.","Get the current history by language and secondary language.","Get the current RawContext.","Get the current paragraph title.","Determine if current run has been visited.","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","The loaded GlobalRecord.","The loaded GlobalRecord.","Get the global record path.","The history actions.","Start a game with record.","Start a game with the index of records.","Start a new game. The state of the model after this call …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","The display language.","Get the RawContext object from the last Action in the …","Get the RawContext object from the last Action in the …","Load a file from specified path.","Load GlobalRecord.","Load GlobalRecord.","Load all ActionRecord.","Load all ActionRecord.","Load Settings.","Load Settings.","Create a GameViewModel with a settings manager.","Step back to the last run.","Step to the next run.","Open the game with context.","The current ActionRecord.","The key is the tag of paragraphs, the value is the maximum …","Get the record path from index.","The loaded ActionRecords.","Get an iterator of record paths.","Get the last action text from each record.","Save current ActionRecord to the records.","Save a file to specified path.","Save GlobalRecord.","Save GlobalRecord.","Save all ActionRecord.","Save all ActionRecord.","Save Settings.","Save Settings.","Save all settings and records.","","","","","Set the Settings.","The loaded Settings.","Get the settings path.","The secondary display language.","Choose a switch item by index.","","","","","","","","","","","","","","","","","","","","Update the global record with the latest RawContext.","Volume of videos.","Determine if an RawContext has been visited, by the …","Volume of voices.","","","","",""],"i":[0,0,0,12,12,12,12,0,0,0,1,9,1,9,10,11,12,1,9,10,11,12,9,10,11,12,9,10,11,12,1,1,1,1,1,1,1,1,9,10,11,9,10,11,12,12,12,12,9,10,11,12,1,9,10,11,12,1,1,5,11,1,1,1,1,9,10,11,12,9,11,11,5,5,5,5,5,5,5,1,1,1,1,1,10,5,1,5,1,1,5,5,5,5,5,5,5,1,9,10,11,12,1,1,5,9,1,9,10,11,12,1,9,10,11,12,1,9,10,11,12,1,9,10,11,12,10,9,10,9,1,9,10,11,12],"f":"``````````{{{b{ce}}}{{`{{h{}{{d{f}}}}}}}j{lnA`}}`{ce{}{}}000000000{AbAb}{AdAd}{AfAf}{AhAh}{{ce}Aj{}{}}000{{{b{ce}}}{{Al{e}}}j{lnA`}}0{{{b{ce}}}{{B`{An}}}j{lnA`}}{{{b{ce}}}{{B`{{Bb{An{B`{An}}}}}}}j{lnA`}}{{{b{ce}}}{{`{{Bd{}{{d{{Bb{An{B`{An}}}}}}}}}}}j{lnA`}}{{{b{ce}}}{{B`{Bf}}}j{lnA`}}{{{b{ce}}}{{B`{Bh}}}j{lnA`}}{{{b{ce}}}Bjj{lnA`}}{{}Ab}{{}Ad}{{}Af}{c{{Bl{Ab}}}Bn}{c{{Bl{Ad}}}Bn}{c{{Bl{Af}}}Bn}{{AhAh}Bj}{{ce}Bj{}{}}00{{AbC`}Cb}{{AdC`}Cb}{{AfC`}Cb}{{AhC`}Cb}{cc{}}0000{{{b{ce}}}Adj{lnA`}}0{{jCd}{{Ch{Cf}}}}`{{{b{ce}}Af}Ajj{lnA`}}{{{b{ce}}Cj}Ajj{lnA`}}{{{b{ce}}}Ajj{lnA`}}{ce{}{}}0000`{Af{{B`{Bf}}}}{{AfCl}Bf}{{jc}{{Ch{e}}}{{D`{Cn}}}Db}{{jCd}{{Ch{Ad}}}}0{{jCd}{{Ch{{Dd{Af}}}}}}0{j{{Ch{Ab}}}}0{c{{b{ce}}}j{lnA`}}{{{b{ce}}}Bjj{lnA`}}0{{{b{ce}}{Al{e}}}{{`{{Dh{}{{Df{{Ch{Aj}}}}}}{Dj{}{{d{Ah}}}}}}}j{lnA`}}{{{b{ce}}}Afj{lnA`}}`{{jCdCj}{{Ch{Cf}}}}{{{b{ce}}}{{Dl{Af}}}j{lnA`}}{{jCd}{{Ch{{`{{h{}{{d{{Ch{Cf}}}}}}}}}}}}{{{b{ce}}}{{`{{h{}{{d{Dn}}}}}}}j{lnA`}}{{{b{ce}}Cj}Ajj{lnA`}}{{jceBj}{{Ch{Aj}}}{{D`{Cn}}}E`}{{jCdAd}{{Ch{Aj}}}}0{{jCd{Dl{Af}}}{{Ch{Aj}}}}0{{jAb}{{Ch{Aj}}}}0{{{b{ce}}}{{Ch{Aj}}}j{lnA`}}{{Abc}BlEb}{{Adc}BlEb}{{Afc}BlEb}{{Ahc}BlEb}{{{b{ce}}Ab}Ajj{lnA`}}{{{b{ce}}}Abj{lnA`}}{j{{Ch{Cf}}}}`<{ce{}{}}000{c{{Bl{e}}}{}{}}000000000{cEd{}}0000{{AdBf}Aj}`{{AdBf}Bj}`44444","c":[],"p":[[5,"GameViewModel",0],[17,"Item"],[5,"Locale",135],[10,"Iterator",136],[10,"SettingsManager",0],[10,"RawModule",137],[10,"Send",138],[10,"Sync",138],[5,"Settings",0],[5,"GlobalRecord",0],[5,"ActionRecord",0],[6,"OpenGameStatus",0],[1,"unit"],[5,"Context",139],[6,"Action",140],[6,"Option",141],[1,"tuple"],[10,"DoubleEndedIterator",142],[5,"RawContext",140],[5,"String",143],[1,"bool"],[6,"Result",144],[10,"Deserializer",145],[5,"Formatter",146],[8,"Result",146],[1,"str"],[5,"PathBuf",147],[8,"Result",148],[1,"usize"],[5,"Game",149],[5,"Path",147],[10,"AsRef",150],[10,"DeserializeOwned",145],[5,"Vec",151],[17,"Output"],[10,"Future",152],[10,"Stream",153],[1,"slice"],[5,"ActionText",140],[10,"Serialize",154],[10,"Serializer",154],[5,"TypeId",155]],"b":[]}],\ -["ayaka_plugin",{"doc":"Base crate for plugin runtimes.","t":"SSRRKRKRSFKEENNMMNMNMNNMNMMNNNNMN","n":["ABI_ALLOC_NAME","ABI_FREE_NAME","Config","Func","Linker","Linker","LinkerHandle","LinkerHandle","MEMORY_NAME","PluginModule","RawModule","Result","anyhow","borrow","borrow_mut","call","call","call","create","from","import","inner","into","new","new","slice","slice_mut","try_from","try_into","type_id","wrap","wrap_raw","wrap_with"],"q":[[0,"ayaka_plugin"],[33,"anyhow"],[34,"core::ops::function"],[35,"serde::ser"],[36,"serde::de"],[37,"alloc::string"],[38,"std::collections::hash::map"],[39,"core::convert"],[40,"core::result"],[41,"core::any"],[42,"core::marker"],[43,"core::ops::function"]],"d":["The exported method __abi_alloc.","The exported method __abi_free.","Config type to create the linker.","The import function type.","Represents the linker of plugin modules.","The linker type that can create raw module.","Represents a handle of linker.","The linker handle type.","The default exported memory name.","High-level wrapper for plugin module.","Represents a raw plugin module.","","","","","Calls a method by name.","Call methods of a module.","Call a method by name.","Create a raw module from binary.","Returns the argument unchanged.","Import functions by namespace and names.","Get inner raw module.","Calls U::from(self).","Create the linker.","Creates a wrapper on raw module.","Get memory slice.","Get memory mutable slice.","","","","Wrap a function with args.","Wrap a function with args in bytes.","Wrap a function with args and linker handle."],"i":[0,0,9,4,0,4,0,4,0,0,0,0,0,13,13,4,10,13,9,13,9,13,13,9,13,10,10,13,13,13,9,9,9],"f":"`````````````{ce{}{}}0{{{h{}{{b{c}}{d{e}}{f{g}}}}j{n{l}}k}{{A`{i}}}AbAd{}{}{{Ah{{n{l}}}{{Af{{A`{i}}}}}}}}{{Adcj{n{l}}g}{{A`{e}}}h{}{{Ah{{n{l}}}{{Af{{A`{e}}}}}}}}{{{Aj{c}}je}{{A`{g}}}hAlAn}{{{Ab{}{{B`{c}}}}{n{l}}}{{A`{e}}}{}h}{cc{}}{{{Ab{}{{B`{c}}}}e{Bd{Bb}}}{{A`{Bf}}}{}{{Bh{Bb}}}}{{{Aj{c}}}ch}7{c{{A`{{Ab{}{{B`{c}}}}}}}{}}{c{{Aj{c}}}h}{{AdBjBje}c{}{{Ah{{n{l}}}{{Af{c}}}}}}0{c{{Bl{e}}}{}{}}0{cBn{}}{{{Ab{}{{B`{c}}}}i}{}{}{AnC`}Al{{Cb{e}{{Af{{A`{g}}}}}}CdCf}}{{{Ab{}{{B`{c}}}}e}{}{}{{Cb{BjBj}{{Af{{A`{{Ch{l}}}}}}}}CdCf}}1","c":[],"p":[[17,"Linker"],[17,"LinkerHandle"],[17,"Func"],[10,"RawModule",0],[1,"str"],[1,"u8"],[1,"slice"],[8,"Result",33],[10,"Linker",0],[10,"LinkerHandle",0],[17,"Output"],[10,"FnOnce",34],[5,"PluginModule",0],[10,"Serialize",35],[10,"DeserializeOwned",36],[17,"Config"],[5,"String",37],[5,"HashMap",38],[1,"unit"],[10,"Into",39],[1,"i32"],[6,"Result",40],[5,"TypeId",41],[10,"Tuple",42],[10,"Fn",34],[10,"Send",42],[10,"Sync",42],[5,"Vec",43]],"b":[]}],\ -["ayaka_plugin_wasmer",{"doc":"Wasmer-based plugin backend.","t":"FFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["WasmerFunction","WasmerLinker","WasmerLinkerHandle","WasmerModule","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","call","call","clone","clone_into","create","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","from","from","from","from","import","init","init","init","init","into","into","into","into","layout_raw","layout_raw","layout_raw","layout_raw","new","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","slice","slice_mut","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_ref","upcast_any_ref","upcast_any_ref","wrap_raw"],"q":[[0,"ayaka_plugin_wasmer"],[80,"anyhow"],[81,"core::ops::function"],[82,"rkyv::with"],[83,"core::result"],[84,"alloc::string"],[85,"std::collections::hash::map"],[86,"core::convert"],[87,"core::alloc::layout"],[88,"core::alloc::layout"],[89,"alloc::boxed"],[90,"core::any"],[91,"core::ops::function"],[92,"core::marker"]],"d":["Represents a wrapped wasmer function.","A Wasmer Store with some imports.","A Wasmer StoreMut.","A Wasmer Instance.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,1,11,8,9,1,11,8,9,1,8,9,9,11,1,11,8,9,1,11,8,9,1,11,8,9,1,11,8,9,1,11,8,9,11,1,11,8,9,1,11,8,9,1,11,8,9,11,1,11,8,9,8,8,9,1,11,8,9,1,11,8,9,1,11,8,9,1,11,9,1,11,9,1,11,9,11],"f":"````{ce{}{}}0000000{{bd{h{f}}e}{{j{c}}}{}{{n{{h{f}}}{{l{{j{c}}}}}}}}{{A`bd{h{f}}e}{{j{c}}}{}{{n{{h{f}}}{{l{{j{c}}}}}}}}{AbAb}{{ce}Ad{}{}}{{Af{h{f}}}{{j{b}}}}{Ahc{}}0000000{{ce}{{Al{{Aj{gi}}}}}{}{}{}{}}000{AhAd}000{cc{}}000{{Afc{B`{AnAb}}}{{j{Ad}}}{{Bb{An}}}}{{}Ah}000;;;;{{}{{Al{BdBf}}}}000{Ad{{j{Af}}}}{{}}000{{A`BhBhe}c{}{{n{{h{f}}}{{l{c}}}}}}0?{c{{Al{e}}}{}{}}0000000{cBj{}}000{{{Bl{c}}}{{Bl{Bn}}}{}}00{cBn{}}00000{{Afc}Ab{{Cb{A`BhBh}{{l{{j{{C`{f}}}}}}}}CdCf}}","c":[],"p":[[5,"WasmerModule",0],[1,"str"],[1,"u8"],[1,"slice"],[8,"Result",80],[17,"Output"],[10,"FnOnce",81],[5,"WasmerLinkerHandle",0],[5,"WasmerFunction",0],[1,"unit"],[5,"WasmerLinker",0],[1,"usize"],[5,"With",82],[6,"Result",83],[5,"String",84],[5,"HashMap",85],[10,"Into",86],[5,"Layout",87],[5,"LayoutError",87],[1,"i32"],[5,"TypeId",88],[5,"Box",89],[10,"Any",88],[5,"Vec",90],[10,"Fn",81],[10,"Send",91],[10,"Sync",91]],"b":[]}],\ -["ayaka_plugin_wasmi",{"doc":"Wasmi-based plugin backend.","t":"FFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["WasmiLinker","WasmiLinkerHandle","WasmiModule","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","call","call","create","from","from","from","import","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","new","slice","slice_mut","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","wrap_raw"],"q":[[0,"ayaka_plugin_wasmi"],[47,"core::any"],[48,"anyhow"],[49,"core::ops::function"],[50,"alloc::string"],[51,"wasmi::func"],[52,"std::collections::hash::map"],[53,"core::convert"],[54,"alloc::boxed"],[55,"alloc::sync"],[56,"alloc::rc"],[57,"core::result"],[58,"core::any"],[59,"core::ops::function"],[60,"core::marker"]],"d":["A Wasmi Store with Linker.","A Wasmi StoreContextMut.","A Wasmi Instance.","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,0,2,10,9,2,10,9,2,10,9,2,10,9,2,9,10,2,10,9,10,2,10,9,2,10,9,2,10,9,2,10,9,10,9,9,2,10,9,2,10,9,2,10,9,10],"f":"```{cb{}}00000{ce{}{}}00000{{df{j{h}}e}{{l{c}}}{}{{A`{{j{h}}}{{n{{l{c}}}}}}}}{{Abdf{j{h}}e}{{l{c}}}{}{{A`{{j{h}}}{{n{{l{c}}}}}}}}{{Ad{j{h}}}{{l{d}}}}{cc{}}00{{Adc{Aj{AfAh}}}{{l{Al}}}{{An{Af}}}}555{{{B`{c}}}{{B`{b}}}{}}00{{{Bb{c}}}{{Bb{b}}}{}}00{{{Bd{c}}}{{Bd{b}}}{}}00{Al{{l{Ad}}}}{{AbBfBfe}c{}{{A`{{j{h}}}{{n{c}}}}}}0{c{{Bh{e}}}{}{}}00000{cBj{}}00{{Adc}Ah{{Bn{AbBfBf}{{n{{l{{Bl{h}}}}}}}}C`Cb}}","c":[],"p":[[10,"Any",47],[5,"WasmiModule",0],[1,"str"],[1,"u8"],[1,"slice"],[8,"Result",48],[17,"Output"],[10,"FnOnce",49],[5,"WasmiLinkerHandle",0],[5,"WasmiLinker",0],[5,"String",50],[5,"Func",51],[5,"HashMap",52],[1,"unit"],[10,"Into",53],[5,"Box",54],[5,"Arc",55],[5,"Rc",56],[1,"i32"],[6,"Result",57],[5,"TypeId",47],[5,"Vec",58],[10,"Fn",49],[10,"Send",59],[10,"Sync",59]],"b":[]}],\ -["ayaka_plugin_wasmtime",{"doc":"Wasmtime-based plugin backend.","t":"FFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["WasmtimeLinker","WasmtimeLinkerHandle","WasmtimeModule","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","call","call","create","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","from","from","from","import","init","init","init","into","into","into","new","slice","slice_mut","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","wrap_raw"],"q":[[0,"ayaka_plugin_wasmtime"],[44,"anyhow"],[45,"core::ops::function"],[46,"alloc::string"],[47,"wasmtime::func"],[48,"std::collections::hash::map"],[49,"core::convert"],[50,"core::result"],[51,"core::any"],[52,"alloc::vec"],[53,"core::ops::function"],[54,"core::marker"]],"d":["A Wasmtime Store with Linker.","A Wasmtime StoreContextMut.","A Wasmtime Instance.","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","",""],"i":[0,0,0,1,9,8,1,9,8,1,8,9,1,9,8,1,9,8,1,9,8,1,9,8,9,1,9,8,1,9,8,9,8,8,1,9,8,1,9,8,1,9,8,9],"f":"```{ce{}{}}00000{{bd{h{f}}e}{{j{c}}}{}{{n{{h{f}}}{{l{{j{c}}}}}}}}{{A`bd{h{f}}e}{{j{c}}}{}{{n{{h{f}}}{{l{{j{c}}}}}}}}{{Ab{h{f}}}{{j{b}}}}{Adc{}}00000{AdAf}00{cc{}}00{{Abc{Al{AhAj}}}{{j{Af}}}{{An{Ah}}}}{{}Ad}00888{Af{{j{Ab}}}}{{A`B`B`e}c{}{{n{{h{f}}}{{l{c}}}}}}0{c{{Bb{e}}}{}{}}00000{cBd{}}00{{Abc}Aj{{Bh{A`B`B`}{{l{{j{{Bf{f}}}}}}}}BjBl}}","c":[],"p":[[5,"WasmtimeModule",0],[1,"str"],[1,"u8"],[1,"slice"],[8,"Result",44],[17,"Output"],[10,"FnOnce",45],[5,"WasmtimeLinkerHandle",0],[5,"WasmtimeLinker",0],[1,"usize"],[1,"unit"],[5,"String",46],[5,"Func",47],[5,"HashMap",48],[10,"Into",49],[1,"i32"],[6,"Result",50],[5,"TypeId",51],[5,"Vec",52],[10,"Fn",45],[10,"Send",53],[10,"Sync",53]],"b":[]}],\ -["ayaka_primitive",{"doc":"Primitive types.","t":"PPPPPPGPPGPPPGPFPPPGNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNO","n":["Bool","Bool","Char","Cmd","Custom","Empty","Line","Num","Num","RawValue","Str","Str","Str","SubText","Switch","Text","Text","Unit","Unit","ValueType","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","ch_alias","ch_tag","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","default","default","deserialize","deserialize","deserialize","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","get_bool","get_num","get_str","get_type","hash","into","into","into","into","into","into_str","partial_cmp","partial_cmp","serialize","sub_texts","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","switches"],"q":[[0,"ayaka_primitive"],[100,"ayaka_primitive::Line"],[101,"core::cmp"],[102,"core::result"],[103,"serde::de"],[104,"core::fmt"],[105,"core::fmt"],[106,"core::hash"],[107,"alloc::string"],[108,"core::option"],[109,"serde::ser"],[110,"core::any"]],"d":["The boolean type.","The boolean type.","Special character","A TeX-like command in the text.","Custom line types.","An empty line, usually fallbacks to the base language one.","Represents a line in a prograph.","The number type. It’s i64.","The number type.","The basic and only type used in scripts.","The string type.","The string type.","Raw texts.","A part of a line, either some texts or a command.","Some switches.","A collection of SubText.","A text line.","The unit type. It is empty, just like None or [()] in Rust.","The unit type.","Represents the type of RawValue.","","","","","","","","","","","The alias of current character.","The tag of current character.","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Gets a boolean from the value:","Gets a number from the value:","Gets a string from the value:","Gets ValueType.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Gets a string from the value:","","","","The texts.","","","","","","","","","","","","","","","","","","","","","","The switch items."],"i":[2,3,5,5,1,1,0,2,3,0,2,3,5,0,1,0,1,2,3,0,1,2,3,4,5,1,2,3,4,5,4,4,1,2,3,4,5,1,2,3,4,5,2,3,2,4,1,2,4,1,2,3,4,5,1,2,3,4,5,1,2,3,4,5,2,2,2,2,2,1,2,3,4,5,2,2,3,2,4,1,2,3,4,5,1,2,3,4,4,5,1,2,3,4,5,1,2,3,4,5,21],"f":"````````````````````{ce{}{}}000000000``{bb}{dd}{ff}{hh}{jj}{{ce}l{}{}}0000{{dd}n}{{ff}n}{{}d}{{}h}{c{{A`{b}}}Ab}{c{{A`{d}}}Ab}{c{{A`{h}}}Ab}{{bb}Ad}{{dd}Ad}{{ff}Ad}{{hh}Ad}{{jj}Ad}{{bAf}Ah}{{dAf}Ah}{{fAf}Ah}{{hAf}Ah}{{jAf}Ah}{cc{}}0000{dAd}{dAj}{d{{An{Al}}}}{df}{{dc}lB`}{ce{}{}}0000{dBb}{{dd}{{Bd{n}}}}{{ff}{{Bd{n}}}}{{dc}A`Bf}`44444{c{{A`{e}}}{}{}}000{Al{{A`{hc}}}{}}111111{cBh{}}0000`","c":[],"p":[[6,"Line",0],[6,"RawValue",0],[6,"ValueType",0],[5,"Text",0],[6,"SubText",0],[1,"unit"],[6,"Ordering",101],[6,"Result",102],[10,"Deserializer",103],[1,"bool"],[5,"Formatter",104],[8,"Result",104],[1,"i64"],[1,"str"],[6,"Cow",105],[10,"Hasher",106],[5,"String",107],[6,"Option",108],[10,"Serializer",109],[5,"TypeId",110],[15,"Switch",100]],"b":[]}],\ -["ayaka_runtime",{"doc":"The runtime of Ayaka project.","t":"FFFPFFPEPPPPGFFEEEEOONNNNNNNNNNNNNNNNNNNONNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNQEONONNOOCOOOONNNNONNOOOONNNNNNNNNNNNNNNNNNNNNNNNNHENNNNNNNNNNPPGFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Context","ContextBuilder","ContextBuilderWithPaths","CreateRuntime","Game","GameConfig","GamePlugin","Linker","LoadParagraph","LoadPlugin","LoadProfile","LoadResource","OpenStatus","Paragraph","PluginConfig","RawModule","StreamExt","TryStreamExt","anyhow","author","base_lang","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","call","clone","clone_into","config","current_paragraph_title","default","default","deserialize","deserialize","deserialize","dir","eq","equivalent","equivalent","equivalent","find_para","find_para_fallback","find_res_fallback","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","game","get_action","into","into","into","into","into","into","into","into","locale","log","modules","new","next","next_run","open","paras","paras","plugin","plugins","props","res","res","root_path","serialize","set_context","set_start_context","start","start_context","switch","tag","texts","title","title","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","version","vfs","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","with_paths","with_vfs","CreateEngine","LoadPlugin","LoadStatus","Module","Runtime","action_modules","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","dispatch_line","dispatch_text","fmt","from","from","from","game_modules","into","into","into","line_module","load","module","plugin_type","process_action","process_game","text_module","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip"],"q":[[0,"ayaka_runtime"],[140,"ayaka_runtime::plugin"],[184,"ayaka_primitive::text"],[185,"alloc::string"],[186,"anyhow"],[187,"ayaka_plugin"],[188,"core::marker"],[189,"core::marker"],[190,"core::result"],[191,"serde::de"],[192,"fallback"],[193,"ayaka_bindings_types::config"],[194,"core::fmt"],[195,"core::fmt"],[196,"core::future::future"],[197,"futures_core::stream"],[198,"vfs::path"],[199,"serde::ser"],[200,"core::any"],[201,"std::path"],[202,"core::convert"],[203,"core::iter::traits::iterator"],[204,"ayaka_bindings_types::plugin"],[205,"ayaka_bindings_types::plugin"]],"d":["The game running context.","Builder of Context.","Builder of Context.","Start creating plugin runtime.","The full Ayaka game. It consists of global config and all …","The Ayaka config. It should be deserialized from a YAML …","Executing game plugins.","","Loading the paragraphs.","Loading the plugin.","Start loading config file.","Loading the resources.","The open status when creating Context.","The paragraph in a paragraph config.","The plugin config.","","","","","The author of the game.","The base language. If the runtime fails to choose a best …","","","","","","","","","","","","","","","","","Call the part of script with this context.","","","The game config.","Get current paragraph title.","","","","","","The directory of the plugins.","","","","","Find a paragraph by tag, with specified locale.","Find a paragraph by tag, with specified locale.","Find the resource map with specified locale.","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","The inner Game object.","Get the Action from Locale and RawContext.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","A macro allowing for compile-time construction of valid …","","The names of the plugins, without extension.","Create a new ContextBuilder with frontend type and plugin …","The next paragraph. If None, the game meets the end.","Step to next line.","Open the config and load the Context.","The paragraphs, indexed by locale. The inner is the …","The paragraphs path.","The plugin utilities.","The plugin config.","The global game properties.","The resources, indexed by locale.","The resources path.","The root path of config.","","Initialize the RawContext with given record.","Initialize the RawContext at the start of the game.","The start paragraph tag.","Create a RawContext at the start of the game.","Choose a switch item by index, start by 0.","The tag and key of a paragraph. They are referenced in next…","The texts. They will be parsed into ayaka_primitive::Text …","The title of a paragraph. It can be None, but better with …","The title of the game.","","","","","","","","","","","","","","","","","","","","","","","","","","Get the version of Ayaka runtime. This version string is …","","","","","","","","","","Open a context with config paths.","Open a context with config paths.","Start creating the engine.","Loading the plugin.","The load status of Runtime.","The plugin module with high-level interfaces.","The plugin runtime.","Iterates action modules.","","","","","","","","","Calls a custom command in the line plugin.","Calls a custom command in the text plugin.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Iterates game modules.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Gets line module from command.","Load plugins from specific directory and plugin names.","Gets module from name.","Gets the PluginType.","Processes Action in action plugin.","Processes Game when opening the config file.","Gets text module from command.","","","","","","","","","","","","",""],"i":[0,0,0,8,0,0,8,0,8,8,8,8,0,0,0,0,0,0,0,11,11,17,1,27,28,13,11,12,8,17,1,27,28,13,11,12,8,1,8,8,17,1,11,12,13,11,12,12,8,8,8,8,17,17,17,13,11,12,8,17,1,27,28,13,11,12,8,8,1,1,17,1,27,28,13,11,12,8,0,0,12,27,13,1,28,17,11,0,11,11,17,11,1,8,1,1,11,17,1,13,13,13,11,8,17,1,27,28,13,11,12,8,17,1,27,28,13,11,12,8,17,1,27,28,13,11,12,8,0,0,17,1,27,28,13,11,12,8,27,27,23,23,0,0,0,40,41,40,23,41,40,23,23,23,41,41,23,41,40,23,40,41,40,23,40,40,40,41,41,41,40,23,41,40,23,41,40,23,41,40,23,41,40,23],"f":"`````````````````````{ce{}{}}000000000000000{{{b{c}}d}{{h{f}}}{jln}}{A`A`}{{ce}Ab{}{}}``{{}Af}{{}Ah}{c{{Al{Aj}}}An}{c{{Al{Af}}}An}{c{{Al{Ah}}}An}`{{A`A`}B`}{{ce}B`{}{}}00```{{AjBj}Bl}{{AfBj}Bl}{{AhBj}Bl}{{A`Bj}Bl}{cc{}}000000{BnA`}1{{{b{c}}}Bb{jln}}`{ce{}{}}0000000```{Cd{{Cf{c}}}{jln}}`{{{b{c}}}{{Ad{C`}}}{jln}}{{{Ch{c}}}{{`{{Cl{}{{Cj{{h{{b{c}}}}}}}}{D`{}{{Cn{A`}}}}}}}{jln}}```````{{{b{c}}}Db{jln}}{{A`c}AlDd}{{{b{c}}C`}Ab{jln}}{{{b{c}}}Ab{jln}}`{BbC`}{{{b{c}}Df}Ab{jln}}````9{c{{Al{e}}}{}{}}000000000000000{cDh{}}0000000{{}Bd}`<<<<<<<<{{{Cf{c}}{Dj{e}}}{{h{{Ch{c}}}}}{jln}{{Dn{Dl}}}}{{{Cf{c}}{Dj{Db}}}{{h{{Ch{c}}}}}{jln}}`````{{{E`{c}}}{{`{{Ed{}{{Cn{{Eb{c}}}}}}}}}{jln}}??????{BnBn}{{ce}Ab{}{}}{{{Eb{c}}BdEf}{{h{Eh}}}j}{{{Eb{c}}Bd{Dj{f}}Ej}{{h{El}}}j}{{BnBj}Bl}{cc{}}006{ce{}{}}00{{{E`{c}}Bd}{{Ad{{Eb{c}}}}}{jln}}{{cDb{Dj{e}}}{{`{{Cl{}{{Cj{{h{{En{{E`{g}}}}}}}}}}{D`{}{{Cn{Bn}}}}}}}{{Dn{Bd}}}{{Dn{Bd}}}{jln}}1{{{Eb{c}}}{{h{F`}}}j}{{{Eb{c}}Fb}{{h{Fd}}}j}{{{Eb{c}}Ff}{{h{Fh}}}j}45{c{{Al{e}}}{}{}}00000{cDh{}}00777","c":[],"p":[[5,"Context",0],[5,"Text",184],[5,"String",185],[8,"Result",186],[10,"RawModule",187],[10,"Send",188],[10,"Sync",188],[6,"OpenStatus",0],[1,"unit"],[6,"Option",189],[5,"GameConfig",0],[5,"PluginConfig",0],[5,"Paragraph",0],[6,"Result",190],[10,"Deserializer",191],[1,"bool"],[5,"Game",0],[1,"str"],[5,"Fallback",192],[8,"VarMap",193],[5,"Formatter",194],[8,"Result",194],[6,"LoadStatus",140],[5,"RawContext",193],[6,"Action",193],[6,"FrontendType",195],[5,"ContextBuilder",0],[5,"ContextBuilderWithPaths",0],[17,"Output"],[10,"Future",196],[17,"Item"],[10,"Stream",197],[5,"VfsPath",198],[10,"Serializer",199],[1,"usize"],[5,"TypeId",200],[1,"slice"],[5,"Path",201],[10,"AsRef",202],[5,"Runtime",140],[5,"Module",140],[10,"Iterator",203],[5,"LineProcessContextRef",195],[5,"LineProcessResult",195],[5,"TextProcessContextRef",195],[5,"TextProcessResult",195],[5,"Arc",204],[5,"PluginType",195],[5,"ActionProcessContextRef",195],[5,"ActionProcessResult",195],[5,"GameProcessContextRef",195],[5,"GameProcessResult",195]],"b":[]}],\ -["ayaka_script",{"doc":"The script parsers.","t":"PPPPPGPPFPPPGFPPPPPGPPPPPPPPPPFFEGPFPGPGEPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Add","And","And","Assign","Binary","BinaryOp","Call","Const","ConstParser","Ctx","Div","Eq","Expr","ExprParser","Ge","Gt","Inplace","Le","Logic","LogicBinaryOp","Lt","Minus","Mod","Mul","Negative","Neq","Not","Or","Or","Positive","Program","ProgramParser","RawValue","Ref","Ref","RefParser","Unary","UnaryOp","Val","ValBinaryOp","ValueType","Var","Xor","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","default","default","default","default","default","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","eq","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from_str","into","into","into","into","into","into","into","into","into","into","into","new","new","new","new","parse","parse","parse","parse","serialize","serialize","serialize","serialize","serialize","serialize","serialize","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id"],"q":[[0,"ayaka_script"],[183,"core::result"],[184,"serde::de"],[185,"core::fmt"],[186,"core::fmt"],[187,"lalrpop_util::lexer"],[188,"lalrpop_util"],[189,"serde::ser"],[190,"core::any"]],"d":["+","&","&&","Assignment.","A binary operation.","Binary operations.","A call to a function.","A const value.","","A context variable. It is stored in the context. The …","/","==","An expression.","",">=",">","Inplace value operations.","<=","Logical operations.","Logical operations.","<","-","%","*","-","!=","!","|","||","+","A full script, a collection of expressions.","","","Reference of a variable.","A reference to a variable.","","A unary operation.","Unary operations.","Value operations.","Value binary operations.","","A local variable. It is only accessible in current program.","^","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[5,5,6,4,2,0,2,2,0,7,5,6,0,0,6,6,4,6,4,0,6,5,5,5,3,6,3,5,6,3,0,0,0,0,2,0,2,0,4,0,0,7,5,9,10,11,12,1,2,3,4,5,6,7,9,10,11,12,1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7,9,10,11,12,1,1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7,9,10,11,12,1,2,3,4,5,6,7,1,9,10,11,12,1,2,3,4,5,6,7,9,10,11,12,9,10,11,12,1,2,3,4,5,6,7,1,2,3,4,5,6,7,9,10,11,12,1,2,3,4,5,6,7,9,10,11,12,1,2,3,4,5,6,7,9,10,11,12,1,2,3,4,5,6,7],"f":"```````````````````````````````````````````{ce{}{}}000000000000000000000{bb}{dd}{ff}{hh}{jj}{ll}{nn}{{ce}A`{}{}}000000{{}Ab}{{}Ad}{{}Af}{{}Ah}{{}b}{c{{Aj{b}}}Al}{c{{Aj{d}}}Al}{c{{Aj{f}}}Al}{c{{Aj{h}}}Al}{c{{Aj{j}}}Al}{c{{Aj{l}}}Al}{c{{Aj{n}}}Al}{{bb}An}{{dd}An}{{ff}An}{{hh}An}{{jj}An}{{ll}An}{{nn}An}{{bB`}Bb}{{dB`}Bb}{{fB`}Bb}{{hB`}Bb}{{jB`}Bb}{{lB`}Bb}{{nB`}Bb}{cc{}}0000000000{Bd{{Aj{bc}}}{}}{ce{}{}}0000000000{{}Ab}{{}Ad}{{}Af}{{}Ah}{{AbBd}{{Aj{Bf{Bl{BhBjBd}}}}}}{{AdBd}{{Aj{d{Bl{BhBjBd}}}}}}{{AfBd}{{Aj{b{Bl{BhBjBd}}}}}}{{AhBd}{{Aj{n{Bl{BhBjBd}}}}}}{{bc}AjBn}{{dc}AjBn}{{fc}AjBn}{{hc}AjBn}{{jc}AjBn}{{lc}AjBn}{{nc}AjBn}???????{c{{Aj{e}}}{}{}}000000000000000000000{cC`{}}0000000000","c":[],"p":[[5,"Program",0],[6,"Expr",0],[6,"UnaryOp",0],[6,"BinaryOp",0],[6,"ValBinaryOp",0],[6,"LogicBinaryOp",0],[6,"Ref",0],[1,"unit"],[5,"ConstParser",0],[5,"ExprParser",0],[5,"ProgramParser",0],[5,"RefParser",0],[6,"Result",183],[10,"Deserializer",184],[1,"bool"],[5,"Formatter",185],[8,"Result",185],[1,"str"],[6,"RawValue",186],[1,"usize"],[5,"Token",187],[6,"ParseError",188],[10,"Serializer",189],[5,"TypeId",190]],"b":[]}]\ +["ayaka_bindings",{"t":"EEXCXEEFNNNNNNNNNNNNNNNNNN","n":["RawValue","ValueType","export","fs","import","log","vfs","HostFS","append_file","borrow","borrow_mut","create_dir","create_file","default","exists","fmt","from","into","metadata","open_file","read_dir","remove_dir","remove_file","try_from","try_into","type_id"],"q":[[0,"ayaka_bindings"],[7,"ayaka_bindings::fs"],[26,"std::io"],[27,"alloc::boxed"],[28,"vfs::error"],[29,"core::fmt"],[30,"vfs::path"],[31,"core::iter::traits::iterator"],[32,"core::result"],[33,"core::any"],[34,"ayaka_primitive::raw_value"],[35,"ayaka_bindings_impl"]],"i":[0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"f":"````````{{{d{b}}{d{f}}}{{l{{j{h}}}}}}{{{d{c}}}{{d{e}}}{}{}}{{{d{nc}}}{{d{ne}}}{}{}}{{{d{b}}{d{f}}}{{l{A`}}}}3{{}b}{{{d{b}}{d{f}}}{{l{Ab}}}}{{{d{b}}{d{nAd}}}Af}{cc{}}{ce{}{}}{{{d{b}}{d{f}}}{{l{Ah}}}}{{{d{b}}{d{f}}}{{l{{j{Aj}}}}}}{{{d{b}}{d{f}}}{{l{{j{Al}}}}}}88{c{{An{e}}}{}{}}0{{{d{c}}}B`{}}","D":"d","p":[[5,"HostFS",7],[1,"reference"],[1,"str"],[10,"Write",26],[5,"Box",27],[8,"VfsResult",28],[0,"mut"],[1,"unit"],[1,"bool"],[5,"Formatter",29],[8,"Result",29],[5,"VfsMetadata",30],[10,"SeekAndRead",30],[10,"Iterator",31],[6,"Result",32],[5,"TypeId",33]],"r":[[0,34],[1,34],[2,35],[4,35]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAABgAAgAAABAAEwAHAA=="}],\ +["ayaka_bindings_impl",{"t":"XX","n":["export","import"],"q":[[0,"ayaka_bindings_impl"]],"i":[0,0],"f":"``","D":"`","p":[],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAIAEAAAAAAAAQACAA=="}],\ +["ayaka_bindings_types",{"t":"GFFGFPPPPPPPPFGGGFFPPFFFFFPFPPPFFINOOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONOOOONNNNNNNNNNNNNNNNNNNNONOOOOOONNNNNNNNNNNNNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOO","n":["Action","ActionProcessContext","ActionProcessResult","ActionSubText","ActionText","Block","Chars","Current","Custom","Dir","Empty","End","File","FileMetadata","FileSeekFrom","FileType","FrontendType","GameProcessContext","GameProcessResult","Html","Latex","LineProcessContext","LineProcessResult","PluginType","PluginTypeBuilder","RawContext","Start","Switch","Switches","Text","Text","TextProcessContext","TextProcessResult","VarMap","action","action","action","action","as_str","author","block","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","builder","ch_key","character","chars","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","ctx","ctx","cur_act","cur_base_para","cur_para","default","default","default","default","default","default","default","default","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","enabled","eq","eq","eq","eq","eq","eq","file_type","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","frontend","frontend","frontend","game","game","game_props","game_props","game_props","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_string","len","line","line","locals","locals","props","props","props","push_back_block","push_back_chars","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","text","text","text","text","text","title","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vars","vars"],"q":[[0,"ayaka_bindings_types"],[313,"ayaka_bindings_types::plugin"],[314,"ayaka_bindings_types::config"],[315,"alloc::string"],[316,"core::convert"],[317,"ayaka_bindings_types::fs"],[318,"core::result"],[319,"serde::de"],[320,"core::fmt"],[321,"vfs::path"],[322,"std::io"],[323,"core::iter::traits::collect"],[324,"alloc::borrow"],[325,"serde::ser"],[326,"core::any"]],"i":[0,0,0,0,0,2,2,15,12,14,12,15,14,0,0,0,0,0,0,9,9,0,0,0,0,0,15,0,12,9,12,0,0,0,1,8,22,17,2,24,2,1,8,9,22,17,23,18,24,25,26,19,2,10,11,12,13,14,27,15,1,8,9,22,17,23,18,24,25,26,19,2,10,11,12,13,14,27,15,1,8,11,11,2,8,9,2,10,11,12,13,14,15,8,9,2,10,11,12,13,14,15,22,26,10,10,10,8,17,18,19,10,11,12,13,8,9,22,17,23,18,24,25,26,19,2,10,11,12,13,14,27,15,13,2,11,12,13,14,15,27,8,9,22,17,23,18,24,25,26,19,2,10,11,11,12,13,14,27,15,1,8,9,22,17,23,18,24,25,26,19,2,10,11,12,13,14,14,27,27,15,15,22,23,26,1,8,22,23,26,1,8,9,22,17,23,18,24,25,26,19,2,10,11,12,13,14,27,15,2,27,1,8,19,10,24,25,26,11,11,8,9,22,17,23,18,24,25,26,19,2,10,11,12,13,14,27,15,1,8,18,11,13,24,8,9,2,10,11,12,13,14,15,11,1,8,9,22,17,23,18,24,25,26,19,2,10,11,12,13,14,27,15,1,8,9,22,17,23,18,24,25,26,19,2,10,11,12,13,14,27,15,1,8,9,22,17,23,18,24,25,26,19,2,10,11,12,13,14,27,15,19,11],"f":"``````````````````````````````````{bb}```{{{f{d}}}{{f{h}}}}`{cd{{l{j}}}}{{{f{c}}}{{f{e}}}{}{}}000000000000000000{{{f{nc}}}{{f{ne}}}{}{}}000000000000000000{bA`}{{}b}``4{{{f{A`}}}A`}{{{f{Ab}}}Ab}{{{f{d}}}d}{{{f{Ad}}}Ad}{{{f{Af}}}Af}{{{f{Ah}}}Ah}{{{f{Aj}}}Aj}{{{f{Al}}}Al}{{{f{An}}}An}{{{f{c}}{f{ne}}}B`{}{}}00000000`````{{}A`}{{}Bb}{{}Bd}{{}Bf}{{}Ad}{{}Af}{{}Ah}{{}Aj}{c{{Bh{A`}}}Bj}{c{{Bh{Ab}}}Bj}{c{{Bh{Bl}}}Bj}{c{{Bh{Bb}}}Bj}{c{{Bh{Bn}}}Bj}{c{{Bh{Bd}}}Bj}{c{{Bh{C`}}}Bj}{c{{Bh{Cb}}}Bj}{c{{Bh{Cd}}}Bj}{c{{Bh{Bf}}}Bj}{c{{Bh{d}}}Bj}{c{{Bh{Ad}}}Bj}{c{{Bh{Af}}}Bj}{c{{Bh{Ah}}}Bj}{c{{Bh{Aj}}}Bj}{c{{Bh{Al}}}Bj}{c{{Bh{Cf}}}Bj}{c{{Bh{An}}}Bj}`{{{f{d}}{f{d}}}Ch}{{{f{Af}}{f{Af}}}Ch}{{{f{Ah}}{f{Ah}}}Ch}{{{f{Aj}}{f{Aj}}}Ch}{{{f{Al}}{f{Al}}}Ch}{{{f{An}}{f{An}}}Ch}`{{{f{A`}}{f{nCj}}}Cl}{{{f{Ab}}{f{nCj}}}Cl}{{{f{Bl}}{f{nCj}}}Cl}{{{f{Bb}}{f{nCj}}}Cl}{{{f{Bn}}{f{nCj}}}Cl}{{{f{Bd}}{f{nCj}}}Cl}{{{f{C`}}{f{nCj}}}Cl}{{{f{Cb}}{f{nCj}}}Cl}{{{f{Cd}}{f{nCj}}}Cl}{{{f{Bf}}{f{nCj}}}Cl}{{{f{d}}{f{nCj}}}Cl}{{{f{Ad}}{f{nCj}}}Cl}{{{f{Af}}{f{nCj}}}Cl}0{{{f{Ah}}{f{nCj}}}Cl}{{{f{Aj}}{f{nCj}}}Cl}{{{f{Al}}{f{nCj}}}Cl}{{{f{Cf}}{f{nCj}}}Cl}{{{f{An}}{f{nCj}}}Cl}{cc{}}0000000000000000{CnAl}{D`Cf}22{DbAn}```{bb}````{ce{}{}}000000000000000000{dj}`{{be}b{{l{j}}}{{Df{}{{Dd{c}}}}}}``````{{{f{nAf}}c}B`{{l{{Dh{h}}}}}}0{{{f{A`}}c}BhDj}{{{f{Ab}}c}BhDj}{{{f{Bl}}c}BhDj}{{{f{Bb}}c}BhDj}{{{f{Bn}}c}BhDj}{{{f{Bd}}c}BhDj}{{{f{C`}}c}BhDj}{{{f{Cb}}c}BhDj}{{{f{Cd}}c}BhDj}{{{f{Bf}}c}BhDj}{{{f{d}}c}BhDj}{{{f{Ad}}c}BhDj}{{{f{Af}}c}BhDj}{{{f{Ah}}c}BhDj}{{{f{Aj}}c}BhDj}{{{f{Al}}c}BhDj}{{{f{Cf}}c}BhDj}{{{f{An}}c}BhDj}{{be}b{{l{j}}}{{Df{}{{Dd{c}}}}}}`````{{{f{c}}}e{}{}}00000000{{{f{c}}}j{}}{c{{Bh{e}}}{}{}}0000000000000000000000000000000000000{{{f{c}}}Dl{}}000000000000000000``","D":"Nn","p":[[5,"PluginTypeBuilder",0,313],[6,"ActionSubText",0,314],[1,"reference"],[1,"str"],[5,"String",315],[10,"Into",316],[0,"mut"],[5,"PluginType",0,313],[6,"FrontendType",0,313],[5,"RawContext",0,314],[5,"ActionText",0,314],[6,"Action",0,314],[5,"Switch",0,314],[6,"FileType",0,317],[6,"FileSeekFrom",0,317],[1,"unit"],[5,"ActionProcessResult",0,313],[5,"TextProcessResult",0,313],[5,"LineProcessResult",0,313],[6,"Result",318],[10,"Deserializer",319],[5,"ActionProcessContext",0,313],[5,"TextProcessContext",0,313],[5,"GameProcessContext",0,313],[5,"GameProcessResult",0,313],[5,"LineProcessContext",0,313],[5,"FileMetadata",0,317],[1,"bool"],[5,"Formatter",320],[8,"Result",320],[6,"VfsFileType",321],[5,"VfsMetadata",321],[6,"SeekFrom",322],[17,"Item"],[10,"IntoIterator",323],[6,"Cow",324],[10,"Serializer",325],[5,"TypeId",326]],"r":[[0,314],[1,313],[2,313],[3,314],[4,314],[13,317],[14,317],[15,317],[16,313],[17,313],[18,313],[21,313],[22,313],[23,313],[24,313],[25,314],[27,314],[31,313],[32,313],[33,314]],"b":[[153,"impl-Display-for-ActionText"],[154,"impl-Debug-for-ActionText"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAMIACQAqACUAVQARAGwAGQCHAAUAjgASALIAAQC2AAAA3QARAPUAQgA="}],\ +["ayaka_model",{"t":"FFFPPPPGFKNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMONNNNNNNNONNMNNNNNNNNNNNOMNMNNMNNNNNNNNNNNNNMONNNNNNNNNNNNNNNNNNNNNONONNNNN","n":["ActionRecord","GameViewModel","GlobalRecord","LoadGlobalRecords","LoadRecords","LoadSettings","Loaded","OpenGameStatus","Settings","SettingsManager","avaliable_locale","bgm_volume","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","context","context_mut","current_action","current_actions","current_history","current_run","current_title","current_visited","default","default","default","deserialize","deserialize","deserialize","eq","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","from","from","from","from","from","global_record","global_record_mut","global_record_path","history","init_context","init_context_by_index","init_new","into","into","into","into","into","lang","last_ctx","last_ctx_with_game","load_file","load_global_record","load_global_record","load_records","load_records","load_settings","load_settings","new","next_back_run","next_run","open_game","record","record","record_path","records","records_path","records_text","save_current_to","save_file","save_global_record","save_global_record","save_records","save_records","save_settings","save_settings","save_settings","serialize","serialize","serialize","serialize","set_settings","settings","settings_path","sub_lang","switch","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","update","video_volume","visited","voice_volume","vzip","vzip","vzip","vzip","vzip"],"q":[[0,"ayaka_model"],[135,"ayaka_model::view_model"],[136,"ayaka_runtime::locale"],[137,"core::iter::traits::iterator"],[138,"ayaka_model::settings"],[139,"ayaka_plugin"],[140,"core::marker"],[141,"ayaka_runtime::context"],[142,"ayaka_bindings_types::config"],[143,"core::option"],[144,"core::iter::traits::double_ended"],[145,"alloc::string"],[146,"core::result"],[147,"serde::de"],[148,"core::fmt"],[149,"std::path"],[150,"anyhow"],[151,"ayaka_runtime::config"],[152,"core::convert"],[153,"alloc::vec"],[154,"core::future::future"],[155,"futures_core::stream"],[156,"serde::ser"],[157,"core::any"]],"i":[0,0,0,14,14,14,14,0,0,0,1,11,1,11,12,13,14,1,11,12,13,14,11,12,13,14,11,12,13,14,1,1,1,1,1,1,1,1,11,12,13,11,12,13,14,14,14,14,11,12,13,14,1,11,12,13,14,1,1,6,13,1,1,1,1,11,12,13,14,11,13,13,6,6,6,6,6,6,6,1,1,1,1,1,12,6,1,6,1,1,6,6,6,6,6,6,6,1,11,12,13,14,1,1,6,11,1,11,12,13,14,1,11,12,13,14,1,11,12,13,14,1,11,12,13,14,12,11,12,11,1,11,12,13,14],"f":"``````````{{{d{{b{ce}}}}}{{`{{j{}{{f{{d{h}}}}}}}}}l{nA`Ab}}`{{{d{c}}}{{d{e}}}{}{}}0000{{{d{Adc}}}{{d{Ade}}}{}{}}0000{{{d{Af}}}Af}{{{d{Ah}}}Ah}{{{d{Aj}}}Aj}{{{d{Al}}}Al}{{{d{c}}{d{Ade}}}An{}{}}000{{{d{{b{ce}}}}}{{d{{B`{e}}}}}l{nA`Ab}}{{{d{Ad{b{ce}}}}}{{d{Ad{B`{e}}}}}l{nA`Ab}}{{{d{{b{ce}}}}}{{Bd{Bb}}}l{nA`Ab}}{{{d{{b{ce}}}}}{{Bd{{Bf{Bb{Bd{Bb}}}}}}}l{nA`Ab}}{{{d{{b{ce}}}}}{{`{{Bh{}{{f{{Bf{Bb{Bd{Bb}}}}}}}}}}}l{nA`Ab}}{{{d{{b{ce}}}}}{{Bd{{d{Bj}}}}}l{nA`Ab}}{{{d{{b{ce}}}}}{{Bd{{d{Bl}}}}}l{nA`Ab}}{{{d{{b{ce}}}}}Bnl{nA`Ab}}{{}Af}{{}Ah}{{}Aj}{c{{C`{Af}}}Cb}{c{{C`{Ah}}}Cb}{c{{C`{Aj}}}Cb}{{{d{Al}}{d{Al}}}Bn}{{{d{c}}{d{e}}}Bn{}{}}00{{{d{Af}}{d{AdCd}}}Cf}{{{d{Ah}}{d{AdCd}}}Cf}{{{d{Aj}}{d{AdCd}}}Cf}{{{d{Al}}{d{AdCd}}}Cf}{cc{}}0000{{{d{{b{ce}}}}}{{d{Ah}}}l{nA`Ab}}{{{d{Ad{b{ce}}}}}{{d{AdAh}}}l{nA`Ab}}{{{d{l}}{d{Ch}}}{{Cl{Cj}}}}`{{{d{Ad{b{ce}}}}Aj}Anl{nA`Ab}}{{{d{Ad{b{ce}}}}Cn}Anl{nA`Ab}}{{{d{Ad{b{ce}}}}}Anl{nA`Ab}}{ce{}{}}0000`{{{d{Aj}}}{{Bd{{d{Bj}}}}}}{{{d{Aj}}{d{D`}}}Bj}{{{d{l}}c}{{Cl{e}}}{{Dd{Db}}}Df}{{{d{l}}{d{Ch}}}{{Cl{Ah}}}}0{{{d{l}}{d{Ch}}}{{Cl{{Dh{Aj}}}}}}0{{{d{l}}}{{Cl{Af}}}}0{c{{b{ce}}}l{nA`Ab}}{{{d{Ad{b{ce}}}}}Bnl{nA`Ab}}0{{{d{Ad{b{ce}}}}{B`{e}}}{{`{{Dl{}{{Dj{{Cl{An}}}}}}{Dn{}{{f{Al}}}}}}}l{nA`Ab}}{{{d{{b{ce}}}}}{{d{Aj}}}l{nA`Ab}}`{{{d{l}}{d{Ch}}Cn}{{Cl{Cj}}}}{{{d{{b{ce}}}}}{{d{{E`{Aj}}}}}l{nA`Ab}}{{{d{l}}{d{Ch}}}{{Cl{{`{{j{}{{f{{Cl{Cj}}}}}}}}}}}}{{{d{{b{ce}}}}}{{`{{j{}{{f{Eb}}}}}}}l{nA`Ab}}{{{d{Ad{b{ce}}}}Cn}Anl{nA`Ab}}{{{d{l}}c{d{e}}Bn}{{Cl{An}}}{{Dd{Db}}}Ed}{{{d{l}}{d{Ch}}{d{Ah}}}{{Cl{An}}}}0{{{d{l}}{d{Ch}}{d{{E`{Aj}}}}}{{Cl{An}}}}0{{{d{l}}{d{Af}}}{{Cl{An}}}}0{{{d{{b{ce}}}}}{{Cl{An}}}l{nA`Ab}}{{{d{Af}}c}C`Ef}{{{d{Ah}}c}C`Ef}{{{d{Aj}}c}C`Ef}{{{d{Al}}c}C`Ef}{{{d{Ad{b{ce}}}}Af}Anl{nA`Ab}}{{{d{{b{ce}}}}}{{d{Af}}}l{nA`Ab}}{{{d{l}}}{{Cl{Cj}}}}`<{{{d{c}}}e{}{}}000{c{{C`{e}}}{}{}}000000000{{{d{c}}}Eh{}}0000{{{d{AdAh}}{d{Bj}}}An}`{{{d{Ah}}{d{Bj}}}Bn}`{ce{}{}}0000","D":"Ih","p":[[5,"GameViewModel",0,135],[1,"reference"],[17,"Item"],[5,"Locale",136],[10,"Iterator",137],[10,"SettingsManager",0,138],[10,"RawModule",139],[10,"Send",140],[10,"Sync",140],[0,"mut"],[5,"Settings",0,138],[5,"GlobalRecord",0,138],[5,"ActionRecord",0,138],[6,"OpenGameStatus",0,135],[1,"unit"],[5,"Context",141],[6,"Action",142],[6,"Option",143],[1,"tuple"],[10,"DoubleEndedIterator",144],[5,"RawContext",142],[5,"String",145],[1,"bool"],[6,"Result",146],[10,"Deserializer",147],[5,"Formatter",148],[8,"Result",148],[1,"str"],[5,"PathBuf",149],[8,"Result",150],[1,"usize"],[5,"Game",151],[5,"Path",149],[10,"AsRef",152],[10,"DeserializeOwned",147],[5,"Vec",153],[17,"Output"],[10,"Future",154],[10,"Stream",155],[1,"slice"],[5,"ActionText",142],[10,"Serialize",156],[10,"Serializer",156],[5,"TypeId",157]],"r":[[0,138],[1,135],[2,138],[7,135],[8,138],[9,138]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAADsABQANABEAJwANAGMAAwBsABIAgwAEAA=="}],\ +["ayaka_plugin",{"t":"SSRRKRKRSFKEENNMMNMNMNNMNMMNNNNMN","n":["ABI_ALLOC_NAME","ABI_FREE_NAME","Config","Func","Linker","Linker","LinkerHandle","LinkerHandle","MEMORY_NAME","PluginModule","RawModule","Result","anyhow","borrow","borrow_mut","call","call","call","create","from","import","inner","into","new","new","slice","slice_mut","try_from","try_into","type_id","wrap","wrap_raw","wrap_with"],"q":[[0,"ayaka_plugin"],[33,"anyhow"],[34,"core::ops::function"],[35,"serde::ser"],[36,"serde::de"],[37,"alloc::string"],[38,"std::collections::hash::map"],[39,"core::convert"],[40,"core::result"],[41,"core::any"],[42,"core::marker"],[43,"alloc::vec"]],"i":[0,0,11,6,0,6,0,6,0,0,0,0,0,15,15,6,12,15,11,15,11,15,15,11,15,12,12,15,15,15,11,11,11],"f":"`````````````{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{{l{}{{f{c}}{h{e}}{j{g}}}}}}{b{n}}{b{{Ab{A`}}}}k}{{Ad{i}}}{{Af{{l{}{{f{c}}{h{e}}{j{g}}}}}}}{{Ah{{l{}{{f{c}}{h{e}}{j{g}}}}}}}{}{}{{Al{{b{{Ab{A`}}}}}{{Aj{{Ad{i}}}}}}}}{{{b{dAh}}{b{c}}{b{n}}{b{{Ab{A`}}}}g}{{Ad{e}}}l{}{{Al{{b{{Ab{A`}}}}}{{Aj{{Ad{e}}}}}}}}{{{b{{An{c}}}}{b{n}}e}{{Ad{g}}}lB`Bb}{{{b{{Af{}{{Bd{c}}}}}}{b{{Ab{A`}}}}}{{Ad{e}}}{}l}{cc{}}{{{b{d{Af{}{{Bd{c}}}}}}e{Bh{Bf}}}{{Ad{Bj}}}{}{{Bl{Bf}}}}{{{b{{An{c}}}}}{{b{c}}}l}{ce{}{}}{c{{Ad{{Af{}{{Bd{c}}}}}}}{}}{c{{An{c}}}l}{{{b{Ah}}BnBne}c{}{{Al{{b{{Ab{A`}}}}}{{Aj{c}}}}}}{{{b{dAh}}BnBne}c{}{{Al{{b{d{Ab{A`}}}}}{{Aj{c}}}}}}{c{{C`{e}}}{}{}}0{{{b{c}}}Cb{}}{{{b{{Af{}{{Bd{c}}}}}}i}{}{}{BbCd}B`{{Cf{e}{{Aj{{Ad{g}}}}}}ChCj}}{{{b{{Af{}{{Bd{c}}}}}}e}{}{}{{Cf{BnBn}{{Aj{{Ad{{Cl{A`}}}}}}}}ChCj}}1","D":"Cf","p":[[1,"reference"],[0,"mut"],[17,"Linker"],[17,"LinkerHandle"],[17,"Func"],[10,"RawModule",0],[1,"str"],[1,"u8"],[1,"slice"],[8,"Result",33],[10,"Linker",0],[10,"LinkerHandle",0],[17,"Output"],[10,"FnOnce",34],[5,"PluginModule",0],[10,"Serialize",35],[10,"DeserializeOwned",36],[17,"Config"],[5,"String",37],[5,"HashMap",38],[1,"unit"],[10,"Into",39],[1,"i32"],[6,"Result",40],[5,"TypeId",41],[10,"Tuple",42],[10,"Fn",34],[10,"Send",42],[10,"Sync",42],[5,"Vec",43]],"r":[[11,33],[12,33]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAAYAAgAMAAMAHAACAA=="}],\ +["ayaka_plugin_wasmer",{"t":"FFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["WasmerFunction","WasmerLinker","WasmerLinkerHandle","WasmerModule","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","call","call","clone","clone_into","create","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","from","from","from","from","import","init","init","init","init","into","into","into","into","layout_raw","layout_raw","layout_raw","layout_raw","new","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","slice","slice_mut","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_ref","upcast_any_ref","upcast_any_ref","wrap_raw"],"q":[[0,"ayaka_plugin_wasmer"],[80,"anyhow"],[81,"core::ops::function"],[82,"rkyv::with"],[83,"core::result"],[84,"alloc::string"],[85,"std::collections::hash::map"],[86,"core::convert"],[87,"core::alloc::layout"],[88,"core::any"],[89,"alloc::boxed"],[90,"alloc::vec"],[91,"core::marker"]],"i":[0,0,0,0,3,13,10,11,3,13,10,11,3,10,11,11,13,3,13,10,11,3,13,10,11,3,13,10,11,3,13,10,11,3,13,10,11,13,3,13,10,11,3,13,10,11,3,13,10,11,13,3,13,10,11,10,10,11,3,13,10,11,3,13,10,11,3,13,10,11,3,13,11,3,13,11,3,13,11,13],"f":"````{{{b{c}}}{{b{e}}}{}{}}000{{{b{dc}}}{{b{de}}}{}{}}000{{{b{f}}{b{h}}{b{{l{j}}}}e}{{n{c}}}{}{{Ab{{b{{l{j}}}}}{{A`{{n{c}}}}}}}}{{{b{dAd}}{b{f}}{b{h}}{b{{l{j}}}}e}{{n{c}}}{}{{Ab{{b{{l{j}}}}}{{A`{{n{c}}}}}}}}{{{b{Af}}}Af}{{{b{c}}{b{de}}}Ah{}{}}{{{b{Aj}}{b{{l{j}}}}}{{n{f}}}}{Al{{b{c}}}{}}000{Al{{b{dc}}}{}}000{{{b{c}}{b{de}}}{{B`{{An{gi}}}}}{}{}{}{}}000{AlAh}000{cc{}}000{{{b{dAj}}c{Bd{BbAf}}}{{n{Ah}}}{{Bf{Bb}}}}{{}Al}000{ce{}{}}000{{}{{B`{BhBj}}}}000{Ah{{n{Aj}}}}{b}000{{{b{Ad}}BlBle}c{}{{Ab{{b{{l{j}}}}}{{A`{c}}}}}}{{{b{dAd}}BlBle}c{}{{Ab{{b{d{l{j}}}}}{{A`{c}}}}}}{{{b{c}}}e{}{}}{c{{B`{e}}}{}{}}0000000{{{b{c}}}Bn{}}000{{{C`{c}}}{{C`{Cb}}}{}}00{{{b{dc}}}{{b{dCb}}}{}}00{{{b{c}}}{{b{Cb}}}{}}00{{{b{Aj}}c}Af{{Cf{AdBlBl}{{A`{{n{{Cd{j}}}}}}}}ChCj}}","D":"Aj","p":[[1,"reference"],[0,"mut"],[5,"WasmerModule",0],[1,"str"],[1,"u8"],[1,"slice"],[8,"Result",80],[17,"Output"],[10,"FnOnce",81],[5,"WasmerLinkerHandle",0],[5,"WasmerFunction",0],[1,"unit"],[5,"WasmerLinker",0],[1,"usize"],[5,"With",82],[6,"Result",83],[5,"String",84],[5,"HashMap",85],[10,"Into",86],[5,"Layout",87],[5,"LayoutError",87],[1,"i32"],[5,"TypeId",88],[5,"Box",89],[10,"Any",88],[5,"Vec",90],[10,"Fn",81],[10,"Send",91],[10,"Sync",91]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAEMAAwAFABwAJgAEAC8AIQA="}],\ +["ayaka_plugin_wasmi",{"t":"FFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["WasmiLinker","WasmiLinkerHandle","WasmiModule","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","call","call","create","from","from","from","import","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","new","slice","slice_mut","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","wrap_raw"],"q":[[0,"ayaka_plugin_wasmi"],[47,"core::any"],[48,"anyhow"],[49,"core::ops::function"],[50,"alloc::string"],[51,"wasmi::func"],[52,"std::collections::hash::map"],[53,"core::convert"],[54,"alloc::boxed"],[55,"alloc::sync"],[56,"alloc::rc"],[57,"core::result"],[58,"alloc::vec"],[59,"core::marker"]],"i":[0,0,0,4,12,11,4,12,11,4,12,11,4,12,11,4,11,12,4,12,11,12,4,12,11,4,12,11,4,12,11,4,12,11,12,11,11,4,12,11,4,12,11,4,12,11,12],"f":"```{{{b{c}}}{{b{d}}}{}}00{{{b{fc}}}{{b{fd}}}{}}00{{{b{c}}}{{b{e}}}{}{}}00{{{b{fc}}}{{b{fe}}}{}{}}00{{{b{h}}{b{j}}{b{{n{l}}}}e}{{A`{c}}}{}{{Ad{{b{{n{l}}}}}{{Ab{{A`{c}}}}}}}}{{{b{fAf}}{b{h}}{b{j}}{b{{n{l}}}}e}{{A`{c}}}{}{{Ad{{b{{n{l}}}}}{{Ab{{A`{c}}}}}}}}{{{b{Ah}}{b{{n{l}}}}}{{A`{h}}}}{cc{}}00{{{b{fAh}}c{An{AjAl}}}{{A`{B`}}}{{Bb{Aj}}}}{ce{}{}}00{{{Bd{c}}}{{Bd{d}}}{}}00{{{Bf{c}}}{{Bf{d}}}{}}00{{{Bh{c}}}{{Bh{d}}}{}}00{B`{{A`{Ah}}}}{{{b{Af}}BjBje}c{}{{Ad{{b{{n{l}}}}}{{Ab{c}}}}}}{{{b{fAf}}BjBje}c{}{{Ad{{b{f{n{l}}}}}{{Ab{c}}}}}}{c{{Bl{e}}}{}{}}00000{{{b{c}}}Bn{}}00{{{b{Ah}}c}Al{{Cb{AfBjBj}{{Ab{{A`{{C`{l}}}}}}}}CdCf}}","D":"Ad","p":[[1,"reference"],[10,"Any",47],[0,"mut"],[5,"WasmiModule",0],[1,"str"],[1,"u8"],[1,"slice"],[8,"Result",48],[17,"Output"],[10,"FnOnce",49],[5,"WasmiLinkerHandle",0],[5,"WasmiLinker",0],[5,"String",50],[5,"Func",51],[5,"HashMap",52],[1,"unit"],[10,"Into",53],[5,"Box",54],[5,"Arc",55],[5,"Rc",56],[1,"i32"],[6,"Result",57],[5,"TypeId",47],[5,"Vec",58],[10,"Fn",49],[10,"Send",59],[10,"Sync",59]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAACUAAwAEAA4AFgAAABoAFQA="}],\ +["ayaka_plugin_wasmtime",{"t":"FFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["WasmtimeLinker","WasmtimeLinkerHandle","WasmtimeModule","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","call","call","create","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","from","from","from","import","init","init","init","into","into","into","new","slice","slice_mut","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","wrap_raw"],"q":[[0,"ayaka_plugin_wasmtime"],[44,"anyhow"],[45,"core::ops::function"],[46,"alloc::string"],[47,"wasmtime::func"],[48,"std::collections::hash::map"],[49,"core::convert"],[50,"core::result"],[51,"core::any"],[52,"alloc::vec"],[53,"core::marker"]],"i":[0,0,0,3,11,10,3,11,10,3,10,11,3,11,10,3,11,10,3,11,10,3,11,10,11,3,11,10,3,11,10,11,10,10,3,11,10,3,11,10,3,11,10,11],"f":"```{{{b{c}}}{{b{e}}}{}{}}00{{{b{dc}}}{{b{de}}}{}{}}00{{{b{f}}{b{h}}{b{{l{j}}}}e}{{n{c}}}{}{{Ab{{b{{l{j}}}}}{{A`{{n{c}}}}}}}}{{{b{dAd}}{b{f}}{b{h}}{b{{l{j}}}}e}{{n{c}}}{}{{Ab{{b{{l{j}}}}}{{A`{{n{c}}}}}}}}{{{b{Af}}{b{{l{j}}}}}{{n{f}}}}{Ah{{b{c}}}{}}00{Ah{{b{dc}}}{}}00{AhAj}00{cc{}}00{{{b{dAf}}c{B`{AlAn}}}{{n{Aj}}}{{Bb{Al}}}}{{}Ah}00{ce{}{}}00{Aj{{n{Af}}}}{{{b{Ad}}BdBde}c{}{{Ab{{b{{l{j}}}}}{{A`{c}}}}}}{{{b{dAd}}BdBde}c{}{{Ab{{b{d{l{j}}}}}{{A`{c}}}}}}{c{{Bf{e}}}{}{}}00000{{{b{c}}}Bh{}}00{{{b{Af}}c}An{{Bl{AdBdBd}{{A`{{n{{Bj{j}}}}}}}}BnC`}}","D":"Ad","p":[[1,"reference"],[0,"mut"],[5,"WasmtimeModule",0],[1,"str"],[1,"u8"],[1,"slice"],[8,"Result",44],[17,"Output"],[10,"FnOnce",45],[5,"WasmtimeLinkerHandle",0],[5,"WasmtimeLinker",0],[1,"usize"],[1,"unit"],[5,"String",46],[5,"Func",47],[5,"HashMap",48],[10,"Into",49],[1,"i32"],[6,"Result",50],[5,"TypeId",51],[5,"Vec",52],[10,"Fn",45],[10,"Send",53],[10,"Sync",53]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAACIAAwAEABEAGQADACAADAA="}],\ +["ayaka_primitive",{"t":"PPPPPPGPPGPPPGPFPPPGNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNO","n":["Bool","Bool","Char","Cmd","Custom","Empty","Line","Num","Num","RawValue","Str","Str","Str","SubText","Switch","Text","Text","Unit","Unit","ValueType","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","ch_alias","ch_tag","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","default","default","deserialize","deserialize","deserialize","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","get_bool","get_num","get_str","get_type","hash","into","into","into","into","into","into_str","partial_cmp","partial_cmp","serialize","sub_texts","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","switches"],"q":[[0,"ayaka_primitive"],[100,"ayaka_primitive::Line"],[101,"ayaka_primitive::line"],[102,"ayaka_primitive::raw_value"],[103,"ayaka_primitive::text"],[104,"core::cmp"],[105,"core::result"],[106,"serde::de"],[107,"core::fmt"],[108,"alloc::borrow"],[109,"core::hash"],[110,"alloc::string"],[111,"core::option"],[112,"serde::ser"],[113,"core::any"]],"i":[4,5,7,7,3,3,0,4,5,0,4,5,7,0,3,0,3,4,5,0,3,4,5,6,7,3,4,5,6,7,6,6,3,4,5,6,7,3,4,5,6,7,4,5,4,6,3,4,6,3,4,5,6,7,3,4,5,6,7,3,4,5,6,7,4,4,4,4,4,3,4,5,6,7,4,4,5,4,6,3,4,5,6,7,3,4,5,6,6,7,3,4,5,6,7,3,4,5,6,7,23],"f":"````````````````````{{{b{c}}}{{b{e}}}{}{}}0000{{{b{dc}}}{{b{de}}}{}{}}0000``{{{b{f}}}f}{{{b{h}}}h}{{{b{j}}}j}{{{b{l}}}l}{{{b{n}}}n}{{{b{c}}{b{de}}}A`{}{}}0000{{{b{h}}{b{h}}}Ab}{{{b{j}}{b{j}}}Ab}{{}h}{{}l}{c{{Ad{f}}}Af}{c{{Ad{h}}}Af}{c{{Ad{l}}}Af}{{{b{f}}{b{f}}}Ah}{{{b{h}}{b{h}}}Ah}{{{b{j}}{b{j}}}Ah}{{{b{l}}{b{l}}}Ah}{{{b{n}}{b{n}}}Ah}{{{b{f}}{b{dAj}}}Al}{{{b{h}}{b{dAj}}}Al}{{{b{j}}{b{dAj}}}Al}{{{b{l}}{b{dAj}}}Al}{{{b{n}}{b{dAj}}}Al}{cc{}}0000{{{b{h}}}Ah}{{{b{h}}}An}{{{b{h}}}{{Bb{B`}}}}{{{b{h}}}j}{{{b{h}}{b{dc}}}A`Bd}{ce{}{}}0000{hBf}{{{b{h}}{b{h}}}{{Bh{Ab}}}}{{{b{j}}{b{j}}}{{Bh{Ab}}}}{{{b{h}}c}AdBj}`{{{b{c}}}e{}{}}0000{c{{Ad{e}}}{}{}}00{{{b{B`}}}{{Ad{lc}}}{}}1111111{{{b{c}}}Bl{}}0000`","D":"E`","p":[[1,"reference"],[0,"mut"],[6,"Line",0,101],[6,"RawValue",0,102],[6,"ValueType",0,102],[5,"Text",0,103],[6,"SubText",0,103],[1,"unit"],[6,"Ordering",104],[6,"Result",105],[10,"Deserializer",106],[1,"bool"],[5,"Formatter",107],[8,"Result",107],[1,"i64"],[1,"str"],[6,"Cow",108],[10,"Hasher",109],[5,"String",110],[6,"Option",111],[10,"Serializer",112],[5,"TypeId",113],[15,"Switch",100]],"r":[[6,101],[9,102],[13,103],[15,103],[19,102]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAD0ABQAVAAkAIQAaAEUAAABMAAIAUAAUAA=="}],\ +["ayaka_runtime",{"t":"FFFPFFPEPPPPGFFEEEEOONNNNNNNNNNNNNNNNNNNONNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNQEONONNOOCOOOONNNNONNOOOONNNNNNNNNNNNNNNNNNNNNNNNNHENNNNNNNNNNPPGFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Context","ContextBuilder","ContextBuilderWithPaths","CreateRuntime","Game","GameConfig","GamePlugin","Linker","LoadParagraph","LoadPlugin","LoadProfile","LoadResource","OpenStatus","Paragraph","PluginConfig","RawModule","StreamExt","TryStreamExt","anyhow","author","base_lang","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","call","clone","clone_into","config","current_paragraph_title","default","default","deserialize","deserialize","deserialize","dir","eq","equivalent","equivalent","equivalent","find_para","find_para_fallback","find_res_fallback","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","game","get_action","into","into","into","into","into","into","into","into","locale","log","modules","new","next","next_run","open","paras","paras","plugin","plugins","props","res","res","root_path","serialize","set_context","set_start_context","start","start_context","switch","tag","texts","title","title","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","version","vfs","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","with_paths","with_vfs","CreateEngine","LoadPlugin","LoadStatus","Module","Runtime","action_modules","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","dispatch_line","dispatch_text","fmt","from","from","from","game_modules","into","into","into","line_module","load","module","plugin_type","process_action","process_game","text_module","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip"],"q":[[0,"ayaka_runtime"],[140,"ayaka_runtime::plugin"],[184,"ayaka_runtime::context"],[185,"ayaka_primitive::text"],[186,"alloc::string"],[187,"anyhow"],[188,"ayaka_plugin"],[189,"core::marker"],[190,"core::option"],[191,"ayaka_runtime::config"],[192,"core::result"],[193,"serde::de"],[194,"fallback"],[195,"ayaka_bindings_types::config"],[196,"core::fmt"],[197,"ayaka_bindings_types::plugin"],[198,"core::future::future"],[199,"futures_core::stream"],[200,"vfs::path"],[201,"serde::ser"],[202,"core::any"],[203,"std::path"],[204,"core::convert"],[205,"core::iter::traits::iterator"],[206,"alloc::sync"],[207,"futures_util::stream::stream"],[208,"futures_util::stream::try_stream"]],"i":[0,0,0,10,0,0,10,0,10,10,10,10,0,0,0,0,0,0,0,13,13,19,3,29,30,15,13,14,10,19,3,29,30,15,13,14,10,3,10,10,19,3,13,14,15,13,14,14,10,10,10,10,19,19,19,15,13,14,10,19,3,29,30,15,13,14,10,10,3,3,19,3,29,30,15,13,14,10,0,0,14,29,15,3,30,19,13,0,13,13,19,13,3,10,3,3,13,19,3,15,15,15,13,10,19,3,29,30,15,13,14,10,19,3,29,30,15,13,14,10,19,3,29,30,15,13,14,10,0,0,19,3,29,30,15,13,14,10,29,29,25,25,0,0,0,42,43,42,25,43,42,25,25,25,43,43,25,43,42,25,42,43,42,25,42,42,42,43,43,43,42,25,43,42,25,43,42,25,43,42,25,43,42,25],"f":"`````````````````````{{{b{c}}}{{b{e}}}{}{}}0000000{{{b{dc}}}{{b{de}}}{}{}}0000000{{{b{{f{c}}}}{b{h}}}{{l{j}}}{nA`Ab}}{{{b{Ad}}}Ad}{{{b{c}}{b{de}}}Af{}{}}`{{{b{{f{c}}}}{b{`}}}{{Ah{{b{j}}}}}{nA`Ab}}{{}Aj}{{}Al}{c{{B`{An}}}Bb}{c{{B`{Aj}}}Bb}{c{{B`{Al}}}Bb}`{{{b{Ad}}{b{Ad}}}Bd}{{{b{c}}{b{e}}}Bd{}{}}00{{{b{Bf}}{b{`}}{b{Bh}}{b{Bh}}}{{Ah{{b{An}}}}}}{{{b{Bf}}{b{`}}{b{Bh}}{b{Bh}}}{{Bj{{b{An}}}}}}{{{b{Bf}}{b{`}}}{{Bj{{b{Bl}}}}}}{{{b{An}}{b{dBn}}}C`}{{{b{Aj}}{b{dBn}}}C`}{{{b{Al}}{b{dBn}}}C`}{{{b{Ad}}{b{dBn}}}C`}{cc{}}000000{CbAd}1{{{b{{f{c}}}}}{{b{Bf}}}{nA`Ab}}{{{b{{f{c}}}}{b{`}}{b{Cd}}}{{l{Cf}}}{nA`Ab}}{ce{}{}}0000000```{Ch{{Cj{c}}}{nA`Ab}}`{{{b{d{f{c}}}}}{{Ah{Cd}}}{nA`Ab}}{{{Cl{c}}}{{`{{D`{}{{Cn{{l{{f{c}}}}}}}}{Dd{}{{Db{Ad}}}}}}}{nA`Ab}}```````{{{b{{f{c}}}}}{{b{Df}}}{nA`Ab}}{{{b{Ad}}c}B`Dh}{{{b{d{f{c}}}}Cd}Af{nA`Ab}}{{{b{d{f{c}}}}}Af{nA`Ab}}`{{{b{Bf}}}Cd}{{{b{d{f{c}}}}Dj}Af{nA`Ab}}````{{{b{c}}}e{}{}}{c{{B`{e}}}{}{}}000000000000000{{{b{c}}}Dl{}}0000000{{}{{b{Bh}}}}`========{{{Cj{c}}{b{{Dn{e}}}}}{{l{{Cl{c}}}}}{nA`Ab}{{Eb{E`}}}}{{{Cj{c}}{b{{Dn{Df}}}}}{{l{{Cl{c}}}}}{nA`Ab}}`````{{{b{{Ed{c}}}}}{{`{{Eh{}{{Db{{b{{Ef{c}}}}}}}}}}}{nA`Ab}}{{{b{c}}}{{b{e}}}{}{}}00{{{b{dc}}}{{b{de}}}{}{}}00{{{b{Cb}}}Cb}{{{b{c}}{b{de}}}Af{}{}}{{{b{{Ef{c}}}}{b{Bh}}Ej}{{l{El}}}n}{{{b{{Ef{c}}}}{b{Bh}}{b{{Dn{j}}}}En}{{l{F`}}}n}{{{b{Cb}}{b{dBn}}}C`}{cc{}}008{ce{}{}}00{{{b{{Ed{c}}}}{b{Bh}}}{{Ah{{b{{Ef{c}}}}}}}{nA`Ab}}{{c{b{Df}}{b{{Dn{e}}}}}{{`{{D`{}{{Cn{{l{{Fb{{Ed{g}}}}}}}}}}{Dd{}{{Db{Cb}}}}}}}{{Eb{Bh}}}{{Eb{Bh}}}{nA`Ab}}1{{{b{{Ef{c}}}}}{{l{Fd}}}n}{{{b{{Ef{c}}}}Ff}{{l{Fh}}}n}{{{b{{Ef{c}}}}Fj}{{l{Fl}}}n}4{{{b{c}}}e{}{}}{c{{B`{e}}}{}{}}00000{{{b{c}}}Dl{}}00888","D":"Kd","p":[[1,"reference"],[0,"mut"],[5,"Context",0,184],[5,"Text",185],[5,"String",186],[8,"Result",187],[10,"RawModule",188],[10,"Send",189],[10,"Sync",189],[6,"OpenStatus",0,184],[1,"unit"],[6,"Option",190],[5,"GameConfig",0,191],[5,"PluginConfig",0,191],[5,"Paragraph",0,191],[6,"Result",192],[10,"Deserializer",193],[1,"bool"],[5,"Game",0,191],[1,"str"],[5,"Fallback",194],[8,"VarMap",195],[5,"Formatter",196],[8,"Result",196],[6,"LoadStatus",140],[5,"RawContext",195],[6,"Action",195],[6,"FrontendType",197],[5,"ContextBuilder",0,184],[5,"ContextBuilderWithPaths",0,184],[17,"Output"],[10,"Future",198],[17,"Item"],[10,"Stream",199],[5,"VfsPath",200],[10,"Serializer",201],[1,"usize"],[5,"TypeId",202],[1,"slice"],[5,"Path",203],[10,"AsRef",204],[5,"Runtime",140],[5,"Module",140],[10,"Iterator",205],[5,"LineProcessContextRef",197],[5,"LineProcessResult",197],[5,"TextProcessContextRef",197],[5,"TextProcessResult",197],[5,"Arc",206],[5,"PluginType",197],[5,"ActionProcessContextRef",197],[5,"ActionProcessResult",197],[5,"GameProcessContextRef",197],[5,"GameProcessResult",197]],"r":[[0,184],[1,184],[2,184],[4,191],[5,191],[7,188],[12,184],[13,191],[14,191],[15,188],[16,207],[17,208]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAF4ADwAIAAAAEAADABYADwAnAAEAKwAEADEAAwA4AAMAQwAAAFAAAABeAAAAaAAYAIIACACTAAcAnQAAAKwADAA="}],\ +["ayaka_script",{"t":"PPPPPGPPFPPPGFPPPPPGPPPPPPPPPPFFEGPFPGPGEPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Add","And","And","Assign","Binary","BinaryOp","Call","Const","ConstParser","Ctx","Div","Eq","Expr","ExprParser","Ge","Gt","Inplace","Le","Logic","LogicBinaryOp","Lt","Minus","Mod","Mul","Negative","Neq","Not","Or","Or","Positive","Program","ProgramParser","RawValue","Ref","Ref","RefParser","Unary","UnaryOp","Val","ValBinaryOp","ValueType","Var","Xor","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","default","default","default","default","default","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","eq","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from_str","into","into","into","into","into","into","into","into","into","into","into","new","new","new","new","parse","parse","parse","parse","serialize","serialize","serialize","serialize","serialize","serialize","serialize","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id"],"q":[[0,"ayaka_script"],[183,"ayaka_script::parser::grammer::__parse__Const"],[184,"ayaka_script::parser::grammer::__parse__Expr"],[185,"ayaka_script::parser::grammer::__parse__Program"],[186,"ayaka_script::parser::grammer::__parse__Ref"],[187,"core::result"],[188,"serde::de"],[189,"core::fmt"],[190,"ayaka_primitive::raw_value"],[191,"lalrpop_util::lexer"],[192,"lalrpop_util"],[193,"serde::ser"],[194,"core::any"]],"i":[7,7,8,6,4,0,4,4,0,9,7,8,0,0,8,8,6,8,6,0,8,7,7,7,5,8,5,7,8,5,0,0,0,0,4,0,4,0,6,0,0,9,7,11,12,13,14,3,4,5,6,7,8,9,11,12,13,14,3,4,5,6,7,8,9,3,4,5,6,7,8,9,3,4,5,6,7,8,9,11,12,13,14,3,3,4,5,6,7,8,9,3,4,5,6,7,8,9,3,4,5,6,7,8,9,11,12,13,14,3,4,5,6,7,8,9,3,11,12,13,14,3,4,5,6,7,8,9,11,12,13,14,11,12,13,14,3,4,5,6,7,8,9,3,4,5,6,7,8,9,11,12,13,14,3,4,5,6,7,8,9,11,12,13,14,3,4,5,6,7,8,9,11,12,13,14,3,4,5,6,7,8,9],"f":"```````````````````````````````````````````{{{b{c}}}{{b{e}}}{}{}}0000000000{{{b{dc}}}{{b{de}}}{}{}}0000000000{{{b{f}}}f}{{{b{h}}}h}{{{b{j}}}j}{{{b{l}}}l}{{{b{n}}}n}{{{b{A`}}}A`}{{{b{Ab}}}Ab}{{{b{c}}{b{de}}}Ad{}{}}000000{{}Af}{{}Ah}{{}Aj}{{}Al}{{}f}{c{{An{f}}}B`}{c{{An{h}}}B`}{c{{An{j}}}B`}{c{{An{l}}}B`}{c{{An{n}}}B`}{c{{An{A`}}}B`}{c{{An{Ab}}}B`}{{{b{f}}{b{f}}}Bb}{{{b{h}}{b{h}}}Bb}{{{b{j}}{b{j}}}Bb}{{{b{l}}{b{l}}}Bb}{{{b{n}}{b{n}}}Bb}{{{b{A`}}{b{A`}}}Bb}{{{b{Ab}}{b{Ab}}}Bb}{{{b{f}}{b{dBd}}}Bf}{{{b{h}}{b{dBd}}}Bf}{{{b{j}}{b{dBd}}}Bf}{{{b{l}}{b{dBd}}}Bf}{{{b{n}}{b{dBd}}}Bf}{{{b{A`}}{b{dBd}}}Bf}{{{b{Ab}}{b{dBd}}}Bf}{cc{}}0000000000{{{b{Bh}}}{{An{fc}}}{}}{ce{}{}}0000000000{{}Af}{{}Ah}{{}Aj}{{}Al}{{{b{Af}}{b{Bh}}}{{An{Bj{C`{BlBn{b{Bh}}}}}}}}{{{b{Ah}}{b{Bh}}}{{An{h{C`{BlBn{b{Bh}}}}}}}}{{{b{Aj}}{b{Bh}}}{{An{f{C`{BlBn{b{Bh}}}}}}}}{{{b{Al}}{b{Bh}}}{{An{Ab{C`{BlBn{b{Bh}}}}}}}}{{{b{f}}c}AnCb}{{{b{h}}c}AnCb}{{{b{j}}c}AnCb}{{{b{l}}c}AnCb}{{{b{n}}c}AnCb}{{{b{A`}}c}AnCb}{{{b{Ab}}c}AnCb}{{{b{c}}}e{}{}}000000{c{{An{e}}}{}{}}000000000000000000000{{{b{c}}}Cd{}}0000000000","D":"Gh","p":[[1,"reference"],[0,"mut"],[5,"Program",0],[6,"Expr",0],[6,"UnaryOp",0],[6,"BinaryOp",0],[6,"ValBinaryOp",0],[6,"LogicBinaryOp",0],[6,"Ref",0],[1,"unit"],[5,"ConstParser",0,183],[5,"ExprParser",0,184],[5,"ProgramParser",0,185],[5,"RefParser",0,186],[6,"Result",187],[10,"Deserializer",188],[1,"bool"],[5,"Formatter",189],[8,"Result",189],[1,"str"],[6,"RawValue",190],[1,"usize"],[5,"Token",191],[6,"ParseError",192],[10,"Serializer",193],[5,"TypeId",194]],"r":[[8,183],[13,184],[31,185],[32,190],[35,186],[40,190]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAHsACAAJAAAADgAAACAAAQAkAAAAKQAAACwAPQB1AAAAgQA2AA=="}]\ ]')); if (typeof exports !== 'undefined') exports.searchIndex = searchIndex; else if (window.initSearch) window.initSearch(searchIndex); diff --git a/doc/search.desc/ayaka_bindings/ayaka_bindings-desc-0-.js b/doc/search.desc/ayaka_bindings/ayaka_bindings-desc-0-.js new file mode 100644 index 00000000..ec93506e --- /dev/null +++ b/doc/search.desc/ayaka_bindings/ayaka_bindings-desc-0-.js @@ -0,0 +1 @@ +searchState.loadedDescShard("ayaka_bindings", 0, "Returns the argument unchanged.\nCalls U::from(self).") \ No newline at end of file diff --git a/doc/search.desc/ayaka_bindings_impl/ayaka_bindings_impl-desc-0-.js b/doc/search.desc/ayaka_bindings_impl/ayaka_bindings_impl-desc-0-.js new file mode 100644 index 00000000..cbaefa31 --- /dev/null +++ b/doc/search.desc/ayaka_bindings_impl/ayaka_bindings_impl-desc-0-.js @@ -0,0 +1 @@ +searchState.loadedDescShard("ayaka_bindings_impl", 0, "") \ No newline at end of file diff --git a/doc/search.desc/ayaka_bindings_types/ayaka_bindings_types-desc-0-.js b/doc/search.desc/ayaka_bindings_types/ayaka_bindings_types-desc-0-.js new file mode 100644 index 00000000..00a20691 --- /dev/null +++ b/doc/search.desc/ayaka_bindings_types/ayaka_bindings_types-desc-0-.js @@ -0,0 +1 @@ +searchState.loadedDescShard("ayaka_bindings_types", 0, "The types used in both runtime and plugins.\nThe full action information in one line of config. It …\nThe argument to action plugin.\nThe result of action plugins. See examples at …\nThe unit of one line in an action.\nThe text is a VecDeque<ActionSubText>. The ActionSubText …\nCharacters printed together. Usually they are HTML tags or …\nCharacters printed one by one. Usually they are meaningful …\nSeek from current position.\nA custom action.\nA directory.\nAn empty action usually means an exec or custom action.\nSeek from end.\nA file.\nFile metadata.\nA SeekFrom type which implements serde.\nType of a file.\nThe type of current frontend.\nThe argument to game plugin.\nThe result of game plugins. See examples at …\nThe frontend renders HTML.\nThe frontend renders LaTeX.\nThe argument to line plugin.\nThe result of commands in line plugins. See examples at …\nThe bit flags to describe plugin type.\nThe builder of PluginType.\nThe serializable context.\nSeek from start.\nOne switch in the switches of an Action.\nA switch action, display switches and let player to choose.\nThe frontend only accepts raw texts.\nA text action, display some texts.\nThe argument to text plugin.\nThe result of commands in text plugins. See examples at …\nA map from variable name to RawValue.\nAn action plugin.\nThe action plugin. This plugin processes the action after …\nThe current action.\nThe processed action text.\nGets a reference of str.\nThe author of the game.\nCreates ActionSubText::Block.\nBuild a PluginType.\nCreates a PluginTypeBuilder instance to build a PluginType.\nThe key of current character.\nThe current character.\nCreates ActionSubText::Chars.\nThe current context.\nThe current context.\nCurrent text index.\nCurrent base paragraph tag.\nCurrent paragraph tag.\nWhether the switch is enabled.\nType of file.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nThe frontend type.\nThe frontend type.\nThe frontend type.\nA game plugin.\nThe game plugin. This plugin processes the game properties …\nThe global properties of the game profile.\nThe global properties of the game profile.\nThe global properties of the game profile.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nGets the inner String.\nLength of the file.\nA line plugins, which provides custom line types.\nThe line plugin. The custom line types are dealt with this …\nThe updated variables.\nCurrent local variables.\nThe global properties of the game.\nThe updated properties.\nThe full properties of the custom command.\nPush the string as ActionSubText::Block to the back. If …\nPush the string as ActionSubText::Chars to the back. If …\nA text plugin, which provides commands.\nThe text plugin. The custom text commands are dealt with …\nThe lines to append.\nThe full texts.\nThe switch text.\nThe title of the game.\nThe temp variables.\nThe temp variables.") \ No newline at end of file diff --git a/doc/search.desc/ayaka_model/ayaka_model-desc-0-.js b/doc/search.desc/ayaka_model/ayaka_model-desc-0-.js new file mode 100644 index 00000000..79adddd6 --- /dev/null +++ b/doc/search.desc/ayaka_model/ayaka_model-desc-0-.js @@ -0,0 +1 @@ +searchState.loadedDescShard("ayaka_model", 0, "The high level wrapper model of Ayaka.\nThe specific record.\nA view model of Ayaka. It manages all settings and …\nThe global record.\nLoading the global records.\nLoading the records.\nLoading the settings.\nThe game is loaded.\nThe status when calling GameViewModel::open_game.\nThe settings of the game.\nA settings manager trait.\nGet the avaliable locales from paragraphs.\nVolume of background music.\nThe Context, should be called after Self::open_game.\nThe Context, should be called after Self::open_game.\nGet the current action by language.\nGet the current action by language and secondary language.\nGet the current history by language and secondary language.\nGet the current RawContext.\nGet the current paragraph title.\nDetermine if current run has been visited.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nThe loaded GlobalRecord.\nThe loaded GlobalRecord.\nGet the global record path.\nThe history actions.\nStart a game with record.\nStart a game with the index of records.\nStart a new game. The state of the model after this call …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThe display language.\nGet the RawContext object from the last Action in the …\nGet the RawContext object from the last Action in the …\nLoad a file from specified path.\nLoad GlobalRecord.\nLoad GlobalRecord.\nLoad all ActionRecord.\nLoad all ActionRecord.\nLoad Settings.\nLoad Settings.\nCreate a GameViewModel with a settings manager.\nStep back to the last run.\nStep to the next run.\nOpen the game with context.\nThe current ActionRecord.\nThe key is the tag of paragraphs, the value is the maximum …\nGet the record path from index.\nThe loaded ActionRecords.\nGet an iterator of record paths.\nGet the last action text from each record.\nSave current ActionRecord to the records.\nSave a file to specified path.\nSave GlobalRecord.\nSave GlobalRecord.\nSave all ActionRecord.\nSave all ActionRecord.\nSave Settings.\nSave Settings.\nSave all settings and records.\nSet the Settings.\nThe loaded Settings.\nGet the settings path.\nThe secondary display language.\nChoose a switch item by index.\nUpdate the global record with the latest RawContext.\nVolume of videos.\nDetermine if an RawContext has been visited, by the …\nVolume of voices.") \ No newline at end of file diff --git a/doc/search.desc/ayaka_plugin/ayaka_plugin-desc-0-.js b/doc/search.desc/ayaka_plugin/ayaka_plugin-desc-0-.js new file mode 100644 index 00000000..b9849163 --- /dev/null +++ b/doc/search.desc/ayaka_plugin/ayaka_plugin-desc-0-.js @@ -0,0 +1 @@ +searchState.loadedDescShard("ayaka_plugin", 0, "Base crate for plugin runtimes.\nThe exported method __abi_alloc.\nThe exported method __abi_free.\nConfig type to create the linker.\nThe import function type.\nRepresents the linker of plugin modules.\nThe linker type that can create raw module.\nRepresents a handle of linker.\nThe linker handle type.\nThe default exported memory name.\nHigh-level wrapper for plugin module.\nRepresents a raw plugin module.\nCalls a method by name.\nCall methods of a module.\nCall a method by name.\nCreate a raw module from binary.\nReturns the argument unchanged.\nImport functions by namespace and names.\nGet inner raw module.\nCalls U::from(self).\nCreate the linker.\nCreates a wrapper on raw module.\nGet memory slice.\nGet memory mutable slice.\nWrap a function with args.\nWrap a function with args in bytes.\nWrap a function with args and linker handle.") \ No newline at end of file diff --git a/doc/search.desc/ayaka_plugin_wasmer/ayaka_plugin_wasmer-desc-0-.js b/doc/search.desc/ayaka_plugin_wasmer/ayaka_plugin_wasmer-desc-0-.js new file mode 100644 index 00000000..1bed9788 --- /dev/null +++ b/doc/search.desc/ayaka_plugin_wasmer/ayaka_plugin_wasmer-desc-0-.js @@ -0,0 +1 @@ +searchState.loadedDescShard("ayaka_plugin_wasmer", 0, "Wasmer-based plugin backend.\nRepresents a wrapped wasmer function.\nA Wasmer Store with some imports.\nA Wasmer StoreMut.\nA Wasmer Instance.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).") \ No newline at end of file diff --git a/doc/search.desc/ayaka_plugin_wasmi/ayaka_plugin_wasmi-desc-0-.js b/doc/search.desc/ayaka_plugin_wasmi/ayaka_plugin_wasmi-desc-0-.js new file mode 100644 index 00000000..a29b3059 --- /dev/null +++ b/doc/search.desc/ayaka_plugin_wasmi/ayaka_plugin_wasmi-desc-0-.js @@ -0,0 +1 @@ +searchState.loadedDescShard("ayaka_plugin_wasmi", 0, "Wasmi-based plugin backend.\nA Wasmi Store with Linker.\nA Wasmi StoreContextMut.\nA Wasmi Instance.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).") \ No newline at end of file diff --git a/doc/search.desc/ayaka_plugin_wasmtime/ayaka_plugin_wasmtime-desc-0-.js b/doc/search.desc/ayaka_plugin_wasmtime/ayaka_plugin_wasmtime-desc-0-.js new file mode 100644 index 00000000..34bd9b6d --- /dev/null +++ b/doc/search.desc/ayaka_plugin_wasmtime/ayaka_plugin_wasmtime-desc-0-.js @@ -0,0 +1 @@ +searchState.loadedDescShard("ayaka_plugin_wasmtime", 0, "Wasmtime-based plugin backend.\nA Wasmtime Store with Linker.\nA Wasmtime StoreContextMut.\nA Wasmtime Instance.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).") \ No newline at end of file diff --git a/doc/search.desc/ayaka_primitive/ayaka_primitive-desc-0-.js b/doc/search.desc/ayaka_primitive/ayaka_primitive-desc-0-.js new file mode 100644 index 00000000..5bfde501 --- /dev/null +++ b/doc/search.desc/ayaka_primitive/ayaka_primitive-desc-0-.js @@ -0,0 +1 @@ +searchState.loadedDescShard("ayaka_primitive", 0, "Primitive types.\nThe boolean type.\nThe boolean type.\nSpecial character\nA TeX-like command in the text.\nCustom line types.\nAn empty line, usually fallbacks to the base language one.\nRepresents a line in a prograph.\nThe number type. It’s i64.\nThe number type.\nThe basic and only type used in scripts.\nThe string type.\nThe string type.\nRaw texts.\nA part of a line, either some texts or a command.\nSome switches.\nA collection of SubText.\nA text line.\nThe unit type. It is empty, just like None or [()] in Rust.\nThe unit type.\nRepresents the type of RawValue.\nThe alias of current character.\nThe tag of current character.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGets a boolean from the value:\nGets a number from the value:\nGets a string from the value:\nGets ValueType.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nGets a string from the value:\nThe texts.\nThe switch items.") \ No newline at end of file diff --git a/doc/search.desc/ayaka_runtime/ayaka_runtime-desc-0-.js b/doc/search.desc/ayaka_runtime/ayaka_runtime-desc-0-.js new file mode 100644 index 00000000..0017d8c3 --- /dev/null +++ b/doc/search.desc/ayaka_runtime/ayaka_runtime-desc-0-.js @@ -0,0 +1 @@ +searchState.loadedDescShard("ayaka_runtime", 0, "The runtime of Ayaka project.\nThe game running context.\nBuilder of Context.\nBuilder of Context.\nStart creating plugin runtime.\nThe full Ayaka game. It consists of global config and all …\nThe Ayaka config. It should be deserialized from a YAML …\nExecuting game plugins.\nLoading the paragraphs.\nLoading the plugin.\nStart loading config file.\nLoading the resources.\nThe open status when creating Context.\nThe paragraph in a paragraph config.\nThe plugin config.\nThe author of the game.\nThe base language. If the runtime fails to choose a best …\nCall the part of script with this context.\nThe game config.\nGet current paragraph title.\nThe directory of the plugins.\nFind a paragraph by tag, with specified locale.\nFind a paragraph by tag, with specified locale.\nFind the resource map with specified locale.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nThe inner Game object.\nGet the Action from Locale and RawContext.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nA macro allowing for compile-time construction of valid …\nThe names of the plugins, without extension.\nCreate a new ContextBuilder with frontend type and plugin …\nThe next paragraph. If None, the game meets the end.\nStep to next line.\nOpen the config and load the Context.\nThe paragraphs, indexed by locale. The inner is the …\nThe paragraphs path.\nThe plugin utilities.\nThe plugin config.\nThe global game properties.\nThe resources, indexed by locale.\nThe resources path.\nThe root path of config.\nInitialize the RawContext with given record.\nInitialize the RawContext at the start of the game.\nThe start paragraph tag.\nCreate a RawContext at the start of the game.\nChoose a switch item by index, start by 0.\nThe tag and key of a paragraph. They are referenced in next…\nThe texts. They will be parsed into ayaka_primitive::Text …\nThe title of a paragraph. It can be None, but better with …\nThe title of the game.\nGet the version of Ayaka runtime. This version string is …\nOpen a context with config paths.\nOpen a context with config paths.\nStart creating the engine.\nLoading the plugin.\nThe load status of Runtime.\nThe plugin module with high-level interfaces.\nThe plugin runtime.\nIterates action modules.\nCalls a custom command in the line plugin.\nCalls a custom command in the text plugin.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nIterates game modules.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nGets line module from command.\nLoad plugins from specific directory and plugin names.\nGets module from name.\nGets the PluginType.\nProcesses Action in action plugin.\nProcesses Game when opening the config file.\nGets text module from command.") \ No newline at end of file diff --git a/doc/search.desc/ayaka_script/ayaka_script-desc-0-.js b/doc/search.desc/ayaka_script/ayaka_script-desc-0-.js new file mode 100644 index 00000000..74bf1565 --- /dev/null +++ b/doc/search.desc/ayaka_script/ayaka_script-desc-0-.js @@ -0,0 +1 @@ +searchState.loadedDescShard("ayaka_script", 0, "The script parsers.\n+\n&\n&&\nAssignment.\nA binary operation.\nBinary operations.\nA call to a function.\nA const value.\nA context variable. It is stored in the context. The …\n/\n==\nAn expression.\n>=\n>\nInplace value operations.\n<=\nLogical operations.\nLogical operations.\n<\n-\n%\n*\n-\n!=\n!\n|\n||\n+\nA full script, a collection of expressions.\nReference of a variable.\nA reference to a variable.\nA unary operation.\nUnary operations.\nValue operations.\nValue binary operations.\nA local variable. It is only accessible in current program.\n^\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).") \ No newline at end of file diff --git a/doc/settings.html b/doc/settings.html index 308bf916..189af880 100644 --- a/doc/settings.html +++ b/doc/settings.html @@ -1,2 +1 @@ -Settings -

    Rustdoc settings

    Back
    \ No newline at end of file +Settings

    Rustdoc settings

    Back
    \ No newline at end of file diff --git a/doc/src/ayaka_bindings/fs.rs.html b/doc/src/ayaka_bindings/fs.rs.html index 21edeb07..158b2a33 100644 --- a/doc/src/ayaka_bindings/fs.rs.html +++ b/doc/src/ayaka_bindings/fs.rs.html @@ -1,6 +1,4 @@ -fs.rs - source -
    1
    +fs.rs - source
    1
     2
     3
     4
    diff --git a/doc/src/ayaka_bindings/lib.rs.html b/doc/src/ayaka_bindings/lib.rs.html
    index 3ff25d3a..ad100502 100644
    --- a/doc/src/ayaka_bindings/lib.rs.html
    +++ b/doc/src/ayaka_bindings/lib.rs.html
    @@ -1,6 +1,4 @@
    -lib.rs - source
    -    
    1
    +lib.rs - source
    1
     2
     3
     4
    diff --git a/doc/src/ayaka_bindings/logger.rs.html b/doc/src/ayaka_bindings/logger.rs.html
    index 49fedd98..e066707c 100644
    --- a/doc/src/ayaka_bindings/logger.rs.html
    +++ b/doc/src/ayaka_bindings/logger.rs.html
    @@ -1,6 +1,4 @@
    -logger.rs - source
    -    
    1
    +logger.rs - source
    1
     2
     3
     4
    diff --git a/doc/src/ayaka_bindings_impl/lib.rs.html b/doc/src/ayaka_bindings_impl/lib.rs.html
    index 787bf8dd..11325e15 100644
    --- a/doc/src/ayaka_bindings_impl/lib.rs.html
    +++ b/doc/src/ayaka_bindings_impl/lib.rs.html
    @@ -1,6 +1,4 @@
    -lib.rs - source
    -    
    1
    +lib.rs - source
    1
     2
     3
     4
    diff --git a/doc/src/ayaka_bindings_types/config.rs.html b/doc/src/ayaka_bindings_types/config.rs.html
    index 7472bdcb..69ec2680 100644
    --- a/doc/src/ayaka_bindings_types/config.rs.html
    +++ b/doc/src/ayaka_bindings_types/config.rs.html
    @@ -1,6 +1,4 @@
    -config.rs - source
    -    
    1
    +config.rs - source
    1
     2
     3
     4
    diff --git a/doc/src/ayaka_bindings_types/fs.rs.html b/doc/src/ayaka_bindings_types/fs.rs.html
    index 404efd5c..38831986 100644
    --- a/doc/src/ayaka_bindings_types/fs.rs.html
    +++ b/doc/src/ayaka_bindings_types/fs.rs.html
    @@ -1,6 +1,4 @@
    -fs.rs - source
    -    
    1
    +fs.rs - source
    1
     2
     3
     4
    diff --git a/doc/src/ayaka_bindings_types/lib.rs.html b/doc/src/ayaka_bindings_types/lib.rs.html
    index 0f9a297b..e0625398 100644
    --- a/doc/src/ayaka_bindings_types/lib.rs.html
    +++ b/doc/src/ayaka_bindings_types/lib.rs.html
    @@ -1,6 +1,4 @@
    -lib.rs - source
    -    
    1
    +lib.rs - source
    1
     2
     3
     4
    diff --git a/doc/src/ayaka_bindings_types/logger.rs.html b/doc/src/ayaka_bindings_types/logger.rs.html
    index 4c7e40f8..8233d31a 100644
    --- a/doc/src/ayaka_bindings_types/logger.rs.html
    +++ b/doc/src/ayaka_bindings_types/logger.rs.html
    @@ -1,6 +1,4 @@
    -logger.rs - source
    -    
    1
    +logger.rs - source
    1
     2
     3
     4
    diff --git a/doc/src/ayaka_bindings_types/plugin.rs.html b/doc/src/ayaka_bindings_types/plugin.rs.html
    index ba11d7a1..560209f8 100644
    --- a/doc/src/ayaka_bindings_types/plugin.rs.html
    +++ b/doc/src/ayaka_bindings_types/plugin.rs.html
    @@ -1,6 +1,4 @@
    -plugin.rs - source
    -    
    1
    +plugin.rs - source
    1
     2
     3
     4
    diff --git a/doc/src/ayaka_model/lib.rs.html b/doc/src/ayaka_model/lib.rs.html
    index 4cb6acc3..fc6c2b17 100644
    --- a/doc/src/ayaka_model/lib.rs.html
    +++ b/doc/src/ayaka_model/lib.rs.html
    @@ -1,6 +1,4 @@
    -lib.rs - source
    -    
    1
    +lib.rs - source
    1
     2
     3
     4
    diff --git a/doc/src/ayaka_model/settings.rs.html b/doc/src/ayaka_model/settings.rs.html
    index 29daf5ea..c3100dea 100644
    --- a/doc/src/ayaka_model/settings.rs.html
    +++ b/doc/src/ayaka_model/settings.rs.html
    @@ -1,6 +1,4 @@
    -settings.rs - source
    -    
    1
    +settings.rs - source
    1
     2
     3
     4
    diff --git a/doc/src/ayaka_model/view_model.rs.html b/doc/src/ayaka_model/view_model.rs.html
    index 53571a5f..2aab0c41 100644
    --- a/doc/src/ayaka_model/view_model.rs.html
    +++ b/doc/src/ayaka_model/view_model.rs.html
    @@ -1,6 +1,4 @@
    -view_model.rs - source
    -    
    1
    +view_model.rs - source
    1
     2
     3
     4
    diff --git a/doc/src/ayaka_plugin/lib.rs.html b/doc/src/ayaka_plugin/lib.rs.html
    index f4189189..e4084152 100644
    --- a/doc/src/ayaka_plugin/lib.rs.html
    +++ b/doc/src/ayaka_plugin/lib.rs.html
    @@ -1,6 +1,4 @@
    -lib.rs - source
    -    
    1
    +lib.rs - source
    1
     2
     3
     4
    diff --git a/doc/src/ayaka_plugin_wasmer/lib.rs.html b/doc/src/ayaka_plugin_wasmer/lib.rs.html
    index e54033f7..fea24a16 100644
    --- a/doc/src/ayaka_plugin_wasmer/lib.rs.html
    +++ b/doc/src/ayaka_plugin_wasmer/lib.rs.html
    @@ -1,6 +1,4 @@
    -lib.rs - source
    -    
    1
    +lib.rs - source
    1
     2
     3
     4
    diff --git a/doc/src/ayaka_plugin_wasmi/lib.rs.html b/doc/src/ayaka_plugin_wasmi/lib.rs.html
    index becfabac..2d7ff38c 100644
    --- a/doc/src/ayaka_plugin_wasmi/lib.rs.html
    +++ b/doc/src/ayaka_plugin_wasmi/lib.rs.html
    @@ -1,6 +1,4 @@
    -lib.rs - source
    -    
    1
    +lib.rs - source
    1
     2
     3
     4
    diff --git a/doc/src/ayaka_plugin_wasmtime/lib.rs.html b/doc/src/ayaka_plugin_wasmtime/lib.rs.html
    index 095ca745..682d1b6b 100644
    --- a/doc/src/ayaka_plugin_wasmtime/lib.rs.html
    +++ b/doc/src/ayaka_plugin_wasmtime/lib.rs.html
    @@ -1,6 +1,4 @@
    -lib.rs - source
    -    
    1
    +lib.rs - source
    1
     2
     3
     4
    diff --git a/doc/src/ayaka_primitive/lib.rs.html b/doc/src/ayaka_primitive/lib.rs.html
    index 05e58e62..6de5c930 100644
    --- a/doc/src/ayaka_primitive/lib.rs.html
    +++ b/doc/src/ayaka_primitive/lib.rs.html
    @@ -1,6 +1,4 @@
    -lib.rs - source
    -    
    1
    +lib.rs - source
    1
     2
     3
     4
    diff --git a/doc/src/ayaka_primitive/line.rs.html b/doc/src/ayaka_primitive/line.rs.html
    index dc3d22e0..8513f7c2 100644
    --- a/doc/src/ayaka_primitive/line.rs.html
    +++ b/doc/src/ayaka_primitive/line.rs.html
    @@ -1,6 +1,4 @@
    -line.rs - source
    -    
    1
    +line.rs - source
    1
     2
     3
     4
    diff --git a/doc/src/ayaka_primitive/raw_value.rs.html b/doc/src/ayaka_primitive/raw_value.rs.html
    index da2d4e7b..7efdffc8 100644
    --- a/doc/src/ayaka_primitive/raw_value.rs.html
    +++ b/doc/src/ayaka_primitive/raw_value.rs.html
    @@ -1,6 +1,4 @@
    -raw_value.rs - source
    -    
    1
    +raw_value.rs - source
    1
     2
     3
     4
    diff --git a/doc/src/ayaka_primitive/text.rs.html b/doc/src/ayaka_primitive/text.rs.html
    index 481ae3a5..ebd98476 100644
    --- a/doc/src/ayaka_primitive/text.rs.html
    +++ b/doc/src/ayaka_primitive/text.rs.html
    @@ -1,6 +1,4 @@
    -text.rs - source
    -    
    1
    +text.rs - source
    1
     2
     3
     4
    diff --git a/doc/src/ayaka_runtime/config.rs.html b/doc/src/ayaka_runtime/config.rs.html
    index b17f0547..20957f3c 100644
    --- a/doc/src/ayaka_runtime/config.rs.html
    +++ b/doc/src/ayaka_runtime/config.rs.html
    @@ -1,6 +1,4 @@
    -config.rs - source
    -    
    1
    +config.rs - source
    1
     2
     3
     4
    diff --git a/doc/src/ayaka_runtime/context.rs.html b/doc/src/ayaka_runtime/context.rs.html
    index 4e9f1610..28667f6b 100644
    --- a/doc/src/ayaka_runtime/context.rs.html
    +++ b/doc/src/ayaka_runtime/context.rs.html
    @@ -1,6 +1,4 @@
    -context.rs - source
    -    
    1
    +context.rs - source
    1
     2
     3
     4
    diff --git a/doc/src/ayaka_runtime/lib.rs.html b/doc/src/ayaka_runtime/lib.rs.html
    index 286ee639..dcb6b189 100644
    --- a/doc/src/ayaka_runtime/lib.rs.html
    +++ b/doc/src/ayaka_runtime/lib.rs.html
    @@ -1,6 +1,4 @@
    -lib.rs - source
    -    
    1
    +lib.rs - source
    1
     2
     3
     4
    diff --git a/doc/src/ayaka_runtime/locale.rs.html b/doc/src/ayaka_runtime/locale.rs.html
    index bd59b00b..e25289f8 100644
    --- a/doc/src/ayaka_runtime/locale.rs.html
    +++ b/doc/src/ayaka_runtime/locale.rs.html
    @@ -1,6 +1,4 @@
    -locale.rs - source
    -    
    1
    +locale.rs - source
    1
     2
     3
     4
    diff --git a/doc/src/ayaka_runtime/plugin.rs.html b/doc/src/ayaka_runtime/plugin.rs.html
    index 3010968f..e0c8dde3 100644
    --- a/doc/src/ayaka_runtime/plugin.rs.html
    +++ b/doc/src/ayaka_runtime/plugin.rs.html
    @@ -1,6 +1,4 @@
    -plugin.rs - source
    -    
    1
    +plugin.rs - source
    1
     2
     3
     4
    diff --git a/doc/src/ayaka_runtime/plugin/fs_interop.rs.html b/doc/src/ayaka_runtime/plugin/fs_interop.rs.html
    index 2ac1f603..1baa4fee 100644
    --- a/doc/src/ayaka_runtime/plugin/fs_interop.rs.html
    +++ b/doc/src/ayaka_runtime/plugin/fs_interop.rs.html
    @@ -1,6 +1,4 @@
    -fs_interop.rs - source
    -    
    1
    +fs_interop.rs - source
    1
     2
     3
     4
    diff --git a/doc/src/ayaka_runtime/plugin/log_interop.rs.html b/doc/src/ayaka_runtime/plugin/log_interop.rs.html
    index 723214db..cbf02f32 100644
    --- a/doc/src/ayaka_runtime/plugin/log_interop.rs.html
    +++ b/doc/src/ayaka_runtime/plugin/log_interop.rs.html
    @@ -1,6 +1,4 @@
    -log_interop.rs - source
    -    
    1
    +log_interop.rs - source
    1
     2
     3
     4
    diff --git a/doc/src/ayaka_runtime/plugin/plugin_interop.rs.html b/doc/src/ayaka_runtime/plugin/plugin_interop.rs.html
    index db242a56..000f2717 100644
    --- a/doc/src/ayaka_runtime/plugin/plugin_interop.rs.html
    +++ b/doc/src/ayaka_runtime/plugin/plugin_interop.rs.html
    @@ -1,6 +1,4 @@
    -plugin_interop.rs - source
    -    
    1
    +plugin_interop.rs - source
    1
     2
     3
     4
    diff --git a/doc/src/ayaka_runtime/plugin/rand_interop.rs.html b/doc/src/ayaka_runtime/plugin/rand_interop.rs.html
    index 9fe97045..c616fa21 100644
    --- a/doc/src/ayaka_runtime/plugin/rand_interop.rs.html
    +++ b/doc/src/ayaka_runtime/plugin/rand_interop.rs.html
    @@ -1,6 +1,4 @@
    -rand_interop.rs - source
    -    
    1
    +rand_interop.rs - source
    1
     2
     3
     4
    diff --git a/doc/src/ayaka_runtime/plugin/script_interop.rs.html b/doc/src/ayaka_runtime/plugin/script_interop.rs.html
    index 9cbd7c75..441fec49 100644
    --- a/doc/src/ayaka_runtime/plugin/script_interop.rs.html
    +++ b/doc/src/ayaka_runtime/plugin/script_interop.rs.html
    @@ -1,6 +1,4 @@
    -script_interop.rs - source
    -    
    1
    +script_interop.rs - source
    1
     2
     3
     4
    diff --git a/doc/src/ayaka_script/home/runner/work/Ayaka/Ayaka/utils/target/debug/build/ayaka-script-4cabf81cb43ba08a/out/grammer.rs.html b/doc/src/ayaka_script/home/runner/work/Ayaka/Ayaka/utils/target/debug/build/ayaka-script-cf0b8843a126ff6c/out/grammer.rs.html
    similarity index 99%
    rename from doc/src/ayaka_script/home/runner/work/Ayaka/Ayaka/utils/target/debug/build/ayaka-script-4cabf81cb43ba08a/out/grammer.rs.html
    rename to doc/src/ayaka_script/home/runner/work/Ayaka/Ayaka/utils/target/debug/build/ayaka-script-cf0b8843a126ff6c/out/grammer.rs.html
    index e09d8e4b..40e75baf 100644
    --- a/doc/src/ayaka_script/home/runner/work/Ayaka/Ayaka/utils/target/debug/build/ayaka-script-4cabf81cb43ba08a/out/grammer.rs.html
    +++ b/doc/src/ayaka_script/home/runner/work/Ayaka/Ayaka/utils/target/debug/build/ayaka-script-cf0b8843a126ff6c/out/grammer.rs.html
    @@ -1,6 +1,4 @@
    -grammer.rs - source
    -    
    1
    +grammer.rs - source
    1
     2
     3
     4
    diff --git a/doc/src/ayaka_script/lib.rs.html b/doc/src/ayaka_script/lib.rs.html
    index 7f8ea2da..631d3b8c 100644
    --- a/doc/src/ayaka_script/lib.rs.html
    +++ b/doc/src/ayaka_script/lib.rs.html
    @@ -1,6 +1,4 @@
    -lib.rs - source
    -    
    1
    +lib.rs - source
    1
     2
     3
     4
    diff --git a/doc/src/ayaka_script/parser.rs.html b/doc/src/ayaka_script/parser.rs.html
    index 82435145..00d4f6b9 100644
    --- a/doc/src/ayaka_script/parser.rs.html
    +++ b/doc/src/ayaka_script/parser.rs.html
    @@ -1,6 +1,4 @@
    -parser.rs - source
    -    
    1
    +parser.rs - source
    1
     2
     3
     4
    diff --git a/doc/static.files/clipboard-7571035ce49a181d.svg b/doc/static.files/clipboard-7571035ce49a181d.svg
    deleted file mode 100644
    index 8adbd996..00000000
    --- a/doc/static.files/clipboard-7571035ce49a181d.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -
    diff --git a/doc/static.files/favicon-16x16-8b506e7a72182f1c.png b/doc/static.files/favicon-16x16-8b506e7a72182f1c.png
    deleted file mode 100644
    index ea4b45ca..00000000
    Binary files a/doc/static.files/favicon-16x16-8b506e7a72182f1c.png and /dev/null differ
    diff --git a/doc/static.files/main-12cf3b4f4f9dc36d.js b/doc/static.files/main-12cf3b4f4f9dc36d.js
    deleted file mode 100644
    index 1d8d1ccb..00000000
    --- a/doc/static.files/main-12cf3b4f4f9dc36d.js
    +++ /dev/null
    @@ -1,11 +0,0 @@
    -"use strict";window.RUSTDOC_TOOLTIP_HOVER_MS=300;window.RUSTDOC_TOOLTIP_HOVER_EXIT_MS=450;function resourcePath(basename,extension){return getVar("root-path")+basename+getVar("resource-suffix")+extension}function hideMain(){addClass(document.getElementById(MAIN_ID),"hidden")}function showMain(){removeClass(document.getElementById(MAIN_ID),"hidden")}function blurHandler(event,parentElem,hideCallback){if(!parentElem.contains(document.activeElement)&&!parentElem.contains(event.relatedTarget)){hideCallback()}}window.rootPath=getVar("root-path");window.currentCrate=getVar("current-crate");function setMobileTopbar(){const mobileTopbar=document.querySelector(".mobile-topbar");const locationTitle=document.querySelector(".sidebar h2.location");if(mobileTopbar){const mobileTitle=document.createElement("h2");mobileTitle.className="location";if(hasClass(document.querySelector(".rustdoc"),"crate")){mobileTitle.innerHTML=`Crate ${window.currentCrate}`}else if(locationTitle){mobileTitle.innerHTML=locationTitle.innerHTML}mobileTopbar.appendChild(mobileTitle)}}function getVirtualKey(ev){if("key"in ev&&typeof ev.key!=="undefined"){return ev.key}const c=ev.charCode||ev.keyCode;if(c===27){return"Escape"}return String.fromCharCode(c)}const MAIN_ID="main-content";const SETTINGS_BUTTON_ID="settings-menu";const ALTERNATIVE_DISPLAY_ID="alternative-display";const NOT_DISPLAYED_ID="not-displayed";const HELP_BUTTON_ID="help-button";function getSettingsButton(){return document.getElementById(SETTINGS_BUTTON_ID)}function getHelpButton(){return document.getElementById(HELP_BUTTON_ID)}function getNakedUrl(){return window.location.href.split("?")[0].split("#")[0]}function insertAfter(newNode,referenceNode){referenceNode.parentNode.insertBefore(newNode,referenceNode.nextSibling)}function getOrCreateSection(id,classes){let el=document.getElementById(id);if(!el){el=document.createElement("section");el.id=id;el.className=classes;insertAfter(el,document.getElementById(MAIN_ID))}return el}function getAlternativeDisplayElem(){return getOrCreateSection(ALTERNATIVE_DISPLAY_ID,"content hidden")}function getNotDisplayedElem(){return getOrCreateSection(NOT_DISPLAYED_ID,"hidden")}function switchDisplayedElement(elemToDisplay){const el=getAlternativeDisplayElem();if(el.children.length>0){getNotDisplayedElem().appendChild(el.firstElementChild)}if(elemToDisplay===null){addClass(el,"hidden");showMain();return}el.appendChild(elemToDisplay);hideMain();removeClass(el,"hidden")}function browserSupportsHistoryApi(){return window.history&&typeof window.history.pushState==="function"}function preLoadCss(cssUrl){const link=document.createElement("link");link.href=cssUrl;link.rel="preload";link.as="style";document.getElementsByTagName("head")[0].appendChild(link)}(function(){const isHelpPage=window.location.pathname.endsWith("/help.html");function loadScript(url,errorCallback){const script=document.createElement("script");script.src=url;if(errorCallback!==undefined){script.onerror=errorCallback}document.head.append(script)}getSettingsButton().onclick=event=>{if(event.ctrlKey||event.altKey||event.metaKey){return}window.hideAllModals(false);addClass(getSettingsButton(),"rotate");event.preventDefault();loadScript(getVar("static-root-path")+getVar("settings-js"));setTimeout(()=>{const themes=getVar("themes").split(",");for(const theme of themes){if(theme!==""){preLoadCss(getVar("root-path")+theme+".css")}}},0)};window.searchState={loadingText:"Loading search results...",input:document.getElementsByClassName("search-input")[0],outputElement:()=>{let el=document.getElementById("search");if(!el){el=document.createElement("section");el.id="search";getNotDisplayedElem().appendChild(el)}return el},title:document.title,titleBeforeSearch:document.title,timeout:null,currentTab:0,focusedByTab:[null,null,null],clearInputTimeout:()=>{if(searchState.timeout!==null){clearTimeout(searchState.timeout);searchState.timeout=null}},isDisplayed:()=>searchState.outputElement().parentElement.id===ALTERNATIVE_DISPLAY_ID,focus:()=>{searchState.input.focus()},defocus:()=>{searchState.input.blur()},showResults:search=>{if(search===null||typeof search==="undefined"){search=searchState.outputElement()}switchDisplayedElement(search);searchState.mouseMovedAfterSearch=false;document.title=searchState.title},removeQueryParameters:()=>{document.title=searchState.titleBeforeSearch;if(browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.hash)}},hideResults:()=>{switchDisplayedElement(null);searchState.removeQueryParameters()},getQueryStringParams:()=>{const params={};window.location.search.substring(1).split("&").map(s=>{const pair=s.split("=").map(x=>x.replace(/\+/g," "));params[decodeURIComponent(pair[0])]=typeof pair[1]==="undefined"?null:decodeURIComponent(pair[1])});return params},setup:()=>{const search_input=searchState.input;if(!searchState.input){return}let searchLoaded=false;function sendSearchForm(){document.getElementsByClassName("search-form")[0].submit()}function loadSearch(){if(!searchLoaded){searchLoaded=true;loadScript(getVar("static-root-path")+getVar("search-js"),sendSearchForm);loadScript(resourcePath("search-index",".js"),sendSearchForm)}}search_input.addEventListener("focus",()=>{search_input.origPlaceholder=search_input.placeholder;search_input.placeholder="Type your search here.";loadSearch()});if(search_input.value!==""){loadSearch()}const params=searchState.getQueryStringParams();if(params.search!==undefined){searchState.setLoadingSearch();loadSearch()}},setLoadingSearch:()=>{const search=searchState.outputElement();search.innerHTML="

    "+searchState.loadingText+"

    ";searchState.showResults(search)},};const toggleAllDocsId="toggle-all-docs";let savedHash="";function handleHashes(ev){if(ev!==null&&searchState.isDisplayed()&&ev.newURL){switchDisplayedElement(null);const hash=ev.newURL.slice(ev.newURL.indexOf("#")+1);if(browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.search+"#"+hash)}const elem=document.getElementById(hash);if(elem){elem.scrollIntoView()}}const pageId=window.location.hash.replace(/^#/,"");if(savedHash!==pageId){savedHash=pageId;if(pageId!==""){expandSection(pageId)}}if(savedHash.startsWith("impl-")){const splitAt=savedHash.indexOf("/");if(splitAt!==-1){const implId=savedHash.slice(0,splitAt);const assocId=savedHash.slice(splitAt+1);const implElem=document.getElementById(implId);if(implElem&&implElem.parentElement.tagName==="SUMMARY"&&implElem.parentElement.parentElement.tagName==="DETAILS"){onEachLazy(implElem.parentElement.parentElement.querySelectorAll(`[id^="${assocId}"]`),item=>{const numbered=/([^-]+)-([0-9]+)/.exec(item.id);if(item.id===assocId||(numbered&&numbered[1]===assocId)){openParentDetails(item);item.scrollIntoView();setTimeout(()=>{window.location.replace("#"+item.id)},0)}})}}}}function onHashChange(ev){hideSidebar();handleHashes(ev)}function openParentDetails(elem){while(elem){if(elem.tagName==="DETAILS"){elem.open=true}elem=elem.parentNode}}function expandSection(id){openParentDetails(document.getElementById(id))}function handleEscape(ev){searchState.clearInputTimeout();searchState.hideResults();ev.preventDefault();searchState.defocus();window.hideAllModals(true)}function handleShortcut(ev){const disableShortcuts=getSettingValue("disable-shortcuts")==="true";if(ev.ctrlKey||ev.altKey||ev.metaKey||disableShortcuts){return}if(document.activeElement.tagName==="INPUT"&&document.activeElement.type!=="checkbox"&&document.activeElement.type!=="radio"){switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break}}else{switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break;case"s":case"S":ev.preventDefault();searchState.focus();break;case"+":ev.preventDefault();expandAllDocs();break;case"-":ev.preventDefault();collapseAllDocs();break;case"?":showHelp();break;default:break}}}document.addEventListener("keypress",handleShortcut);document.addEventListener("keydown",handleShortcut);function addSidebarItems(){if(!window.SIDEBAR_ITEMS){return}const sidebar=document.getElementsByClassName("sidebar-elems")[0];function block(shortty,id,longty){const filtered=window.SIDEBAR_ITEMS[shortty];if(!filtered){return}const modpath=hasClass(document.querySelector(".rustdoc"),"mod")?"../":"";const h3=document.createElement("h3");h3.innerHTML=`${longty}`;const ul=document.createElement("ul");ul.className="block "+shortty;for(const name of filtered){let path;if(shortty==="mod"){path=`${modpath}${name}/index.html`}else{path=`${modpath}${shortty}.${name}.html`}let current_page=document.location.href.toString();if(current_page.endsWith("/")){current_page+="index.html"}const link=document.createElement("a");link.href=path;if(path===current_page){link.className="current"}link.textContent=name;const li=document.createElement("li");li.appendChild(link);ul.appendChild(li)}sidebar.appendChild(h3);sidebar.appendChild(ul)}if(sidebar){block("primitive","primitives","Primitive Types");block("mod","modules","Modules");block("macro","macros","Macros");block("struct","structs","Structs");block("enum","enums","Enums");block("constant","constants","Constants");block("static","static","Statics");block("trait","traits","Traits");block("fn","functions","Functions");block("type","types","Type Aliases");block("union","unions","Unions");block("foreigntype","foreign-types","Foreign Types");block("keyword","keywords","Keywords");block("opaque","opaque-types","Opaque Types");block("attr","attributes","Attribute Macros");block("derive","derives","Derive Macros");block("traitalias","trait-aliases","Trait Aliases")}}window.register_implementors=imp=>{const implementors=document.getElementById("implementors-list");const synthetic_implementors=document.getElementById("synthetic-implementors-list");const inlined_types=new Set();const TEXT_IDX=0;const SYNTHETIC_IDX=1;const TYPES_IDX=2;if(synthetic_implementors){onEachLazy(synthetic_implementors.getElementsByClassName("impl"),el=>{const aliases=el.getAttribute("data-aliases");if(!aliases){return}aliases.split(",").forEach(alias=>{inlined_types.add(alias)})})}let currentNbImpls=implementors.getElementsByClassName("impl").length;const traitName=document.querySelector(".main-heading h1 > .trait").textContent;const baseIdName="impl-"+traitName+"-";const libs=Object.getOwnPropertyNames(imp);const script=document.querySelector("script[data-ignore-extern-crates]");const ignoreExternCrates=new Set((script?script.getAttribute("data-ignore-extern-crates"):"").split(","));for(const lib of libs){if(lib===window.currentCrate||ignoreExternCrates.has(lib)){continue}const structs=imp[lib];struct_loop:for(const struct of structs){const list=struct[SYNTHETIC_IDX]?synthetic_implementors:implementors;if(struct[SYNTHETIC_IDX]){for(const struct_type of struct[TYPES_IDX]){if(inlined_types.has(struct_type)){continue struct_loop}inlined_types.add(struct_type)}}const code=document.createElement("h3");code.innerHTML=struct[TEXT_IDX];addClass(code,"code-header");onEachLazy(code.getElementsByTagName("a"),elem=>{const href=elem.getAttribute("href");if(href&&!href.startsWith("#")&&!/^(?:[a-z+]+:)?\/\//.test(href)){elem.setAttribute("href",window.rootPath+href)}});const currentId=baseIdName+currentNbImpls;const anchor=document.createElement("a");anchor.href="#"+currentId;addClass(anchor,"anchor");const display=document.createElement("div");display.id=currentId;addClass(display,"impl");display.appendChild(anchor);display.appendChild(code);list.appendChild(display);currentNbImpls+=1}}};if(window.pending_implementors){window.register_implementors(window.pending_implementors)}window.register_type_impls=imp=>{if(!imp||!imp[window.currentCrate]){return}window.pending_type_impls=null;const idMap=new Map();let implementations=document.getElementById("implementations-list");let trait_implementations=document.getElementById("trait-implementations-list");let trait_implementations_header=document.getElementById("trait-implementations");const script=document.querySelector("script[data-self-path]");const selfPath=script?script.getAttribute("data-self-path"):null;const mainContent=document.querySelector("#main-content");const sidebarSection=document.querySelector(".sidebar section");let methods=document.querySelector(".sidebar .block.method");let associatedTypes=document.querySelector(".sidebar .block.associatedtype");let associatedConstants=document.querySelector(".sidebar .block.associatedconstant");let sidebarTraitList=document.querySelector(".sidebar .block.trait-implementation");for(const impList of imp[window.currentCrate]){const types=impList.slice(2);const text=impList[0];const isTrait=impList[1]!==0;const traitName=impList[1];if(types.indexOf(selfPath)===-1){continue}let outputList=isTrait?trait_implementations:implementations;if(outputList===null){const outputListName=isTrait?"Trait Implementations":"Implementations";const outputListId=isTrait?"trait-implementations-list":"implementations-list";const outputListHeaderId=isTrait?"trait-implementations":"implementations";const outputListHeader=document.createElement("h2");outputListHeader.id=outputListHeaderId;outputListHeader.innerText=outputListName;outputList=document.createElement("div");outputList.id=outputListId;if(isTrait){const link=document.createElement("a");link.href=`#${outputListHeaderId}`;link.innerText="Trait Implementations";const h=document.createElement("h3");h.appendChild(link);trait_implementations=outputList;trait_implementations_header=outputListHeader;sidebarSection.appendChild(h);sidebarTraitList=document.createElement("ul");sidebarTraitList.className="block trait-implementation";sidebarSection.appendChild(sidebarTraitList);mainContent.appendChild(outputListHeader);mainContent.appendChild(outputList)}else{implementations=outputList;if(trait_implementations){mainContent.insertBefore(outputListHeader,trait_implementations_header);mainContent.insertBefore(outputList,trait_implementations_header)}else{const mainContent=document.querySelector("#main-content");mainContent.appendChild(outputListHeader);mainContent.appendChild(outputList)}}}const template=document.createElement("template");template.innerHTML=text;onEachLazy(template.content.querySelectorAll("a"),elem=>{const href=elem.getAttribute("href");if(href&&!href.startsWith("#")&&!/^(?:[a-z+]+:)?\/\//.test(href)){elem.setAttribute("href",window.rootPath+href)}});onEachLazy(template.content.querySelectorAll("[id]"),el=>{let i=0;if(idMap.has(el.id)){i=idMap.get(el.id)}else if(document.getElementById(el.id)){i=1;while(document.getElementById(`${el.id}-${2 * i}`)){i=2*i}while(document.getElementById(`${el.id}-${i}`)){i+=1}}if(i!==0){const oldHref=`#${el.id}`;const newHref=`#${el.id}-${i}`;el.id=`${el.id}-${i}`;onEachLazy(template.content.querySelectorAll("a[href]"),link=>{if(link.getAttribute("href")===oldHref){link.href=newHref}})}idMap.set(el.id,i+1)});const templateAssocItems=template.content.querySelectorAll("section.tymethod, "+"section.method, section.associatedtype, section.associatedconstant");if(isTrait){const li=document.createElement("li");const a=document.createElement("a");a.href=`#${template.content.querySelector(".impl").id}`;a.textContent=traitName;li.appendChild(a);sidebarTraitList.append(li)}else{onEachLazy(templateAssocItems,item=>{let block=hasClass(item,"associatedtype")?associatedTypes:(hasClass(item,"associatedconstant")?associatedConstants:(methods));if(!block){const blockTitle=hasClass(item,"associatedtype")?"Associated Types":(hasClass(item,"associatedconstant")?"Associated Constants":("Methods"));const blockClass=hasClass(item,"associatedtype")?"associatedtype":(hasClass(item,"associatedconstant")?"associatedconstant":("method"));const blockHeader=document.createElement("h3");const blockLink=document.createElement("a");blockLink.href="#implementations";blockLink.innerText=blockTitle;blockHeader.appendChild(blockLink);block=document.createElement("ul");block.className=`block ${blockClass}`;const insertionReference=methods||sidebarTraitList;if(insertionReference){const insertionReferenceH=insertionReference.previousElementSibling;sidebarSection.insertBefore(blockHeader,insertionReferenceH);sidebarSection.insertBefore(block,insertionReferenceH)}else{sidebarSection.appendChild(blockHeader);sidebarSection.appendChild(block)}if(hasClass(item,"associatedtype")){associatedTypes=block}else if(hasClass(item,"associatedconstant")){associatedConstants=block}else{methods=block}}const li=document.createElement("li");const a=document.createElement("a");a.innerText=item.id.split("-")[0].split(".")[1];a.href=`#${item.id}`;li.appendChild(a);block.appendChild(li)})}outputList.appendChild(template.content)}for(const list of[methods,associatedTypes,associatedConstants,sidebarTraitList]){if(!list){continue}const newChildren=Array.prototype.slice.call(list.children);newChildren.sort((a,b)=>{const aI=a.innerText;const bI=b.innerText;return aIbI?1:0});list.replaceChildren(...newChildren)}};if(window.pending_type_impls){window.register_type_impls(window.pending_type_impls)}function addSidebarCrates(){if(!window.ALL_CRATES){return}const sidebarElems=document.getElementsByClassName("sidebar-elems")[0];if(!sidebarElems){return}const h3=document.createElement("h3");h3.innerHTML="Crates";const ul=document.createElement("ul");ul.className="block crate";for(const crate of window.ALL_CRATES){const link=document.createElement("a");link.href=window.rootPath+crate+"/index.html";link.textContent=crate;const li=document.createElement("li");if(window.rootPath!=="./"&&crate===window.currentCrate){li.className="current"}li.appendChild(link);ul.appendChild(li)}sidebarElems.appendChild(h3);sidebarElems.appendChild(ul)}function expandAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);removeClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("toggle"),e=>{if(!hasClass(e,"type-contents-toggle")&&!hasClass(e,"more-examples-toggle")){e.open=true}});innerToggle.title="collapse all docs";innerToggle.children[0].innerText="\u2212"}function collapseAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);addClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("toggle"),e=>{if(e.parentNode.id!=="implementations-list"||(!hasClass(e,"implementors-toggle")&&!hasClass(e,"type-contents-toggle"))){e.open=false}});innerToggle.title="expand all docs";innerToggle.children[0].innerText="+"}function toggleAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);if(!innerToggle){return}if(hasClass(innerToggle,"will-expand")){expandAllDocs()}else{collapseAllDocs()}}(function(){const toggles=document.getElementById(toggleAllDocsId);if(toggles){toggles.onclick=toggleAllDocs}const hideMethodDocs=getSettingValue("auto-hide-method-docs")==="true";const hideImplementations=getSettingValue("auto-hide-trait-implementations")==="true";const hideLargeItemContents=getSettingValue("auto-hide-large-items")!=="false";function setImplementorsTogglesOpen(id,open){const list=document.getElementById(id);if(list!==null){onEachLazy(list.getElementsByClassName("implementors-toggle"),e=>{e.open=open})}}if(hideImplementations){setImplementorsTogglesOpen("trait-implementations-list",false);setImplementorsTogglesOpen("blanket-implementations-list",false)}onEachLazy(document.getElementsByClassName("toggle"),e=>{if(!hideLargeItemContents&&hasClass(e,"type-contents-toggle")){e.open=true}if(hideMethodDocs&&hasClass(e,"method-toggle")){e.open=false}})}());window.rustdoc_add_line_numbers_to_examples=()=>{onEachLazy(document.getElementsByClassName("rust-example-rendered"),x=>{const parent=x.parentNode;const line_numbers=parent.querySelectorAll(".example-line-numbers");if(line_numbers.length>0){return}const count=x.textContent.split("\n").length;const elems=[];for(let i=0;i{onEachLazy(document.getElementsByClassName("rust-example-rendered"),x=>{const parent=x.parentNode;const line_numbers=parent.querySelectorAll(".example-line-numbers");for(const node of line_numbers){parent.removeChild(node)}})};if(getSettingValue("line-numbers")==="true"){window.rustdoc_add_line_numbers_to_examples()}function showSidebar(){window.hideAllModals(false);const sidebar=document.getElementsByClassName("sidebar")[0];addClass(sidebar,"shown")}function hideSidebar(){const sidebar=document.getElementsByClassName("sidebar")[0];removeClass(sidebar,"shown")}window.addEventListener("resize",()=>{if(window.CURRENT_TOOLTIP_ELEMENT){const base=window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE;const force_visible=base.TOOLTIP_FORCE_VISIBLE;hideTooltip(false);if(force_visible){showTooltip(base);base.TOOLTIP_FORCE_VISIBLE=true}}});const mainElem=document.getElementById(MAIN_ID);if(mainElem){mainElem.addEventListener("click",hideSidebar)}onEachLazy(document.querySelectorAll("a[href^='#']"),el=>{el.addEventListener("click",()=>{expandSection(el.hash.slice(1));hideSidebar()})});onEachLazy(document.querySelectorAll(".toggle > summary:not(.hideme)"),el=>{el.addEventListener("click",e=>{if(e.target.tagName!=="SUMMARY"&&e.target.tagName!=="A"){e.preventDefault()}})});function showTooltip(e){const notable_ty=e.getAttribute("data-notable-ty");if(!window.NOTABLE_TRAITS&¬able_ty){const data=document.getElementById("notable-traits-data");if(data){window.NOTABLE_TRAITS=JSON.parse(data.innerText)}else{throw new Error("showTooltip() called with notable without any notable traits!")}}if(window.CURRENT_TOOLTIP_ELEMENT&&window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE===e){clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);return}window.hideAllModals(false);const wrapper=document.createElement("div");if(notable_ty){wrapper.innerHTML="
    "+window.NOTABLE_TRAITS[notable_ty]+"
    "}else{if(e.getAttribute("title")!==null){e.setAttribute("data-title",e.getAttribute("title"));e.removeAttribute("title")}if(e.getAttribute("data-title")!==null){const titleContent=document.createElement("div");titleContent.className="content";titleContent.appendChild(document.createTextNode(e.getAttribute("data-title")));wrapper.appendChild(titleContent)}}wrapper.className="tooltip popover";const focusCatcher=document.createElement("div");focusCatcher.setAttribute("tabindex","0");focusCatcher.onfocus=hideTooltip;wrapper.appendChild(focusCatcher);const pos=e.getBoundingClientRect();wrapper.style.top=(pos.top+window.scrollY+pos.height)+"px";wrapper.style.left=0;wrapper.style.right="auto";wrapper.style.visibility="hidden";const body=document.getElementsByTagName("body")[0];body.appendChild(wrapper);const wrapperPos=wrapper.getBoundingClientRect();const finalPos=pos.left+window.scrollX-wrapperPos.width+24;if(finalPos>0){wrapper.style.left=finalPos+"px"}else{wrapper.style.setProperty("--popover-arrow-offset",(wrapperPos.right-pos.right+4)+"px")}wrapper.style.visibility="";window.CURRENT_TOOLTIP_ELEMENT=wrapper;window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE=e;clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);wrapper.onpointerenter=ev=>{if(ev.pointerType!=="mouse"){return}clearTooltipHoverTimeout(e)};wrapper.onpointerleave=ev=>{if(ev.pointerType!=="mouse"){return}if(!e.TOOLTIP_FORCE_VISIBLE&&!e.contains(ev.relatedTarget)){setTooltipHoverTimeout(e,false);addClass(wrapper,"fade-out")}}}function setTooltipHoverTimeout(element,show){clearTooltipHoverTimeout(element);if(!show&&!window.CURRENT_TOOLTIP_ELEMENT){return}if(show&&window.CURRENT_TOOLTIP_ELEMENT){return}if(window.CURRENT_TOOLTIP_ELEMENT&&window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE!==element){return}element.TOOLTIP_HOVER_TIMEOUT=setTimeout(()=>{if(show){showTooltip(element)}else if(!element.TOOLTIP_FORCE_VISIBLE){hideTooltip(false)}},show?window.RUSTDOC_TOOLTIP_HOVER_MS:window.RUSTDOC_TOOLTIP_HOVER_EXIT_MS)}function clearTooltipHoverTimeout(element){if(element.TOOLTIP_HOVER_TIMEOUT!==undefined){removeClass(window.CURRENT_TOOLTIP_ELEMENT,"fade-out");clearTimeout(element.TOOLTIP_HOVER_TIMEOUT);delete element.TOOLTIP_HOVER_TIMEOUT}}function tooltipBlurHandler(event){if(window.CURRENT_TOOLTIP_ELEMENT&&!window.CURRENT_TOOLTIP_ELEMENT.contains(document.activeElement)&&!window.CURRENT_TOOLTIP_ELEMENT.contains(event.relatedTarget)&&!window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.contains(document.activeElement)&&!window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.contains(event.relatedTarget)){setTimeout(()=>hideTooltip(false),0)}}function hideTooltip(focus){if(window.CURRENT_TOOLTIP_ELEMENT){if(window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.TOOLTIP_FORCE_VISIBLE){if(focus){window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.focus()}window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.TOOLTIP_FORCE_VISIBLE=false}const body=document.getElementsByTagName("body")[0];body.removeChild(window.CURRENT_TOOLTIP_ELEMENT);clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);window.CURRENT_TOOLTIP_ELEMENT=null}}onEachLazy(document.getElementsByClassName("tooltip"),e=>{e.onclick=()=>{e.TOOLTIP_FORCE_VISIBLE=e.TOOLTIP_FORCE_VISIBLE?false:true;if(window.CURRENT_TOOLTIP_ELEMENT&&!e.TOOLTIP_FORCE_VISIBLE){hideTooltip(true)}else{showTooltip(e);window.CURRENT_TOOLTIP_ELEMENT.setAttribute("tabindex","0");window.CURRENT_TOOLTIP_ELEMENT.focus();window.CURRENT_TOOLTIP_ELEMENT.onblur=tooltipBlurHandler}return false};e.onpointerenter=ev=>{if(ev.pointerType!=="mouse"){return}setTooltipHoverTimeout(e,true)};e.onpointermove=ev=>{if(ev.pointerType!=="mouse"){return}setTooltipHoverTimeout(e,true)};e.onpointerleave=ev=>{if(ev.pointerType!=="mouse"){return}if(!e.TOOLTIP_FORCE_VISIBLE&&window.CURRENT_TOOLTIP_ELEMENT&&!window.CURRENT_TOOLTIP_ELEMENT.contains(ev.relatedTarget)){setTooltipHoverTimeout(e,false);addClass(window.CURRENT_TOOLTIP_ELEMENT,"fade-out")}}});const sidebar_menu_toggle=document.getElementsByClassName("sidebar-menu-toggle")[0];if(sidebar_menu_toggle){sidebar_menu_toggle.addEventListener("click",()=>{const sidebar=document.getElementsByClassName("sidebar")[0];if(!hasClass(sidebar,"shown")){showSidebar()}else{hideSidebar()}})}function helpBlurHandler(event){blurHandler(event,getHelpButton(),window.hidePopoverMenus)}function buildHelpMenu(){const book_info=document.createElement("span");const channel=getVar("channel");book_info.className="top";book_info.innerHTML=`You can find more information in \ -the rustdoc book.`;const shortcuts=[["?","Show this help dialog"],["S","Focus the search field"],["↑","Move up in search results"],["↓","Move down in search results"],["← / →","Switch result tab (when results focused)"],["⏎","Go to active search result"],["+","Expand all sections"],["-","Collapse all sections"],].map(x=>"
    "+x[0].split(" ").map((y,index)=>((index&1)===0?""+y+"":" "+y+" ")).join("")+"
    "+x[1]+"
    ").join("");const div_shortcuts=document.createElement("div");addClass(div_shortcuts,"shortcuts");div_shortcuts.innerHTML="

    Keyboard Shortcuts

    "+shortcuts+"
    ";const infos=[`For a full list of all search features, take a look here.`,"Prefix searches with a type followed by a colon (e.g., fn:) to \ - restrict the search to a given item kind.","Accepted kinds are: fn, mod, struct, \ - enum, trait, type, macro, \ - and const.","Search functions by type signature (e.g., vec -> usize or \ - -> vec or String, enum:Cow -> bool)","You can look for items with an exact name by putting double quotes around \ - your request: \"string\"","Look for functions that accept or return \ - slices and \ - arrays by writing \ - square brackets (e.g., -> [u8] or [] -> Option)","Look for items inside another one by searching for a path: vec::Vec",].map(x=>"

    "+x+"

    ").join("");const div_infos=document.createElement("div");addClass(div_infos,"infos");div_infos.innerHTML="

    Search Tricks

    "+infos;const rustdoc_version=document.createElement("span");rustdoc_version.className="bottom";const rustdoc_version_code=document.createElement("code");rustdoc_version_code.innerText="rustdoc "+getVar("rustdoc-version");rustdoc_version.appendChild(rustdoc_version_code);const container=document.createElement("div");if(!isHelpPage){container.className="popover"}container.id="help";container.style.display="none";const side_by_side=document.createElement("div");side_by_side.className="side-by-side";side_by_side.appendChild(div_shortcuts);side_by_side.appendChild(div_infos);container.appendChild(book_info);container.appendChild(side_by_side);container.appendChild(rustdoc_version);if(isHelpPage){const help_section=document.createElement("section");help_section.appendChild(container);document.getElementById("main-content").appendChild(help_section);container.style.display="block"}else{const help_button=getHelpButton();help_button.appendChild(container);container.onblur=helpBlurHandler;help_button.onblur=helpBlurHandler;help_button.children[0].onblur=helpBlurHandler}return container}window.hideAllModals=switchFocus=>{hideSidebar();window.hidePopoverMenus();hideTooltip(switchFocus)};window.hidePopoverMenus=()=>{onEachLazy(document.querySelectorAll(".search-form .popover"),elem=>{elem.style.display="none"})};function getHelpMenu(buildNeeded){let menu=getHelpButton().querySelector(".popover");if(!menu&&buildNeeded){menu=buildHelpMenu()}return menu}function showHelp(){getHelpButton().querySelector("a").focus();const menu=getHelpMenu(true);if(menu.style.display==="none"){window.hideAllModals();menu.style.display=""}}if(isHelpPage){showHelp();document.querySelector(`#${HELP_BUTTON_ID} > a`).addEventListener("click",event=>{const target=event.target;if(target.tagName!=="A"||target.parentElement.id!==HELP_BUTTON_ID||event.ctrlKey||event.altKey||event.metaKey){return}event.preventDefault()})}else{document.querySelector(`#${HELP_BUTTON_ID} > a`).addEventListener("click",event=>{const target=event.target;if(target.tagName!=="A"||target.parentElement.id!==HELP_BUTTON_ID||event.ctrlKey||event.altKey||event.metaKey){return}event.preventDefault();const menu=getHelpMenu(true);const shouldShowHelp=menu.style.display==="none";if(shouldShowHelp){showHelp()}else{window.hidePopoverMenus()}})}setMobileTopbar();addSidebarItems();addSidebarCrates();onHashChange(null);window.addEventListener("hashchange",onHashChange);searchState.setup()}());(function(){const SIDEBAR_MIN=100;const SIDEBAR_MAX=500;const RUSTDOC_MOBILE_BREAKPOINT=700;const BODY_MIN=400;const SIDEBAR_VANISH_THRESHOLD=SIDEBAR_MIN/2;const sidebarButton=document.getElementById("sidebar-button");if(sidebarButton){sidebarButton.addEventListener("click",e=>{removeClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","false");if(document.querySelector(".rustdoc.src")){window.rustdocToggleSrcSidebar()}e.preventDefault()})}let currentPointerId=null;let desiredSidebarSize=null;let pendingSidebarResizingFrame=false;const resizer=document.querySelector(".sidebar-resizer");const sidebar=document.querySelector(".sidebar");if(!resizer||!sidebar){return}const isSrcPage=hasClass(document.body,"src");function hideSidebar(){if(isSrcPage){window.rustdocCloseSourceSidebar();updateLocalStorage("src-sidebar-width",null);document.documentElement.style.removeProperty("--src-sidebar-width");sidebar.style.removeProperty("--src-sidebar-width");resizer.style.removeProperty("--src-sidebar-width")}else{addClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","true");updateLocalStorage("desktop-sidebar-width",null);document.documentElement.style.removeProperty("--desktop-sidebar-width");sidebar.style.removeProperty("--desktop-sidebar-width");resizer.style.removeProperty("--desktop-sidebar-width")}}function showSidebar(){if(isSrcPage){window.rustdocShowSourceSidebar()}else{removeClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","false")}}function changeSidebarSize(size){if(isSrcPage){updateLocalStorage("src-sidebar-width",size);sidebar.style.setProperty("--src-sidebar-width",size+"px");resizer.style.setProperty("--src-sidebar-width",size+"px")}else{updateLocalStorage("desktop-sidebar-width",size);sidebar.style.setProperty("--desktop-sidebar-width",size+"px");resizer.style.setProperty("--desktop-sidebar-width",size+"px")}}function isSidebarHidden(){return isSrcPage?!hasClass(document.documentElement,"src-sidebar-expanded"):hasClass(document.documentElement,"hide-sidebar")}function resize(e){if(currentPointerId===null||currentPointerId!==e.pointerId){return}e.preventDefault();const pos=e.clientX-3;if(pos=SIDEBAR_MIN){if(isSidebarHidden()){showSidebar()}const constrainedPos=Math.min(pos,window.innerWidth-BODY_MIN,SIDEBAR_MAX);changeSidebarSize(constrainedPos);desiredSidebarSize=constrainedPos;if(pendingSidebarResizingFrame!==false){clearTimeout(pendingSidebarResizingFrame)}pendingSidebarResizingFrame=setTimeout(()=>{if(currentPointerId===null||pendingSidebarResizingFrame===false){return}pendingSidebarResizingFrame=false;document.documentElement.style.setProperty("--resizing-sidebar-width",desiredSidebarSize+"px")},100)}}window.addEventListener("resize",()=>{if(window.innerWidth=(window.innerWidth-BODY_MIN)){changeSidebarSize(window.innerWidth-BODY_MIN)}else if(desiredSidebarSize!==null&&desiredSidebarSize>SIDEBAR_MIN){changeSidebarSize(desiredSidebarSize)}});function stopResize(e){if(currentPointerId===null){return}if(e){e.preventDefault()}desiredSidebarSize=sidebar.getBoundingClientRect().width;removeClass(resizer,"active");window.removeEventListener("pointermove",resize,false);window.removeEventListener("pointerup",stopResize,false);removeClass(document.documentElement,"sidebar-resizing");document.documentElement.style.removeProperty("--resizing-sidebar-width");if(resizer.releasePointerCapture){resizer.releasePointerCapture(currentPointerId);currentPointerId=null}}function initResize(e){if(currentPointerId!==null||e.altKey||e.ctrlKey||e.metaKey||e.button!==0){return}if(resizer.setPointerCapture){resizer.setPointerCapture(e.pointerId);if(!resizer.hasPointerCapture(e.pointerId)){resizer.releasePointerCapture(e.pointerId);return}currentPointerId=e.pointerId}window.hideAllModals(false);e.preventDefault();window.addEventListener("pointermove",resize,false);window.addEventListener("pointercancel",stopResize,false);window.addEventListener("pointerup",stopResize,false);addClass(resizer,"active");addClass(document.documentElement,"sidebar-resizing");const pos=e.clientX-sidebar.offsetLeft-3;document.documentElement.style.setProperty("--resizing-sidebar-width",pos+"px");desiredSidebarSize=null}resizer.addEventListener("pointerdown",initResize,false)}());(function(){let reset_button_timeout=null;const but=document.getElementById("copy-path");if(!but){return}but.onclick=()=>{const parent=but.parentElement;const path=[];onEach(parent.childNodes,child=>{if(child.tagName==="A"){path.push(child.textContent)}});const el=document.createElement("textarea");el.value=path.join("::");el.setAttribute("readonly","");el.style.position="absolute";el.style.left="-9999px";document.body.appendChild(el);el.select();document.execCommand("copy");document.body.removeChild(el);but.children[0].style.display="none";let tmp;if(but.childNodes.length<2){tmp=document.createTextNode("✓");but.appendChild(tmp)}else{onEachLazy(but.childNodes,e=>{if(e.nodeType===Node.TEXT_NODE){tmp=e;return true}});tmp.textContent="✓"}if(reset_button_timeout!==null){window.clearTimeout(reset_button_timeout)}function reset_button(){tmp.textContent="";reset_button_timeout=null;but.children[0].style.display=""}reset_button_timeout=window.setTimeout(reset_button,1000)}}()) \ No newline at end of file diff --git a/doc/static.files/main-20a3ad099b048cf2.js b/doc/static.files/main-20a3ad099b048cf2.js new file mode 100644 index 00000000..133116e4 --- /dev/null +++ b/doc/static.files/main-20a3ad099b048cf2.js @@ -0,0 +1,11 @@ +"use strict";window.RUSTDOC_TOOLTIP_HOVER_MS=300;window.RUSTDOC_TOOLTIP_HOVER_EXIT_MS=450;function resourcePath(basename,extension){return getVar("root-path")+basename+getVar("resource-suffix")+extension}function hideMain(){addClass(document.getElementById(MAIN_ID),"hidden")}function showMain(){removeClass(document.getElementById(MAIN_ID),"hidden")}function blurHandler(event,parentElem,hideCallback){if(!parentElem.contains(document.activeElement)&&!parentElem.contains(event.relatedTarget)){hideCallback()}}window.rootPath=getVar("root-path");window.currentCrate=getVar("current-crate");function setMobileTopbar(){const mobileTopbar=document.querySelector(".mobile-topbar");const locationTitle=document.querySelector(".sidebar h2.location");if(mobileTopbar){const mobileTitle=document.createElement("h2");mobileTitle.className="location";if(hasClass(document.querySelector(".rustdoc"),"crate")){mobileTitle.innerHTML=`Crate ${window.currentCrate}`}else if(locationTitle){mobileTitle.innerHTML=locationTitle.innerHTML}mobileTopbar.appendChild(mobileTitle)}}function getVirtualKey(ev){if("key"in ev&&typeof ev.key!=="undefined"){return ev.key}const c=ev.charCode||ev.keyCode;if(c===27){return"Escape"}return String.fromCharCode(c)}const MAIN_ID="main-content";const SETTINGS_BUTTON_ID="settings-menu";const ALTERNATIVE_DISPLAY_ID="alternative-display";const NOT_DISPLAYED_ID="not-displayed";const HELP_BUTTON_ID="help-button";function getSettingsButton(){return document.getElementById(SETTINGS_BUTTON_ID)}function getHelpButton(){return document.getElementById(HELP_BUTTON_ID)}function getNakedUrl(){return window.location.href.split("?")[0].split("#")[0]}function insertAfter(newNode,referenceNode){referenceNode.parentNode.insertBefore(newNode,referenceNode.nextSibling)}function getOrCreateSection(id,classes){let el=document.getElementById(id);if(!el){el=document.createElement("section");el.id=id;el.className=classes;insertAfter(el,document.getElementById(MAIN_ID))}return el}function getAlternativeDisplayElem(){return getOrCreateSection(ALTERNATIVE_DISPLAY_ID,"content hidden")}function getNotDisplayedElem(){return getOrCreateSection(NOT_DISPLAYED_ID,"hidden")}function switchDisplayedElement(elemToDisplay){const el=getAlternativeDisplayElem();if(el.children.length>0){getNotDisplayedElem().appendChild(el.firstElementChild)}if(elemToDisplay===null){addClass(el,"hidden");showMain();return}el.appendChild(elemToDisplay);hideMain();removeClass(el,"hidden")}function browserSupportsHistoryApi(){return window.history&&typeof window.history.pushState==="function"}function preLoadCss(cssUrl){const link=document.createElement("link");link.href=cssUrl;link.rel="preload";link.as="style";document.getElementsByTagName("head")[0].appendChild(link)}(function(){const isHelpPage=window.location.pathname.endsWith("/help.html");function loadScript(url,errorCallback){const script=document.createElement("script");script.src=url;if(errorCallback!==undefined){script.onerror=errorCallback}document.head.append(script)}getSettingsButton().onclick=event=>{if(event.ctrlKey||event.altKey||event.metaKey){return}window.hideAllModals(false);addClass(getSettingsButton(),"rotate");event.preventDefault();loadScript(getVar("static-root-path")+getVar("settings-js"));setTimeout(()=>{const themes=getVar("themes").split(",");for(const theme of themes){if(theme!==""){preLoadCss(getVar("root-path")+theme+".css")}}},0)};window.searchState={loadingText:"Loading search results...",input:document.getElementsByClassName("search-input")[0],outputElement:()=>{let el=document.getElementById("search");if(!el){el=document.createElement("section");el.id="search";getNotDisplayedElem().appendChild(el)}return el},title:document.title,titleBeforeSearch:document.title,timeout:null,currentTab:0,focusedByTab:[null,null,null],clearInputTimeout:()=>{if(searchState.timeout!==null){clearTimeout(searchState.timeout);searchState.timeout=null}},isDisplayed:()=>searchState.outputElement().parentElement.id===ALTERNATIVE_DISPLAY_ID,focus:()=>{searchState.input.focus()},defocus:()=>{searchState.input.blur()},showResults:search=>{if(search===null||typeof search==="undefined"){search=searchState.outputElement()}switchDisplayedElement(search);searchState.mouseMovedAfterSearch=false;document.title=searchState.title},removeQueryParameters:()=>{document.title=searchState.titleBeforeSearch;if(browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.hash)}},hideResults:()=>{switchDisplayedElement(null);searchState.removeQueryParameters()},getQueryStringParams:()=>{const params={};window.location.search.substring(1).split("&").map(s=>{const pair=s.split("=").map(x=>x.replace(/\+/g," "));params[decodeURIComponent(pair[0])]=typeof pair[1]==="undefined"?null:decodeURIComponent(pair[1])});return params},setup:()=>{const search_input=searchState.input;if(!searchState.input){return}let searchLoaded=false;function sendSearchForm(){document.getElementsByClassName("search-form")[0].submit()}function loadSearch(){if(!searchLoaded){searchLoaded=true;loadScript(getVar("static-root-path")+getVar("search-js"),sendSearchForm);loadScript(resourcePath("search-index",".js"),sendSearchForm)}}search_input.addEventListener("focus",()=>{search_input.origPlaceholder=search_input.placeholder;search_input.placeholder="Type your search here.";loadSearch()});if(search_input.value!==""){loadSearch()}const params=searchState.getQueryStringParams();if(params.search!==undefined){searchState.setLoadingSearch();loadSearch()}},setLoadingSearch:()=>{const search=searchState.outputElement();search.innerHTML="

    "+searchState.loadingText+"

    ";searchState.showResults(search)},descShards:new Map(),loadDesc:async function({descShard,descIndex}){if(descShard.promise===null){descShard.promise=new Promise((resolve,reject)=>{descShard.resolve=resolve;const ds=descShard;const fname=`${ds.crate}-desc-${ds.shard}-`;const url=resourcePath(`search.desc/${descShard.crate}/${fname}`,".js",);loadScript(url,reject)})}const list=await descShard.promise;return list[descIndex]},loadedDescShard:function(crate,shard,data){this.descShards.get(crate)[shard].resolve(data.split("\n"))},};const toggleAllDocsId="toggle-all-docs";let savedHash="";function handleHashes(ev){if(ev!==null&&searchState.isDisplayed()&&ev.newURL){switchDisplayedElement(null);const hash=ev.newURL.slice(ev.newURL.indexOf("#")+1);if(browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.search+"#"+hash)}const elem=document.getElementById(hash);if(elem){elem.scrollIntoView()}}const pageId=window.location.hash.replace(/^#/,"");if(savedHash!==pageId){savedHash=pageId;if(pageId!==""){expandSection(pageId)}}if(savedHash.startsWith("impl-")){const splitAt=savedHash.indexOf("/");if(splitAt!==-1){const implId=savedHash.slice(0,splitAt);const assocId=savedHash.slice(splitAt+1);const implElem=document.getElementById(implId);if(implElem&&implElem.parentElement.tagName==="SUMMARY"&&implElem.parentElement.parentElement.tagName==="DETAILS"){onEachLazy(implElem.parentElement.parentElement.querySelectorAll(`[id^="${assocId}"]`),item=>{const numbered=/([^-]+)-([0-9]+)/.exec(item.id);if(item.id===assocId||(numbered&&numbered[1]===assocId)){openParentDetails(item);item.scrollIntoView();setTimeout(()=>{window.location.replace("#"+item.id)},0)}},)}}}}function onHashChange(ev){hideSidebar();handleHashes(ev)}function openParentDetails(elem){while(elem){if(elem.tagName==="DETAILS"){elem.open=true}elem=elem.parentNode}}function expandSection(id){openParentDetails(document.getElementById(id))}function handleEscape(ev){searchState.clearInputTimeout();searchState.hideResults();ev.preventDefault();searchState.defocus();window.hideAllModals(true)}function handleShortcut(ev){const disableShortcuts=getSettingValue("disable-shortcuts")==="true";if(ev.ctrlKey||ev.altKey||ev.metaKey||disableShortcuts){return}if(document.activeElement.tagName==="INPUT"&&document.activeElement.type!=="checkbox"&&document.activeElement.type!=="radio"){switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break}}else{switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break;case"s":case"S":case"/":ev.preventDefault();searchState.focus();break;case"+":ev.preventDefault();expandAllDocs();break;case"-":ev.preventDefault();collapseAllDocs();break;case"?":showHelp();break;default:break}}}document.addEventListener("keypress",handleShortcut);document.addEventListener("keydown",handleShortcut);function addSidebarItems(){if(!window.SIDEBAR_ITEMS){return}const sidebar=document.getElementsByClassName("sidebar-elems")[0];function block(shortty,id,longty){const filtered=window.SIDEBAR_ITEMS[shortty];if(!filtered){return}const modpath=hasClass(document.querySelector(".rustdoc"),"mod")?"../":"";const h3=document.createElement("h3");h3.innerHTML=`${longty}`;const ul=document.createElement("ul");ul.className="block "+shortty;for(const name of filtered){let path;if(shortty==="mod"){path=`${modpath}${name}/index.html`}else{path=`${modpath}${shortty}.${name}.html`}let current_page=document.location.href.toString();if(current_page.endsWith("/")){current_page+="index.html"}const link=document.createElement("a");link.href=path;if(path===current_page){link.className="current"}link.textContent=name;const li=document.createElement("li");li.appendChild(link);ul.appendChild(li)}sidebar.appendChild(h3);sidebar.appendChild(ul)}if(sidebar){block("primitive","primitives","Primitive Types");block("mod","modules","Modules");block("macro","macros","Macros");block("struct","structs","Structs");block("enum","enums","Enums");block("constant","constants","Constants");block("static","static","Statics");block("trait","traits","Traits");block("fn","functions","Functions");block("type","types","Type Aliases");block("union","unions","Unions");block("foreigntype","foreign-types","Foreign Types");block("keyword","keywords","Keywords");block("opaque","opaque-types","Opaque Types");block("attr","attributes","Attribute Macros");block("derive","derives","Derive Macros");block("traitalias","trait-aliases","Trait Aliases")}}window.register_implementors=imp=>{const implementors=document.getElementById("implementors-list");const synthetic_implementors=document.getElementById("synthetic-implementors-list");const inlined_types=new Set();const TEXT_IDX=0;const SYNTHETIC_IDX=1;const TYPES_IDX=2;if(synthetic_implementors){onEachLazy(synthetic_implementors.getElementsByClassName("impl"),el=>{const aliases=el.getAttribute("data-aliases");if(!aliases){return}aliases.split(",").forEach(alias=>{inlined_types.add(alias)})})}let currentNbImpls=implementors.getElementsByClassName("impl").length;const traitName=document.querySelector(".main-heading h1 > .trait").textContent;const baseIdName="impl-"+traitName+"-";const libs=Object.getOwnPropertyNames(imp);const script=document.querySelector("script[data-ignore-extern-crates]");const ignoreExternCrates=new Set((script?script.getAttribute("data-ignore-extern-crates"):"").split(","),);for(const lib of libs){if(lib===window.currentCrate||ignoreExternCrates.has(lib)){continue}const structs=imp[lib];struct_loop:for(const struct of structs){const list=struct[SYNTHETIC_IDX]?synthetic_implementors:implementors;if(struct[SYNTHETIC_IDX]){for(const struct_type of struct[TYPES_IDX]){if(inlined_types.has(struct_type)){continue struct_loop}inlined_types.add(struct_type)}}const code=document.createElement("h3");code.innerHTML=struct[TEXT_IDX];addClass(code,"code-header");onEachLazy(code.getElementsByTagName("a"),elem=>{const href=elem.getAttribute("href");if(href&&!href.startsWith("#")&&!/^(?:[a-z+]+:)?\/\//.test(href)){elem.setAttribute("href",window.rootPath+href)}});const currentId=baseIdName+currentNbImpls;const anchor=document.createElement("a");anchor.href="#"+currentId;addClass(anchor,"anchor");const display=document.createElement("div");display.id=currentId;addClass(display,"impl");display.appendChild(anchor);display.appendChild(code);list.appendChild(display);currentNbImpls+=1}}};if(window.pending_implementors){window.register_implementors(window.pending_implementors)}window.register_type_impls=imp=>{if(!imp||!imp[window.currentCrate]){return}window.pending_type_impls=null;const idMap=new Map();let implementations=document.getElementById("implementations-list");let trait_implementations=document.getElementById("trait-implementations-list");let trait_implementations_header=document.getElementById("trait-implementations");const script=document.querySelector("script[data-self-path]");const selfPath=script?script.getAttribute("data-self-path"):null;const mainContent=document.querySelector("#main-content");const sidebarSection=document.querySelector(".sidebar section");let methods=document.querySelector(".sidebar .block.method");let associatedTypes=document.querySelector(".sidebar .block.associatedtype");let associatedConstants=document.querySelector(".sidebar .block.associatedconstant");let sidebarTraitList=document.querySelector(".sidebar .block.trait-implementation");for(const impList of imp[window.currentCrate]){const types=impList.slice(2);const text=impList[0];const isTrait=impList[1]!==0;const traitName=impList[1];if(types.indexOf(selfPath)===-1){continue}let outputList=isTrait?trait_implementations:implementations;if(outputList===null){const outputListName=isTrait?"Trait Implementations":"Implementations";const outputListId=isTrait?"trait-implementations-list":"implementations-list";const outputListHeaderId=isTrait?"trait-implementations":"implementations";const outputListHeader=document.createElement("h2");outputListHeader.id=outputListHeaderId;outputListHeader.innerText=outputListName;outputList=document.createElement("div");outputList.id=outputListId;if(isTrait){const link=document.createElement("a");link.href=`#${outputListHeaderId}`;link.innerText="Trait Implementations";const h=document.createElement("h3");h.appendChild(link);trait_implementations=outputList;trait_implementations_header=outputListHeader;sidebarSection.appendChild(h);sidebarTraitList=document.createElement("ul");sidebarTraitList.className="block trait-implementation";sidebarSection.appendChild(sidebarTraitList);mainContent.appendChild(outputListHeader);mainContent.appendChild(outputList)}else{implementations=outputList;if(trait_implementations){mainContent.insertBefore(outputListHeader,trait_implementations_header);mainContent.insertBefore(outputList,trait_implementations_header)}else{const mainContent=document.querySelector("#main-content");mainContent.appendChild(outputListHeader);mainContent.appendChild(outputList)}}}const template=document.createElement("template");template.innerHTML=text;onEachLazy(template.content.querySelectorAll("a"),elem=>{const href=elem.getAttribute("href");if(href&&!href.startsWith("#")&&!/^(?:[a-z+]+:)?\/\//.test(href)){elem.setAttribute("href",window.rootPath+href)}});onEachLazy(template.content.querySelectorAll("[id]"),el=>{let i=0;if(idMap.has(el.id)){i=idMap.get(el.id)}else if(document.getElementById(el.id)){i=1;while(document.getElementById(`${el.id}-${2 * i}`)){i=2*i}while(document.getElementById(`${el.id}-${i}`)){i+=1}}if(i!==0){const oldHref=`#${el.id}`;const newHref=`#${el.id}-${i}`;el.id=`${el.id}-${i}`;onEachLazy(template.content.querySelectorAll("a[href]"),link=>{if(link.getAttribute("href")===oldHref){link.href=newHref}})}idMap.set(el.id,i+1)});const templateAssocItems=template.content.querySelectorAll("section.tymethod, "+"section.method, section.associatedtype, section.associatedconstant");if(isTrait){const li=document.createElement("li");const a=document.createElement("a");a.href=`#${template.content.querySelector(".impl").id}`;a.textContent=traitName;li.appendChild(a);sidebarTraitList.append(li)}else{onEachLazy(templateAssocItems,item=>{let block=hasClass(item,"associatedtype")?associatedTypes:(hasClass(item,"associatedconstant")?associatedConstants:(methods));if(!block){const blockTitle=hasClass(item,"associatedtype")?"Associated Types":(hasClass(item,"associatedconstant")?"Associated Constants":("Methods"));const blockClass=hasClass(item,"associatedtype")?"associatedtype":(hasClass(item,"associatedconstant")?"associatedconstant":("method"));const blockHeader=document.createElement("h3");const blockLink=document.createElement("a");blockLink.href="#implementations";blockLink.innerText=blockTitle;blockHeader.appendChild(blockLink);block=document.createElement("ul");block.className=`block ${blockClass}`;const insertionReference=methods||sidebarTraitList;if(insertionReference){const insertionReferenceH=insertionReference.previousElementSibling;sidebarSection.insertBefore(blockHeader,insertionReferenceH);sidebarSection.insertBefore(block,insertionReferenceH)}else{sidebarSection.appendChild(blockHeader);sidebarSection.appendChild(block)}if(hasClass(item,"associatedtype")){associatedTypes=block}else if(hasClass(item,"associatedconstant")){associatedConstants=block}else{methods=block}}const li=document.createElement("li");const a=document.createElement("a");a.innerText=item.id.split("-")[0].split(".")[1];a.href=`#${item.id}`;li.appendChild(a);block.appendChild(li)})}outputList.appendChild(template.content)}for(const list of[methods,associatedTypes,associatedConstants,sidebarTraitList]){if(!list){continue}const newChildren=Array.prototype.slice.call(list.children);newChildren.sort((a,b)=>{const aI=a.innerText;const bI=b.innerText;return aIbI?1:0});list.replaceChildren(...newChildren)}};if(window.pending_type_impls){window.register_type_impls(window.pending_type_impls)}function addSidebarCrates(){if(!window.ALL_CRATES){return}const sidebarElems=document.getElementsByClassName("sidebar-elems")[0];if(!sidebarElems){return}const h3=document.createElement("h3");h3.innerHTML="Crates";const ul=document.createElement("ul");ul.className="block crate";for(const crate of window.ALL_CRATES){const link=document.createElement("a");link.href=window.rootPath+crate+"/index.html";link.textContent=crate;const li=document.createElement("li");if(window.rootPath!=="./"&&crate===window.currentCrate){li.className="current"}li.appendChild(link);ul.appendChild(li)}sidebarElems.appendChild(h3);sidebarElems.appendChild(ul)}function expandAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);removeClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("toggle"),e=>{if(!hasClass(e,"type-contents-toggle")&&!hasClass(e,"more-examples-toggle")){e.open=true}});innerToggle.title="collapse all docs";innerToggle.children[0].innerText="\u2212"}function collapseAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);addClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("toggle"),e=>{if(e.parentNode.id!=="implementations-list"||(!hasClass(e,"implementors-toggle")&&!hasClass(e,"type-contents-toggle"))){e.open=false}});innerToggle.title="expand all docs";innerToggle.children[0].innerText="+"}function toggleAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);if(!innerToggle){return}if(hasClass(innerToggle,"will-expand")){expandAllDocs()}else{collapseAllDocs()}}(function(){const toggles=document.getElementById(toggleAllDocsId);if(toggles){toggles.onclick=toggleAllDocs}const hideMethodDocs=getSettingValue("auto-hide-method-docs")==="true";const hideImplementations=getSettingValue("auto-hide-trait-implementations")==="true";const hideLargeItemContents=getSettingValue("auto-hide-large-items")!=="false";function setImplementorsTogglesOpen(id,open){const list=document.getElementById(id);if(list!==null){onEachLazy(list.getElementsByClassName("implementors-toggle"),e=>{e.open=open})}}if(hideImplementations){setImplementorsTogglesOpen("trait-implementations-list",false);setImplementorsTogglesOpen("blanket-implementations-list",false)}onEachLazy(document.getElementsByClassName("toggle"),e=>{if(!hideLargeItemContents&&hasClass(e,"type-contents-toggle")){e.open=true}if(hideMethodDocs&&hasClass(e,"method-toggle")){e.open=false}})}());window.rustdoc_add_line_numbers_to_examples=()=>{onEachLazy(document.getElementsByClassName("rust-example-rendered"),x=>{const parent=x.parentNode;const line_numbers=parent.querySelectorAll(".example-line-numbers");if(line_numbers.length>0){return}const count=x.textContent.split("\n").length;const elems=[];for(let i=0;i{onEachLazy(document.getElementsByClassName("rust-example-rendered"),x=>{const parent=x.parentNode;const line_numbers=parent.querySelectorAll(".example-line-numbers");for(const node of line_numbers){parent.removeChild(node)}})};if(getSettingValue("line-numbers")==="true"){window.rustdoc_add_line_numbers_to_examples()}function showSidebar(){window.hideAllModals(false);const sidebar=document.getElementsByClassName("sidebar")[0];addClass(sidebar,"shown")}function hideSidebar(){const sidebar=document.getElementsByClassName("sidebar")[0];removeClass(sidebar,"shown")}window.addEventListener("resize",()=>{if(window.CURRENT_TOOLTIP_ELEMENT){const base=window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE;const force_visible=base.TOOLTIP_FORCE_VISIBLE;hideTooltip(false);if(force_visible){showTooltip(base);base.TOOLTIP_FORCE_VISIBLE=true}}});const mainElem=document.getElementById(MAIN_ID);if(mainElem){mainElem.addEventListener("click",hideSidebar)}onEachLazy(document.querySelectorAll("a[href^='#']"),el=>{el.addEventListener("click",()=>{expandSection(el.hash.slice(1));hideSidebar()})});onEachLazy(document.querySelectorAll(".toggle > summary:not(.hideme)"),el=>{el.addEventListener("click",e=>{if(e.target.tagName!=="SUMMARY"&&e.target.tagName!=="A"){e.preventDefault()}})});function showTooltip(e){const notable_ty=e.getAttribute("data-notable-ty");if(!window.NOTABLE_TRAITS&¬able_ty){const data=document.getElementById("notable-traits-data");if(data){window.NOTABLE_TRAITS=JSON.parse(data.innerText)}else{throw new Error("showTooltip() called with notable without any notable traits!")}}if(window.CURRENT_TOOLTIP_ELEMENT&&window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE===e){clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);return}window.hideAllModals(false);const wrapper=document.createElement("div");if(notable_ty){wrapper.innerHTML="
    "+window.NOTABLE_TRAITS[notable_ty]+"
    "}else{if(e.getAttribute("title")!==null){e.setAttribute("data-title",e.getAttribute("title"));e.removeAttribute("title")}if(e.getAttribute("data-title")!==null){const titleContent=document.createElement("div");titleContent.className="content";titleContent.appendChild(document.createTextNode(e.getAttribute("data-title")));wrapper.appendChild(titleContent)}}wrapper.className="tooltip popover";const focusCatcher=document.createElement("div");focusCatcher.setAttribute("tabindex","0");focusCatcher.onfocus=hideTooltip;wrapper.appendChild(focusCatcher);const pos=e.getBoundingClientRect();wrapper.style.top=(pos.top+window.scrollY+pos.height)+"px";wrapper.style.left=0;wrapper.style.right="auto";wrapper.style.visibility="hidden";const body=document.getElementsByTagName("body")[0];body.appendChild(wrapper);const wrapperPos=wrapper.getBoundingClientRect();const finalPos=pos.left+window.scrollX-wrapperPos.width+24;if(finalPos>0){wrapper.style.left=finalPos+"px"}else{wrapper.style.setProperty("--popover-arrow-offset",(wrapperPos.right-pos.right+4)+"px",)}wrapper.style.visibility="";window.CURRENT_TOOLTIP_ELEMENT=wrapper;window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE=e;clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);wrapper.onpointerenter=ev=>{if(ev.pointerType!=="mouse"){return}clearTooltipHoverTimeout(e)};wrapper.onpointerleave=ev=>{if(ev.pointerType!=="mouse"){return}if(!e.TOOLTIP_FORCE_VISIBLE&&!e.contains(ev.relatedTarget)){setTooltipHoverTimeout(e,false);addClass(wrapper,"fade-out")}}}function setTooltipHoverTimeout(element,show){clearTooltipHoverTimeout(element);if(!show&&!window.CURRENT_TOOLTIP_ELEMENT){return}if(show&&window.CURRENT_TOOLTIP_ELEMENT){return}if(window.CURRENT_TOOLTIP_ELEMENT&&window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE!==element){return}element.TOOLTIP_HOVER_TIMEOUT=setTimeout(()=>{if(show){showTooltip(element)}else if(!element.TOOLTIP_FORCE_VISIBLE){hideTooltip(false)}},show?window.RUSTDOC_TOOLTIP_HOVER_MS:window.RUSTDOC_TOOLTIP_HOVER_EXIT_MS)}function clearTooltipHoverTimeout(element){if(element.TOOLTIP_HOVER_TIMEOUT!==undefined){removeClass(window.CURRENT_TOOLTIP_ELEMENT,"fade-out");clearTimeout(element.TOOLTIP_HOVER_TIMEOUT);delete element.TOOLTIP_HOVER_TIMEOUT}}function tooltipBlurHandler(event){if(window.CURRENT_TOOLTIP_ELEMENT&&!window.CURRENT_TOOLTIP_ELEMENT.contains(document.activeElement)&&!window.CURRENT_TOOLTIP_ELEMENT.contains(event.relatedTarget)&&!window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.contains(document.activeElement)&&!window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.contains(event.relatedTarget)){setTimeout(()=>hideTooltip(false),0)}}function hideTooltip(focus){if(window.CURRENT_TOOLTIP_ELEMENT){if(window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.TOOLTIP_FORCE_VISIBLE){if(focus){window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.focus()}window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.TOOLTIP_FORCE_VISIBLE=false}const body=document.getElementsByTagName("body")[0];body.removeChild(window.CURRENT_TOOLTIP_ELEMENT);clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);window.CURRENT_TOOLTIP_ELEMENT=null}}onEachLazy(document.getElementsByClassName("tooltip"),e=>{e.onclick=()=>{e.TOOLTIP_FORCE_VISIBLE=e.TOOLTIP_FORCE_VISIBLE?false:true;if(window.CURRENT_TOOLTIP_ELEMENT&&!e.TOOLTIP_FORCE_VISIBLE){hideTooltip(true)}else{showTooltip(e);window.CURRENT_TOOLTIP_ELEMENT.setAttribute("tabindex","0");window.CURRENT_TOOLTIP_ELEMENT.focus();window.CURRENT_TOOLTIP_ELEMENT.onblur=tooltipBlurHandler}return false};e.onpointerenter=ev=>{if(ev.pointerType!=="mouse"){return}setTooltipHoverTimeout(e,true)};e.onpointermove=ev=>{if(ev.pointerType!=="mouse"){return}setTooltipHoverTimeout(e,true)};e.onpointerleave=ev=>{if(ev.pointerType!=="mouse"){return}if(!e.TOOLTIP_FORCE_VISIBLE&&window.CURRENT_TOOLTIP_ELEMENT&&!window.CURRENT_TOOLTIP_ELEMENT.contains(ev.relatedTarget)){setTooltipHoverTimeout(e,false);addClass(window.CURRENT_TOOLTIP_ELEMENT,"fade-out")}}});const sidebar_menu_toggle=document.getElementsByClassName("sidebar-menu-toggle")[0];if(sidebar_menu_toggle){sidebar_menu_toggle.addEventListener("click",()=>{const sidebar=document.getElementsByClassName("sidebar")[0];if(!hasClass(sidebar,"shown")){showSidebar()}else{hideSidebar()}})}function helpBlurHandler(event){blurHandler(event,getHelpButton(),window.hidePopoverMenus)}function buildHelpMenu(){const book_info=document.createElement("span");const channel=getVar("channel");book_info.className="top";book_info.innerHTML=`You can find more information in \ +the rustdoc book.`;const shortcuts=[["?","Show this help dialog"],["S / /","Focus the search field"],["↑","Move up in search results"],["↓","Move down in search results"],["← / →","Switch result tab (when results focused)"],["⏎","Go to active search result"],["+","Expand all sections"],["-","Collapse all sections"],].map(x=>"
    "+x[0].split(" ").map((y,index)=>((index&1)===0?""+y+"":" "+y+" ")).join("")+"
    "+x[1]+"
    ").join("");const div_shortcuts=document.createElement("div");addClass(div_shortcuts,"shortcuts");div_shortcuts.innerHTML="

    Keyboard Shortcuts

    "+shortcuts+"
    ";const infos=[`For a full list of all search features, take a look here.`,"Prefix searches with a type followed by a colon (e.g., fn:) to \ + restrict the search to a given item kind.","Accepted kinds are: fn, mod, struct, \ + enum, trait, type, macro, \ + and const.","Search functions by type signature (e.g., vec -> usize or \ + -> vec or String, enum:Cow -> bool)","You can look for items with an exact name by putting double quotes around \ + your request: \"string\"","Look for functions that accept or return \ + slices and \ + arrays by writing \ + square brackets (e.g., -> [u8] or [] -> Option)","Look for items inside another one by searching for a path: vec::Vec",].map(x=>"

    "+x+"

    ").join("");const div_infos=document.createElement("div");addClass(div_infos,"infos");div_infos.innerHTML="

    Search Tricks

    "+infos;const rustdoc_version=document.createElement("span");rustdoc_version.className="bottom";const rustdoc_version_code=document.createElement("code");rustdoc_version_code.innerText="rustdoc "+getVar("rustdoc-version");rustdoc_version.appendChild(rustdoc_version_code);const container=document.createElement("div");if(!isHelpPage){container.className="popover"}container.id="help";container.style.display="none";const side_by_side=document.createElement("div");side_by_side.className="side-by-side";side_by_side.appendChild(div_shortcuts);side_by_side.appendChild(div_infos);container.appendChild(book_info);container.appendChild(side_by_side);container.appendChild(rustdoc_version);if(isHelpPage){const help_section=document.createElement("section");help_section.appendChild(container);document.getElementById("main-content").appendChild(help_section);container.style.display="block"}else{const help_button=getHelpButton();help_button.appendChild(container);container.onblur=helpBlurHandler;help_button.onblur=helpBlurHandler;help_button.children[0].onblur=helpBlurHandler}return container}window.hideAllModals=switchFocus=>{hideSidebar();window.hidePopoverMenus();hideTooltip(switchFocus)};window.hidePopoverMenus=()=>{onEachLazy(document.querySelectorAll(".search-form .popover"),elem=>{elem.style.display="none"})};function getHelpMenu(buildNeeded){let menu=getHelpButton().querySelector(".popover");if(!menu&&buildNeeded){menu=buildHelpMenu()}return menu}function showHelp(){getHelpButton().querySelector("a").focus();const menu=getHelpMenu(true);if(menu.style.display==="none"){window.hideAllModals();menu.style.display=""}}if(isHelpPage){showHelp();document.querySelector(`#${HELP_BUTTON_ID} > a`).addEventListener("click",event=>{const target=event.target;if(target.tagName!=="A"||target.parentElement.id!==HELP_BUTTON_ID||event.ctrlKey||event.altKey||event.metaKey){return}event.preventDefault()})}else{document.querySelector(`#${HELP_BUTTON_ID} > a`).addEventListener("click",event=>{const target=event.target;if(target.tagName!=="A"||target.parentElement.id!==HELP_BUTTON_ID||event.ctrlKey||event.altKey||event.metaKey){return}event.preventDefault();const menu=getHelpMenu(true);const shouldShowHelp=menu.style.display==="none";if(shouldShowHelp){showHelp()}else{window.hidePopoverMenus()}})}setMobileTopbar();addSidebarItems();addSidebarCrates();onHashChange(null);window.addEventListener("hashchange",onHashChange);searchState.setup()}());(function(){const SIDEBAR_MIN=100;const SIDEBAR_MAX=500;const RUSTDOC_MOBILE_BREAKPOINT=700;const BODY_MIN=400;const SIDEBAR_VANISH_THRESHOLD=SIDEBAR_MIN/2;const sidebarButton=document.getElementById("sidebar-button");if(sidebarButton){sidebarButton.addEventListener("click",e=>{removeClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","false");if(document.querySelector(".rustdoc.src")){window.rustdocToggleSrcSidebar()}e.preventDefault()})}let currentPointerId=null;let desiredSidebarSize=null;let pendingSidebarResizingFrame=false;const resizer=document.querySelector(".sidebar-resizer");const sidebar=document.querySelector(".sidebar");if(!resizer||!sidebar){return}const isSrcPage=hasClass(document.body,"src");function hideSidebar(){if(isSrcPage){window.rustdocCloseSourceSidebar();updateLocalStorage("src-sidebar-width",null);document.documentElement.style.removeProperty("--src-sidebar-width");sidebar.style.removeProperty("--src-sidebar-width");resizer.style.removeProperty("--src-sidebar-width")}else{addClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","true");updateLocalStorage("desktop-sidebar-width",null);document.documentElement.style.removeProperty("--desktop-sidebar-width");sidebar.style.removeProperty("--desktop-sidebar-width");resizer.style.removeProperty("--desktop-sidebar-width")}}function showSidebar(){if(isSrcPage){window.rustdocShowSourceSidebar()}else{removeClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","false")}}function changeSidebarSize(size){if(isSrcPage){updateLocalStorage("src-sidebar-width",size);sidebar.style.setProperty("--src-sidebar-width",size+"px");resizer.style.setProperty("--src-sidebar-width",size+"px")}else{updateLocalStorage("desktop-sidebar-width",size);sidebar.style.setProperty("--desktop-sidebar-width",size+"px");resizer.style.setProperty("--desktop-sidebar-width",size+"px")}}function isSidebarHidden(){return isSrcPage?!hasClass(document.documentElement,"src-sidebar-expanded"):hasClass(document.documentElement,"hide-sidebar")}function resize(e){if(currentPointerId===null||currentPointerId!==e.pointerId){return}e.preventDefault();const pos=e.clientX-3;if(pos=SIDEBAR_MIN){if(isSidebarHidden()){showSidebar()}const constrainedPos=Math.min(pos,window.innerWidth-BODY_MIN,SIDEBAR_MAX);changeSidebarSize(constrainedPos);desiredSidebarSize=constrainedPos;if(pendingSidebarResizingFrame!==false){clearTimeout(pendingSidebarResizingFrame)}pendingSidebarResizingFrame=setTimeout(()=>{if(currentPointerId===null||pendingSidebarResizingFrame===false){return}pendingSidebarResizingFrame=false;document.documentElement.style.setProperty("--resizing-sidebar-width",desiredSidebarSize+"px",)},100)}}window.addEventListener("resize",()=>{if(window.innerWidth=(window.innerWidth-BODY_MIN)){changeSidebarSize(window.innerWidth-BODY_MIN)}else if(desiredSidebarSize!==null&&desiredSidebarSize>SIDEBAR_MIN){changeSidebarSize(desiredSidebarSize)}});function stopResize(e){if(currentPointerId===null){return}if(e){e.preventDefault()}desiredSidebarSize=sidebar.getBoundingClientRect().width;removeClass(resizer,"active");window.removeEventListener("pointermove",resize,false);window.removeEventListener("pointerup",stopResize,false);removeClass(document.documentElement,"sidebar-resizing");document.documentElement.style.removeProperty("--resizing-sidebar-width");if(resizer.releasePointerCapture){resizer.releasePointerCapture(currentPointerId);currentPointerId=null}}function initResize(e){if(currentPointerId!==null||e.altKey||e.ctrlKey||e.metaKey||e.button!==0){return}if(resizer.setPointerCapture){resizer.setPointerCapture(e.pointerId);if(!resizer.hasPointerCapture(e.pointerId)){resizer.releasePointerCapture(e.pointerId);return}currentPointerId=e.pointerId}window.hideAllModals(false);e.preventDefault();window.addEventListener("pointermove",resize,false);window.addEventListener("pointercancel",stopResize,false);window.addEventListener("pointerup",stopResize,false);addClass(resizer,"active");addClass(document.documentElement,"sidebar-resizing");const pos=e.clientX-sidebar.offsetLeft-3;document.documentElement.style.setProperty("--resizing-sidebar-width",pos+"px");desiredSidebarSize=null}resizer.addEventListener("pointerdown",initResize,false)}());(function(){let reset_button_timeout=null;const but=document.getElementById("copy-path");if(!but){return}but.onclick=()=>{const parent=but.parentElement;const path=[];onEach(parent.childNodes,child=>{if(child.tagName==="A"){path.push(child.textContent)}});const el=document.createElement("textarea");el.value=path.join("::");el.setAttribute("readonly","");el.style.position="absolute";el.style.left="-9999px";document.body.appendChild(el);el.select();document.execCommand("copy");document.body.removeChild(el);but.classList.add("clicked");if(reset_button_timeout!==null){window.clearTimeout(reset_button_timeout)}function reset_button(){reset_button_timeout=null;but.classList.remove("clicked")}reset_button_timeout=window.setTimeout(reset_button,1000)}}()) \ No newline at end of file diff --git a/doc/static.files/noscript-04d5337699b92874.css b/doc/static.files/noscript-04d5337699b92874.css deleted file mode 100644 index fbd55f57..00000000 --- a/doc/static.files/noscript-04d5337699b92874.css +++ /dev/null @@ -1 +0,0 @@ - #main-content .attributes{margin-left:0 !important;}#copy-path,#sidebar-button,.sidebar-resizer{display:none !important;}nav.sub{display:none;}.src .sidebar{display:none;}.notable-traits{display:none;}:root{--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--settings-input-border-color:#717171;--settings-button-color:#000;--settings-button-border-focus:#717171;--sidebar-background-color:#f5f5f5;--sidebar-background-color-hover:#e0e0e0;--code-block-background-color:#f5f5f5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;--border-color:#e0e0e0;--button-background-color:#fff;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:none;--mobile-sidebar-menu-filter:none;--search-input-focused-border-color:#66afe9;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(35%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ad378a;--trait-link-color:#6e4fc9;--assoc-item-link-color:#3873ad;--function-link-color:#ad7c37;--macro-link-color:#068000;--keyword-link-color:#3873ad;--mod-link-color:#3873ad;--link-color:#3873ad;--sidebar-link-color:#356da4;--sidebar-current-link-background-color:#fff;--search-result-link-focus-background-color:#ccc;--search-result-border-color:#aaa3;--search-color:#000;--search-error-code-background-color:#d0cccc;--search-results-alias-color:#000;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#e6e6e6;--search-tab-button-not-selected-background:#e6e6e6;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#fff;--stab-background-color:#fff5d6;--stab-code-color:#000;--code-highlight-kw-color:#8959a8;--code-highlight-kw-2-color:#4271ae;--code-highlight-lifetime-color:#b76514;--code-highlight-prelude-color:#4271ae;--code-highlight-prelude-val-color:#c82829;--code-highlight-number-color:#718c00;--code-highlight-string-color:#718c00;--code-highlight-literal-color:#c82829;--code-highlight-attribute-color:#c82829;--code-highlight-self-color:#c82829;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8e908c;--code-highlight-doc-comment-color:#4d4d4c;--src-line-numbers-span-color:#c67e2d;--src-line-number-highlighted-background-color:#fdffd3;--test-arrow-color:#f5f5f5;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#f5f5f5;--test-arrow-hover-background-color:rgb(78,139,202);--target-background-color:#fdffd3;--target-border-color:#ad7c37;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:initial;--crate-search-div-filter:invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);--crate-search-div-hover-filter:invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);--crate-search-hover-border:#717171;--src-sidebar-background-selected:#fff;--src-sidebar-background-hover:#e0e0e0;--table-alt-row-background-color:#f5f5f5;--codeblock-link-background:#eee;--scrape-example-toggle-line-background:#ccc;--scrape-example-toggle-line-hover-background:#999;--scrape-example-code-line-highlight:#fcffd6;--scrape-example-code-line-highlight-focus:#f6fdb0;--scrape-example-help-border-color:#555;--scrape-example-help-color:#333;--scrape-example-help-hover-border-color:#000;--scrape-example-help-hover-color:#000;--scrape-example-code-wrapper-background-start:rgba(255,255,255,1);--scrape-example-code-wrapper-background-end:rgba(255,255,255,0);--sidebar-resizer-hover:hsl(207,90%,66%);--sidebar-resizer-active:hsl(207,90%,54%);}@media (prefers-color-scheme:dark){:root{--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--settings-input-border-color:#999;--settings-button-color:#000;--settings-button-border-focus:#ffb900;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;--border-color:#e0e0e0;--button-background-color:#f0f0f0;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#008dfd;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(65%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#2dbfb8;--trait-link-color:#b78cf2;--assoc-item-link-color:#d2991d;--function-link-color:#2bab63;--macro-link-color:#09bd00;--keyword-link-color:#d2991d;--mod-link-color:#d2991d;--link-color:#d2991d;--sidebar-link-color:#fdbf35;--sidebar-current-link-background-color:#444;--search-result-link-focus-background-color:#616161;--search-result-border-color:#aaa3;--search-color:#111;--search-error-code-background-color:#484848;--search-results-alias-color:#fff;--search-results-grey-color:#ccc;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#252525;--search-tab-button-not-selected-background:#252525;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#353535;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ab8ac1;--code-highlight-kw-2-color:#769acb;--code-highlight-lifetime-color:#d97f26;--code-highlight-prelude-color:#769acb;--code-highlight-prelude-val-color:#ee6868;--code-highlight-number-color:#83a300;--code-highlight-string-color:#83a300;--code-highlight-literal-color:#ee6868;--code-highlight-attribute-color:#ee6868;--code-highlight-self-color:#ee6868;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8d8d8b;--code-highlight-doc-comment-color:#8ca375;--src-line-numbers-span-color:#3b91e2;--src-line-number-highlighted-background-color:#0a042f;--test-arrow-color:#dedede;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#dedede;--test-arrow-hover-background-color:#4e8bca;--target-background-color:#494a3d;--target-border-color:#bb7410;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) brightness(90%) contrast(90%);--crate-search-div-hover-filter:invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) brightness(100%) contrast(91%);--crate-search-hover-border:#2196f3;--src-sidebar-background-selected:#333;--src-sidebar-background-hover:#444;--table-alt-row-background-color:#2a2a2a;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(53,53,53,1);--scrape-example-code-wrapper-background-end:rgba(53,53,53,0);--sidebar-resizer-hover:hsl(207,30%,54%);--sidebar-resizer-active:hsl(207,90%,54%);}} \ No newline at end of file diff --git a/doc/static.files/noscript-df360f571f6edeae.css b/doc/static.files/noscript-df360f571f6edeae.css new file mode 100644 index 00000000..4c310ae5 --- /dev/null +++ b/doc/static.files/noscript-df360f571f6edeae.css @@ -0,0 +1 @@ + #main-content .attributes{margin-left:0 !important;}#copy-path,#sidebar-button,.sidebar-resizer{display:none !important;}nav.sub{display:none;}.src .sidebar{display:none;}.notable-traits{display:none;}:root,:root:not([data-theme]){--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--settings-input-border-color:#717171;--settings-button-color:#000;--settings-button-border-focus:#717171;--sidebar-background-color:#f5f5f5;--sidebar-background-color-hover:#e0e0e0;--code-block-background-color:#f5f5f5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;--border-color:#e0e0e0;--button-background-color:#fff;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:none;--mobile-sidebar-menu-filter:none;--search-input-focused-border-color:#66afe9;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(35%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ad378a;--trait-link-color:#6e4fc9;--assoc-item-link-color:#3873ad;--function-link-color:#ad7c37;--macro-link-color:#068000;--keyword-link-color:#3873ad;--mod-link-color:#3873ad;--link-color:#3873ad;--sidebar-link-color:#356da4;--sidebar-current-link-background-color:#fff;--search-result-link-focus-background-color:#ccc;--search-result-border-color:#aaa3;--search-color:#000;--search-error-code-background-color:#d0cccc;--search-results-alias-color:#000;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#e6e6e6;--search-tab-button-not-selected-background:#e6e6e6;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#fff;--settings-menu-filter:none;--stab-background-color:#fff5d6;--stab-code-color:#000;--code-highlight-kw-color:#8959a8;--code-highlight-kw-2-color:#4271ae;--code-highlight-lifetime-color:#b76514;--code-highlight-prelude-color:#4271ae;--code-highlight-prelude-val-color:#c82829;--code-highlight-number-color:#718c00;--code-highlight-string-color:#718c00;--code-highlight-literal-color:#c82829;--code-highlight-attribute-color:#c82829;--code-highlight-self-color:#c82829;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8e908c;--code-highlight-doc-comment-color:#4d4d4c;--src-line-numbers-span-color:#c67e2d;--src-line-number-highlighted-background-color:#fdffd3;--test-arrow-color:#f5f5f5;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#f5f5f5;--test-arrow-hover-background-color:rgb(78,139,202);--target-background-color:#fdffd3;--target-border-color:#ad7c37;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:initial;--crate-search-div-filter:invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);--crate-search-div-hover-filter:invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);--crate-search-hover-border:#717171;--src-sidebar-background-selected:#fff;--src-sidebar-background-hover:#e0e0e0;--table-alt-row-background-color:#f5f5f5;--codeblock-link-background:#eee;--scrape-example-toggle-line-background:#ccc;--scrape-example-toggle-line-hover-background:#999;--scrape-example-code-line-highlight:#fcffd6;--scrape-example-code-line-highlight-focus:#f6fdb0;--scrape-example-help-border-color:#555;--scrape-example-help-color:#333;--scrape-example-help-hover-border-color:#000;--scrape-example-help-hover-color:#000;--scrape-example-code-wrapper-background-start:rgba(255,255,255,1);--scrape-example-code-wrapper-background-end:rgba(255,255,255,0);--sidebar-resizer-hover:hsl(207,90%,66%);--sidebar-resizer-active:hsl(207,90%,54%);}@media (prefers-color-scheme:dark){:root,:root:not([data-theme]){--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--settings-input-border-color:#999;--settings-button-color:#000;--settings-button-border-focus:#ffb900;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;--border-color:#e0e0e0;--button-background-color:#f0f0f0;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#008dfd;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(65%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#2dbfb8;--trait-link-color:#b78cf2;--assoc-item-link-color:#d2991d;--function-link-color:#2bab63;--macro-link-color:#09bd00;--keyword-link-color:#d2991d;--mod-link-color:#d2991d;--link-color:#d2991d;--sidebar-link-color:#fdbf35;--sidebar-current-link-background-color:#444;--search-result-link-focus-background-color:#616161;--search-result-border-color:#aaa3;--search-color:#111;--search-error-code-background-color:#484848;--search-results-alias-color:#fff;--search-results-grey-color:#ccc;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#252525;--search-tab-button-not-selected-background:#252525;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#353535;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ab8ac1;--code-highlight-kw-2-color:#769acb;--code-highlight-lifetime-color:#d97f26;--code-highlight-prelude-color:#769acb;--code-highlight-prelude-val-color:#ee6868;--code-highlight-number-color:#83a300;--code-highlight-string-color:#83a300;--code-highlight-literal-color:#ee6868;--code-highlight-attribute-color:#ee6868;--code-highlight-self-color:#ee6868;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8d8d8b;--code-highlight-doc-comment-color:#8ca375;--src-line-numbers-span-color:#3b91e2;--src-line-number-highlighted-background-color:#0a042f;--test-arrow-color:#dedede;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#dedede;--test-arrow-hover-background-color:#4e8bca;--target-background-color:#494a3d;--target-border-color:#bb7410;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) brightness(90%) contrast(90%);--crate-search-div-hover-filter:invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) brightness(100%) contrast(91%);--crate-search-hover-border:#2196f3;--src-sidebar-background-selected:#333;--src-sidebar-background-hover:#444;--table-alt-row-background-color:#2a2a2a;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(53,53,53,1);--scrape-example-code-wrapper-background-end:rgba(53,53,53,0);--sidebar-resizer-hover:hsl(207,30%,54%);--sidebar-resizer-active:hsl(207,90%,54%);}} \ No newline at end of file diff --git a/doc/static.files/rustdoc-e935ef01ae1c1829.css b/doc/static.files/rustdoc-dd39b87e5fcfba68.css similarity index 65% rename from doc/static.files/rustdoc-e935ef01ae1c1829.css rename to doc/static.files/rustdoc-dd39b87e5fcfba68.css index 37ac48cc..77f89832 100644 --- a/doc/static.files/rustdoc-e935ef01ae1c1829.css +++ b/doc/static.files/rustdoc-dd39b87e5fcfba68.css @@ -3,11 +3,33 @@ fill="none" stroke="black" strike-linecap="square" stroke-miterlimit="10" stroke-width="12"/> \ ');filter:var(--crate-search-div-filter);}#crate-search-div:hover::after,#crate-search-div:focus-within::after{filter:var(--crate-search-div-hover-filter);}#crate-search>option{font-size:1rem;}.search-input{-webkit-appearance:none;outline:none;border:1px solid var(--border-color);border-radius:2px;padding:8px;font-size:1rem;flex-grow:1;background-color:var(--button-background-color);color:var(--search-color);}.search-input:focus{border-color:var(--search-input-focused-border-color);}.search-results{display:none;}.search-results.active{display:block;}.search-results>a{display:flex;margin-left:2px;margin-right:2px;border-bottom:1px solid var(--search-result-border-color);gap:1em;}.search-results>a>div.desc{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex:2;}.search-results a:hover,.search-results a:focus{background-color:var(--search-result-link-focus-background-color);}.search-results .result-name{display:flex;align-items:center;justify-content:start;flex:3;}.search-results .result-name .alias{color:var(--search-results-alias-color);}.search-results .result-name .grey{color:var(--search-results-grey-color);}.search-results .result-name .typename{color:var(--search-results-grey-color);font-size:0.875rem;width:var(--search-typename-width);}.search-results .result-name .path{word-break:break-all;max-width:calc(100% - var(--search-typename-width));display:inline-block;}.search-results .result-name .path>*{display:inline;}.popover{position:absolute;top:100%;right:0;z-index:calc(var(--desktop-sidebar-z-index) + 1);margin-top:7px;border-radius:3px;border:1px solid var(--border-color);background-color:var(--main-background-color);color:var(--main-color);--popover-arrow-offset:11px;}.popover::before{content:'';position:absolute;right:var(--popover-arrow-offset);border:solid var(--border-color);border-width:1px 1px 0 0;background-color:var(--main-background-color);padding:4px;transform:rotate(-45deg);top:-5px;}.setting-line{margin:1.2em 0.6em;}.setting-radio input,.setting-check input{margin-right:0.3em;height:1.2rem;width:1.2rem;border:2px solid var(--settings-input-border-color);outline:none;-webkit-appearance:none;cursor:pointer;}.setting-radio input{border-radius:50%;}.setting-radio span,.setting-check span{padding-bottom:1px;}.setting-radio{margin-top:0.1em;margin-bottom:0.1em;min-width:3.8em;padding:0.3em;display:inline-flex;align-items:center;cursor:pointer;}.setting-radio+.setting-radio{margin-left:0.5em;}.setting-check{margin-right:20px;display:flex;align-items:center;cursor:pointer;}.setting-radio input:checked{box-shadow:inset 0 0 0 3px var(--main-background-color);background-color:var(--settings-input-color);}.setting-check input:checked{background-color:var(--settings-input-color);border-width:1px;content:url('data:image/svg+xml,\ \ - ');}.setting-radio input:focus,.setting-check input:focus{box-shadow:0 0 1px 1px var(--settings-input-color);}.setting-radio input:checked:focus{box-shadow:inset 0 0 0 3px var(--main-background-color),0 0 2px 2px var(--settings-input-color);}.setting-radio input:hover,.setting-check input:hover{border-color:var(--settings-input-color) !important;}#help.popover{max-width:600px;--popover-arrow-offset:48px;}#help dt{float:left;clear:left;margin-right:0.5rem;}#help span.top,#help span.bottom{text-align:center;display:block;font-size:1.125rem;}#help span.top{margin:10px 0;border-bottom:1px solid var(--border-color);padding-bottom:4px;margin-bottom:6px;}#help span.bottom{clear:both;border-top:1px solid var(--border-color);}.side-by-side>div{width:50%;float:left;padding:0 20px 20px 17px;}.item-info .stab{display:block;padding:3px;margin-bottom:5px;}.item-name .stab{margin-left:0.3125em;}.stab{padding:0 2px;font-size:0.875rem;font-weight:normal;color:var(--main-color);background-color:var(--stab-background-color);width:fit-content;white-space:pre-wrap;border-radius:3px;display:inline;vertical-align:baseline;}.stab.portability>code{background:none;color:var(--stab-code-color);}.stab .emoji,.item-info .stab::before{font-size:1.25rem;}.stab .emoji{margin-right:0.3rem;}.item-info .stab::before{content:"\0";width:0;display:inline-block;color:transparent;}.emoji{text-shadow:1px 0 0 black,-1px 0 0 black,0 1px 0 black,0 -1px 0 black;}.since{font-weight:normal;font-size:initial;}.rightside{padding-left:12px;float:right;}.rightside:not(a),.out-of-band{color:var(--right-side-color);}pre.rust{tab-size:4;-moz-tab-size:4;}pre.rust .kw{color:var(--code-highlight-kw-color);}pre.rust .kw-2{color:var(--code-highlight-kw-2-color);}pre.rust .lifetime{color:var(--code-highlight-lifetime-color);}pre.rust .prelude-ty{color:var(--code-highlight-prelude-color);}pre.rust .prelude-val{color:var(--code-highlight-prelude-val-color);}pre.rust .string{color:var(--code-highlight-string-color);}pre.rust .number{color:var(--code-highlight-number-color);}pre.rust .bool-val{color:var(--code-highlight-literal-color);}pre.rust .self{color:var(--code-highlight-self-color);}pre.rust .attr{color:var(--code-highlight-attribute-color);}pre.rust .macro,pre.rust .macro-nonterminal{color:var(--code-highlight-macro-color);}pre.rust .question-mark{font-weight:bold;color:var(--code-highlight-question-mark-color);}pre.rust .comment{color:var(--code-highlight-comment-color);}pre.rust .doccomment{color:var(--code-highlight-doc-comment-color);}.rustdoc.src .example-wrap pre.rust a{background:var(--codeblock-link-background);}.example-wrap.compile_fail,.example-wrap.should_panic{border-left:2px solid var(--codeblock-error-color);}.ignore.example-wrap{border-left:2px solid var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover,.example-wrap.should_panic:hover{border-left:2px solid var(--codeblock-error-hover-color);}.example-wrap.ignore:hover{border-left:2px solid var(--codeblock-ignore-hover-color);}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip{color:var(--codeblock-error-color);}.example-wrap.ignore .tooltip{color:var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover .tooltip,.example-wrap.should_panic:hover .tooltip{color:var(--codeblock-error-hover-color);}.example-wrap.ignore:hover .tooltip{color:var(--codeblock-ignore-hover-color);}.example-wrap .tooltip{position:absolute;display:block;left:-25px;top:5px;margin:0;line-height:1;}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip,.example-wrap.ignore .tooltip{font-weight:bold;font-size:1.25rem;}.content .docblock .warning{border-left:2px solid var(--warning-border-color);padding:14px;position:relative;overflow-x:visible !important;}.content .docblock .warning::before{color:var(--warning-border-color);content:"ⓘ";position:absolute;left:-25px;top:5px;font-weight:bold;font-size:1.25rem;}.top-doc>.docblock>.warning:first-child::before{top:20px;}a.test-arrow{visibility:hidden;position:absolute;padding:5px 10px 5px 10px;border-radius:5px;font-size:1.375rem;top:5px;right:5px;z-index:1;color:var(--test-arrow-color);background-color:var(--test-arrow-background-color);}a.test-arrow:hover{color:var(--test-arrow-hover-color);background-color:var(--test-arrow-hover-background-color);}.example-wrap:hover .test-arrow{visibility:visible;}.code-attribute{font-weight:300;color:var(--code-attribute-color);}.item-spacer{width:100%;height:12px;display:block;}.out-of-band>span.since{font-size:1.25rem;}.sub-variant h4{font-size:1rem;font-weight:400;margin-top:0;margin-bottom:0;}.sub-variant{margin-left:24px;margin-bottom:40px;}.sub-variant>.sub-variant-field{margin-left:24px;}:target{padding-right:3px;background-color:var(--target-background-color);border-right:3px solid var(--target-border-color);}.code-header a.tooltip{color:inherit;margin-right:15px;position:relative;}.code-header a.tooltip:hover{color:var(--link-color);}a.tooltip:hover::after{position:absolute;top:calc(100% - 10px);left:-15px;right:-15px;height:20px;content:"\00a0";}.fade-out{opacity:0;transition:opacity 0.45s cubic-bezier(0,0,0.1,1.0);}.popover.tooltip .content{margin:0.25em 0.5em;}.popover.tooltip .content pre,.popover.tooltip .content code{background:transparent;margin:0;padding:0;font-size:1.25rem;white-space:pre-wrap;}.popover.tooltip .content>h3:first-child{margin:0 0 5px 0;}.search-failed{text-align:center;margin-top:20px;display:none;}.search-failed.active{display:block;}.search-failed>ul{text-align:left;max-width:570px;margin-left:auto;margin-right:auto;}#search-tabs{display:flex;flex-direction:row;gap:1px;margin-bottom:4px;}#search-tabs button{text-align:center;font-size:1.125rem;border:0;border-top:2px solid;flex:1;line-height:1.5;color:inherit;}#search-tabs button:not(.selected){background-color:var(--search-tab-button-not-selected-background);border-top-color:var(--search-tab-button-not-selected-border-top-color);}#search-tabs button:hover,#search-tabs button.selected{background-color:var(--search-tab-button-selected-background);border-top-color:var(--search-tab-button-selected-border-top-color);}#search-tabs .count{font-size:1rem;font-variant-numeric:tabular-nums;color:var(--search-tab-title-count-color);}#search .error code{border-radius:3px;background-color:var(--search-error-code-background-color);}.search-corrections{font-weight:normal;}#src-sidebar{width:100%;overflow:auto;}#src-sidebar div.files>a:hover,details.dir-entry summary:hover,#src-sidebar div.files>a:focus,details.dir-entry summary:focus{background-color:var(--src-sidebar-background-hover);}#src-sidebar div.files>a.selected{background-color:var(--src-sidebar-background-selected);}.src-sidebar-title{position:sticky;top:0;display:flex;padding:8px 8px 0 48px;margin-bottom:7px;background:var(--sidebar-background-color);border-bottom:1px solid var(--border-color);}#settings-menu,#help-button{margin-left:4px;display:flex;}#sidebar-button{display:none;line-height:0;}.hide-sidebar #sidebar-button,.src #sidebar-button{display:flex;margin-right:4px;position:fixed;left:6px;height:34px;width:34px;background-color:var(--main-background-color);z-index:1;}.src #sidebar-button{left:8px;z-index:calc(var(--desktop-sidebar-z-index) + 1);}.hide-sidebar .src #sidebar-button{position:static;}#settings-menu>a,#help-button>a,#sidebar-button>a{display:flex;align-items:center;justify-content:center;background-color:var(--button-background-color);border:1px solid var(--border-color);border-radius:2px;color:var(--settings-button-color);font-size:20px;width:33px;}#settings-menu>a:hover,#settings-menu>a:focus,#help-button>a:hover,#help-button>a:focus,#sidebar-button>a:hover,#sidebar-button>a:focus{border-color:var(--settings-button-border-focus);}#sidebar-button>a:before{content:url('data:image/svg+xml,');}.setting-radio input:focus,.setting-check input:focus{box-shadow:0 0 1px 1px var(--settings-input-color);}.setting-radio input:checked:focus{box-shadow:inset 0 0 0 3px var(--main-background-color),0 0 2px 2px var(--settings-input-color);}.setting-radio input:hover,.setting-check input:hover{border-color:var(--settings-input-color) !important;}#help.popover{max-width:600px;--popover-arrow-offset:48px;}#help dt{float:left;clear:left;margin-right:0.5rem;}#help span.top,#help span.bottom{text-align:center;display:block;font-size:1.125rem;}#help span.top{margin:10px 0;border-bottom:1px solid var(--border-color);padding-bottom:4px;margin-bottom:6px;}#help span.bottom{clear:both;border-top:1px solid var(--border-color);}.side-by-side>div{width:50%;float:left;padding:0 20px 20px 17px;}.item-info .stab{display:block;padding:3px;margin-bottom:5px;}.item-name .stab{margin-left:0.3125em;}.stab{padding:0 2px;font-size:0.875rem;font-weight:normal;color:var(--main-color);background-color:var(--stab-background-color);width:fit-content;white-space:pre-wrap;border-radius:3px;display:inline;vertical-align:baseline;}.stab.portability>code{background:none;color:var(--stab-code-color);}.stab .emoji,.item-info .stab::before{font-size:1.25rem;}.stab .emoji{margin-right:0.3rem;}.item-info .stab::before{content:"\0";width:0;display:inline-block;color:transparent;}.emoji{text-shadow:1px 0 0 black,-1px 0 0 black,0 1px 0 black,0 -1px 0 black;}.since{font-weight:normal;font-size:initial;}.rightside{padding-left:12px;float:right;}.rightside:not(a),.out-of-band{color:var(--right-side-color);}pre.rust{tab-size:4;-moz-tab-size:4;}pre.rust .kw{color:var(--code-highlight-kw-color);}pre.rust .kw-2{color:var(--code-highlight-kw-2-color);}pre.rust .lifetime{color:var(--code-highlight-lifetime-color);}pre.rust .prelude-ty{color:var(--code-highlight-prelude-color);}pre.rust .prelude-val{color:var(--code-highlight-prelude-val-color);}pre.rust .string{color:var(--code-highlight-string-color);}pre.rust .number{color:var(--code-highlight-number-color);}pre.rust .bool-val{color:var(--code-highlight-literal-color);}pre.rust .self{color:var(--code-highlight-self-color);}pre.rust .attr{color:var(--code-highlight-attribute-color);}pre.rust .macro,pre.rust .macro-nonterminal{color:var(--code-highlight-macro-color);}pre.rust .question-mark{font-weight:bold;color:var(--code-highlight-question-mark-color);}pre.rust .comment{color:var(--code-highlight-comment-color);}pre.rust .doccomment{color:var(--code-highlight-doc-comment-color);}.rustdoc.src .example-wrap pre.rust a{background:var(--codeblock-link-background);}.example-wrap.compile_fail,.example-wrap.should_panic{border-left:2px solid var(--codeblock-error-color);}.ignore.example-wrap{border-left:2px solid var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover,.example-wrap.should_panic:hover{border-left:2px solid var(--codeblock-error-hover-color);}.example-wrap.ignore:hover{border-left:2px solid var(--codeblock-ignore-hover-color);}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip{color:var(--codeblock-error-color);}.example-wrap.ignore .tooltip{color:var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover .tooltip,.example-wrap.should_panic:hover .tooltip{color:var(--codeblock-error-hover-color);}.example-wrap.ignore:hover .tooltip{color:var(--codeblock-ignore-hover-color);}.example-wrap .tooltip{position:absolute;display:block;left:-25px;top:5px;margin:0;line-height:1;}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip,.example-wrap.ignore .tooltip{font-weight:bold;font-size:1.25rem;}.content .docblock .warning{border-left:2px solid var(--warning-border-color);padding:14px;position:relative;overflow-x:visible !important;}.content .docblock .warning::before{color:var(--warning-border-color);content:"ⓘ";position:absolute;left:-25px;top:5px;font-weight:bold;font-size:1.25rem;}.top-doc>.docblock>.warning:first-child::before{top:20px;}a.test-arrow{visibility:hidden;position:absolute;padding:5px 10px 5px 10px;border-radius:5px;font-size:1.375rem;top:5px;right:5px;z-index:1;color:var(--test-arrow-color);background-color:var(--test-arrow-background-color);}a.test-arrow:hover{color:var(--test-arrow-hover-color);background-color:var(--test-arrow-hover-background-color);}.example-wrap:hover .test-arrow{visibility:visible;}.code-attribute{font-weight:300;color:var(--code-attribute-color);}.item-spacer{width:100%;height:12px;display:block;}.out-of-band>span.since{font-size:1.25rem;}.sub-variant h4{font-size:1rem;font-weight:400;margin-top:0;margin-bottom:0;}.sub-variant{margin-left:24px;margin-bottom:40px;}.sub-variant>.sub-variant-field{margin-left:24px;}:target{padding-right:3px;background-color:var(--target-background-color);border-right:3px solid var(--target-border-color);}.code-header a.tooltip{color:inherit;margin-right:15px;position:relative;}.code-header a.tooltip:hover{color:var(--link-color);}a.tooltip:hover::after{position:absolute;top:calc(100% - 10px);left:-15px;right:-15px;height:20px;content:"\00a0";}.fade-out{opacity:0;transition:opacity 0.45s cubic-bezier(0,0,0.1,1.0);}.popover.tooltip .content{margin:0.25em 0.5em;}.popover.tooltip .content pre,.popover.tooltip .content code{background:transparent;margin:0;padding:0;font-size:1.25rem;white-space:pre-wrap;}.popover.tooltip .content>h3:first-child{margin:0 0 5px 0;}.search-failed{text-align:center;margin-top:20px;display:none;}.search-failed.active{display:block;}.search-failed>ul{text-align:left;max-width:570px;margin-left:auto;margin-right:auto;}#search-tabs{display:flex;flex-direction:row;gap:1px;margin-bottom:4px;}#search-tabs button{text-align:center;font-size:1.125rem;border:0;border-top:2px solid;flex:1;line-height:1.5;color:inherit;}#search-tabs button:not(.selected){background-color:var(--search-tab-button-not-selected-background);border-top-color:var(--search-tab-button-not-selected-border-top-color);}#search-tabs button:hover,#search-tabs button.selected{background-color:var(--search-tab-button-selected-background);border-top-color:var(--search-tab-button-selected-border-top-color);}#search-tabs .count{font-size:1rem;font-variant-numeric:tabular-nums;color:var(--search-tab-title-count-color);}#search .error code{border-radius:3px;background-color:var(--search-error-code-background-color);}.search-corrections{font-weight:normal;}#src-sidebar{width:100%;overflow:auto;}#src-sidebar div.files>a:hover,details.dir-entry summary:hover,#src-sidebar div.files>a:focus,details.dir-entry summary:focus{background-color:var(--src-sidebar-background-hover);}#src-sidebar div.files>a.selected{background-color:var(--src-sidebar-background-selected);}.src-sidebar-title{position:sticky;top:0;display:flex;padding:8px 8px 0 48px;margin-bottom:7px;background:var(--sidebar-background-color);border-bottom:1px solid var(--border-color);}#settings-menu,#help-button{margin-left:4px;display:flex;}#sidebar-button{display:none;line-height:0;}.hide-sidebar #sidebar-button,.src #sidebar-button{display:flex;margin-right:4px;position:fixed;left:6px;height:34px;width:34px;background-color:var(--main-background-color);z-index:1;}.src #sidebar-button{left:8px;z-index:calc(var(--desktop-sidebar-z-index) + 1);}.hide-sidebar .src #sidebar-button{position:static;}#settings-menu>a,#help-button>a,#sidebar-button>a{display:flex;align-items:center;justify-content:center;background-color:var(--button-background-color);border:1px solid var(--border-color);border-radius:2px;color:var(--settings-button-color);font-size:20px;width:33px;}#settings-menu>a:hover,#settings-menu>a:focus,#help-button>a:hover,#help-button>a:focus,#sidebar-button>a:hover,#sidebar-button>a:focus{border-color:var(--settings-button-border-focus);}#settings-menu>a{line-height:0;font-size:0;}#settings-menu>a:before{content:url('data:image/svg+xml,\ + ');width:22px;height:22px;filter:var(--settings-menu-filter);}#sidebar-button>a:before{content:url('data:image/svg+xml,\ \ \ - ');width:22px;height:22px;}#copy-path{color:var(--copy-path-button-color);background:var(--main-background-color);height:34px;margin-left:10px;padding:0;padding-left:2px;border:0;width:33px;}#copy-path>img{filter:var(--copy-path-img-filter);}#copy-path:hover>img{filter:var(--copy-path-img-hover-filter);}@keyframes rotating{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}#settings-menu.rotate>a img{animation:rotating 2s linear infinite;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px var(--border-color);border-radius:3px;color:var(--kbd-color);background-color:var(--kbd-background);box-shadow:inset 0 -1px 0 var(--kbd-box-shadow-color);}ul.all-items>li{list-style:none;}details.dir-entry{padding-left:4px;}details.dir-entry>summary{margin:0 0 0 -4px;padding:0 0 0 4px;cursor:pointer;}details.dir-entry div.folders,details.dir-entry div.files{padding-left:23px;}details.dir-entry a{display:block;}details.toggle{contain:layout;position:relative;}details.toggle>summary.hideme{cursor:pointer;font-size:1rem;}details.toggle>summary{list-style:none;outline:none;}details.toggle>summary::-webkit-details-marker,details.toggle>summary::marker{display:none;}details.toggle>summary.hideme>span{margin-left:9px;}details.toggle>summary::before{background:url('data:image/svg+xml,');width:22px;height:22px;}#copy-path{color:var(--copy-path-button-color);background:var(--main-background-color);height:34px;width:33px;margin-left:10px;padding:0;padding-left:2px;border:0;font-size:0;}#copy-path::before{filter:var(--copy-path-img-filter);content:url('data:image/svg+xml,\ +\ +\ +');width:19px;height:18px;}#copy-path:hover::before{filter:var(--copy-path-img-hover-filter);}#copy-path.clicked::before{content:url('data:image/svg+xml,\ + \ + ');}@keyframes rotating{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}#settings-menu.rotate>a img{animation:rotating 2s linear infinite;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px var(--border-color);border-radius:3px;color:var(--kbd-color);background-color:var(--kbd-background);box-shadow:inset 0 -1px 0 var(--kbd-box-shadow-color);}ul.all-items>li{list-style:none;}details.dir-entry{padding-left:4px;}details.dir-entry>summary{margin:0 0 0 -4px;padding:0 0 0 4px;cursor:pointer;}details.dir-entry div.folders,details.dir-entry div.files{padding-left:23px;}details.dir-entry a{display:block;}details.toggle{contain:layout;position:relative;}details.toggle>summary.hideme{cursor:pointer;font-size:1rem;}details.toggle>summary{list-style:none;outline:none;}details.toggle>summary::-webkit-details-marker,details.toggle>summary::marker{display:none;}details.toggle>summary.hideme>span{margin-left:9px;}details.toggle>summary::before{background:url('data:image/svg+xml,') no-repeat top left;content:"";cursor:pointer;width:16px;height:16px;display:inline-block;vertical-align:middle;opacity:.5;filter:var(--toggle-filter);}details.toggle>summary.hideme>span,.more-examples-toggle summary,.more-examples-toggle .hide-more{color:var(--toggles-color);}details.toggle>summary::after{content:"Expand";overflow:hidden;width:0;height:0;position:absolute;}details.toggle>summary.hideme::after{content:"";}details.toggle>summary:focus::before,details.toggle>summary:hover::before{opacity:1;}details.toggle>summary:focus-visible::before{outline:1px dotted #000;outline-offset:1px;}details.non-exhaustive{margin-bottom:8px;}details.toggle>summary.hideme::before{position:relative;}details.toggle>summary:not(.hideme)::before{position:absolute;left:-24px;top:4px;}.impl-items>details.toggle>summary:not(.hideme)::before{position:absolute;left:-24px;}details.toggle[open] >summary.hideme{position:absolute;}details.toggle[open] >summary.hideme>span{display:none;}details.toggle[open] >summary::before{background:url('data:image/svg+xml,') no-repeat top left;}details viewBox="0 0 22 22" fill="none" stroke="black">\ \ \ - ');width:22px;height:22px;}.sidebar-menu-toggle:before{filter:var(--mobile-sidebar-menu-filter);}.sidebar-menu-toggle:hover{background:var(--main-background-color);}.item-table,.item-row,.item-table>li,.item-table>li>div,.search-results>a,.search-results>a>div{display:block;}.search-results>a{padding:5px 0px;}.search-results>a>div.desc,.item-table>li>div.desc{padding-left:2em;}.search-results .result-name{display:block;}.search-results .result-name .typename{width:initial;margin-right:0;}.search-results .result-name .typename,.search-results .result-name .path{display:inline;}.src-sidebar-expanded .src .sidebar{position:fixed;max-width:100vw;width:100vw;}.src .src-sidebar-title{padding-top:0;}details.toggle:not(.top-doc)>summary{margin-left:10px;}.impl-items>details.toggle>summary:not(.hideme)::before,#main-content>details.toggle:not(.top-doc)>summary::before,#main-content>div>details.toggle>summary::before{left:-11px;}.impl-items>.item-info{margin-left:34px;}.src nav.sub{margin:0;padding:var(--nav-sub-mobile-padding);}}@media (min-width:701px){.scraped-example-title{position:absolute;z-index:10;background:var(--main-background-color);bottom:8px;right:5px;padding:2px 4px;box-shadow:0 0 4px var(--main-background-color);}}@media print{nav.sidebar,nav.sub,.out-of-band,a.src,#copy-path,details.toggle[open] >summary::before,details.toggle>summary::before,details.toggle.top-doc>summary{display:none;}.docblock{margin-left:0;}main{padding:10px;}}@media (max-width:464px){.docblock{margin-left:12px;}.docblock code{overflow-wrap:break-word;overflow-wrap:anywhere;}nav.sub{flex-direction:column;}.search-form{align-self:stretch;}}.variant,.implementors-toggle>summary,.impl,#implementors-list>.docblock,.impl-items>section,.impl-items>.toggle>summary,.methods>section,.methods>.toggle>summary{margin-bottom:0.75em;}.variants>.docblock,.implementors-toggle>.docblock,.impl-items>.toggle[open]:not(:last-child),.methods>.toggle[open]:not(:last-child),.implementors-toggle[open]:not(:last-child){margin-bottom:2em;}#trait-implementations-list .impl-items>.toggle:not(:last-child),#synthetic-implementations-list .impl-items>.toggle:not(:last-child),#blanket-implementations-list .impl-items>.toggle:not(:last-child){margin-bottom:1em;}.scraped-example-list .scrape-help{margin-left:10px;padding:0 4px;font-weight:normal;font-size:12px;position:relative;bottom:1px;border:1px solid var(--scrape-example-help-border-color);border-radius:50px;color:var(--scrape-example-help-color);}.scraped-example-list .scrape-help:hover{border-color:var(--scrape-example-help-hover-border-color);color:var(--scrape-example-help-hover-color);}.scraped-example{position:relative;}.scraped-example .code-wrapper{position:relative;display:flex;flex-direction:row;flex-wrap:wrap;width:100%;}.scraped-example:not(.expanded) .code-wrapper{max-height:calc(1.5em * 5 + 10px);}.scraped-example:not(.expanded) .code-wrapper pre{overflow-y:hidden;padding-bottom:0;max-height:calc(1.5em * 5 + 10px);}.more-scraped-examples .scraped-example:not(.expanded) .code-wrapper,.more-scraped-examples .scraped-example:not(.expanded) .code-wrapper pre{max-height:calc(1.5em * 10 + 10px);}.scraped-example .code-wrapper .next,.scraped-example .code-wrapper .prev,.scraped-example .code-wrapper .expand{color:var(--main-color);position:absolute;top:0.25em;z-index:1;padding:0;background:none;border:none;-webkit-appearance:none;opacity:1;}.scraped-example .code-wrapper .prev{right:2.25em;}.scraped-example .code-wrapper .next{right:1.25em;}.scraped-example .code-wrapper .expand{right:0.25em;}.scraped-example:not(.expanded) .code-wrapper::before,.scraped-example:not(.expanded) .code-wrapper::after{content:" ";width:100%;height:5px;position:absolute;z-index:1;}.scraped-example:not(.expanded) .code-wrapper::before{top:0;background:linear-gradient(to bottom,var(--scrape-example-code-wrapper-background-start),var(--scrape-example-code-wrapper-background-end));}.scraped-example:not(.expanded) .code-wrapper::after{bottom:0;background:linear-gradient(to top,var(--scrape-example-code-wrapper-background-start),var(--scrape-example-code-wrapper-background-end));}.scraped-example .code-wrapper .example-wrap{width:100%;overflow-y:hidden;margin-bottom:0;}.scraped-example:not(.expanded) .code-wrapper .example-wrap{overflow-x:hidden;}.scraped-example .example-wrap .rust span.highlight{background:var(--scrape-example-code-line-highlight);}.scraped-example .example-wrap .rust span.highlight.focus{background:var(--scrape-example-code-line-highlight-focus);}.more-examples-toggle{max-width:calc(100% + 25px);margin-top:10px;margin-left:-25px;}.more-examples-toggle .hide-more{margin-left:25px;cursor:pointer;}.more-scraped-examples{margin-left:25px;position:relative;}.toggle-line{position:absolute;top:5px;bottom:0;right:calc(100% + 10px);padding:0 4px;cursor:pointer;}.toggle-line-inner{min-width:2px;height:100%;background:var(--scrape-example-toggle-line-background);}.toggle-line:hover .toggle-line-inner{background:var(--scrape-example-toggle-line-hover-background);}.more-scraped-examples .scraped-example,.example-links{margin-top:20px;}.more-scraped-examples .scraped-example:first-child{margin-top:5px;}.example-links ul{margin-bottom:0;}:root[data-theme="light"]{--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--settings-input-border-color:#717171;--settings-button-color:#000;--settings-button-border-focus:#717171;--sidebar-background-color:#f5f5f5;--sidebar-background-color-hover:#e0e0e0;--code-block-background-color:#f5f5f5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;--border-color:#e0e0e0;--button-background-color:#fff;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:none;--mobile-sidebar-menu-filter:none;--search-input-focused-border-color:#66afe9;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(35%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ad378a;--trait-link-color:#6e4fc9;--assoc-item-link-color:#3873ad;--function-link-color:#ad7c37;--macro-link-color:#068000;--keyword-link-color:#3873ad;--mod-link-color:#3873ad;--link-color:#3873ad;--sidebar-link-color:#356da4;--sidebar-current-link-background-color:#fff;--search-result-link-focus-background-color:#ccc;--search-result-border-color:#aaa3;--search-color:#000;--search-error-code-background-color:#d0cccc;--search-results-alias-color:#000;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#e6e6e6;--search-tab-button-not-selected-background:#e6e6e6;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#fff;--stab-background-color:#fff5d6;--stab-code-color:#000;--code-highlight-kw-color:#8959a8;--code-highlight-kw-2-color:#4271ae;--code-highlight-lifetime-color:#b76514;--code-highlight-prelude-color:#4271ae;--code-highlight-prelude-val-color:#c82829;--code-highlight-number-color:#718c00;--code-highlight-string-color:#718c00;--code-highlight-literal-color:#c82829;--code-highlight-attribute-color:#c82829;--code-highlight-self-color:#c82829;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8e908c;--code-highlight-doc-comment-color:#4d4d4c;--src-line-numbers-span-color:#c67e2d;--src-line-number-highlighted-background-color:#fdffd3;--test-arrow-color:#f5f5f5;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#f5f5f5;--test-arrow-hover-background-color:rgb(78,139,202);--target-background-color:#fdffd3;--target-border-color:#ad7c37;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:initial;--crate-search-div-filter:invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);--crate-search-div-hover-filter:invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);--crate-search-hover-border:#717171;--src-sidebar-background-selected:#fff;--src-sidebar-background-hover:#e0e0e0;--table-alt-row-background-color:#f5f5f5;--codeblock-link-background:#eee;--scrape-example-toggle-line-background:#ccc;--scrape-example-toggle-line-hover-background:#999;--scrape-example-code-line-highlight:#fcffd6;--scrape-example-code-line-highlight-focus:#f6fdb0;--scrape-example-help-border-color:#555;--scrape-example-help-color:#333;--scrape-example-help-hover-border-color:#000;--scrape-example-help-hover-color:#000;--scrape-example-code-wrapper-background-start:rgba(255,255,255,1);--scrape-example-code-wrapper-background-end:rgba(255,255,255,0);--sidebar-resizer-hover:hsl(207,90%,66%);--sidebar-resizer-active:hsl(207,90%,54%);}:root[data-theme="dark"]{--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--settings-input-border-color:#999;--settings-button-color:#000;--settings-button-border-focus:#ffb900;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;--border-color:#e0e0e0;--button-background-color:#f0f0f0;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#008dfd;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(65%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#2dbfb8;--trait-link-color:#b78cf2;--assoc-item-link-color:#d2991d;--function-link-color:#2bab63;--macro-link-color:#09bd00;--keyword-link-color:#d2991d;--mod-link-color:#d2991d;--link-color:#d2991d;--sidebar-link-color:#fdbf35;--sidebar-current-link-background-color:#444;--search-result-link-focus-background-color:#616161;--search-result-border-color:#aaa3;--search-color:#111;--search-error-code-background-color:#484848;--search-results-alias-color:#fff;--search-results-grey-color:#ccc;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#252525;--search-tab-button-not-selected-background:#252525;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#353535;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ab8ac1;--code-highlight-kw-2-color:#769acb;--code-highlight-lifetime-color:#d97f26;--code-highlight-prelude-color:#769acb;--code-highlight-prelude-val-color:#ee6868;--code-highlight-number-color:#83a300;--code-highlight-string-color:#83a300;--code-highlight-literal-color:#ee6868;--code-highlight-attribute-color:#ee6868;--code-highlight-self-color:#ee6868;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8d8d8b;--code-highlight-doc-comment-color:#8ca375;--src-line-numbers-span-color:#3b91e2;--src-line-number-highlighted-background-color:#0a042f;--test-arrow-color:#dedede;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#dedede;--test-arrow-hover-background-color:#4e8bca;--target-background-color:#494a3d;--target-border-color:#bb7410;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) brightness(90%) contrast(90%);--crate-search-div-hover-filter:invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) brightness(100%) contrast(91%);--crate-search-hover-border:#2196f3;--src-sidebar-background-selected:#333;--src-sidebar-background-hover:#444;--table-alt-row-background-color:#2a2a2a;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(53,53,53,1);--scrape-example-code-wrapper-background-end:rgba(53,53,53,0);--sidebar-resizer-hover:hsl(207,30%,54%);--sidebar-resizer-active:hsl(207,90%,54%);}:root[data-theme="ayu"]{--main-background-color:#0f1419;--main-color:#c5c5c5;--settings-input-color:#ffb454;--settings-input-border-color:#999;--settings-button-color:#fff;--settings-button-border-focus:#e0e0e0;--sidebar-background-color:#14191f;--sidebar-background-color-hover:rgba(70,70,70,0.33);--code-block-background-color:#191f26;--scrollbar-track-background-color:transparent;--scrollbar-thumb-background-color:#5c6773;--scrollbar-color:#5c6773 #24292f;--headings-border-bottom-color:#5c6773;--border-color:#5c6773;--button-background-color:#141920;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#5c6773;--copy-path-button-color:#fff;--copy-path-img-filter:invert(70%);--copy-path-img-hover-filter:invert(100%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ffa0a5;--trait-link-color:#39afd7;--assoc-item-link-color:#39afd7;--function-link-color:#fdd687;--macro-link-color:#a37acc;--keyword-link-color:#39afd7;--mod-link-color:#39afd7;--link-color:#39afd7;--sidebar-link-color:#53b1db;--sidebar-current-link-background-color:transparent;--search-result-link-focus-background-color:#3c3c3c;--search-result-border-color:#aaa3;--search-color:#fff;--search-error-code-background-color:#4f4c4c;--search-results-alias-color:#c5c5c5;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:none;--search-tab-button-not-selected-background:transparent !important;--search-tab-button-selected-border-top-color:none;--search-tab-button-selected-background:#141920 !important;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ff7733;--code-highlight-kw-2-color:#ff7733;--code-highlight-lifetime-color:#ff7733;--code-highlight-prelude-color:#69f2df;--code-highlight-prelude-val-color:#ff7733;--code-highlight-number-color:#b8cc52;--code-highlight-string-color:#b8cc52;--code-highlight-literal-color:#ff7733;--code-highlight-attribute-color:#e6e1cf;--code-highlight-self-color:#36a3d9;--code-highlight-macro-color:#a37acc;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#788797;--code-highlight-doc-comment-color:#a1ac88;--src-line-numbers-span-color:#5c6773;--src-line-number-highlighted-background-color:rgba(255,236,164,0.06);--test-arrow-color:#788797;--test-arrow-background-color:rgba(57,175,215,0.09);--test-arrow-hover-color:#c5c5c5;--test-arrow-hover-background-color:rgba(57,175,215,0.368);--target-background-color:rgba(255,236,164,0.06);--target-border-color:rgba(255,180,76,0.85);--kbd-color:#c5c5c5;--kbd-background:#314559;--kbd-box-shadow-color:#5c6773;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(41%) sepia(12%) saturate(487%) hue-rotate(171deg) brightness(94%) contrast(94%);--crate-search-div-hover-filter:invert(98%) sepia(12%) saturate(81%) hue-rotate(343deg) brightness(113%) contrast(76%);--crate-search-hover-border:#e0e0e0;--src-sidebar-background-selected:#14191f;--src-sidebar-background-hover:#14191f;--table-alt-row-background-color:#191f26;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(15,20,25,1);--scrape-example-code-wrapper-background-end:rgba(15,20,25,0);--sidebar-resizer-hover:hsl(34,50%,33%);--sidebar-resizer-active:hsl(34,100%,66%);}:root[data-theme="ayu"] h1,:root[data-theme="ayu"] h2,:root[data-theme="ayu"] h3,:root[data-theme="ayu"] h4,:where(:root[data-theme="ayu"]) h1 a,:root[data-theme="ayu"] .sidebar h2 a,:root[data-theme="ayu"] .sidebar h3 a{color:#fff;}:root[data-theme="ayu"] .docblock code{color:#ffb454;}:root[data-theme="ayu"] .docblock a>code{color:#39AFD7 !important;}:root[data-theme="ayu"] .code-header,:root[data-theme="ayu"] .docblock pre>code,:root[data-theme="ayu"] pre,:root[data-theme="ayu"] pre>code,:root[data-theme="ayu"] .item-info code,:root[data-theme="ayu"] .rustdoc.source .example-wrap{color:#e6e1cf;}:root[data-theme="ayu"] .sidebar .current,:root[data-theme="ayu"] .sidebar .current a,:root[data-theme="ayu"] .sidebar a:hover,:root[data-theme="ayu"] #src-sidebar div.files>a:hover,:root[data-theme="ayu"] details.dir-entry summary:hover,:root[data-theme="ayu"] #src-sidebar div.files>a:focus,:root[data-theme="ayu"] details.dir-entry summary:focus,:root[data-theme="ayu"] #src-sidebar div.files>a.selected{color:#ffb44c;}:root[data-theme="ayu"] .sidebar-elems .location{color:#ff7733;}:root[data-theme="ayu"] .src-line-numbers .line-highlighted{color:#708090;padding-right:7px;border-right:1px solid #ffb44c;}:root[data-theme="ayu"] .search-results a:hover,:root[data-theme="ayu"] .search-results a:focus{color:#fff !important;background-color:#3c3c3c;}:root[data-theme="ayu"] .search-results a{color:#0096cf;}:root[data-theme="ayu"] .search-results a div.desc{color:#c5c5c5;}:root[data-theme="ayu"] .result-name .primitive>i,:root[data-theme="ayu"] .result-name .keyword>i{color:#788797;}:root[data-theme="ayu"] #search-tabs>button.selected{border-bottom:1px solid #ffb44c !important;border-top:none;}:root[data-theme="ayu"] #search-tabs>button:not(.selected){border:none;background-color:transparent !important;}:root[data-theme="ayu"] #search-tabs>button:hover{border-bottom:1px solid rgba(242,151,24,0.3);}:root[data-theme="ayu"] #settings-menu>a img,:root[data-theme="ayu"] #sidebar-button>a:before{filter:invert(100);} \ No newline at end of file + ');width:22px;height:22px;}.sidebar-menu-toggle:before{filter:var(--mobile-sidebar-menu-filter);}.sidebar-menu-toggle:hover{background:var(--main-background-color);}.item-table,.item-row,.item-table>li,.item-table>li>div,.search-results>a,.search-results>a>div{display:block;}.search-results>a{padding:5px 0px;}.search-results>a>div.desc,.item-table>li>div.desc{padding-left:2em;}.search-results .result-name{display:block;}.search-results .result-name .typename{width:initial;margin-right:0;}.search-results .result-name .typename,.search-results .result-name .path{display:inline;}.src-sidebar-expanded .src .sidebar{position:fixed;max-width:100vw;width:100vw;}.src .src-sidebar-title{padding-top:0;}details.toggle:not(.top-doc)>summary{margin-left:10px;}.impl-items>details.toggle>summary:not(.hideme)::before,#main-content>details.toggle:not(.top-doc)>summary::before,#main-content>div>details.toggle>summary::before{left:-11px;}.impl-items>.item-info{margin-left:34px;}.src nav.sub{margin:0;padding:var(--nav-sub-mobile-padding);}}@media (min-width:701px){.scraped-example-title{position:absolute;z-index:10;background:var(--main-background-color);bottom:8px;right:5px;padding:2px 4px;box-shadow:0 0 4px var(--main-background-color);}}@media print{nav.sidebar,nav.sub,.out-of-band,a.src,#copy-path,details.toggle[open] >summary::before,details.toggle>summary::before,details.toggle.top-doc>summary{display:none;}.docblock{margin-left:0;}main{padding:10px;}}@media (max-width:464px){.docblock{margin-left:12px;}.docblock code{overflow-wrap:break-word;overflow-wrap:anywhere;}nav.sub{flex-direction:column;}.search-form{align-self:stretch;}}.variant,.implementors-toggle>summary,.impl,#implementors-list>.docblock,.impl-items>section,.impl-items>.toggle>summary,.methods>section,.methods>.toggle>summary{margin-bottom:0.75em;}.variants>.docblock,.implementors-toggle>.docblock,.impl-items>.toggle[open]:not(:last-child),.methods>.toggle[open]:not(:last-child),.implementors-toggle[open]:not(:last-child){margin-bottom:2em;}#trait-implementations-list .impl-items>.toggle:not(:last-child),#synthetic-implementations-list .impl-items>.toggle:not(:last-child),#blanket-implementations-list .impl-items>.toggle:not(:last-child){margin-bottom:1em;}.scraped-example-list .scrape-help{margin-left:10px;padding:0 4px;font-weight:normal;font-size:12px;position:relative;bottom:1px;border:1px solid var(--scrape-example-help-border-color);border-radius:50px;color:var(--scrape-example-help-color);}.scraped-example-list .scrape-help:hover{border-color:var(--scrape-example-help-hover-border-color);color:var(--scrape-example-help-hover-color);}.scraped-example{position:relative;}.scraped-example .code-wrapper{position:relative;display:flex;flex-direction:row;flex-wrap:wrap;width:100%;}.scraped-example:not(.expanded) .code-wrapper{max-height:calc(1.5em * 5 + 10px);}.scraped-example:not(.expanded) .code-wrapper pre{overflow-y:hidden;padding-bottom:0;max-height:calc(1.5em * 5 + 10px);}.more-scraped-examples .scraped-example:not(.expanded) .code-wrapper,.more-scraped-examples .scraped-example:not(.expanded) .code-wrapper pre{max-height:calc(1.5em * 10 + 10px);}.scraped-example .code-wrapper .next,.scraped-example .code-wrapper .prev,.scraped-example .code-wrapper .expand{color:var(--main-color);position:absolute;top:0.25em;z-index:1;padding:0;background:none;border:none;-webkit-appearance:none;opacity:1;}.scraped-example .code-wrapper .prev{right:2.25em;}.scraped-example .code-wrapper .next{right:1.25em;}.scraped-example .code-wrapper .expand{right:0.25em;}.scraped-example:not(.expanded) .code-wrapper::before,.scraped-example:not(.expanded) .code-wrapper::after{content:" ";width:100%;height:5px;position:absolute;z-index:1;}.scraped-example:not(.expanded) .code-wrapper::before{top:0;background:linear-gradient(to bottom,var(--scrape-example-code-wrapper-background-start),var(--scrape-example-code-wrapper-background-end));}.scraped-example:not(.expanded) .code-wrapper::after{bottom:0;background:linear-gradient(to top,var(--scrape-example-code-wrapper-background-start),var(--scrape-example-code-wrapper-background-end));}.scraped-example .code-wrapper .example-wrap{width:100%;overflow-y:hidden;margin-bottom:0;}.scraped-example:not(.expanded) .code-wrapper .example-wrap{overflow-x:hidden;}.scraped-example .example-wrap .rust span.highlight{background:var(--scrape-example-code-line-highlight);}.scraped-example .example-wrap .rust span.highlight.focus{background:var(--scrape-example-code-line-highlight-focus);}.more-examples-toggle{max-width:calc(100% + 25px);margin-top:10px;margin-left:-25px;}.more-examples-toggle .hide-more{margin-left:25px;cursor:pointer;}.more-scraped-examples{margin-left:25px;position:relative;}.toggle-line{position:absolute;top:5px;bottom:0;right:calc(100% + 10px);padding:0 4px;cursor:pointer;}.toggle-line-inner{min-width:2px;height:100%;background:var(--scrape-example-toggle-line-background);}.toggle-line:hover .toggle-line-inner{background:var(--scrape-example-toggle-line-hover-background);}.more-scraped-examples .scraped-example,.example-links{margin-top:20px;}.more-scraped-examples .scraped-example:first-child{margin-top:5px;}.example-links ul{margin-bottom:0;}:root[data-theme="light"],:root:not([data-theme]){--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--settings-input-border-color:#717171;--settings-button-color:#000;--settings-button-border-focus:#717171;--sidebar-background-color:#f5f5f5;--sidebar-background-color-hover:#e0e0e0;--code-block-background-color:#f5f5f5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;--border-color:#e0e0e0;--button-background-color:#fff;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:none;--mobile-sidebar-menu-filter:none;--search-input-focused-border-color:#66afe9;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(35%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ad378a;--trait-link-color:#6e4fc9;--assoc-item-link-color:#3873ad;--function-link-color:#ad7c37;--macro-link-color:#068000;--keyword-link-color:#3873ad;--mod-link-color:#3873ad;--link-color:#3873ad;--sidebar-link-color:#356da4;--sidebar-current-link-background-color:#fff;--search-result-link-focus-background-color:#ccc;--search-result-border-color:#aaa3;--search-color:#000;--search-error-code-background-color:#d0cccc;--search-results-alias-color:#000;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#e6e6e6;--search-tab-button-not-selected-background:#e6e6e6;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#fff;--settings-menu-filter:none;--stab-background-color:#fff5d6;--stab-code-color:#000;--code-highlight-kw-color:#8959a8;--code-highlight-kw-2-color:#4271ae;--code-highlight-lifetime-color:#b76514;--code-highlight-prelude-color:#4271ae;--code-highlight-prelude-val-color:#c82829;--code-highlight-number-color:#718c00;--code-highlight-string-color:#718c00;--code-highlight-literal-color:#c82829;--code-highlight-attribute-color:#c82829;--code-highlight-self-color:#c82829;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8e908c;--code-highlight-doc-comment-color:#4d4d4c;--src-line-numbers-span-color:#c67e2d;--src-line-number-highlighted-background-color:#fdffd3;--test-arrow-color:#f5f5f5;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#f5f5f5;--test-arrow-hover-background-color:rgb(78,139,202);--target-background-color:#fdffd3;--target-border-color:#ad7c37;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:initial;--crate-search-div-filter:invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);--crate-search-div-hover-filter:invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);--crate-search-hover-border:#717171;--src-sidebar-background-selected:#fff;--src-sidebar-background-hover:#e0e0e0;--table-alt-row-background-color:#f5f5f5;--codeblock-link-background:#eee;--scrape-example-toggle-line-background:#ccc;--scrape-example-toggle-line-hover-background:#999;--scrape-example-code-line-highlight:#fcffd6;--scrape-example-code-line-highlight-focus:#f6fdb0;--scrape-example-help-border-color:#555;--scrape-example-help-color:#333;--scrape-example-help-hover-border-color:#000;--scrape-example-help-hover-color:#000;--scrape-example-code-wrapper-background-start:rgba(255,255,255,1);--scrape-example-code-wrapper-background-end:rgba(255,255,255,0);--sidebar-resizer-hover:hsl(207,90%,66%);--sidebar-resizer-active:hsl(207,90%,54%);}:root[data-theme="dark"]{--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--settings-input-border-color:#999;--settings-button-color:#000;--settings-button-border-focus:#ffb900;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;--border-color:#e0e0e0;--button-background-color:#f0f0f0;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#008dfd;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(65%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#2dbfb8;--trait-link-color:#b78cf2;--assoc-item-link-color:#d2991d;--function-link-color:#2bab63;--macro-link-color:#09bd00;--keyword-link-color:#d2991d;--mod-link-color:#d2991d;--link-color:#d2991d;--sidebar-link-color:#fdbf35;--sidebar-current-link-background-color:#444;--search-result-link-focus-background-color:#616161;--search-result-border-color:#aaa3;--search-color:#111;--search-error-code-background-color:#484848;--search-results-alias-color:#fff;--search-results-grey-color:#ccc;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#252525;--search-tab-button-not-selected-background:#252525;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#353535;--settings-menu-filter:none;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ab8ac1;--code-highlight-kw-2-color:#769acb;--code-highlight-lifetime-color:#d97f26;--code-highlight-prelude-color:#769acb;--code-highlight-prelude-val-color:#ee6868;--code-highlight-number-color:#83a300;--code-highlight-string-color:#83a300;--code-highlight-literal-color:#ee6868;--code-highlight-attribute-color:#ee6868;--code-highlight-self-color:#ee6868;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8d8d8b;--code-highlight-doc-comment-color:#8ca375;--src-line-numbers-span-color:#3b91e2;--src-line-number-highlighted-background-color:#0a042f;--test-arrow-color:#dedede;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#dedede;--test-arrow-hover-background-color:#4e8bca;--target-background-color:#494a3d;--target-border-color:#bb7410;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) brightness(90%) contrast(90%);--crate-search-div-hover-filter:invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) brightness(100%) contrast(91%);--crate-search-hover-border:#2196f3;--src-sidebar-background-selected:#333;--src-sidebar-background-hover:#444;--table-alt-row-background-color:#2a2a2a;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(53,53,53,1);--scrape-example-code-wrapper-background-end:rgba(53,53,53,0);--sidebar-resizer-hover:hsl(207,30%,54%);--sidebar-resizer-active:hsl(207,90%,54%);}:root[data-theme="ayu"]{--main-background-color:#0f1419;--main-color:#c5c5c5;--settings-input-color:#ffb454;--settings-input-border-color:#999;--settings-button-color:#fff;--settings-button-border-focus:#e0e0e0;--sidebar-background-color:#14191f;--sidebar-background-color-hover:rgba(70,70,70,0.33);--code-block-background-color:#191f26;--scrollbar-track-background-color:transparent;--scrollbar-thumb-background-color:#5c6773;--scrollbar-color:#5c6773 #24292f;--headings-border-bottom-color:#5c6773;--border-color:#5c6773;--button-background-color:#141920;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#5c6773;--copy-path-button-color:#fff;--copy-path-img-filter:invert(70%);--copy-path-img-hover-filter:invert(100%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ffa0a5;--trait-link-color:#39afd7;--assoc-item-link-color:#39afd7;--function-link-color:#fdd687;--macro-link-color:#a37acc;--keyword-link-color:#39afd7;--mod-link-color:#39afd7;--link-color:#39afd7;--sidebar-link-color:#53b1db;--sidebar-current-link-background-color:transparent;--search-result-link-focus-background-color:#3c3c3c;--search-result-border-color:#aaa3;--search-color:#fff;--search-error-code-background-color:#4f4c4c;--search-results-alias-color:#c5c5c5;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:none;--search-tab-button-not-selected-background:transparent !important;--search-tab-button-selected-border-top-color:none;--search-tab-button-selected-background:#141920 !important;--settings-menu-filter:invert(100%);--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ff7733;--code-highlight-kw-2-color:#ff7733;--code-highlight-lifetime-color:#ff7733;--code-highlight-prelude-color:#69f2df;--code-highlight-prelude-val-color:#ff7733;--code-highlight-number-color:#b8cc52;--code-highlight-string-color:#b8cc52;--code-highlight-literal-color:#ff7733;--code-highlight-attribute-color:#e6e1cf;--code-highlight-self-color:#36a3d9;--code-highlight-macro-color:#a37acc;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#788797;--code-highlight-doc-comment-color:#a1ac88;--src-line-numbers-span-color:#5c6773;--src-line-number-highlighted-background-color:rgba(255,236,164,0.06);--test-arrow-color:#788797;--test-arrow-background-color:rgba(57,175,215,0.09);--test-arrow-hover-color:#c5c5c5;--test-arrow-hover-background-color:rgba(57,175,215,0.368);--target-background-color:rgba(255,236,164,0.06);--target-border-color:rgba(255,180,76,0.85);--kbd-color:#c5c5c5;--kbd-background:#314559;--kbd-box-shadow-color:#5c6773;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(41%) sepia(12%) saturate(487%) hue-rotate(171deg) brightness(94%) contrast(94%);--crate-search-div-hover-filter:invert(98%) sepia(12%) saturate(81%) hue-rotate(343deg) brightness(113%) contrast(76%);--crate-search-hover-border:#e0e0e0;--src-sidebar-background-selected:#14191f;--src-sidebar-background-hover:#14191f;--table-alt-row-background-color:#191f26;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(15,20,25,1);--scrape-example-code-wrapper-background-end:rgba(15,20,25,0);--sidebar-resizer-hover:hsl(34,50%,33%);--sidebar-resizer-active:hsl(34,100%,66%);}:root[data-theme="ayu"] h1,:root[data-theme="ayu"] h2,:root[data-theme="ayu"] h3,:root[data-theme="ayu"] h4,:where(:root[data-theme="ayu"]) h1 a,:root[data-theme="ayu"] .sidebar h2 a,:root[data-theme="ayu"] .sidebar h3 a{color:#fff;}:root[data-theme="ayu"] .docblock code{color:#ffb454;}:root[data-theme="ayu"] .docblock a>code{color:#39AFD7 !important;}:root[data-theme="ayu"] .code-header,:root[data-theme="ayu"] .docblock pre>code,:root[data-theme="ayu"] pre,:root[data-theme="ayu"] pre>code,:root[data-theme="ayu"] .item-info code,:root[data-theme="ayu"] .rustdoc.source .example-wrap{color:#e6e1cf;}:root[data-theme="ayu"] .sidebar .current,:root[data-theme="ayu"] .sidebar .current a,:root[data-theme="ayu"] .sidebar a:hover,:root[data-theme="ayu"] #src-sidebar div.files>a:hover,:root[data-theme="ayu"] details.dir-entry summary:hover,:root[data-theme="ayu"] #src-sidebar div.files>a:focus,:root[data-theme="ayu"] details.dir-entry summary:focus,:root[data-theme="ayu"] #src-sidebar div.files>a.selected{color:#ffb44c;}:root[data-theme="ayu"] .sidebar-elems .location{color:#ff7733;}:root[data-theme="ayu"] .src-line-numbers .line-highlighted{color:#708090;padding-right:7px;border-right:1px solid #ffb44c;}:root[data-theme="ayu"] .search-results a:hover,:root[data-theme="ayu"] .search-results a:focus{color:#fff !important;background-color:#3c3c3c;}:root[data-theme="ayu"] .search-results a{color:#0096cf;}:root[data-theme="ayu"] .search-results a div.desc{color:#c5c5c5;}:root[data-theme="ayu"] .result-name .primitive>i,:root[data-theme="ayu"] .result-name .keyword>i{color:#788797;}:root[data-theme="ayu"] #search-tabs>button.selected{border-bottom:1px solid #ffb44c !important;border-top:none;}:root[data-theme="ayu"] #search-tabs>button:not(.selected){border:none;background-color:transparent !important;}:root[data-theme="ayu"] #search-tabs>button:hover{border-bottom:1px solid rgba(242,151,24,0.3);}:root[data-theme="ayu"] #settings-menu>a img,:root[data-theme="ayu"] #sidebar-button>a:before{filter:invert(100);} \ No newline at end of file diff --git a/doc/static.files/search-42d8da7a6b9792c2.js b/doc/static.files/search-42d8da7a6b9792c2.js deleted file mode 100644 index 1d178d53..00000000 --- a/doc/static.files/search-42d8da7a6b9792c2.js +++ /dev/null @@ -1,5 +0,0 @@ -"use strict";if(!Array.prototype.toSpliced){Array.prototype.toSpliced=function(){const me=this.slice();Array.prototype.splice.apply(me,arguments);return me}}(function(){const itemTypes=["keyword","primitive","mod","externcrate","import","struct","enum","fn","type","static","trait","impl","tymethod","method","structfield","variant","macro","associatedtype","constant","associatedconstant","union","foreigntype","existential","attr","derive","traitalias","generic",];const longItemTypes=["keyword","primitive type","module","extern crate","re-export","struct","enum","function","type alias","static","trait","","trait method","method","struct field","enum variant","macro","assoc type","constant","assoc const","union","foreign type","existential type","attribute macro","derive macro","trait alias",];const TY_GENERIC=itemTypes.indexOf("generic");const ROOT_PATH=typeof window!=="undefined"?window.rootPath:"../";const UNBOXING_LIMIT=5;function printTab(nb){let iter=0;let foundCurrentTab=false;let foundCurrentResultSet=false;onEachLazy(document.getElementById("search-tabs").childNodes,elem=>{if(nb===iter){addClass(elem,"selected");foundCurrentTab=true}else{removeClass(elem,"selected")}iter+=1});const isTypeSearch=(nb>0||iter===1);iter=0;onEachLazy(document.getElementById("results").childNodes,elem=>{if(nb===iter){addClass(elem,"active");foundCurrentResultSet=true}else{removeClass(elem,"active")}iter+=1});if(foundCurrentTab&&foundCurrentResultSet){searchState.currentTab=nb;const correctionsElem=document.getElementsByClassName("search-corrections");if(isTypeSearch){removeClass(correctionsElem[0],"hidden")}else{addClass(correctionsElem[0],"hidden")}}else if(nb!==0){printTab(0)}}const editDistanceState={current:[],prev:[],prevPrev:[],calculate:function calculate(a,b,limit){if(a.lengthlimit){return limit+1}while(b.length>0&&b[0]===a[0]){a=a.substring(1);b=b.substring(1)}while(b.length>0&&b[b.length-1]===a[a.length-1]){a=a.substring(0,a.length-1);b=b.substring(0,b.length-1)}if(b.length===0){return minDist}const aLength=a.length;const bLength=b.length;for(let i=0;i<=bLength;++i){this.current[i]=0;this.prev[i]=i;this.prevPrev[i]=Number.MAX_VALUE}for(let i=1;i<=aLength;++i){this.current[0]=i;const aIdx=i-1;for(let j=1;j<=bLength;++j){const bIdx=j-1;const substitutionCost=a[aIdx]===b[bIdx]?0:1;this.current[j]=Math.min(this.prev[j]+1,this.current[j-1]+1,this.prev[j-1]+substitutionCost);if((i>1)&&(j>1)&&(a[aIdx]===b[bIdx-1])&&(a[aIdx-1]===b[bIdx])){this.current[j]=Math.min(this.current[j],this.prevPrev[j-2]+1)}}const prevPrevTmp=this.prevPrev;this.prevPrev=this.prev;this.prev=this.current;this.current=prevPrevTmp}const distance=this.prev[bLength];return distance<=limit?distance:(limit+1)},};function editDistance(a,b,limit){return editDistanceState.calculate(a,b,limit)}function initSearch(rawSearchIndex){const MAX_RESULTS=200;const NO_TYPE_FILTER=-1;let searchIndex;let functionTypeFingerprint;let currentResults;const typeNameIdMap=new Map();const ALIASES=new Map();const typeNameIdOfArray=buildTypeMapIndex("array");const typeNameIdOfSlice=buildTypeMapIndex("slice");const typeNameIdOfArrayOrSlice=buildTypeMapIndex("[]");const typeNameIdOfTuple=buildTypeMapIndex("tuple");const typeNameIdOfUnit=buildTypeMapIndex("unit");const typeNameIdOfTupleOrUnit=buildTypeMapIndex("()");const typeNameIdOfFn=buildTypeMapIndex("fn");const typeNameIdOfFnMut=buildTypeMapIndex("fnmut");const typeNameIdOfFnOnce=buildTypeMapIndex("fnonce");const typeNameIdOfHof=buildTypeMapIndex("->");function buildTypeMapIndex(name,isAssocType){if(name===""||name===null){return null}if(typeNameIdMap.has(name)){const obj=typeNameIdMap.get(name);obj.assocOnly=isAssocType&&obj.assocOnly;return obj.id}else{const id=typeNameIdMap.size;typeNameIdMap.set(name,{id,assocOnly:isAssocType});return id}}function isSpecialStartCharacter(c){return"<\"".indexOf(c)!==-1}function isEndCharacter(c){return"=,>-])".indexOf(c)!==-1}function itemTypeFromName(typename){const index=itemTypes.findIndex(i=>i===typename);if(index<0){throw["Unknown type filter ",typename]}return index}function getStringElem(query,parserState,isInGenerics){if(isInGenerics){throw["Unexpected ","\""," in generics"]}else if(query.literalSearch){throw["Cannot have more than one literal search element"]}else if(parserState.totalElems-parserState.genericsElems>0){throw["Cannot use literal search when there is more than one element"]}parserState.pos+=1;const start=parserState.pos;const end=getIdentEndPosition(parserState);if(parserState.pos>=parserState.length){throw["Unclosed ","\""]}else if(parserState.userQuery[end]!=="\""){throw["Unexpected ",parserState.userQuery[end]," in a string element"]}else if(start===end){throw["Cannot have empty string element"]}parserState.pos+=1;query.literalSearch=true}function isPathStart(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="::"}function isReturnArrow(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="->"}function isIdentCharacter(c){return(c==="_"||(c>="0"&&c<="9")||(c>="a"&&c<="z")||(c>="A"&&c<="Z"))}function isSeparatorCharacter(c){return c===","||c==="="}function isPathSeparator(c){return c===":"||c===" "}function prevIs(parserState,lookingFor){let pos=parserState.pos;while(pos>0){const c=parserState.userQuery[pos-1];if(c===lookingFor){return true}else if(c!==" "){break}pos-=1}return false}function isLastElemGeneric(elems,parserState){return(elems.length>0&&elems[elems.length-1].generics.length>0)||prevIs(parserState,">")}function skipWhitespace(parserState){while(parserState.pos0){throw["Cannot have more than one element if you use quotes"]}const typeFilter=parserState.typeFilter;parserState.typeFilter=null;if(name==="!"){if(typeFilter!==null&&typeFilter!=="primitive"){throw["Invalid search type: primitive never type ","!"," and ",typeFilter," both specified",]}if(generics.length!==0){throw["Never type ","!"," does not accept generic parameters",]}const bindingName=parserState.isInBinding;parserState.isInBinding=null;return makePrimitiveElement("never",{bindingName})}const quadcolon=/::\s*::/.exec(path);if(path.startsWith("::")){throw["Paths cannot start with ","::"]}else if(path.endsWith("::")){throw["Paths cannot end with ","::"]}else if(quadcolon!==null){throw["Unexpected ",quadcolon[0]]}const pathSegments=path.split(/(?:::\s*)|(?:\s+(?:::\s*)?)/);if(pathSegments.length===0||(pathSegments.length===1&&pathSegments[0]==="")){if(generics.length>0||prevIs(parserState,">")){throw["Found generics without a path"]}else{throw["Unexpected ",parserState.userQuery[parserState.pos]]}}for(const[i,pathSegment]of pathSegments.entries()){if(pathSegment==="!"){if(i!==0){throw["Never type ","!"," is not associated item"]}pathSegments[i]="never"}}parserState.totalElems+=1;if(isInGenerics){parserState.genericsElems+=1}const bindingName=parserState.isInBinding;parserState.isInBinding=null;const bindings=new Map();const pathLast=pathSegments[pathSegments.length-1];return{name:name.trim(),id:null,fullPath:pathSegments,pathWithoutLast:pathSegments.slice(0,pathSegments.length-1),pathLast,normalizedPathLast:pathLast.replace(/_/g,""),generics:generics.filter(gen=>{if(gen.bindingName!==null){if(gen.name!==null){gen.bindingName.generics.unshift(gen)}bindings.set(gen.bindingName.name,gen.bindingName.generics);return false}return true}),bindings,typeFilter,bindingName,}}function getIdentEndPosition(parserState){const start=parserState.pos;let end=parserState.pos;let foundExclamation=-1;while(parserState.pos0){throw["Unexpected ",c," after ",parserState.userQuery[parserState.pos-1]]}else{throw["Unexpected ",c]}}parserState.pos+=1;end=parserState.pos}if(foundExclamation!==-1&&foundExclamation!==start&&isIdentCharacter(parserState.userQuery[foundExclamation-1])){if(parserState.typeFilter===null){parserState.typeFilter="macro"}else if(parserState.typeFilter!=="macro"){throw["Invalid search type: macro ","!"," and ",parserState.typeFilter," both specified",]}end=foundExclamation}return end}function getFilteredNextElem(query,parserState,elems,isInGenerics){const start=parserState.pos;if(parserState.userQuery[parserState.pos]===":"&&!isPathStart(parserState)){throw["Expected type filter before ",":"]}getNextElem(query,parserState,elems,isInGenerics);if(parserState.userQuery[parserState.pos]===":"&&!isPathStart(parserState)){if(parserState.typeFilter!==null){throw["Unexpected ",":"," (expected path after type filter ",parserState.typeFilter+":",")",]}if(elems.length===0){throw["Expected type filter before ",":"]}else if(query.literalSearch){throw["Cannot use quotes on type filter"]}const typeFilterElem=elems.pop();checkExtraTypeFilterCharacters(start,parserState);parserState.typeFilter=typeFilterElem.name;parserState.pos+=1;parserState.totalElems-=1;query.literalSearch=false;getNextElem(query,parserState,elems,isInGenerics)}}function getNextElem(query,parserState,elems,isInGenerics){const generics=[];skipWhitespace(parserState);let start=parserState.pos;let end;if("[(".indexOf(parserState.userQuery[parserState.pos])!==-1){let endChar=")";let name="()";let friendlyName="tuple";if(parserState.userQuery[parserState.pos]==="["){endChar="]";name="[]";friendlyName="slice"}parserState.pos+=1;const{foundSeparator}=getItemsBefore(query,parserState,generics,endChar);const typeFilter=parserState.typeFilter;const bindingName=parserState.isInBinding;parserState.typeFilter=null;parserState.isInBinding=null;for(const gen of generics){if(gen.bindingName!==null){throw["Type parameter ","=",` cannot be within ${friendlyName} `,name]}}if(name==="()"&&!foundSeparator&&generics.length===1&&typeFilter===null){elems.push(generics[0])}else if(name==="()"&&generics.length===1&&generics[0].name==="->"){generics[0].typeFilter=typeFilter;elems.push(generics[0])}else{if(typeFilter!==null&&typeFilter!=="primitive"){throw["Invalid search type: primitive ",name," and ",typeFilter," both specified",]}parserState.totalElems+=1;if(isInGenerics){parserState.genericsElems+=1}elems.push(makePrimitiveElement(name,{bindingName,generics}))}}else{const isStringElem=parserState.userQuery[start]==="\"";if(isStringElem){start+=1;getStringElem(query,parserState,isInGenerics);end=parserState.pos-1}else{end=getIdentEndPosition(parserState)}if(parserState.pos=end){throw["Found generics without a path"]}parserState.pos+=1;getItemsBefore(query,parserState,generics,">")}else if(parserState.pos=end){throw["Found generics without a path"]}if(parserState.isInBinding){throw["Unexpected ","("," after ","="]}parserState.pos+=1;const typeFilter=parserState.typeFilter;parserState.typeFilter=null;getItemsBefore(query,parserState,generics,")");skipWhitespace(parserState);if(isReturnArrow(parserState)){parserState.pos+=2;skipWhitespace(parserState);getFilteredNextElem(query,parserState,generics,isInGenerics);generics[generics.length-1].bindingName=makePrimitiveElement("output")}else{generics.push(makePrimitiveElement(null,{bindingName:makePrimitiveElement("output"),typeFilter:null,}))}parserState.typeFilter=typeFilter}if(isStringElem){skipWhitespace(parserState)}if(start>=end&&generics.length===0){return}if(parserState.userQuery[parserState.pos]==="="){if(parserState.isInBinding){throw["Cannot write ","="," twice in a binding"]}if(!isInGenerics){throw["Type parameter ","="," must be within generics list"]}const name=parserState.userQuery.slice(start,end).trim();if(name==="!"){throw["Type parameter ","="," key cannot be ","!"," never type"]}if(name.includes("!")){throw["Type parameter ","="," key cannot be ","!"," macro"]}if(name.includes("::")){throw["Type parameter ","="," key cannot contain ","::"," path"]}if(name.includes(":")){throw["Type parameter ","="," key cannot contain ",":"," type"]}parserState.isInBinding={name,generics}}else{elems.push(createQueryElement(query,parserState,parserState.userQuery.slice(start,end),generics,isInGenerics))}}}function getItemsBefore(query,parserState,elems,endChar){let foundStopChar=true;let foundSeparator=false;const oldTypeFilter=parserState.typeFilter;parserState.typeFilter=null;const oldIsInBinding=parserState.isInBinding;parserState.isInBinding=null;let hofParameters=null;let extra="";if(endChar===">"){extra="<"}else if(endChar==="]"){extra="["}else if(endChar===")"){extra="("}else if(endChar===""){extra="->"}else{extra=endChar}while(parserState.pos"," after ","="]}hofParameters=[...elems];elems.length=0;parserState.pos+=2;foundStopChar=true;foundSeparator=false;continue}else if(c===" "){parserState.pos+=1;continue}else if(isSeparatorCharacter(c)){parserState.pos+=1;foundStopChar=true;foundSeparator=true;continue}else if(c===":"&&isPathStart(parserState)){throw["Unexpected ","::",": paths cannot start with ","::"]}else if(isEndCharacter(c)){throw["Unexpected ",c," after ",extra]}if(!foundStopChar){let extra=[];if(isLastElemGeneric(query.elems,parserState)){extra=[" after ",">"]}else if(prevIs(parserState,"\"")){throw["Cannot have more than one element if you use quotes"]}if(endChar!==""){throw["Expected ",",",", ","=",", or ",endChar,...extra,", found ",c,]}throw["Expected ",","," or ","=",...extra,", found ",c,]}const posBefore=parserState.pos;getFilteredNextElem(query,parserState,elems,endChar!=="");if(endChar!==""&&parserState.pos>=parserState.length){throw["Unclosed ",extra]}if(posBefore===parserState.pos){parserState.pos+=1}foundStopChar=false}if(parserState.pos>=parserState.length&&endChar!==""){throw["Unclosed ",extra]}parserState.pos+=1;if(hofParameters){foundSeparator=false;if([...elems,...hofParameters].some(x=>x.bindingName)||parserState.isInBinding){throw["Unexpected ","="," within ","->"]}const hofElem=makePrimitiveElement("->",{generics:hofParameters,bindings:new Map([["output",[...elems]]]),typeFilter:null,});elems.length=0;elems[0]=hofElem}parserState.typeFilter=oldTypeFilter;parserState.isInBinding=oldIsInBinding;return{foundSeparator}}function checkExtraTypeFilterCharacters(start,parserState){const query=parserState.userQuery.slice(start,parserState.pos).trim();for(const c in query){if(!isIdentCharacter(query[c])){throw["Unexpected ",query[c]," in type filter (before ",":",")",]}}}function parseInput(query,parserState){let foundStopChar=true;while(parserState.pos"){if(isReturnArrow(parserState)){break}throw["Unexpected ",c," (did you mean ","->","?)"]}else if(parserState.pos>0){throw["Unexpected ",c," after ",parserState.userQuery[parserState.pos-1]]}throw["Unexpected ",c]}else if(c===" "){skipWhitespace(parserState);continue}if(!foundStopChar){let extra="";if(isLastElemGeneric(query.elems,parserState)){extra=[" after ",">"]}else if(prevIs(parserState,"\"")){throw["Cannot have more than one element if you use quotes"]}if(parserState.typeFilter!==null){throw["Expected ",","," or ","->",...extra,", found ",c,]}throw["Expected ",",",", ",":"," or ","->",...extra,", found ",c,]}const before=query.elems.length;getFilteredNextElem(query,parserState,query.elems,false);if(query.elems.length===before){parserState.pos+=1}foundStopChar=false}if(parserState.typeFilter!==null){throw["Unexpected ",":"," (expected path after type filter ",parserState.typeFilter+":",")",]}while(parserState.pos"]}break}else{parserState.pos+=1}}}function newParsedQuery(userQuery){return{original:userQuery,userQuery:userQuery.toLowerCase(),elems:[],returned:[],foundElems:0,totalElems:0,literalSearch:false,error:null,correction:null,proposeCorrectionFrom:null,proposeCorrectionTo:null,typeFingerprint:new Uint32Array(4),}}function buildUrl(search,filterCrates){let extra="?search="+encodeURIComponent(search);if(filterCrates!==null){extra+="&filter-crate="+encodeURIComponent(filterCrates)}return getNakedUrl()+extra+window.location.hash}function getFilterCrates(){const elem=document.getElementById("crate-search");if(elem&&elem.value!=="all crates"&&rawSearchIndex.has(elem.value)){return elem.value}return null}function parseQuery(userQuery){function convertTypeFilterOnElem(elem){if(elem.typeFilter!==null){let typeFilter=elem.typeFilter;if(typeFilter==="const"){typeFilter="constant"}elem.typeFilter=itemTypeFromName(typeFilter)}else{elem.typeFilter=NO_TYPE_FILTER}for(const elem2 of elem.generics){convertTypeFilterOnElem(elem2)}for(const constraints of elem.bindings.values()){for(const constraint of constraints){convertTypeFilterOnElem(constraint)}}}userQuery=userQuery.trim().replace(/\r|\n|\t/g," ");const parserState={length:userQuery.length,pos:0,totalElems:0,genericsElems:0,typeFilter:null,isInBinding:null,userQuery:userQuery.toLowerCase(),};let query=newParsedQuery(userQuery);try{parseInput(query,parserState);for(const elem of query.elems){convertTypeFilterOnElem(elem)}for(const elem of query.returned){convertTypeFilterOnElem(elem)}}catch(err){query=newParsedQuery(userQuery);query.error=err;return query}if(!query.literalSearch){query.literalSearch=parserState.totalElems>1}query.foundElems=query.elems.length+query.returned.length;query.totalElems=parserState.totalElems;return query}function createQueryResults(results_in_args,results_returned,results_others,parsedQuery){return{"in_args":results_in_args,"returned":results_returned,"others":results_others,"query":parsedQuery,}}function execQuery(parsedQuery,filterCrates,currentCrate){const results_others=new Map(),results_in_args=new Map(),results_returned=new Map();function transformResults(results){const duplicates=new Set();const out=[];for(const result of results){if(result.id!==-1){const obj=searchIndex[result.id];obj.dist=result.dist;const res=buildHrefAndPath(obj);obj.displayPath=pathSplitter(res[0]);obj.fullPath=obj.displayPath+obj.name;obj.fullPath+="|"+obj.ty;if(duplicates.has(obj.fullPath)){continue}duplicates.add(obj.fullPath);obj.href=res[1];out.push(obj);if(out.length>=MAX_RESULTS){break}}}return out}function sortResults(results,isType,preferredCrate){const userQuery=parsedQuery.userQuery;const result_list=[];for(const result of results.values()){result.item=searchIndex[result.id];result.word=searchIndex[result.id].word;result_list.push(result)}result_list.sort((aaa,bbb)=>{let a,b;a=(aaa.word!==userQuery);b=(bbb.word!==userQuery);if(a!==b){return a-b}a=(aaa.index<0);b=(bbb.index<0);if(a!==b){return a-b}a=aaa.path_dist;b=bbb.path_dist;if(a!==b){return a-b}a=aaa.index;b=bbb.index;if(a!==b){return a-b}a=(aaa.dist);b=(bbb.dist);if(a!==b){return a-b}a=aaa.item.deprecated;b=bbb.item.deprecated;if(a!==b){return a-b}a=(aaa.item.crate!==preferredCrate);b=(bbb.item.crate!==preferredCrate);if(a!==b){return a-b}a=aaa.word.length;b=bbb.word.length;if(a!==b){return a-b}a=aaa.word;b=bbb.word;if(a!==b){return(a>b?+1:-1)}a=(aaa.item.desc==="");b=(bbb.item.desc==="");if(a!==b){return a-b}a=aaa.item.ty;b=bbb.item.ty;if(a!==b){return a-b}a=aaa.item.path;b=bbb.item.path;if(a!==b){return(a>b?+1:-1)}return 0});return transformResults(result_list)}function unifyFunctionTypes(fnTypesIn,queryElems,whereClause,mgensIn,solutionCb,unboxingDepth){if(unboxingDepth>=UNBOXING_LIMIT){return false}const mgens=mgensIn===null?null:new Map(mgensIn);if(queryElems.length===0){return!solutionCb||solutionCb(mgens)}if(!fnTypesIn||fnTypesIn.length===0){return false}const ql=queryElems.length;const fl=fnTypesIn.length;if(ql===1&&queryElems[0].generics.length===0&&queryElems[0].bindings.size===0){const queryElem=queryElems[0];for(const fnType of fnTypesIn){if(!unifyFunctionTypeIsMatchCandidate(fnType,queryElem,mgens)){continue}if(fnType.id<0&&queryElem.id<0){if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==queryElem.id){continue}const mgensScratch=new Map(mgens);mgensScratch.set(fnType.id,queryElem.id);if(!solutionCb||solutionCb(mgensScratch)){return true}}else if(!solutionCb||solutionCb(mgens?new Map(mgens):null)){return true}}for(const fnType of fnTypesIn){if(!unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens,unboxingDepth+1)){continue}if(fnType.id<0){if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==0){continue}const mgensScratch=new Map(mgens);mgensScratch.set(fnType.id,0);if(unifyFunctionTypes(whereClause[(-fnType.id)-1],queryElems,whereClause,mgensScratch,solutionCb,unboxingDepth+1)){return true}}else if(unifyFunctionTypes([...fnType.generics,...Array.from(fnType.bindings.values()).flat()],queryElems,whereClause,mgens?new Map(mgens):null,solutionCb,unboxingDepth+1)){return true}}return false}const fnTypes=fnTypesIn.slice();const flast=fl-1;const qlast=ql-1;const queryElem=queryElems[qlast];let queryElemsTmp=null;for(let i=flast;i>=0;i-=1){const fnType=fnTypes[i];if(!unifyFunctionTypeIsMatchCandidate(fnType,queryElem,mgens)){continue}let mgensScratch;if(fnType.id<0){mgensScratch=new Map(mgens);if(mgensScratch.has(fnType.id)&&mgensScratch.get(fnType.id)!==queryElem.id){continue}mgensScratch.set(fnType.id,queryElem.id)}else{mgensScratch=mgens}fnTypes[i]=fnTypes[flast];fnTypes.length=flast;if(!queryElemsTmp){queryElemsTmp=queryElems.slice(0,qlast)}const passesUnification=unifyFunctionTypes(fnTypes,queryElemsTmp,whereClause,mgensScratch,mgensScratch=>{if(fnType.generics.length===0&&queryElem.generics.length===0&&fnType.bindings.size===0&&queryElem.bindings.size===0){return!solutionCb||solutionCb(mgensScratch)}const solution=unifyFunctionTypeCheckBindings(fnType,queryElem,whereClause,mgensScratch,unboxingDepth);if(!solution){return false}const simplifiedGenerics=solution.simplifiedGenerics;for(const simplifiedMgens of solution.mgens){const passesUnification=unifyFunctionTypes(simplifiedGenerics,queryElem.generics,whereClause,simplifiedMgens,solutionCb,unboxingDepth);if(passesUnification){return true}}return false},unboxingDepth);if(passesUnification){return true}fnTypes[flast]=fnTypes[i];fnTypes[i]=fnType;fnTypes.length=fl}for(let i=flast;i>=0;i-=1){const fnType=fnTypes[i];if(!unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens,unboxingDepth+1)){continue}let mgensScratch;if(fnType.id<0){mgensScratch=new Map(mgens);if(mgensScratch.has(fnType.id)&&mgensScratch.get(fnType.id)!==0){continue}mgensScratch.set(fnType.id,0)}else{mgensScratch=mgens}const generics=fnType.id<0?whereClause[(-fnType.id)-1]:fnType.generics;const bindings=fnType.bindings?Array.from(fnType.bindings.values()).flat():[];const passesUnification=unifyFunctionTypes(fnTypes.toSpliced(i,1,...generics,...bindings),queryElems,whereClause,mgensScratch,solutionCb,unboxingDepth+1);if(passesUnification){return true}}return false}function unifyFunctionTypeIsMatchCandidate(fnType,queryElem,mgensIn){if(!typePassesFilter(queryElem.typeFilter,fnType.ty)){return false}if(fnType.id<0&&queryElem.id<0){if(mgensIn){if(mgensIn.has(fnType.id)&&mgensIn.get(fnType.id)!==queryElem.id){return false}for(const[fid,qid]of mgensIn.entries()){if(fnType.id!==fid&&queryElem.id===qid){return false}if(fnType.id===fid&&queryElem.id!==qid){return false}}}return true}else{if(queryElem.id===typeNameIdOfArrayOrSlice&&(fnType.id===typeNameIdOfSlice||fnType.id===typeNameIdOfArray)){}else if(queryElem.id===typeNameIdOfTupleOrUnit&&(fnType.id===typeNameIdOfTuple||fnType.id===typeNameIdOfUnit)){}else if(queryElem.id===typeNameIdOfHof&&(fnType.id===typeNameIdOfFn||fnType.id===typeNameIdOfFnMut||fnType.id===typeNameIdOfFnOnce)){}else if(fnType.id!==queryElem.id||queryElem.id===null){return false}if((fnType.generics.length+fnType.bindings.size)===0&&queryElem.generics.length!==0){return false}if(fnType.bindings.size0){const fnTypePath=fnType.path!==undefined&&fnType.path!==null?fnType.path.split("::"):[];if(queryElemPathLength>fnTypePath.length){return false}let i=0;for(const path of fnTypePath){if(path===queryElem.pathWithoutLast[i]){i+=1;if(i>=queryElemPathLength){break}}}if(i0){let mgensSolutionSet=[mgensIn];for(const[name,constraints]of queryElem.bindings.entries()){if(mgensSolutionSet.length===0){return false}if(!fnType.bindings.has(name)){return false}const fnTypeBindings=fnType.bindings.get(name);mgensSolutionSet=mgensSolutionSet.flatMap(mgens=>{const newSolutions=[];unifyFunctionTypes(fnTypeBindings,constraints,whereClause,mgens,newMgens=>{newSolutions.push(newMgens);return false},unboxingDepth);return newSolutions})}if(mgensSolutionSet.length===0){return false}const binds=Array.from(fnType.bindings.entries()).flatMap(entry=>{const[name,constraints]=entry;if(queryElem.bindings.has(name)){return[]}else{return constraints}});if(simplifiedGenerics.length>0){simplifiedGenerics=[...simplifiedGenerics,...binds]}else{simplifiedGenerics=binds}return{simplifiedGenerics,mgens:mgensSolutionSet}}return{simplifiedGenerics,mgens:[mgensIn]}}function unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens,unboxingDepth){if(unboxingDepth>=UNBOXING_LIMIT){return false}if(fnType.id<0&&queryElem.id>=0){if(!whereClause){return false}if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==0){return false}const mgensTmp=new Map(mgens);mgensTmp.set(fnType.id,null);return checkIfInList(whereClause[(-fnType.id)-1],queryElem,whereClause,mgensTmp,unboxingDepth)}else if(fnType.generics.length>0||fnType.bindings.size>0){const simplifiedGenerics=[...fnType.generics,...Array.from(fnType.bindings.values()).flat(),];return checkIfInList(simplifiedGenerics,queryElem,whereClause,mgens,unboxingDepth)}return false}function checkIfInList(list,elem,whereClause,mgens,unboxingDepth){for(const entry of list){if(checkType(entry,elem,whereClause,mgens,unboxingDepth)){return true}}return false}function checkType(row,elem,whereClause,mgens,unboxingDepth){if(unboxingDepth>=UNBOXING_LIMIT){return false}if(row.bindings.size===0&&elem.bindings.size===0){if(elem.id<0&&mgens===null){return row.id<0||checkIfInList(row.generics,elem,whereClause,mgens,unboxingDepth+1)}if(row.id>0&&elem.id>0&&elem.pathWithoutLast.length===0&&typePassesFilter(elem.typeFilter,row.ty)&&elem.generics.length===0&&elem.id!==typeNameIdOfArrayOrSlice&&elem.id!==typeNameIdOfTupleOrUnit&&elem.id!==typeNameIdOfHof){return row.id===elem.id||checkIfInList(row.generics,elem,whereClause,mgens,unboxingDepth)}}return unifyFunctionTypes([row],[elem],whereClause,mgens,null,unboxingDepth)}function checkPath(contains,ty){if(contains.length===0){return 0}const maxPathEditDistance=Math.floor(contains.reduce((acc,next)=>acc+next.length,0)/3);let ret_dist=maxPathEditDistance+1;const path=ty.path.split("::");if(ty.parent&&ty.parent.name){path.push(ty.parent.name.toLowerCase())}const length=path.length;const clength=contains.length;pathiter:for(let i=length-clength;i>=0;i-=1){let dist_total=0;for(let x=0;xmaxPathEditDistance){continue pathiter}dist_total+=dist}}ret_dist=Math.min(ret_dist,Math.round(dist_total/clength))}return ret_dist>maxPathEditDistance?null:ret_dist}function typePassesFilter(filter,type){if(filter<=NO_TYPE_FILTER||filter===type)return true;const name=itemTypes[type];switch(itemTypes[filter]){case"constant":return name==="associatedconstant";case"fn":return name==="method"||name==="tymethod";case"type":return name==="primitive"||name==="associatedtype";case"trait":return name==="traitalias"}return false}function createAliasFromItem(item){return{crate:item.crate,name:item.name,path:item.path,desc:item.desc,ty:item.ty,parent:item.parent,type:item.type,is_alias:true,deprecated:item.deprecated,implDisambiguator:item.implDisambiguator,}}function handleAliases(ret,query,filterCrates,currentCrate){const lowerQuery=query.toLowerCase();const aliases=[];const crateAliases=[];if(filterCrates!==null){if(ALIASES.has(filterCrates)&&ALIASES.get(filterCrates).has(lowerQuery)){const query_aliases=ALIASES.get(filterCrates).get(lowerQuery);for(const alias of query_aliases){aliases.push(createAliasFromItem(searchIndex[alias]))}}}else{for(const[crate,crateAliasesIndex]of ALIASES){if(crateAliasesIndex.has(lowerQuery)){const pushTo=crate===currentCrate?crateAliases:aliases;const query_aliases=crateAliasesIndex.get(lowerQuery);for(const alias of query_aliases){pushTo.push(createAliasFromItem(searchIndex[alias]))}}}}const sortFunc=(aaa,bbb)=>{if(aaa.path{alias.alias=query;const res=buildHrefAndPath(alias);alias.displayPath=pathSplitter(res[0]);alias.fullPath=alias.displayPath+alias.name;alias.href=res[1];ret.others.unshift(alias);if(ret.others.length>MAX_RESULTS){ret.others.pop()}};aliases.forEach(pushFunc);crateAliases.forEach(pushFunc)}function addIntoResults(results,fullId,id,index,dist,path_dist,maxEditDistance){if(dist<=maxEditDistance||index!==-1){if(results.has(fullId)){const result=results.get(fullId);if(result.dontValidate||result.dist<=dist){return}}results.set(fullId,{id:id,index:index,dontValidate:parsedQuery.literalSearch,dist:dist,path_dist:path_dist,})}}function handleSingleArg(row,pos,elem,results_others,results_in_args,results_returned,maxEditDistance){if(!row||(filterCrates!==null&&row.crate!==filterCrates)){return}let path_dist=0;const fullId=row.id;const tfpDist=compareTypeFingerprints(fullId,parsedQuery.typeFingerprint);if(tfpDist!==null){const in_args=row.type&&row.type.inputs&&checkIfInList(row.type.inputs,elem,row.type.where_clause,null,0);const returned=row.type&&row.type.output&&checkIfInList(row.type.output,elem,row.type.where_clause,null,0);if(in_args){results_in_args.max_dist=Math.max(results_in_args.max_dist||0,tfpDist);const maxDist=results_in_args.sizenormalizedIndex&&normalizedIndex!==-1)){index=normalizedIndex}if(elem.fullPath.length>1){path_dist=checkPath(elem.pathWithoutLast,row);if(path_dist===null){return}}if(parsedQuery.literalSearch){if(row.word===elem.pathLast){addIntoResults(results_others,fullId,pos,index,0,path_dist)}return}const dist=editDistance(row.normalizedName,elem.normalizedPathLast,maxEditDistance);if(index===-1&&dist>maxEditDistance){return}addIntoResults(results_others,fullId,pos,index,dist,path_dist,maxEditDistance)}function handleArgs(row,pos,results){if(!row||(filterCrates!==null&&row.crate!==filterCrates)||!row.type){return}const tfpDist=compareTypeFingerprints(row.id,parsedQuery.typeFingerprint);if(tfpDist===null){return}if(results.size>=MAX_RESULTS&&tfpDist>results.max_dist){return}if(!unifyFunctionTypes(row.type.inputs,parsedQuery.elems,row.type.where_clause,null,mgens=>{return unifyFunctionTypes(row.type.output,parsedQuery.returned,row.type.where_clause,mgens,null,0)},0)){return}results.max_dist=Math.max(results.max_dist||0,tfpDist);addIntoResults(results,row.id,pos,0,tfpDist,0,Number.MAX_VALUE)}function innerRunQuery(){const queryLen=parsedQuery.elems.reduce((acc,next)=>acc+next.pathLast.length,0)+parsedQuery.returned.reduce((acc,next)=>acc+next.pathLast.length,0);const maxEditDistance=Math.floor(queryLen/3);const genericSymbols=new Map();function convertNameToId(elem,isAssocType){if(typeNameIdMap.has(elem.normalizedPathLast)&&(isAssocType||!typeNameIdMap.get(elem.normalizedPathLast).assocOnly)){elem.id=typeNameIdMap.get(elem.normalizedPathLast).id}else if(!parsedQuery.literalSearch){let match=null;let matchDist=maxEditDistance+1;let matchName="";for(const[name,{id,assocOnly}]of typeNameIdMap){const dist=editDistance(name,elem.normalizedPathLast,maxEditDistance);if(dist<=matchDist&&dist<=maxEditDistance&&(isAssocType||!assocOnly)){if(dist===matchDist&&matchName>name){continue}match=id;matchDist=dist;matchName=name}}if(match!==null){parsedQuery.correction=matchName}elem.id=match}if((elem.id===null&&parsedQuery.totalElems>1&&elem.typeFilter===-1&&elem.generics.length===0&&elem.bindings.size===0)||elem.typeFilter===TY_GENERIC){if(genericSymbols.has(elem.name)){elem.id=genericSymbols.get(elem.name)}else{elem.id=-(genericSymbols.size+1);genericSymbols.set(elem.name,elem.id)}if(elem.typeFilter===-1&&elem.name.length>=3){const maxPartDistance=Math.floor(elem.name.length/3);let matchDist=maxPartDistance+1;let matchName="";for(const name of typeNameIdMap.keys()){const dist=editDistance(name,elem.name,maxPartDistance);if(dist<=matchDist&&dist<=maxPartDistance){if(dist===matchDist&&matchName>name){continue}matchDist=dist;matchName=name}}if(matchName!==""){parsedQuery.proposeCorrectionFrom=elem.name;parsedQuery.proposeCorrectionTo=matchName}}elem.typeFilter=TY_GENERIC}if(elem.generics.length>0&&elem.typeFilter===TY_GENERIC){parsedQuery.error=["Generic type parameter ",elem.name," does not accept generic parameters",]}for(const elem2 of elem.generics){convertNameToId(elem2)}elem.bindings=new Map(Array.from(elem.bindings.entries()).map(entry=>{const[name,constraints]=entry;if(!typeNameIdMap.has(name)){parsedQuery.error=["Type parameter ",name," does not exist",];return[null,[]]}for(const elem2 of constraints){convertNameToId(elem2)}return[typeNameIdMap.get(name).id,constraints]}))}const fps=new Set();for(const elem of parsedQuery.elems){convertNameToId(elem);buildFunctionTypeFingerprint(elem,parsedQuery.typeFingerprint,fps)}for(const elem of parsedQuery.returned){convertNameToId(elem);buildFunctionTypeFingerprint(elem,parsedQuery.typeFingerprint,fps)}if(parsedQuery.foundElems===1&&parsedQuery.returned.length===0){if(parsedQuery.elems.length===1){const elem=parsedQuery.elems[0];for(let i=0,nSearchIndex=searchIndex.length;i0){const sortQ=(a,b)=>{const ag=a.generics.length===0&&a.bindings.size===0;const bg=b.generics.length===0&&b.bindings.size===0;if(ag!==bg){return ag-bg}const ai=a.id>0;const bi=b.id>0;return ai-bi};parsedQuery.elems.sort(sortQ);parsedQuery.returned.sort(sortQ);for(let i=0,nSearchIndex=searchIndex.length;i");if(tmp.endsWith("")){return tmp.slice(0,tmp.length-6)}return tmp}function addTab(array,query,display){const extraClass=display?" active":"";const output=document.createElement("div");if(array.length>0){output.className="search-results "+extraClass;array.forEach(item=>{const name=item.name;const type=itemTypes[item.ty];const longType=longItemTypes[item.ty];const typeName=longType.length!==0?`${longType}`:"?";const link=document.createElement("a");link.className="result-"+type;link.href=item.href;const resultName=document.createElement("div");resultName.className="result-name";resultName.insertAdjacentHTML("beforeend",`${typeName}`);link.appendChild(resultName);let alias=" ";if(item.is_alias){alias=`
    \ -${item.alias} - see \ -
    `}resultName.insertAdjacentHTML("beforeend",`
    ${alias}\ -${item.displayPath}${name}\ -
    `);const description=document.createElement("div");description.className="desc";description.insertAdjacentHTML("beforeend",item.desc);link.appendChild(description);output.appendChild(link)})}else if(query.error===null){output.className="search-failed"+extraClass;output.innerHTML="No results :(
    "+"Try on DuckDuckGo?

    "+"Or try looking in one of these:"}return[output,array.length]}function makeTabHeader(tabNb,text,nbElems){const fmtNbElems=nbElems<10?`\u{2007}(${nbElems})\u{2007}\u{2007}`:nbElems<100?`\u{2007}(${nbElems})\u{2007}`:`\u{2007}(${nbElems})`;if(searchState.currentTab===tabNb){return""}return""}function showResults(results,go_to_first,filterCrates){const search=searchState.outputElement();if(go_to_first||(results.others.length===1&&getSettingValue("go-to-only-result")==="true")){window.onunload=()=>{};searchState.removeQueryParameters();const elem=document.createElement("a");elem.href=results.others[0].href;removeClass(elem,"active");document.body.appendChild(elem);elem.click();return}if(results.query===undefined){results.query=parseQuery(searchState.input.value)}currentResults=results.query.userQuery;const ret_others=addTab(results.others,results.query,true);const ret_in_args=addTab(results.in_args,results.query,false);const ret_returned=addTab(results.returned,results.query,false);let currentTab=searchState.currentTab;if((currentTab===0&&ret_others[1]===0)||(currentTab===1&&ret_in_args[1]===0)||(currentTab===2&&ret_returned[1]===0)){if(ret_others[1]!==0){currentTab=0}else if(ret_in_args[1]!==0){currentTab=1}else if(ret_returned[1]!==0){currentTab=2}}let crates="";if(rawSearchIndex.size>1){crates=" in 
    "}let output=`

    Results${crates}

    `;if(results.query.error!==null){const error=results.query.error;error.forEach((value,index)=>{value=value.split("<").join("<").split(">").join(">");if(index%2!==0){error[index]=`${value.replaceAll(" ", " ")}`}else{error[index]=value}});output+=`

    Query parser error: "${error.join("")}".

    `;output+="
    "+makeTabHeader(0,"In Names",ret_others[1])+"
    ";currentTab=0}else if(results.query.foundElems<=1&&results.query.returned.length===0){output+="
    "+makeTabHeader(0,"In Names",ret_others[1])+makeTabHeader(1,"In Parameters",ret_in_args[1])+makeTabHeader(2,"In Return Types",ret_returned[1])+"
    "}else{const signatureTabTitle=results.query.elems.length===0?"In Function Return Types":results.query.returned.length===0?"In Function Parameters":"In Function Signatures";output+="
    "+makeTabHeader(0,signatureTabTitle,ret_others[1])+"
    ";currentTab=0}if(results.query.correction!==null){const orig=results.query.returned.length>0?results.query.returned[0].name:results.query.elems[0].name;output+="

    "+`Type "${orig}" not found. `+"Showing results for closest type name "+`"${results.query.correction}" instead.

    `}if(results.query.proposeCorrectionFrom!==null){const orig=results.query.proposeCorrectionFrom;const targ=results.query.proposeCorrectionTo;output+="

    "+`Type "${orig}" not found and used as generic parameter. `+`Consider searching for "${targ}" instead.

    `}const resultsElem=document.createElement("div");resultsElem.id="results";resultsElem.appendChild(ret_others[0]);resultsElem.appendChild(ret_in_args[0]);resultsElem.appendChild(ret_returned[0]);search.innerHTML=output;const crateSearch=document.getElementById("crate-search");if(crateSearch){crateSearch.addEventListener("input",updateCrate)}search.appendChild(resultsElem);searchState.showResults(search);const elems=document.getElementById("search-tabs").childNodes;searchState.focusedByTab=[];let i=0;for(const elem of elems){const j=i;elem.onclick=()=>printTab(j);searchState.focusedByTab.push(null);i+=1}printTab(currentTab)}function updateSearchHistory(url){if(!browserSupportsHistoryApi()){return}const params=searchState.getQueryStringParams();if(!history.state&&!params.search){history.pushState(null,"",url)}else{history.replaceState(null,"",url)}}function search(forced){const query=parseQuery(searchState.input.value.trim());let filterCrates=getFilterCrates();if(!forced&&query.userQuery===currentResults){if(query.userQuery.length>0){putBackSearch()}return}searchState.setLoadingSearch();const params=searchState.getQueryStringParams();if(filterCrates===null&¶ms["filter-crate"]!==undefined){filterCrates=params["filter-crate"]}searchState.title="Results for "+query.original+" - Rust";updateSearchHistory(buildUrl(query.original,filterCrates));showResults(execQuery(query,filterCrates,window.currentCrate),params.go_to_first,filterCrates)}function buildItemSearchTypeAll(types,lowercasePaths){return types.length>0?types.map(type=>buildItemSearchType(type,lowercasePaths)):EMPTY_GENERICS_ARRAY}const EMPTY_BINDINGS_MAP=new Map();const EMPTY_GENERICS_ARRAY=[];let TYPES_POOL=new Map();function buildItemSearchType(type,lowercasePaths,isAssocType){const PATH_INDEX_DATA=0;const GENERICS_DATA=1;const BINDINGS_DATA=2;let pathIndex,generics,bindings;if(typeof type==="number"){pathIndex=type;generics=EMPTY_GENERICS_ARRAY;bindings=EMPTY_BINDINGS_MAP}else{pathIndex=type[PATH_INDEX_DATA];generics=buildItemSearchTypeAll(type[GENERICS_DATA],lowercasePaths);if(type.length>BINDINGS_DATA&&type[BINDINGS_DATA].length>0){bindings=new Map(type[BINDINGS_DATA].map(binding=>{const[assocType,constraints]=binding;return[buildItemSearchType(assocType,lowercasePaths,true).id,buildItemSearchTypeAll(constraints,lowercasePaths),]}))}else{bindings=EMPTY_BINDINGS_MAP}}let result;if(pathIndex<0){result={id:pathIndex,ty:TY_GENERIC,path:null,generics,bindings,}}else if(pathIndex===0){result={id:null,ty:null,path:null,generics,bindings,}}else{const item=lowercasePaths[pathIndex-1];result={id:buildTypeMapIndex(item.name,isAssocType),ty:item.ty,path:item.path,generics,bindings,}}const cr=TYPES_POOL.get(result.id);if(cr){if(cr.generics.length===result.generics.length&&cr.generics!==result.generics&&cr.generics.every((x,i)=>result.generics[i]===x)){result.generics=cr.generics}if(cr.bindings.size===result.bindings.size&&cr.bindings!==result.bindings){let ok=true;for(const[k,v]of cr.bindings.entries()){const v2=result.bindings.get(v);if(!v2){ok=false;break}if(v!==v2&&v.length===v2.length&&v.every((x,i)=>v2[i]===x)){result.bindings.set(k,v)}else if(v!==v2){ok=false;break}}if(ok){result.bindings=cr.bindings}}if(cr.ty===result.ty&&cr.path===result.path&&cr.bindings===result.bindings&&cr.generics===result.generics&&cr.ty===result.ty){return cr}}TYPES_POOL.set(result.id,result);return result}function buildFunctionSearchType(itemFunctionDecoder,lowercasePaths){const c=itemFunctionDecoder.string.charCodeAt(itemFunctionDecoder.offset);itemFunctionDecoder.offset+=1;const[zero,ua,la,ob,cb]=["0","@","`","{","}"].map(c=>c.charCodeAt(0));if(c===la){return null}if(c>=zero&&c>1];itemFunctionDecoder.offset+=1;return sign?-value:value}const functionSearchType=decodeList();const INPUTS_DATA=0;const OUTPUT_DATA=1;let inputs,output;if(typeof functionSearchType[INPUTS_DATA]==="number"){inputs=[buildItemSearchType(functionSearchType[INPUTS_DATA],lowercasePaths)]}else{inputs=buildItemSearchTypeAll(functionSearchType[INPUTS_DATA],lowercasePaths)}if(functionSearchType.length>1){if(typeof functionSearchType[OUTPUT_DATA]==="number"){output=[buildItemSearchType(functionSearchType[OUTPUT_DATA],lowercasePaths)]}else{output=buildItemSearchTypeAll(functionSearchType[OUTPUT_DATA],lowercasePaths)}}else{output=[]}const where_clause=[];const l=functionSearchType.length;for(let i=2;i16){itemFunctionDecoder.backrefQueue.pop()}return ret}function buildFunctionTypeFingerprint(type,output,fps){let input=type.id;if(input===typeNameIdOfArray||input===typeNameIdOfSlice){input=typeNameIdOfArrayOrSlice}if(input===typeNameIdOfTuple||input===typeNameIdOfUnit){input=typeNameIdOfTupleOrUnit}if(input===typeNameIdOfFn||input===typeNameIdOfFnMut||input===typeNameIdOfFnOnce){input=typeNameIdOfHof}const hashint1=k=>{k=(~~k+0x7ed55d16)+(k<<12);k=(k ^ 0xc761c23c)^(k>>>19);k=(~~k+0x165667b1)+(k<<5);k=(~~k+0xd3a2646c)^(k<<9);k=(~~k+0xfd7046c5)+(k<<3);return(k ^ 0xb55a4f09)^(k>>>16)};const hashint2=k=>{k=~k+(k<<15);k ^=k>>>12;k+=k<<2;k ^=k>>>4;k=Math.imul(k,2057);return k ^(k>>16)};if(input!==null){const h0a=hashint1(input);const h0b=hashint2(input);const h1a=~~(h0a+Math.imul(h0b,2));const h1b=~~(h0a+Math.imul(h0b,3));const h2a=~~(h0a+Math.imul(h0b,4));const h2b=~~(h0a+Math.imul(h0b,5));output[0]|=(1<<(h0a%32))|(1<<(h1b%32));output[1]|=(1<<(h1a%32))|(1<<(h2b%32));output[2]|=(1<<(h2a%32))|(1<<(h0b%32));fps.add(input)}for(const g of type.generics){buildFunctionTypeFingerprint(g,output,fps)}const fb={id:null,ty:0,generics:EMPTY_GENERICS_ARRAY,bindings:EMPTY_BINDINGS_MAP,};for(const[k,v]of type.bindings.entries()){fb.id=k;fb.generics=v;buildFunctionTypeFingerprint(fb,output,fps)}output[3]=fps.size}function compareTypeFingerprints(fullId,queryFingerprint){const fh0=functionTypeFingerprint[fullId*4];const fh1=functionTypeFingerprint[(fullId*4)+1];const fh2=functionTypeFingerprint[(fullId*4)+2];const[qh0,qh1,qh2]=queryFingerprint;const[in0,in1,in2]=[fh0&qh0,fh1&qh1,fh2&qh2];if((in0 ^ qh0)||(in1 ^ qh1)||(in2 ^ qh2)){return null}return functionTypeFingerprint[(fullId*4)+3]}function buildIndex(rawSearchIndex){searchIndex=[];const charA="A".charCodeAt(0);let currentIndex=0;let id=0;for(const crate of rawSearchIndex.values()){id+=crate.t.length+1}functionTypeFingerprint=new Uint32Array((id+1)*4);id=0;for(const[crate,crateCorpus]of rawSearchIndex){const crateRow={crate:crate,ty:3,name:crate,path:"",desc:crateCorpus.doc,parent:undefined,type:null,id:id,word:crate,normalizedName:crate.indexOf("_")===-1?crate:crate.replace(/_/g,""),deprecated:null,implDisambiguator:null,};id+=1;searchIndex.push(crateRow);currentIndex+=1;const itemTypes=crateCorpus.t;const itemNames=crateCorpus.n;const itemPaths=new Map(crateCorpus.q);const itemDescs=crateCorpus.d;const itemParentIdxs=crateCorpus.i;const itemFunctionDecoder={string:crateCorpus.f,offset:0,backrefQueue:[],};const deprecatedItems=new Set(crateCorpus.c);const implDisambiguator=new Map(crateCorpus.b);const paths=crateCorpus.p;const aliases=crateCorpus.a;const lowercasePaths=[];let len=paths.length;let lastPath=itemPaths.get(0);for(let i=0;i2){path=itemPaths.has(elem[2])?itemPaths.get(elem[2]):lastPath;lastPath=path}lowercasePaths.push({ty:ty,name:name.toLowerCase(),path:path});paths[i]={ty:ty,name:name,path:path}}lastPath="";len=itemTypes.length;for(let i=0;i0?paths[itemParentIdxs[i]-1]:undefined,type,id:id,word,normalizedName:word.indexOf("_")===-1?word:word.replace(/_/g,""),deprecated:deprecatedItems.has(i),implDisambiguator:implDisambiguator.has(i)?implDisambiguator.get(i):null,};id+=1;searchIndex.push(row);lastPath=row.path}if(aliases){const currentCrateAliases=new Map();ALIASES.set(crate,currentCrateAliases);for(const alias_name in aliases){if(!Object.prototype.hasOwnProperty.call(aliases,alias_name)){continue}let currentNameAliases;if(currentCrateAliases.has(alias_name)){currentNameAliases=currentCrateAliases.get(alias_name)}else{currentNameAliases=[];currentCrateAliases.set(alias_name,currentNameAliases)}for(const local_alias of aliases[alias_name]){currentNameAliases.push(local_alias+currentIndex)}}}currentIndex+=itemTypes.length}TYPES_POOL=new Map()}function onSearchSubmit(e){e.preventDefault();searchState.clearInputTimeout();search()}function putBackSearch(){const search_input=searchState.input;if(!searchState.input){return}if(search_input.value!==""&&!searchState.isDisplayed()){searchState.showResults();if(browserSupportsHistoryApi()){history.replaceState(null,"",buildUrl(search_input.value,getFilterCrates()))}document.title=searchState.title}}function registerSearchEvents(){const params=searchState.getQueryStringParams();if(searchState.input.value===""){searchState.input.value=params.search||""}const searchAfter500ms=()=>{searchState.clearInputTimeout();if(searchState.input.value.length===0){searchState.hideResults()}else{searchState.timeout=setTimeout(search,500)}};searchState.input.onkeyup=searchAfter500ms;searchState.input.oninput=searchAfter500ms;document.getElementsByClassName("search-form")[0].onsubmit=onSearchSubmit;searchState.input.onchange=e=>{if(e.target!==document.activeElement){return}searchState.clearInputTimeout();setTimeout(search,0)};searchState.input.onpaste=searchState.input.onchange;searchState.outputElement().addEventListener("keydown",e=>{if(e.altKey||e.ctrlKey||e.shiftKey||e.metaKey){return}if(e.which===38){const previous=document.activeElement.previousElementSibling;if(previous){previous.focus()}else{searchState.focus()}e.preventDefault()}else if(e.which===40){const next=document.activeElement.nextElementSibling;if(next){next.focus()}const rect=document.activeElement.getBoundingClientRect();if(window.innerHeight-rect.bottom{if(e.which===40){focusSearchResult();e.preventDefault()}});searchState.input.addEventListener("focus",()=>{putBackSearch()});searchState.input.addEventListener("blur",()=>{searchState.input.placeholder=searchState.input.origPlaceholder});if(browserSupportsHistoryApi()){const previousTitle=document.title;window.addEventListener("popstate",e=>{const params=searchState.getQueryStringParams();document.title=previousTitle;currentResults=null;if(params.search&¶ms.search.length>0){searchState.input.value=params.search;e.preventDefault();search()}else{searchState.input.value="";searchState.hideResults()}})}window.onpageshow=()=>{const qSearch=searchState.getQueryStringParams().search;if(searchState.input.value===""&&qSearch){searchState.input.value=qSearch}search()}}function updateCrate(ev){if(ev.target.value==="all crates"){const query=searchState.input.value.trim();updateSearchHistory(buildUrl(query,null))}currentResults=null;search(true)}buildIndex(rawSearchIndex);if(typeof window!=="undefined"){registerSearchEvents();if(window.searchState.getQueryStringParams().search){search()}}if(typeof exports!=="undefined"){exports.initSearch=initSearch;exports.execQuery=execQuery;exports.parseQuery=parseQuery}}if(typeof window!=="undefined"){window.initSearch=initSearch;if(window.searchIndex!==undefined){initSearch(window.searchIndex)}}else{initSearch(new Map())}})() \ No newline at end of file diff --git a/doc/static.files/search-d52510db62a78183.js b/doc/static.files/search-d52510db62a78183.js new file mode 100644 index 00000000..a2824f29 --- /dev/null +++ b/doc/static.files/search-d52510db62a78183.js @@ -0,0 +1,5 @@ +"use strict";if(!Array.prototype.toSpliced){Array.prototype.toSpliced=function(){const me=this.slice();Array.prototype.splice.apply(me,arguments);return me}}(function(){const itemTypes=["keyword","primitive","mod","externcrate","import","struct","enum","fn","type","static","trait","impl","tymethod","method","structfield","variant","macro","associatedtype","constant","associatedconstant","union","foreigntype","existential","attr","derive","traitalias","generic",];const longItemTypes=["keyword","primitive type","module","extern crate","re-export","struct","enum","function","type alias","static","trait","","trait method","method","struct field","enum variant","macro","assoc type","constant","assoc const","union","foreign type","existential type","attribute macro","derive macro","trait alias",];const TY_GENERIC=itemTypes.indexOf("generic");const TY_IMPORT=itemTypes.indexOf("import");const ROOT_PATH=typeof window!=="undefined"?window.rootPath:"../";const UNBOXING_LIMIT=5;function printTab(nb){let iter=0;let foundCurrentTab=false;let foundCurrentResultSet=false;onEachLazy(document.getElementById("search-tabs").childNodes,elem=>{if(nb===iter){addClass(elem,"selected");foundCurrentTab=true}else{removeClass(elem,"selected")}iter+=1});const isTypeSearch=(nb>0||iter===1);iter=0;onEachLazy(document.getElementById("results").childNodes,elem=>{if(nb===iter){addClass(elem,"active");foundCurrentResultSet=true}else{removeClass(elem,"active")}iter+=1});if(foundCurrentTab&&foundCurrentResultSet){searchState.currentTab=nb;const correctionsElem=document.getElementsByClassName("search-corrections");if(isTypeSearch){removeClass(correctionsElem[0],"hidden")}else{addClass(correctionsElem[0],"hidden")}}else if(nb!==0){printTab(0)}}const editDistanceState={current:[],prev:[],prevPrev:[],calculate:function calculate(a,b,limit){if(a.lengthlimit){return limit+1}while(b.length>0&&b[0]===a[0]){a=a.substring(1);b=b.substring(1)}while(b.length>0&&b[b.length-1]===a[a.length-1]){a=a.substring(0,a.length-1);b=b.substring(0,b.length-1)}if(b.length===0){return minDist}const aLength=a.length;const bLength=b.length;for(let i=0;i<=bLength;++i){this.current[i]=0;this.prev[i]=i;this.prevPrev[i]=Number.MAX_VALUE}for(let i=1;i<=aLength;++i){this.current[0]=i;const aIdx=i-1;for(let j=1;j<=bLength;++j){const bIdx=j-1;const substitutionCost=a[aIdx]===b[bIdx]?0:1;this.current[j]=Math.min(this.prev[j]+1,this.current[j-1]+1,this.prev[j-1]+substitutionCost,);if((i>1)&&(j>1)&&(a[aIdx]===b[bIdx-1])&&(a[aIdx-1]===b[bIdx])){this.current[j]=Math.min(this.current[j],this.prevPrev[j-2]+1,)}}const prevPrevTmp=this.prevPrev;this.prevPrev=this.prev;this.prev=this.current;this.current=prevPrevTmp}const distance=this.prev[bLength];return distance<=limit?distance:(limit+1)},};function editDistance(a,b,limit){return editDistanceState.calculate(a,b,limit)}function initSearch(rawSearchIndex){const MAX_RESULTS=200;const NO_TYPE_FILTER=-1;let searchIndex;let searchIndexDeprecated;let searchIndexEmptyDesc;let functionTypeFingerprint;let currentResults;const typeNameIdMap=new Map();const ALIASES=new Map();const typeNameIdOfArray=buildTypeMapIndex("array");const typeNameIdOfSlice=buildTypeMapIndex("slice");const typeNameIdOfArrayOrSlice=buildTypeMapIndex("[]");const typeNameIdOfTuple=buildTypeMapIndex("tuple");const typeNameIdOfUnit=buildTypeMapIndex("unit");const typeNameIdOfTupleOrUnit=buildTypeMapIndex("()");const typeNameIdOfFn=buildTypeMapIndex("fn");const typeNameIdOfFnMut=buildTypeMapIndex("fnmut");const typeNameIdOfFnOnce=buildTypeMapIndex("fnonce");const typeNameIdOfHof=buildTypeMapIndex("->");function buildTypeMapIndex(name,isAssocType){if(name===""||name===null){return null}if(typeNameIdMap.has(name)){const obj=typeNameIdMap.get(name);obj.assocOnly=isAssocType&&obj.assocOnly;return obj.id}else{const id=typeNameIdMap.size;typeNameIdMap.set(name,{id,assocOnly:isAssocType});return id}}function isSpecialStartCharacter(c){return"<\"".indexOf(c)!==-1}function isEndCharacter(c){return"=,>-])".indexOf(c)!==-1}function itemTypeFromName(typename){const index=itemTypes.findIndex(i=>i===typename);if(index<0){throw["Unknown type filter ",typename]}return index}function getStringElem(query,parserState,isInGenerics){if(isInGenerics){throw["Unexpected ","\""," in generics"]}else if(query.literalSearch){throw["Cannot have more than one literal search element"]}else if(parserState.totalElems-parserState.genericsElems>0){throw["Cannot use literal search when there is more than one element"]}parserState.pos+=1;const start=parserState.pos;const end=getIdentEndPosition(parserState);if(parserState.pos>=parserState.length){throw["Unclosed ","\""]}else if(parserState.userQuery[end]!=="\""){throw["Unexpected ",parserState.userQuery[end]," in a string element"]}else if(start===end){throw["Cannot have empty string element"]}parserState.pos+=1;query.literalSearch=true}function isPathStart(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="::"}function isReturnArrow(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="->"}function isIdentCharacter(c){return(c==="_"||(c>="0"&&c<="9")||(c>="a"&&c<="z")||(c>="A"&&c<="Z"))}function isSeparatorCharacter(c){return c===","||c==="="}function isPathSeparator(c){return c===":"||c===" "}function prevIs(parserState,lookingFor){let pos=parserState.pos;while(pos>0){const c=parserState.userQuery[pos-1];if(c===lookingFor){return true}else if(c!==" "){break}pos-=1}return false}function isLastElemGeneric(elems,parserState){return(elems.length>0&&elems[elems.length-1].generics.length>0)||prevIs(parserState,">")}function skipWhitespace(parserState){while(parserState.pos0){throw["Cannot have more than one element if you use quotes"]}const typeFilter=parserState.typeFilter;parserState.typeFilter=null;if(name==="!"){if(typeFilter!==null&&typeFilter!=="primitive"){throw["Invalid search type: primitive never type ","!"," and ",typeFilter," both specified",]}if(generics.length!==0){throw["Never type ","!"," does not accept generic parameters",]}const bindingName=parserState.isInBinding;parserState.isInBinding=null;return makePrimitiveElement("never",{bindingName})}const quadcolon=/::\s*::/.exec(path);if(path.startsWith("::")){throw["Paths cannot start with ","::"]}else if(path.endsWith("::")){throw["Paths cannot end with ","::"]}else if(quadcolon!==null){throw["Unexpected ",quadcolon[0]]}const pathSegments=path.split(/(?:::\s*)|(?:\s+(?:::\s*)?)/);if(pathSegments.length===0||(pathSegments.length===1&&pathSegments[0]==="")){if(generics.length>0||prevIs(parserState,">")){throw["Found generics without a path"]}else{throw["Unexpected ",parserState.userQuery[parserState.pos]]}}for(const[i,pathSegment]of pathSegments.entries()){if(pathSegment==="!"){if(i!==0){throw["Never type ","!"," is not associated item"]}pathSegments[i]="never"}}parserState.totalElems+=1;if(isInGenerics){parserState.genericsElems+=1}const bindingName=parserState.isInBinding;parserState.isInBinding=null;const bindings=new Map();const pathLast=pathSegments[pathSegments.length-1];return{name:name.trim(),id:null,fullPath:pathSegments,pathWithoutLast:pathSegments.slice(0,pathSegments.length-1),pathLast,normalizedPathLast:pathLast.replace(/_/g,""),generics:generics.filter(gen=>{if(gen.bindingName!==null){if(gen.name!==null){gen.bindingName.generics.unshift(gen)}bindings.set(gen.bindingName.name,gen.bindingName.generics);return false}return true}),bindings,typeFilter,bindingName,}}function getIdentEndPosition(parserState){const start=parserState.pos;let end=parserState.pos;let foundExclamation=-1;while(parserState.pos0){throw["Unexpected ",c," after ",parserState.userQuery[parserState.pos-1]]}else{throw["Unexpected ",c]}}parserState.pos+=1;end=parserState.pos}if(foundExclamation!==-1&&foundExclamation!==start&&isIdentCharacter(parserState.userQuery[foundExclamation-1])){if(parserState.typeFilter===null){parserState.typeFilter="macro"}else if(parserState.typeFilter!=="macro"){throw["Invalid search type: macro ","!"," and ",parserState.typeFilter," both specified",]}end=foundExclamation}return end}function getFilteredNextElem(query,parserState,elems,isInGenerics){const start=parserState.pos;if(parserState.userQuery[parserState.pos]===":"&&!isPathStart(parserState)){throw["Expected type filter before ",":"]}getNextElem(query,parserState,elems,isInGenerics);if(parserState.userQuery[parserState.pos]===":"&&!isPathStart(parserState)){if(parserState.typeFilter!==null){throw["Unexpected ",":"," (expected path after type filter ",parserState.typeFilter+":",")",]}if(elems.length===0){throw["Expected type filter before ",":"]}else if(query.literalSearch){throw["Cannot use quotes on type filter"]}const typeFilterElem=elems.pop();checkExtraTypeFilterCharacters(start,parserState);parserState.typeFilter=typeFilterElem.name;parserState.pos+=1;parserState.totalElems-=1;query.literalSearch=false;getNextElem(query,parserState,elems,isInGenerics)}}function getNextElem(query,parserState,elems,isInGenerics){const generics=[];skipWhitespace(parserState);let start=parserState.pos;let end;if("[(".indexOf(parserState.userQuery[parserState.pos])!==-1){let endChar=")";let name="()";let friendlyName="tuple";if(parserState.userQuery[parserState.pos]==="["){endChar="]";name="[]";friendlyName="slice"}parserState.pos+=1;const{foundSeparator}=getItemsBefore(query,parserState,generics,endChar);const typeFilter=parserState.typeFilter;const bindingName=parserState.isInBinding;parserState.typeFilter=null;parserState.isInBinding=null;for(const gen of generics){if(gen.bindingName!==null){throw["Type parameter ","=",` cannot be within ${friendlyName} `,name]}}if(name==="()"&&!foundSeparator&&generics.length===1&&typeFilter===null){elems.push(generics[0])}else if(name==="()"&&generics.length===1&&generics[0].name==="->"){generics[0].typeFilter=typeFilter;elems.push(generics[0])}else{if(typeFilter!==null&&typeFilter!=="primitive"){throw["Invalid search type: primitive ",name," and ",typeFilter," both specified",]}parserState.totalElems+=1;if(isInGenerics){parserState.genericsElems+=1}elems.push(makePrimitiveElement(name,{bindingName,generics}))}}else if(parserState.userQuery[parserState.pos]==="&"){if(parserState.typeFilter!==null&&parserState.typeFilter!=="primitive"){throw["Invalid search type: primitive ","&"," and ",parserState.typeFilter," both specified",]}parserState.typeFilter=null;parserState.pos+=1;let c=parserState.userQuery[parserState.pos];while(c===" "&&parserState.pos=end){throw["Found generics without a path"]}parserState.pos+=1;getItemsBefore(query,parserState,generics,">")}else if(parserState.pos=end){throw["Found generics without a path"]}if(parserState.isInBinding){throw["Unexpected ","("," after ","="]}parserState.pos+=1;const typeFilter=parserState.typeFilter;parserState.typeFilter=null;getItemsBefore(query,parserState,generics,")");skipWhitespace(parserState);if(isReturnArrow(parserState)){parserState.pos+=2;skipWhitespace(parserState);getFilteredNextElem(query,parserState,generics,isInGenerics);generics[generics.length-1].bindingName=makePrimitiveElement("output")}else{generics.push(makePrimitiveElement(null,{bindingName:makePrimitiveElement("output"),typeFilter:null,}))}parserState.typeFilter=typeFilter}if(isStringElem){skipWhitespace(parserState)}if(start>=end&&generics.length===0){return}if(parserState.userQuery[parserState.pos]==="="){if(parserState.isInBinding){throw["Cannot write ","="," twice in a binding"]}if(!isInGenerics){throw["Type parameter ","="," must be within generics list"]}const name=parserState.userQuery.slice(start,end).trim();if(name==="!"){throw["Type parameter ","="," key cannot be ","!"," never type"]}if(name.includes("!")){throw["Type parameter ","="," key cannot be ","!"," macro"]}if(name.includes("::")){throw["Type parameter ","="," key cannot contain ","::"," path"]}if(name.includes(":")){throw["Type parameter ","="," key cannot contain ",":"," type"]}parserState.isInBinding={name,generics}}else{elems.push(createQueryElement(query,parserState,parserState.userQuery.slice(start,end),generics,isInGenerics,),)}}}function getItemsBefore(query,parserState,elems,endChar){let foundStopChar=true;let foundSeparator=false;const oldTypeFilter=parserState.typeFilter;parserState.typeFilter=null;const oldIsInBinding=parserState.isInBinding;parserState.isInBinding=null;let hofParameters=null;let extra="";if(endChar===">"){extra="<"}else if(endChar==="]"){extra="["}else if(endChar===")"){extra="("}else if(endChar===""){extra="->"}else{extra=endChar}while(parserState.pos"," after ","="]}hofParameters=[...elems];elems.length=0;parserState.pos+=2;foundStopChar=true;foundSeparator=false;continue}else if(c===" "){parserState.pos+=1;continue}else if(isSeparatorCharacter(c)){parserState.pos+=1;foundStopChar=true;foundSeparator=true;continue}else if(c===":"&&isPathStart(parserState)){throw["Unexpected ","::",": paths cannot start with ","::"]}else if(isEndCharacter(c)){throw["Unexpected ",c," after ",extra]}if(!foundStopChar){let extra=[];if(isLastElemGeneric(query.elems,parserState)){extra=[" after ",">"]}else if(prevIs(parserState,"\"")){throw["Cannot have more than one element if you use quotes"]}if(endChar!==""){throw["Expected ",",",", ","=",", or ",endChar,...extra,", found ",c,]}throw["Expected ",","," or ","=",...extra,", found ",c,]}const posBefore=parserState.pos;getFilteredNextElem(query,parserState,elems,endChar!=="");if(endChar!==""&&parserState.pos>=parserState.length){throw["Unclosed ",extra]}if(posBefore===parserState.pos){parserState.pos+=1}foundStopChar=false}if(parserState.pos>=parserState.length&&endChar!==""){throw["Unclosed ",extra]}parserState.pos+=1;if(hofParameters){foundSeparator=false;if([...elems,...hofParameters].some(x=>x.bindingName)||parserState.isInBinding){throw["Unexpected ","="," within ","->"]}const hofElem=makePrimitiveElement("->",{generics:hofParameters,bindings:new Map([["output",[...elems]]]),typeFilter:null,});elems.length=0;elems[0]=hofElem}parserState.typeFilter=oldTypeFilter;parserState.isInBinding=oldIsInBinding;return{foundSeparator}}function checkExtraTypeFilterCharacters(start,parserState){const query=parserState.userQuery.slice(start,parserState.pos).trim();for(const c in query){if(!isIdentCharacter(query[c])){throw["Unexpected ",query[c]," in type filter (before ",":",")",]}}}function parseInput(query,parserState){let foundStopChar=true;while(parserState.pos"){if(isReturnArrow(parserState)){break}throw["Unexpected ",c," (did you mean ","->","?)"]}else if(parserState.pos>0){throw["Unexpected ",c," after ",parserState.userQuery[parserState.pos-1]]}throw["Unexpected ",c]}else if(c===" "){skipWhitespace(parserState);continue}if(!foundStopChar){let extra="";if(isLastElemGeneric(query.elems,parserState)){extra=[" after ",">"]}else if(prevIs(parserState,"\"")){throw["Cannot have more than one element if you use quotes"]}if(parserState.typeFilter!==null){throw["Expected ",","," or ","->",...extra,", found ",c,]}throw["Expected ",",",", ",":"," or ","->",...extra,", found ",c,]}const before=query.elems.length;getFilteredNextElem(query,parserState,query.elems,false);if(query.elems.length===before){parserState.pos+=1}foundStopChar=false}if(parserState.typeFilter!==null){throw["Unexpected ",":"," (expected path after type filter ",parserState.typeFilter+":",")",]}while(parserState.pos"]}break}else{parserState.pos+=1}}}function newParsedQuery(userQuery){return{original:userQuery,userQuery:userQuery.toLowerCase(),elems:[],returned:[],foundElems:0,totalElems:0,literalSearch:false,error:null,correction:null,proposeCorrectionFrom:null,proposeCorrectionTo:null,typeFingerprint:new Uint32Array(4),}}function buildUrl(search,filterCrates){let extra="?search="+encodeURIComponent(search);if(filterCrates!==null){extra+="&filter-crate="+encodeURIComponent(filterCrates)}return getNakedUrl()+extra+window.location.hash}function getFilterCrates(){const elem=document.getElementById("crate-search");if(elem&&elem.value!=="all crates"&&rawSearchIndex.has(elem.value)){return elem.value}return null}function parseQuery(userQuery){function convertTypeFilterOnElem(elem){if(elem.typeFilter!==null){let typeFilter=elem.typeFilter;if(typeFilter==="const"){typeFilter="constant"}elem.typeFilter=itemTypeFromName(typeFilter)}else{elem.typeFilter=NO_TYPE_FILTER}for(const elem2 of elem.generics){convertTypeFilterOnElem(elem2)}for(const constraints of elem.bindings.values()){for(const constraint of constraints){convertTypeFilterOnElem(constraint)}}}userQuery=userQuery.trim().replace(/\r|\n|\t/g," ");const parserState={length:userQuery.length,pos:0,totalElems:0,genericsElems:0,typeFilter:null,isInBinding:null,userQuery:userQuery.toLowerCase(),};let query=newParsedQuery(userQuery);try{parseInput(query,parserState);for(const elem of query.elems){convertTypeFilterOnElem(elem)}for(const elem of query.returned){convertTypeFilterOnElem(elem)}}catch(err){query=newParsedQuery(userQuery);query.error=err;return query}if(!query.literalSearch){query.literalSearch=parserState.totalElems>1}query.foundElems=query.elems.length+query.returned.length;query.totalElems=parserState.totalElems;return query}function createQueryResults(results_in_args,results_returned,results_others,parsedQuery){return{"in_args":results_in_args,"returned":results_returned,"others":results_others,"query":parsedQuery,}}async function execQuery(parsedQuery,filterCrates,currentCrate){const results_others=new Map(),results_in_args=new Map(),results_returned=new Map();function transformResults(results){const duplicates=new Set();const out=[];for(const result of results){if(result.id!==-1){const obj=searchIndex[result.id];obj.dist=result.dist;const res=buildHrefAndPath(obj);obj.displayPath=pathSplitter(res[0]);obj.fullPath=res[2]+"|"+obj.ty;if(duplicates.has(obj.fullPath)){continue}if(obj.ty===TY_IMPORT&&duplicates.has(res[2])){continue}if(duplicates.has(res[2]+"|"+TY_IMPORT)){continue}duplicates.add(obj.fullPath);duplicates.add(res[2]);obj.href=res[1];out.push(obj);if(out.length>=MAX_RESULTS){break}}}return out}async function sortResults(results,isType,preferredCrate){const userQuery=parsedQuery.userQuery;const result_list=[];for(const result of results.values()){result.item=searchIndex[result.id];result.word=searchIndex[result.id].word;result_list.push(result)}result_list.sort((aaa,bbb)=>{let a,b;a=(aaa.word!==userQuery);b=(bbb.word!==userQuery);if(a!==b){return a-b}a=(aaa.index<0);b=(bbb.index<0);if(a!==b){return a-b}a=aaa.path_dist;b=bbb.path_dist;if(a!==b){return a-b}a=aaa.index;b=bbb.index;if(a!==b){return a-b}a=(aaa.dist);b=(bbb.dist);if(a!==b){return a-b}a=searchIndexDeprecated.get(aaa.item.crate).contains(aaa.item.bitIndex);b=searchIndexDeprecated.get(bbb.item.crate).contains(bbb.item.bitIndex);if(a!==b){return a-b}a=(aaa.item.crate!==preferredCrate);b=(bbb.item.crate!==preferredCrate);if(a!==b){return a-b}a=aaa.word.length;b=bbb.word.length;if(a!==b){return a-b}a=aaa.word;b=bbb.word;if(a!==b){return(a>b?+1:-1)}a=searchIndexEmptyDesc.get(aaa.item.crate).contains(aaa.item.bitIndex);b=searchIndexEmptyDesc.get(bbb.item.crate).contains(bbb.item.bitIndex);if(a!==b){return a-b}a=aaa.item.ty;b=bbb.item.ty;if(a!==b){return a-b}a=aaa.item.path;b=bbb.item.path;if(a!==b){return(a>b?+1:-1)}return 0});return transformResults(result_list)}function unifyFunctionTypes(fnTypesIn,queryElems,whereClause,mgensIn,solutionCb,unboxingDepth,){if(unboxingDepth>=UNBOXING_LIMIT){return false}const mgens=mgensIn===null?null:new Map(mgensIn);if(queryElems.length===0){return!solutionCb||solutionCb(mgens)}if(!fnTypesIn||fnTypesIn.length===0){return false}const ql=queryElems.length;const fl=fnTypesIn.length;if(ql===1&&queryElems[0].generics.length===0&&queryElems[0].bindings.size===0){const queryElem=queryElems[0];for(const fnType of fnTypesIn){if(!unifyFunctionTypeIsMatchCandidate(fnType,queryElem,mgens)){continue}if(fnType.id<0&&queryElem.id<0){if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==queryElem.id){continue}const mgensScratch=new Map(mgens);mgensScratch.set(fnType.id,queryElem.id);if(!solutionCb||solutionCb(mgensScratch)){return true}}else if(!solutionCb||solutionCb(mgens?new Map(mgens):null)){return true}}for(const fnType of fnTypesIn){if(!unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens,unboxingDepth+1,)){continue}if(fnType.id<0){if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==0){continue}const mgensScratch=new Map(mgens);mgensScratch.set(fnType.id,0);if(unifyFunctionTypes(whereClause[(-fnType.id)-1],queryElems,whereClause,mgensScratch,solutionCb,unboxingDepth+1,)){return true}}else if(unifyFunctionTypes([...fnType.generics,...Array.from(fnType.bindings.values()).flat()],queryElems,whereClause,mgens?new Map(mgens):null,solutionCb,unboxingDepth+1,)){return true}}return false}const fnTypes=fnTypesIn.slice();const flast=fl-1;const qlast=ql-1;const queryElem=queryElems[qlast];let queryElemsTmp=null;for(let i=flast;i>=0;i-=1){const fnType=fnTypes[i];if(!unifyFunctionTypeIsMatchCandidate(fnType,queryElem,mgens)){continue}let mgensScratch;if(fnType.id<0){mgensScratch=new Map(mgens);if(mgensScratch.has(fnType.id)&&mgensScratch.get(fnType.id)!==queryElem.id){continue}mgensScratch.set(fnType.id,queryElem.id)}else{mgensScratch=mgens}fnTypes[i]=fnTypes[flast];fnTypes.length=flast;if(!queryElemsTmp){queryElemsTmp=queryElems.slice(0,qlast)}const passesUnification=unifyFunctionTypes(fnTypes,queryElemsTmp,whereClause,mgensScratch,mgensScratch=>{if(fnType.generics.length===0&&queryElem.generics.length===0&&fnType.bindings.size===0&&queryElem.bindings.size===0){return!solutionCb||solutionCb(mgensScratch)}const solution=unifyFunctionTypeCheckBindings(fnType,queryElem,whereClause,mgensScratch,unboxingDepth,);if(!solution){return false}const simplifiedGenerics=solution.simplifiedGenerics;for(const simplifiedMgens of solution.mgens){const passesUnification=unifyFunctionTypes(simplifiedGenerics,queryElem.generics,whereClause,simplifiedMgens,solutionCb,unboxingDepth,);if(passesUnification){return true}}return false},unboxingDepth,);if(passesUnification){return true}fnTypes[flast]=fnTypes[i];fnTypes[i]=fnType;fnTypes.length=fl}for(let i=flast;i>=0;i-=1){const fnType=fnTypes[i];if(!unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens,unboxingDepth+1,)){continue}let mgensScratch;if(fnType.id<0){mgensScratch=new Map(mgens);if(mgensScratch.has(fnType.id)&&mgensScratch.get(fnType.id)!==0){continue}mgensScratch.set(fnType.id,0)}else{mgensScratch=mgens}const generics=fnType.id<0?whereClause[(-fnType.id)-1]:fnType.generics;const bindings=fnType.bindings?Array.from(fnType.bindings.values()).flat():[];const passesUnification=unifyFunctionTypes(fnTypes.toSpliced(i,1,...generics,...bindings),queryElems,whereClause,mgensScratch,solutionCb,unboxingDepth+1,);if(passesUnification){return true}}return false}function unifyFunctionTypeIsMatchCandidate(fnType,queryElem,mgensIn){if(!typePassesFilter(queryElem.typeFilter,fnType.ty)){return false}if(fnType.id<0&&queryElem.id<0){if(mgensIn){if(mgensIn.has(fnType.id)&&mgensIn.get(fnType.id)!==queryElem.id){return false}for(const[fid,qid]of mgensIn.entries()){if(fnType.id!==fid&&queryElem.id===qid){return false}if(fnType.id===fid&&queryElem.id!==qid){return false}}}return true}else{if(queryElem.id===typeNameIdOfArrayOrSlice&&(fnType.id===typeNameIdOfSlice||fnType.id===typeNameIdOfArray)){}else if(queryElem.id===typeNameIdOfTupleOrUnit&&(fnType.id===typeNameIdOfTuple||fnType.id===typeNameIdOfUnit)){}else if(queryElem.id===typeNameIdOfHof&&(fnType.id===typeNameIdOfFn||fnType.id===typeNameIdOfFnMut||fnType.id===typeNameIdOfFnOnce)){}else if(fnType.id!==queryElem.id||queryElem.id===null){return false}if((fnType.generics.length+fnType.bindings.size)===0&&queryElem.generics.length!==0){return false}if(fnType.bindings.size0){const fnTypePath=fnType.path!==undefined&&fnType.path!==null?fnType.path.split("::"):[];if(queryElemPathLength>fnTypePath.length){return false}let i=0;for(const path of fnTypePath){if(path===queryElem.pathWithoutLast[i]){i+=1;if(i>=queryElemPathLength){break}}}if(i0){let mgensSolutionSet=[mgensIn];for(const[name,constraints]of queryElem.bindings.entries()){if(mgensSolutionSet.length===0){return false}if(!fnType.bindings.has(name)){return false}const fnTypeBindings=fnType.bindings.get(name);mgensSolutionSet=mgensSolutionSet.flatMap(mgens=>{const newSolutions=[];unifyFunctionTypes(fnTypeBindings,constraints,whereClause,mgens,newMgens=>{newSolutions.push(newMgens);return false},unboxingDepth,);return newSolutions})}if(mgensSolutionSet.length===0){return false}const binds=Array.from(fnType.bindings.entries()).flatMap(entry=>{const[name,constraints]=entry;if(queryElem.bindings.has(name)){return[]}else{return constraints}});if(simplifiedGenerics.length>0){simplifiedGenerics=[...simplifiedGenerics,...binds]}else{simplifiedGenerics=binds}return{simplifiedGenerics,mgens:mgensSolutionSet}}return{simplifiedGenerics,mgens:[mgensIn]}}function unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens,unboxingDepth,){if(unboxingDepth>=UNBOXING_LIMIT){return false}if(fnType.id<0&&queryElem.id>=0){if(!whereClause){return false}if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==0){return false}const mgensTmp=new Map(mgens);mgensTmp.set(fnType.id,null);return checkIfInList(whereClause[(-fnType.id)-1],queryElem,whereClause,mgensTmp,unboxingDepth,)}else if(fnType.generics.length>0||fnType.bindings.size>0){const simplifiedGenerics=[...fnType.generics,...Array.from(fnType.bindings.values()).flat(),];return checkIfInList(simplifiedGenerics,queryElem,whereClause,mgens,unboxingDepth,)}return false}function checkIfInList(list,elem,whereClause,mgens,unboxingDepth){for(const entry of list){if(checkType(entry,elem,whereClause,mgens,unboxingDepth)){return true}}return false}function checkType(row,elem,whereClause,mgens,unboxingDepth){if(unboxingDepth>=UNBOXING_LIMIT){return false}if(row.bindings.size===0&&elem.bindings.size===0){if(elem.id<0&&mgens===null){return row.id<0||checkIfInList(row.generics,elem,whereClause,mgens,unboxingDepth+1,)}if(row.id>0&&elem.id>0&&elem.pathWithoutLast.length===0&&typePassesFilter(elem.typeFilter,row.ty)&&elem.generics.length===0&&elem.id!==typeNameIdOfArrayOrSlice&&elem.id!==typeNameIdOfTupleOrUnit&&elem.id!==typeNameIdOfHof){return row.id===elem.id||checkIfInList(row.generics,elem,whereClause,mgens,unboxingDepth,)}}return unifyFunctionTypes([row],[elem],whereClause,mgens,null,unboxingDepth)}function checkPath(contains,ty){if(contains.length===0){return 0}const maxPathEditDistance=Math.floor(contains.reduce((acc,next)=>acc+next.length,0)/3,);let ret_dist=maxPathEditDistance+1;const path=ty.path.split("::");if(ty.parent&&ty.parent.name){path.push(ty.parent.name.toLowerCase())}const length=path.length;const clength=contains.length;pathiter:for(let i=length-clength;i>=0;i-=1){let dist_total=0;for(let x=0;xmaxPathEditDistance){continue pathiter}dist_total+=dist}}ret_dist=Math.min(ret_dist,Math.round(dist_total/clength))}return ret_dist>maxPathEditDistance?null:ret_dist}function typePassesFilter(filter,type){if(filter<=NO_TYPE_FILTER||filter===type)return true;const name=itemTypes[type];switch(itemTypes[filter]){case"constant":return name==="associatedconstant";case"fn":return name==="method"||name==="tymethod";case"type":return name==="primitive"||name==="associatedtype";case"trait":return name==="traitalias"}return false}function createAliasFromItem(item){return{crate:item.crate,name:item.name,path:item.path,descShard:item.descShard,descIndex:item.descIndex,exactPath:item.exactPath,ty:item.ty,parent:item.parent,type:item.type,is_alias:true,bitIndex:item.bitIndex,implDisambiguator:item.implDisambiguator,}}function handleAliases(ret,query,filterCrates,currentCrate){const lowerQuery=query.toLowerCase();const aliases=[];const crateAliases=[];if(filterCrates!==null){if(ALIASES.has(filterCrates)&&ALIASES.get(filterCrates).has(lowerQuery)){const query_aliases=ALIASES.get(filterCrates).get(lowerQuery);for(const alias of query_aliases){aliases.push(createAliasFromItem(searchIndex[alias]))}}}else{for(const[crate,crateAliasesIndex]of ALIASES){if(crateAliasesIndex.has(lowerQuery)){const pushTo=crate===currentCrate?crateAliases:aliases;const query_aliases=crateAliasesIndex.get(lowerQuery);for(const alias of query_aliases){pushTo.push(createAliasFromItem(searchIndex[alias]))}}}}const sortFunc=(aaa,bbb)=>{if(aaa.path{alias.alias=query;const res=buildHrefAndPath(alias);alias.displayPath=pathSplitter(res[0]);alias.fullPath=alias.displayPath+alias.name;alias.href=res[1];ret.others.unshift(alias);if(ret.others.length>MAX_RESULTS){ret.others.pop()}};aliases.forEach(pushFunc);crateAliases.forEach(pushFunc)}function addIntoResults(results,fullId,id,index,dist,path_dist,maxEditDistance){if(dist<=maxEditDistance||index!==-1){if(results.has(fullId)){const result=results.get(fullId);if(result.dontValidate||result.dist<=dist){return}}results.set(fullId,{id:id,index:index,dontValidate:parsedQuery.literalSearch,dist:dist,path_dist:path_dist,})}}function handleSingleArg(row,pos,elem,results_others,results_in_args,results_returned,maxEditDistance,){if(!row||(filterCrates!==null&&row.crate!==filterCrates)){return}let path_dist=0;const fullId=row.id;const tfpDist=compareTypeFingerprints(fullId,parsedQuery.typeFingerprint,);if(tfpDist!==null){const in_args=row.type&&row.type.inputs&&checkIfInList(row.type.inputs,elem,row.type.where_clause,null,0);const returned=row.type&&row.type.output&&checkIfInList(row.type.output,elem,row.type.where_clause,null,0);if(in_args){results_in_args.max_dist=Math.max(results_in_args.max_dist||0,tfpDist);const maxDist=results_in_args.sizenormalizedIndex&&normalizedIndex!==-1)){index=normalizedIndex}if(elem.fullPath.length>1){path_dist=checkPath(elem.pathWithoutLast,row);if(path_dist===null){return}}if(parsedQuery.literalSearch){if(row.word===elem.pathLast){addIntoResults(results_others,fullId,pos,index,0,path_dist)}return}const dist=editDistance(row.normalizedName,elem.normalizedPathLast,maxEditDistance);if(index===-1&&dist>maxEditDistance){return}addIntoResults(results_others,fullId,pos,index,dist,path_dist,maxEditDistance)}function handleArgs(row,pos,results){if(!row||(filterCrates!==null&&row.crate!==filterCrates)||!row.type){return}const tfpDist=compareTypeFingerprints(row.id,parsedQuery.typeFingerprint,);if(tfpDist===null){return}if(results.size>=MAX_RESULTS&&tfpDist>results.max_dist){return}if(!unifyFunctionTypes(row.type.inputs,parsedQuery.elems,row.type.where_clause,null,mgens=>{return unifyFunctionTypes(row.type.output,parsedQuery.returned,row.type.where_clause,mgens,null,0,)},0,)){return}results.max_dist=Math.max(results.max_dist||0,tfpDist);addIntoResults(results,row.id,pos,0,tfpDist,0,Number.MAX_VALUE)}function innerRunQuery(){const queryLen=parsedQuery.elems.reduce((acc,next)=>acc+next.pathLast.length,0)+parsedQuery.returned.reduce((acc,next)=>acc+next.pathLast.length,0);const maxEditDistance=Math.floor(queryLen/3);const genericSymbols=new Map();function convertNameToId(elem,isAssocType){if(typeNameIdMap.has(elem.normalizedPathLast)&&(isAssocType||!typeNameIdMap.get(elem.normalizedPathLast).assocOnly)){elem.id=typeNameIdMap.get(elem.normalizedPathLast).id}else if(!parsedQuery.literalSearch){let match=null;let matchDist=maxEditDistance+1;let matchName="";for(const[name,{id,assocOnly}]of typeNameIdMap){const dist=editDistance(name,elem.normalizedPathLast,maxEditDistance);if(dist<=matchDist&&dist<=maxEditDistance&&(isAssocType||!assocOnly)){if(dist===matchDist&&matchName>name){continue}match=id;matchDist=dist;matchName=name}}if(match!==null){parsedQuery.correction=matchName}elem.id=match}if((elem.id===null&&parsedQuery.totalElems>1&&elem.typeFilter===-1&&elem.generics.length===0&&elem.bindings.size===0)||elem.typeFilter===TY_GENERIC){if(genericSymbols.has(elem.name)){elem.id=genericSymbols.get(elem.name)}else{elem.id=-(genericSymbols.size+1);genericSymbols.set(elem.name,elem.id)}if(elem.typeFilter===-1&&elem.name.length>=3){const maxPartDistance=Math.floor(elem.name.length/3);let matchDist=maxPartDistance+1;let matchName="";for(const name of typeNameIdMap.keys()){const dist=editDistance(name,elem.name,maxPartDistance);if(dist<=matchDist&&dist<=maxPartDistance){if(dist===matchDist&&matchName>name){continue}matchDist=dist;matchName=name}}if(matchName!==""){parsedQuery.proposeCorrectionFrom=elem.name;parsedQuery.proposeCorrectionTo=matchName}}elem.typeFilter=TY_GENERIC}if(elem.generics.length>0&&elem.typeFilter===TY_GENERIC){parsedQuery.error=["Generic type parameter ",elem.name," does not accept generic parameters",]}for(const elem2 of elem.generics){convertNameToId(elem2)}elem.bindings=new Map(Array.from(elem.bindings.entries()).map(entry=>{const[name,constraints]=entry;if(!typeNameIdMap.has(name)){parsedQuery.error=["Type parameter ",name," does not exist",];return[null,[]]}for(const elem2 of constraints){convertNameToId(elem2)}return[typeNameIdMap.get(name).id,constraints]}),)}const fps=new Set();for(const elem of parsedQuery.elems){convertNameToId(elem);buildFunctionTypeFingerprint(elem,parsedQuery.typeFingerprint,fps)}for(const elem of parsedQuery.returned){convertNameToId(elem);buildFunctionTypeFingerprint(elem,parsedQuery.typeFingerprint,fps)}if(parsedQuery.foundElems===1&&parsedQuery.returned.length===0){if(parsedQuery.elems.length===1){const elem=parsedQuery.elems[0];for(let i=0,nSearchIndex=searchIndex.length;i0){const sortQ=(a,b)=>{const ag=a.generics.length===0&&a.bindings.size===0;const bg=b.generics.length===0&&b.bindings.size===0;if(ag!==bg){return ag-bg}const ai=a.id>0;const bi=b.id>0;return ai-bi};parsedQuery.elems.sort(sortQ);parsedQuery.returned.sort(sortQ);for(let i=0,nSearchIndex=searchIndex.length;i{const descs=await Promise.all(list.map(result=>{return searchIndexEmptyDesc.get(result.crate).contains(result.bitIndex)?"":searchState.loadDesc(result)}));for(const[i,result]of list.entries()){result.desc=descs[i]}}));if(parsedQuery.error!==null&&ret.others.length!==0){ret.query.error=null}return ret}function nextTab(direction){const next=(searchState.currentTab+direction+3)%searchState.focusedByTab.length;searchState.focusedByTab[searchState.currentTab]=document.activeElement;printTab(next);focusSearchResult()}function focusSearchResult(){const target=searchState.focusedByTab[searchState.currentTab]||document.querySelectorAll(".search-results.active a").item(0)||document.querySelectorAll("#search-tabs button").item(searchState.currentTab);searchState.focusedByTab[searchState.currentTab]=null;if(target){target.focus()}}function buildHrefAndPath(item){let displayPath;let href;const type=itemTypes[item.ty];const name=item.name;let path=item.path;let exactPath=item.exactPath;if(type==="mod"){displayPath=path+"::";href=ROOT_PATH+path.replace(/::/g,"/")+"/"+name+"/index.html"}else if(type==="import"){displayPath=item.path+"::";href=ROOT_PATH+item.path.replace(/::/g,"/")+"/index.html#reexport."+name}else if(type==="primitive"||type==="keyword"){displayPath="";href=ROOT_PATH+path.replace(/::/g,"/")+"/"+type+"."+name+".html"}else if(type==="externcrate"){displayPath="";href=ROOT_PATH+name+"/index.html"}else if(item.parent!==undefined){const myparent=item.parent;let anchor=type+"."+name;const parentType=itemTypes[myparent.ty];let pageType=parentType;let pageName=myparent.name;exactPath=`${myparent.exactPath}::${myparent.name}`;if(parentType==="primitive"){displayPath=myparent.name+"::"}else if(type==="structfield"&&parentType==="variant"){const enumNameIdx=item.path.lastIndexOf("::");const enumName=item.path.substr(enumNameIdx+2);path=item.path.substr(0,enumNameIdx);displayPath=path+"::"+enumName+"::"+myparent.name+"::";anchor="variant."+myparent.name+".field."+name;pageType="enum";pageName=enumName}else{displayPath=path+"::"+myparent.name+"::"}if(item.implDisambiguator!==null){anchor=item.implDisambiguator+"/"+anchor}href=ROOT_PATH+path.replace(/::/g,"/")+"/"+pageType+"."+pageName+".html#"+anchor}else{displayPath=item.path+"::";href=ROOT_PATH+item.path.replace(/::/g,"/")+"/"+type+"."+name+".html"}return[displayPath,href,`${exactPath}::${name}`]}function pathSplitter(path){const tmp=""+path.replace(/::/g,"::");if(tmp.endsWith("")){return tmp.slice(0,tmp.length-6)}return tmp}async function addTab(array,query,display){const extraClass=display?" active":"";const output=document.createElement("div");if(array.length>0){output.className="search-results "+extraClass;for(const item of array){const name=item.name;const type=itemTypes[item.ty];const longType=longItemTypes[item.ty];const typeName=longType.length!==0?`${longType}`:"?";const link=document.createElement("a");link.className="result-"+type;link.href=item.href;const resultName=document.createElement("div");resultName.className="result-name";resultName.insertAdjacentHTML("beforeend",`${typeName}`);link.appendChild(resultName);let alias=" ";if(item.is_alias){alias=`
    \ +${item.alias} - see \ +
    `}resultName.insertAdjacentHTML("beforeend",`
    ${alias}\ +${item.displayPath}${name}\ +
    `);const description=document.createElement("div");description.className="desc";description.insertAdjacentHTML("beforeend",item.desc);link.appendChild(description);output.appendChild(link)}}else if(query.error===null){output.className="search-failed"+extraClass;output.innerHTML="No results :(
    "+"Try on DuckDuckGo?

    "+"Or try looking in one of these:"}return[output,array.length]}function makeTabHeader(tabNb,text,nbElems){const fmtNbElems=nbElems<10?`\u{2007}(${nbElems})\u{2007}\u{2007}`:nbElems<100?`\u{2007}(${nbElems})\u{2007}`:`\u{2007}(${nbElems})`;if(searchState.currentTab===tabNb){return""}return""}async function showResults(results,go_to_first,filterCrates){const search=searchState.outputElement();if(go_to_first||(results.others.length===1&&getSettingValue("go-to-only-result")==="true")){window.onunload=()=>{};searchState.removeQueryParameters();const elem=document.createElement("a");elem.href=results.others[0].href;removeClass(elem,"active");document.body.appendChild(elem);elem.click();return}if(results.query===undefined){results.query=parseQuery(searchState.input.value)}currentResults=results.query.userQuery;const[ret_others,ret_in_args,ret_returned]=await Promise.all([addTab(results.others,results.query,true),addTab(results.in_args,results.query,false),addTab(results.returned,results.query,false),]);let currentTab=searchState.currentTab;if((currentTab===0&&ret_others[1]===0)||(currentTab===1&&ret_in_args[1]===0)||(currentTab===2&&ret_returned[1]===0)){if(ret_others[1]!==0){currentTab=0}else if(ret_in_args[1]!==0){currentTab=1}else if(ret_returned[1]!==0){currentTab=2}}let crates="";if(rawSearchIndex.size>1){crates=" in 
    "}let output=`

    Results${crates}

    `;if(results.query.error!==null){const error=results.query.error;error.forEach((value,index)=>{value=value.split("<").join("<").split(">").join(">");if(index%2!==0){error[index]=`${value.replaceAll(" ", " ")}`}else{error[index]=value}});output+=`

    Query parser error: "${error.join("")}".

    `;output+="
    "+makeTabHeader(0,"In Names",ret_others[1])+"
    ";currentTab=0}else if(results.query.foundElems<=1&&results.query.returned.length===0){output+="
    "+makeTabHeader(0,"In Names",ret_others[1])+makeTabHeader(1,"In Parameters",ret_in_args[1])+makeTabHeader(2,"In Return Types",ret_returned[1])+"
    "}else{const signatureTabTitle=results.query.elems.length===0?"In Function Return Types":results.query.returned.length===0?"In Function Parameters":"In Function Signatures";output+="
    "+makeTabHeader(0,signatureTabTitle,ret_others[1])+"
    ";currentTab=0}if(results.query.correction!==null){const orig=results.query.returned.length>0?results.query.returned[0].name:results.query.elems[0].name;output+="

    "+`Type "${orig}" not found. `+"Showing results for closest type name "+`"${results.query.correction}" instead.

    `}if(results.query.proposeCorrectionFrom!==null){const orig=results.query.proposeCorrectionFrom;const targ=results.query.proposeCorrectionTo;output+="

    "+`Type "${orig}" not found and used as generic parameter. `+`Consider searching for "${targ}" instead.

    `}const resultsElem=document.createElement("div");resultsElem.id="results";resultsElem.appendChild(ret_others[0]);resultsElem.appendChild(ret_in_args[0]);resultsElem.appendChild(ret_returned[0]);search.innerHTML=output;const crateSearch=document.getElementById("crate-search");if(crateSearch){crateSearch.addEventListener("input",updateCrate)}search.appendChild(resultsElem);searchState.showResults(search);const elems=document.getElementById("search-tabs").childNodes;searchState.focusedByTab=[];let i=0;for(const elem of elems){const j=i;elem.onclick=()=>printTab(j);searchState.focusedByTab.push(null);i+=1}printTab(currentTab)}function updateSearchHistory(url){if(!browserSupportsHistoryApi()){return}const params=searchState.getQueryStringParams();if(!history.state&&!params.search){history.pushState(null,"",url)}else{history.replaceState(null,"",url)}}async function search(forced){const query=parseQuery(searchState.input.value.trim());let filterCrates=getFilterCrates();if(!forced&&query.userQuery===currentResults){if(query.userQuery.length>0){putBackSearch()}return}searchState.setLoadingSearch();const params=searchState.getQueryStringParams();if(filterCrates===null&¶ms["filter-crate"]!==undefined){filterCrates=params["filter-crate"]}searchState.title="Results for "+query.original+" - Rust";updateSearchHistory(buildUrl(query.original,filterCrates));await showResults(await execQuery(query,filterCrates,window.currentCrate),params.go_to_first,filterCrates)}function buildItemSearchTypeAll(types,lowercasePaths){return types.length>0?types.map(type=>buildItemSearchType(type,lowercasePaths)):EMPTY_GENERICS_ARRAY}const EMPTY_BINDINGS_MAP=new Map();const EMPTY_GENERICS_ARRAY=[];let TYPES_POOL=new Map();function buildItemSearchType(type,lowercasePaths,isAssocType){const PATH_INDEX_DATA=0;const GENERICS_DATA=1;const BINDINGS_DATA=2;let pathIndex,generics,bindings;if(typeof type==="number"){pathIndex=type;generics=EMPTY_GENERICS_ARRAY;bindings=EMPTY_BINDINGS_MAP}else{pathIndex=type[PATH_INDEX_DATA];generics=buildItemSearchTypeAll(type[GENERICS_DATA],lowercasePaths,);if(type.length>BINDINGS_DATA&&type[BINDINGS_DATA].length>0){bindings=new Map(type[BINDINGS_DATA].map(binding=>{const[assocType,constraints]=binding;return[buildItemSearchType(assocType,lowercasePaths,true).id,buildItemSearchTypeAll(constraints,lowercasePaths),]}))}else{bindings=EMPTY_BINDINGS_MAP}}let result;if(pathIndex<0){result={id:pathIndex,ty:TY_GENERIC,path:null,exactPath:null,generics,bindings,}}else if(pathIndex===0){result={id:null,ty:null,path:null,exactPath:null,generics,bindings,}}else{const item=lowercasePaths[pathIndex-1];result={id:buildTypeMapIndex(item.name,isAssocType),ty:item.ty,path:item.path,exactPath:item.exactPath,generics,bindings,}}const cr=TYPES_POOL.get(result.id);if(cr){if(cr.generics.length===result.generics.length&&cr.generics!==result.generics&&cr.generics.every((x,i)=>result.generics[i]===x)){result.generics=cr.generics}if(cr.bindings.size===result.bindings.size&&cr.bindings!==result.bindings){let ok=true;for(const[k,v]of cr.bindings.entries()){const v2=result.bindings.get(v);if(!v2){ok=false;break}if(v!==v2&&v.length===v2.length&&v.every((x,i)=>v2[i]===x)){result.bindings.set(k,v)}else if(v!==v2){ok=false;break}}if(ok){result.bindings=cr.bindings}}if(cr.ty===result.ty&&cr.path===result.path&&cr.bindings===result.bindings&&cr.generics===result.generics&&cr.ty===result.ty){return cr}}TYPES_POOL.set(result.id,result);return result}function buildFunctionSearchTypeCallback(lowercasePaths){return functionSearchType=>{if(functionSearchType===0){return null}const INPUTS_DATA=0;const OUTPUT_DATA=1;let inputs,output;if(typeof functionSearchType[INPUTS_DATA]==="number"){inputs=[buildItemSearchType(functionSearchType[INPUTS_DATA],lowercasePaths)]}else{inputs=buildItemSearchTypeAll(functionSearchType[INPUTS_DATA],lowercasePaths,)}if(functionSearchType.length>1){if(typeof functionSearchType[OUTPUT_DATA]==="number"){output=[buildItemSearchType(functionSearchType[OUTPUT_DATA],lowercasePaths)]}else{output=buildItemSearchTypeAll(functionSearchType[OUTPUT_DATA],lowercasePaths,)}}else{output=[]}const where_clause=[];const l=functionSearchType.length;for(let i=2;i{k=(~~k+0x7ed55d16)+(k<<12);k=(k ^ 0xc761c23c)^(k>>>19);k=(~~k+0x165667b1)+(k<<5);k=(~~k+0xd3a2646c)^(k<<9);k=(~~k+0xfd7046c5)+(k<<3);return(k ^ 0xb55a4f09)^(k>>>16)};const hashint2=k=>{k=~k+(k<<15);k ^=k>>>12;k+=k<<2;k ^=k>>>4;k=Math.imul(k,2057);return k ^(k>>16)};if(input!==null){const h0a=hashint1(input);const h0b=hashint2(input);const h1a=~~(h0a+Math.imul(h0b,2));const h1b=~~(h0a+Math.imul(h0b,3));const h2a=~~(h0a+Math.imul(h0b,4));const h2b=~~(h0a+Math.imul(h0b,5));output[0]|=(1<<(h0a%32))|(1<<(h1b%32));output[1]|=(1<<(h1a%32))|(1<<(h2b%32));output[2]|=(1<<(h2a%32))|(1<<(h0b%32));fps.add(input)}for(const g of type.generics){buildFunctionTypeFingerprint(g,output,fps)}const fb={id:null,ty:0,generics:EMPTY_GENERICS_ARRAY,bindings:EMPTY_BINDINGS_MAP,};for(const[k,v]of type.bindings.entries()){fb.id=k;fb.generics=v;buildFunctionTypeFingerprint(fb,output,fps)}output[3]=fps.size}function compareTypeFingerprints(fullId,queryFingerprint){const fh0=functionTypeFingerprint[fullId*4];const fh1=functionTypeFingerprint[(fullId*4)+1];const fh2=functionTypeFingerprint[(fullId*4)+2];const[qh0,qh1,qh2]=queryFingerprint;const[in0,in1,in2]=[fh0&qh0,fh1&qh1,fh2&qh2];if((in0 ^ qh0)||(in1 ^ qh1)||(in2 ^ qh2)){return null}return functionTypeFingerprint[(fullId*4)+3]}class VlqHexDecoder{constructor(string,cons){this.string=string;this.cons=cons;this.offset=0;this.backrefQueue=[]}decodeList(){const cb="}".charCodeAt(0);let c=this.string.charCodeAt(this.offset);const ret=[];while(c!==cb){ret.push(this.decode());c=this.string.charCodeAt(this.offset)}this.offset+=1;return ret}decode(){const[ob,la]=["{","`"].map(c=>c.charCodeAt(0));let n=0;let c=this.string.charCodeAt(this.offset);if(c===ob){this.offset+=1;return this.decodeList()}while(c>1];this.offset+=1;return sign?-value:value}next(){const c=this.string.charCodeAt(this.offset);const[zero,ua,la]=["0","@","`"].map(c=>c.charCodeAt(0));if(c>=zero&&c16){this.backrefQueue.pop()}return result}}class RoaringBitmap{constructor(str){const strdecoded=atob(str);const u8array=new Uint8Array(strdecoded.length);for(let j=0;j=4){offsets=[];for(let j=0;j>3]&(1<<(j&0x7))){const runcount=(u8array[i]|(u8array[i+1]<<8));i+=2;this.containers.push(new RoaringBitmapRun(runcount,u8array.slice(i,i+(runcount*4)),));i+=runcount*4}else if(this.cardinalities[j]>=4096){this.containers.push(new RoaringBitmapBits(u8array.slice(i,i+8192)));i+=8192}else{const end=this.cardinalities[j]*2;this.containers.push(new RoaringBitmapArray(this.cardinalities[j],u8array.slice(i,i+end),));i+=end}}}contains(keyvalue){const key=keyvalue>>16;const value=keyvalue&0xFFFF;for(let i=0;i=start&&value<=(start+lenm1)){return true}}return false}}class RoaringBitmapArray{constructor(cardinality,array){this.cardinality=cardinality;this.array=array}contains(value){const l=this.cardinality*2;for(let i=0;i>3]&(1<<(value&7)))}}function buildIndex(rawSearchIndex){searchIndex=[];searchIndexDeprecated=new Map();searchIndexEmptyDesc=new Map();const charA="A".charCodeAt(0);let currentIndex=0;let id=0;for(const crate of rawSearchIndex.values()){id+=crate.t.length+1}functionTypeFingerprint=new Uint32Array((id+1)*4);id=0;for(const[crate,crateCorpus]of rawSearchIndex){const itemDescShardDecoder=new VlqHexDecoder(crateCorpus.D,noop=>noop);let descShard={crate,shard:0,start:0,len:itemDescShardDecoder.next(),promise:null,resolve:null,};const descShardList=[descShard];searchIndexDeprecated.set(crate,new RoaringBitmap(crateCorpus.c));searchIndexEmptyDesc.set(crate,new RoaringBitmap(crateCorpus.e));let descIndex=0;const crateRow={crate,ty:3,name:crate,path:"",descShard,descIndex,exactPath:"",desc:crateCorpus.doc,parent:undefined,type:null,id,word:crate,normalizedName:crate.indexOf("_")===-1?crate:crate.replace(/_/g,""),bitIndex:0,implDisambiguator:null,};id+=1;searchIndex.push(crateRow);currentIndex+=1;if(!searchIndexEmptyDesc.get(crate).contains(0)){descIndex+=1}const itemTypes=crateCorpus.t;const itemNames=crateCorpus.n;const itemPaths=new Map(crateCorpus.q);const itemReexports=new Map(crateCorpus.r);const itemParentIdxs=crateCorpus.i;const implDisambiguator=new Map(crateCorpus.b);const paths=crateCorpus.p;const aliases=crateCorpus.a;const lowercasePaths=[];const itemFunctionDecoder=new VlqHexDecoder(crateCorpus.f,buildFunctionSearchTypeCallback(lowercasePaths),);let len=paths.length;let lastPath=itemPaths.get(0);for(let i=0;i2){path=itemPaths.has(elem[2])?itemPaths.get(elem[2]):lastPath;lastPath=path}const exactPath=elem.length>3?itemPaths.get(elem[3]):path;lowercasePaths.push({ty,name:name.toLowerCase(),path,exactPath});paths[i]={ty,name,path,exactPath}}lastPath="";len=itemTypes.length;for(let i=0;i=descShard.len&&!searchIndexEmptyDesc.get(crate).contains(bitIndex)){descShard={crate,shard:descShard.shard+1,start:descShard.start+descShard.len,len:itemDescShardDecoder.next(),promise:null,resolve:null,};descIndex=0;descShardList.push(descShard)}let word="";if(typeof itemNames[i]==="string"){word=itemNames[i].toLowerCase()}const path=itemPaths.has(i)?itemPaths.get(i):lastPath;const type=itemFunctionDecoder.next();if(type!==null){if(type){const fp=functionTypeFingerprint.subarray(id*4,(id+1)*4);const fps=new Set();for(const t of type.inputs){buildFunctionTypeFingerprint(t,fp,fps)}for(const t of type.output){buildFunctionTypeFingerprint(t,fp,fps)}for(const w of type.where_clause){for(const t of w){buildFunctionTypeFingerprint(t,fp,fps)}}}}const row={crate,ty:itemTypes.charCodeAt(i)-charA,name:itemNames[i],path,descShard,descIndex,exactPath:itemReexports.has(i)?itemPaths.get(itemReexports.get(i)):path,parent:itemParentIdxs[i]>0?paths[itemParentIdxs[i]-1]:undefined,type,id,word,normalizedName:word.indexOf("_")===-1?word:word.replace(/_/g,""),bitIndex,implDisambiguator:implDisambiguator.has(i)?implDisambiguator.get(i):null,};id+=1;searchIndex.push(row);lastPath=row.path;if(!searchIndexEmptyDesc.get(crate).contains(bitIndex)){descIndex+=1}}if(aliases){const currentCrateAliases=new Map();ALIASES.set(crate,currentCrateAliases);for(const alias_name in aliases){if(!Object.prototype.hasOwnProperty.call(aliases,alias_name)){continue}let currentNameAliases;if(currentCrateAliases.has(alias_name)){currentNameAliases=currentCrateAliases.get(alias_name)}else{currentNameAliases=[];currentCrateAliases.set(alias_name,currentNameAliases)}for(const local_alias of aliases[alias_name]){currentNameAliases.push(local_alias+currentIndex)}}}currentIndex+=itemTypes.length;searchState.descShards.set(crate,descShardList)}TYPES_POOL=new Map()}function onSearchSubmit(e){e.preventDefault();searchState.clearInputTimeout();search()}function putBackSearch(){const search_input=searchState.input;if(!searchState.input){return}if(search_input.value!==""&&!searchState.isDisplayed()){searchState.showResults();if(browserSupportsHistoryApi()){history.replaceState(null,"",buildUrl(search_input.value,getFilterCrates()))}document.title=searchState.title}}function registerSearchEvents(){const params=searchState.getQueryStringParams();if(searchState.input.value===""){searchState.input.value=params.search||""}const searchAfter500ms=()=>{searchState.clearInputTimeout();if(searchState.input.value.length===0){searchState.hideResults()}else{searchState.timeout=setTimeout(search,500)}};searchState.input.onkeyup=searchAfter500ms;searchState.input.oninput=searchAfter500ms;document.getElementsByClassName("search-form")[0].onsubmit=onSearchSubmit;searchState.input.onchange=e=>{if(e.target!==document.activeElement){return}searchState.clearInputTimeout();setTimeout(search,0)};searchState.input.onpaste=searchState.input.onchange;searchState.outputElement().addEventListener("keydown",e=>{if(e.altKey||e.ctrlKey||e.shiftKey||e.metaKey){return}if(e.which===38){const previous=document.activeElement.previousElementSibling;if(previous){previous.focus()}else{searchState.focus()}e.preventDefault()}else if(e.which===40){const next=document.activeElement.nextElementSibling;if(next){next.focus()}const rect=document.activeElement.getBoundingClientRect();if(window.innerHeight-rect.bottom{if(e.which===40){focusSearchResult();e.preventDefault()}});searchState.input.addEventListener("focus",()=>{putBackSearch()});searchState.input.addEventListener("blur",()=>{searchState.input.placeholder=searchState.input.origPlaceholder});if(browserSupportsHistoryApi()){const previousTitle=document.title;window.addEventListener("popstate",e=>{const params=searchState.getQueryStringParams();document.title=previousTitle;currentResults=null;if(params.search&¶ms.search.length>0){searchState.input.value=params.search;e.preventDefault();search()}else{searchState.input.value="";searchState.hideResults()}})}window.onpageshow=()=>{const qSearch=searchState.getQueryStringParams().search;if(searchState.input.value===""&&qSearch){searchState.input.value=qSearch}search()}}function updateCrate(ev){if(ev.target.value==="all crates"){const query=searchState.input.value.trim();updateSearchHistory(buildUrl(query,null))}currentResults=null;search(true)}buildIndex(rawSearchIndex);if(typeof window!=="undefined"){registerSearchEvents();if(window.searchState.getQueryStringParams().search){search()}}if(typeof exports!=="undefined"){exports.initSearch=initSearch;exports.execQuery=execQuery;exports.parseQuery=parseQuery}}if(typeof window!=="undefined"){window.initSearch=initSearch;if(window.searchIndex!==undefined){initSearch(window.searchIndex)}}else{initSearch(new Map())}})() \ No newline at end of file diff --git a/doc/static.files/storage-4c98445ec4002617.js b/doc/static.files/storage-118b08c4c78b968e.js similarity index 68% rename from doc/static.files/storage-4c98445ec4002617.js rename to doc/static.files/storage-118b08c4c78b968e.js index b378b856..98189467 100644 --- a/doc/static.files/storage-4c98445ec4002617.js +++ b/doc/static.files/storage-118b08c4c78b968e.js @@ -1 +1,24 @@ -"use strict";const builtinThemes=["light","dark","ayu"];const darkThemes=["dark","ayu"];window.currentTheme=document.getElementById("themeStyle");const settingsDataset=(function(){const settingsElement=document.getElementById("default-settings");return settingsElement&&settingsElement.dataset?settingsElement.dataset:null})();function getSettingValue(settingName){const current=getCurrentValue(settingName);if(current===null&&settingsDataset!==null){const def=settingsDataset[settingName.replace(/-/g,"_")];if(def!==undefined){return def}}return current}const localStoredTheme=getSettingValue("theme");function hasClass(elem,className){return elem&&elem.classList&&elem.classList.contains(className)}function addClass(elem,className){if(elem&&elem.classList){elem.classList.add(className)}}function removeClass(elem,className){if(elem&&elem.classList){elem.classList.remove(className)}}function onEach(arr,func){for(const elem of arr){if(func(elem)){return true}}return false}function onEachLazy(lazyArray,func){return onEach(Array.prototype.slice.call(lazyArray),func)}function updateLocalStorage(name,value){try{window.localStorage.setItem("rustdoc-"+name,value)}catch(e){}}function getCurrentValue(name){try{return window.localStorage.getItem("rustdoc-"+name)}catch(e){return null}}const getVar=(function getVar(name){const el=document.querySelector("head > meta[name='rustdoc-vars']");return el?el.attributes["data-"+name].value:null});function switchTheme(newThemeName,saveTheme){const themeNames=getVar("themes").split(",").filter(t=>t);themeNames.push(...builtinThemes);if(themeNames.indexOf(newThemeName)===-1){return}if(saveTheme){updateLocalStorage("theme",newThemeName)}document.documentElement.setAttribute("data-theme",newThemeName);if(builtinThemes.indexOf(newThemeName)!==-1){if(window.currentTheme){window.currentTheme.parentNode.removeChild(window.currentTheme);window.currentTheme=null}}else{const newHref=getVar("root-path")+encodeURIComponent(newThemeName)+getVar("resource-suffix")+".css";if(!window.currentTheme){if(document.readyState==="loading"){document.write(``);window.currentTheme=document.getElementById("themeStyle")}else{window.currentTheme=document.createElement("link");window.currentTheme.rel="stylesheet";window.currentTheme.id="themeStyle";window.currentTheme.href=newHref;document.documentElement.appendChild(window.currentTheme)}}else if(newHref!==window.currentTheme.href){window.currentTheme.href=newHref}}}const updateTheme=(function(){const mql=window.matchMedia("(prefers-color-scheme: dark)");function updateTheme(){if(getSettingValue("use-system-theme")!=="false"){const lightTheme=getSettingValue("preferred-light-theme")||"light";const darkTheme=getSettingValue("preferred-dark-theme")||"dark";updateLocalStorage("use-system-theme","true");switchTheme(mql.matches?darkTheme:lightTheme,true)}else{switchTheme(getSettingValue("theme"),false)}}mql.addEventListener("change",updateTheme);return updateTheme})();if(getSettingValue("use-system-theme")!=="false"&&window.matchMedia){if(getSettingValue("use-system-theme")===null&&getSettingValue("preferred-dark-theme")===null&&darkThemes.indexOf(localStoredTheme)>=0){updateLocalStorage("preferred-dark-theme",localStoredTheme)}}updateTheme();if(getSettingValue("source-sidebar-show")==="true"){addClass(document.documentElement,"src-sidebar-expanded")}if(getSettingValue("hide-sidebar")==="true"){addClass(document.documentElement,"hide-sidebar")}function updateSidebarWidth(){const desktopSidebarWidth=getSettingValue("desktop-sidebar-width");if(desktopSidebarWidth&&desktopSidebarWidth!=="null"){document.documentElement.style.setProperty("--desktop-sidebar-width",desktopSidebarWidth+"px")}const srcSidebarWidth=getSettingValue("src-sidebar-width");if(srcSidebarWidth&&srcSidebarWidth!=="null"){document.documentElement.style.setProperty("--src-sidebar-width",srcSidebarWidth+"px")}}updateSidebarWidth();window.addEventListener("pageshow",ev=>{if(ev.persisted){setTimeout(updateTheme,0);setTimeout(updateSidebarWidth,0)}}) \ No newline at end of file +"use strict";const builtinThemes=["light","dark","ayu"];const darkThemes=["dark","ayu"];window.currentTheme=document.getElementById("themeStyle");const settingsDataset=(function(){const settingsElement=document.getElementById("default-settings");return settingsElement&&settingsElement.dataset?settingsElement.dataset:null})();function getSettingValue(settingName){const current=getCurrentValue(settingName);if(current===null&&settingsDataset!==null){const def=settingsDataset[settingName.replace(/-/g,"_")];if(def!==undefined){return def}}return current}const localStoredTheme=getSettingValue("theme");function hasClass(elem,className){return elem&&elem.classList&&elem.classList.contains(className)}function addClass(elem,className){if(elem&&elem.classList){elem.classList.add(className)}}function removeClass(elem,className){if(elem&&elem.classList){elem.classList.remove(className)}}function onEach(arr,func){for(const elem of arr){if(func(elem)){return true}}return false}function onEachLazy(lazyArray,func){return onEach(Array.prototype.slice.call(lazyArray),func)}function updateLocalStorage(name,value){try{window.localStorage.setItem("rustdoc-"+name,value)}catch(e){}}function getCurrentValue(name){try{return window.localStorage.getItem("rustdoc-"+name)}catch(e){return null}}const getVar=(function getVar(name){const el=document.querySelector("head > meta[name='rustdoc-vars']");return el?el.attributes["data-"+name].value:null});function switchTheme(newThemeName,saveTheme){const themeNames=getVar("themes").split(",").filter(t=>t);themeNames.push(...builtinThemes);if(themeNames.indexOf(newThemeName)===-1){return}if(saveTheme){updateLocalStorage("theme",newThemeName)}document.documentElement.setAttribute("data-theme",newThemeName);if(builtinThemes.indexOf(newThemeName)!==-1){if(window.currentTheme){window.currentTheme.parentNode.removeChild(window.currentTheme);window.currentTheme=null}}else{const newHref=getVar("root-path")+encodeURIComponent(newThemeName)+getVar("resource-suffix")+".css";if(!window.currentTheme){if(document.readyState==="loading"){document.write(``);window.currentTheme=document.getElementById("themeStyle")}else{window.currentTheme=document.createElement("link");window.currentTheme.rel="stylesheet";window.currentTheme.id="themeStyle";window.currentTheme.href=newHref;document.documentElement.appendChild(window.currentTheme)}}else if(newHref!==window.currentTheme.href){window.currentTheme.href=newHref}}}const updateTheme=(function(){const mql=window.matchMedia("(prefers-color-scheme: dark)");function updateTheme(){if(getSettingValue("use-system-theme")!=="false"){const lightTheme=getSettingValue("preferred-light-theme")||"light";const darkTheme=getSettingValue("preferred-dark-theme")||"dark";updateLocalStorage("use-system-theme","true");switchTheme(mql.matches?darkTheme:lightTheme,true)}else{switchTheme(getSettingValue("theme"),false)}}mql.addEventListener("change",updateTheme);return updateTheme})();if(getSettingValue("use-system-theme")!=="false"&&window.matchMedia){if(getSettingValue("use-system-theme")===null&&getSettingValue("preferred-dark-theme")===null&&darkThemes.indexOf(localStoredTheme)>=0){updateLocalStorage("preferred-dark-theme",localStoredTheme)}}updateTheme();if(getSettingValue("source-sidebar-show")==="true"){addClass(document.documentElement,"src-sidebar-expanded")}if(getSettingValue("hide-sidebar")==="true"){addClass(document.documentElement,"hide-sidebar")}function updateSidebarWidth(){const desktopSidebarWidth=getSettingValue("desktop-sidebar-width");if(desktopSidebarWidth&&desktopSidebarWidth!=="null"){document.documentElement.style.setProperty("--desktop-sidebar-width",desktopSidebarWidth+"px",)}const srcSidebarWidth=getSettingValue("src-sidebar-width");if(srcSidebarWidth&&srcSidebarWidth!=="null"){document.documentElement.style.setProperty("--src-sidebar-width",srcSidebarWidth+"px",)}}updateSidebarWidth();window.addEventListener("pageshow",ev=>{if(ev.persisted){setTimeout(updateTheme,0);setTimeout(updateSidebarWidth,0)}});class RustdocSearchElement extends HTMLElement{constructor(){super()}connectedCallback(){const rootPath=getVar("root-path");const currentCrate=getVar("current-crate");this.innerHTML=``}}window.customElements.define("rustdoc-search",RustdocSearchElement) \ No newline at end of file diff --git a/doc/static.files/wheel-7b819b6101059cd0.svg b/doc/static.files/wheel-7b819b6101059cd0.svg deleted file mode 100644 index 83c07f63..00000000 --- a/doc/static.files/wheel-7b819b6101059cd0.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/doc/trait.impl/serde/de/trait.Deserialize.js b/doc/trait.impl/serde/de/trait.Deserialize.js index 411657ca..117a55c8 100644 --- a/doc/trait.impl/serde/de/trait.Deserialize.js +++ b/doc/trait.impl/serde/de/trait.Deserialize.js @@ -1,7 +1,7 @@ (function() {var implementors = { -"ayaka_bindings_types":[["impl<'de> Deserialize<'de> for Action"],["impl<'de> Deserialize<'de> for ActionSubText"],["impl<'de> Deserialize<'de> for FileSeekFrom"],["impl<'de> Deserialize<'de> for FileType"],["impl<'de> Deserialize<'de> for FrontendType"],["impl<'de> Deserialize<'de> for ActionProcessContext"],["impl<'de> Deserialize<'de> for ActionProcessResult"],["impl<'de> Deserialize<'de> for ActionText"],["impl<'de> Deserialize<'de> for FileMetadata"],["impl<'de> Deserialize<'de> for GameProcessContext"],["impl<'de> Deserialize<'de> for GameProcessResult"],["impl<'de> Deserialize<'de> for LineProcessContext"],["impl<'de> Deserialize<'de> for LineProcessResult"],["impl<'de> Deserialize<'de> for PluginType"],["impl<'de> Deserialize<'de> for RawContext"],["impl<'de> Deserialize<'de> for Switch"],["impl<'de> Deserialize<'de> for TextProcessContext"],["impl<'de> Deserialize<'de> for TextProcessResult"]], -"ayaka_model":[["impl<'de> Deserialize<'de> for ActionRecord"],["impl<'de> Deserialize<'de> for GlobalRecord"],["impl<'de> Deserialize<'de> for Settings"]], -"ayaka_primitive":[["impl<'de> Deserialize<'de> for Line"],["impl<'de> Deserialize<'de> for RawValue"],["impl<'de> Deserialize<'de> for Text"]], -"ayaka_runtime":[["impl<'de> Deserialize<'de> for GameConfig"],["impl<'de> Deserialize<'de> for Paragraph"],["impl<'de> Deserialize<'de> for PluginConfig"]], -"ayaka_script":[["impl<'de> Deserialize<'de> for BinaryOp"],["impl<'de> Deserialize<'de> for Expr"],["impl<'de> Deserialize<'de> for LogicBinaryOp"],["impl<'de> Deserialize<'de> for Ref"],["impl<'de> Deserialize<'de> for UnaryOp"],["impl<'de> Deserialize<'de> for ValBinaryOp"],["impl<'de> Deserialize<'de> for Program"]] +"ayaka_bindings_types":[["impl<'de> Deserialize<'de> for Action"],["impl<'de> Deserialize<'de> for ActionSubText"],["impl<'de> Deserialize<'de> for FileSeekFrom"],["impl<'de> Deserialize<'de> for FileType"],["impl<'de> Deserialize<'de> for FrontendType"],["impl<'de> Deserialize<'de> for ActionProcessContext"],["impl<'de> Deserialize<'de> for ActionProcessResult"],["impl<'de> Deserialize<'de> for ActionText"],["impl<'de> Deserialize<'de> for FileMetadata"],["impl<'de> Deserialize<'de> for GameProcessContext"],["impl<'de> Deserialize<'de> for GameProcessResult"],["impl<'de> Deserialize<'de> for LineProcessContext"],["impl<'de> Deserialize<'de> for LineProcessResult"],["impl<'de> Deserialize<'de> for PluginType"],["impl<'de> Deserialize<'de> for RawContext"],["impl<'de> Deserialize<'de> for Switch"],["impl<'de> Deserialize<'de> for TextProcessContext"],["impl<'de> Deserialize<'de> for TextProcessResult"]], +"ayaka_model":[["impl<'de> Deserialize<'de> for ActionRecord"],["impl<'de> Deserialize<'de> for GlobalRecord"],["impl<'de> Deserialize<'de> for Settings"]], +"ayaka_primitive":[["impl<'de> Deserialize<'de> for Line"],["impl<'de> Deserialize<'de> for RawValue"],["impl<'de> Deserialize<'de> for Text"]], +"ayaka_runtime":[["impl<'de> Deserialize<'de> for GameConfig"],["impl<'de> Deserialize<'de> for Paragraph"],["impl<'de> Deserialize<'de> for PluginConfig"]], +"ayaka_script":[["impl<'de> Deserialize<'de> for BinaryOp"],["impl<'de> Deserialize<'de> for Expr"],["impl<'de> Deserialize<'de> for LogicBinaryOp"],["impl<'de> Deserialize<'de> for Ref"],["impl<'de> Deserialize<'de> for UnaryOp"],["impl<'de> Deserialize<'de> for ValBinaryOp"],["impl<'de> Deserialize<'de> for Program"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/doc/trait.impl/serde/ser/trait.Serialize.js b/doc/trait.impl/serde/ser/trait.Serialize.js index 2fe81904..79306184 100644 --- a/doc/trait.impl/serde/ser/trait.Serialize.js +++ b/doc/trait.impl/serde/ser/trait.Serialize.js @@ -1,7 +1,7 @@ (function() {var implementors = { -"ayaka_bindings_types":[["impl Serialize for Action"],["impl Serialize for ActionSubText"],["impl Serialize for FileSeekFrom"],["impl Serialize for FileType"],["impl Serialize for FrontendType"],["impl Serialize for ActionProcessContext"],["impl Serialize for ActionProcessResult"],["impl Serialize for ActionText"],["impl Serialize for FileMetadata"],["impl Serialize for GameProcessContext"],["impl Serialize for GameProcessResult"],["impl Serialize for LineProcessContext"],["impl Serialize for LineProcessResult"],["impl Serialize for PluginType"],["impl Serialize for RawContext"],["impl Serialize for Switch"],["impl Serialize for TextProcessContext"],["impl Serialize for TextProcessResult"]], -"ayaka_model":[["impl Serialize for OpenGameStatus"],["impl Serialize for ActionRecord"],["impl Serialize for GlobalRecord"],["impl Serialize for Settings"]], -"ayaka_primitive":[["impl Serialize for RawValue"]], -"ayaka_runtime":[["impl Serialize for OpenStatus"]], -"ayaka_script":[["impl Serialize for BinaryOp"],["impl Serialize for Expr"],["impl Serialize for LogicBinaryOp"],["impl Serialize for Ref"],["impl Serialize for UnaryOp"],["impl Serialize for ValBinaryOp"],["impl Serialize for Program"]] +"ayaka_bindings_types":[["impl Serialize for Action"],["impl Serialize for ActionSubText"],["impl Serialize for FileSeekFrom"],["impl Serialize for FileType"],["impl Serialize for FrontendType"],["impl Serialize for ActionProcessContext"],["impl Serialize for ActionProcessResult"],["impl Serialize for ActionText"],["impl Serialize for FileMetadata"],["impl Serialize for GameProcessContext"],["impl Serialize for GameProcessResult"],["impl Serialize for LineProcessContext"],["impl Serialize for LineProcessResult"],["impl Serialize for PluginType"],["impl Serialize for RawContext"],["impl Serialize for Switch"],["impl Serialize for TextProcessContext"],["impl Serialize for TextProcessResult"]], +"ayaka_model":[["impl Serialize for OpenGameStatus"],["impl Serialize for ActionRecord"],["impl Serialize for GlobalRecord"],["impl Serialize for Settings"]], +"ayaka_primitive":[["impl Serialize for RawValue"]], +"ayaka_runtime":[["impl Serialize for OpenStatus"]], +"ayaka_script":[["impl Serialize for BinaryOp"],["impl Serialize for Expr"],["impl Serialize for LogicBinaryOp"],["impl Serialize for Ref"],["impl Serialize for UnaryOp"],["impl Serialize for ValBinaryOp"],["impl Serialize for Program"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/doc/type.impl/std/collections/hash/map/struct.HashMap.js b/doc/type.impl/std/collections/hash/map/struct.HashMap.js index ebfbf61a..6a197713 100644 --- a/doc/type.impl/std/collections/hash/map/struct.HashMap.js +++ b/doc/type.impl/std/collections/hash/map/struct.HashMap.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"ayaka_bindings_types":[["
    1.0.0 · source§

    impl<K, V, S> Clone for HashMap<K, V, S>
    where\n K: Clone,\n V: Clone,\n S: Clone,

    source§

    fn clone(&self) -> HashMap<K, V, S>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, other: &HashMap<K, V, S>)

    Performs copy-assignment from source. Read more
    ","Clone","ayaka_bindings_types::config::VarMap"],["
    1.0.0 · source§

    impl<K, V, S> Debug for HashMap<K, V, S>
    where\n K: Debug,\n V: Debug,

    source§

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

    Formats the value using the given formatter. Read more
    ","Debug","ayaka_bindings_types::config::VarMap"],["
    1.0.0 · source§

    impl<K, V, S> Default for HashMap<K, V, S>
    where\n S: Default,

    source§

    fn default() -> HashMap<K, V, S>

    Creates an empty HashMap<K, V, S>, with the Default value for the hasher.

    \n
    ","Default","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<'de, K, V, S> Deserialize<'de> for HashMap<K, V, S>
    where\n K: Deserialize<'de> + Eq + Hash,\n V: Deserialize<'de>,\n S: BuildHasher + Default,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<HashMap<K, V, S>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<'de, K, KAs, V, VAs, const N: usize> DeserializeAs<'de, [(K, V); N]> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D\n) -> Result<[(K, V); N], <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, [(K, V); N]>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, BTreeSet<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,\n (K, V): Ord,

    source§

    fn deserialize_as<D>(\n deserializer: D\n) -> Result<BTreeSet<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, BTreeSet<(K, V)>>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, BinaryHeap<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,\n (K, V): Ord,

    source§

    fn deserialize_as<D>(\n deserializer: D\n) -> Result<BinaryHeap<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, BinaryHeap<(K, V)>>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, Box<[(K, V)]>> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D\n) -> Result<Box<[(K, V)]>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Box<[(K, V)]>>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<'de, K, V, KU, VU, S> DeserializeAs<'de, HashMap<K, V, S>> for HashMap<KU, VU, S>
    where\n KU: DeserializeAs<'de, K>,\n VU: DeserializeAs<'de, V>,\n K: Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn deserialize_as<D>(\n deserializer: D\n) -> Result<HashMap<K, V, S>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, HashMap>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<'de, K, KAs, V, VAs, S> DeserializeAs<'de, HashSet<(K, V), S>> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,\n (K, V): Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn deserialize_as<D>(\n deserializer: D\n) -> Result<HashSet<(K, V), S>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, HashSet<(K, V), S>>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, LinkedList<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D\n) -> Result<LinkedList<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, LinkedList<(K, V)>>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, Option<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D\n) -> Result<Option<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Option<(K, V)>>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, Vec<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D\n) -> Result<Vec<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Vec<(K, V)>>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, VecDeque<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D\n) -> Result<VecDeque<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, VecDeque<(K, V)>>","ayaka_bindings_types::config::VarMap"],["
    1.4.0 · source§

    impl<'a, K, V, S> Extend<(&'a K, &'a V)> for HashMap<K, V, S>
    where\n K: Eq + Hash + Copy,\n V: Copy,\n S: BuildHasher,

    source§

    fn extend<T>(&mut self, iter: T)
    where\n T: IntoIterator<Item = (&'a K, &'a V)>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: (&'a K, &'a V))

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<(&'a K, &'a V)>","ayaka_bindings_types::config::VarMap"],["
    1.0.0 · source§

    impl<K, V, S> Extend<(K, V)> for HashMap<K, V, S>
    where\n K: Eq + Hash,\n S: BuildHasher,

    Inserts all new key-values from the iterator and replaces values with existing\nkeys with new values returned from the iterator.

    \n
    source§

    fn extend<T>(&mut self, iter: T)
    where\n T: IntoIterator<Item = (K, V)>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: (K, V))

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<(K, V)>","ayaka_bindings_types::config::VarMap"],["
    1.56.0 · source§

    impl<K, V, const N: usize> From<[(K, V); N]> for HashMap<K, V>
    where\n K: Eq + Hash,

    source§

    fn from(arr: [(K, V); N]) -> HashMap<K, V>

    §Examples
    \n
    use std::collections::HashMap;\n\nlet map1 = HashMap::from([(1, 2), (3, 4)]);\nlet map2: HashMap<_, _> = [(1, 2), (3, 4)].into();\nassert_eq!(map1, map2);
    \n
    ","From<[(K, V); N]>","ayaka_bindings_types::config::VarMap"],["
    1.0.0 · source§

    impl<K, V, S> FromIterator<(K, V)> for HashMap<K, V, S>
    where\n K: Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn from_iter<T>(iter: T) -> HashMap<K, V, S>
    where\n T: IntoIterator<Item = (K, V)>,

    Creates a value from an iterator. Read more
    ","FromIterator<(K, V)>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<K, V> HashMap<K, V>

    1.0.0 · source

    pub fn new() -> HashMap<K, V>

    Creates an empty HashMap.

    \n

    The hash map is initially created with a capacity of 0, so it will not allocate until it\nis first inserted into.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nlet mut map: HashMap<&str, i32> = HashMap::new();
    \n
    1.0.0 · source

    pub fn with_capacity(capacity: usize) -> HashMap<K, V>

    Creates an empty HashMap with at least the specified capacity.

    \n

    The hash map will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the hash map will not allocate.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nlet mut map: HashMap<&str, i32> = HashMap::with_capacity(10);
    \n
    ",0,"ayaka_bindings_types::config::VarMap"],["
    source§

    impl<K, V, S> HashMap<K, V, S>
    where\n S: BuildHasher,

    source

    pub fn raw_entry_mut(&mut self) -> RawEntryBuilderMut<'_, K, V, S>

    🔬This is a nightly-only experimental API. (hash_raw_entry)

    Creates a raw entry builder for the HashMap.

    \n

    Raw entries provide the lowest level of control for searching and\nmanipulating a map. They must be manually initialized with a hash and\nthen manually searched. After this, insertions into a vacant entry\nstill require an owned key to be provided.

    \n

    Raw entries are useful for such exotic situations as:

    \n
      \n
    • Hash memoization
    • \n
    • Deferring the creation of an owned key until it is known to be required
    • \n
    • Using a search key that doesn’t work with the Borrow trait
    • \n
    • Using custom comparison logic without newtype wrappers
    • \n
    \n

    Because raw entries provide much more low-level control, it’s much easier\nto put the HashMap into an inconsistent state which, while memory-safe,\nwill cause the map to produce seemingly random results. Higher-level and\nmore foolproof APIs like entry should be preferred when possible.

    \n

    In particular, the hash used to initialized the raw entry must still be\nconsistent with the hash of the key that is ultimately stored in the entry.\nThis is because implementations of HashMap may need to recompute hashes\nwhen resizing, at which point only the keys are available.

    \n

    Raw entries give mutable access to the keys. This must not be used\nto modify how the key would compare or hash, as the map will not re-evaluate\nwhere the key should go, meaning the keys may become “lost” if their\nlocation does not reflect their state. For instance, if you change a key\nso that the map now contains keys which compare equal, search may start\nacting erratically, with two keys randomly masking each other. Implementations\nare free to assume this doesn’t happen (within the limits of memory-safety).

    \n
    source

    pub fn raw_entry(&self) -> RawEntryBuilder<'_, K, V, S>

    🔬This is a nightly-only experimental API. (hash_raw_entry)

    Creates a raw immutable entry builder for the HashMap.

    \n

    Raw entries provide the lowest level of control for searching and\nmanipulating a map. They must be manually initialized with a hash and\nthen manually searched.

    \n

    This is useful for

    \n
      \n
    • Hash memoization
    • \n
    • Using a search key that doesn’t work with the Borrow trait
    • \n
    • Using custom comparison logic without newtype wrappers
    • \n
    \n

    Unless you are in such a situation, higher-level and more foolproof APIs like\nget should be preferred.

    \n

    Immutable raw entries have very limited use; you might instead want raw_entry_mut.

    \n
    ",0,"ayaka_bindings_types::config::VarMap"],["
    source§

    impl<K, V, S> HashMap<K, V, S>

    1.7.0 (const: unstable) · source

    pub fn with_hasher(hash_builder: S) -> HashMap<K, V, S>

    Creates an empty HashMap which will use the given hash builder to hash\nkeys.

    \n

    The created map has the default initial capacity.

    \n

    Warning: hash_builder is normally randomly generated, and\nis designed to allow HashMaps to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.

    \n

    The hash_builder passed should implement the BuildHasher trait for\nthe HashMap to be useful, see its documentation for details.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut map = HashMap::with_hasher(s);\nmap.insert(1, 2);
    \n
    1.7.0 · source

    pub fn with_capacity_and_hasher(capacity: usize, hasher: S) -> HashMap<K, V, S>

    Creates an empty HashMap with at least the specified capacity, using\nhasher to hash the keys.

    \n

    The hash map will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the hash map will not allocate.

    \n

    Warning: hasher is normally randomly generated, and\nis designed to allow HashMaps to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.

    \n

    The hasher passed should implement the BuildHasher trait for\nthe HashMap to be useful, see its documentation for details.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut map = HashMap::with_capacity_and_hasher(10, s);\nmap.insert(1, 2);
    \n
    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns the number of elements the map can hold without reallocating.

    \n

    This number is a lower bound; the HashMap<K, V> might be able to hold\nmore, but is guaranteed to be able to hold at least this many.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nlet map: HashMap<i32, i32> = HashMap::with_capacity(100);\nassert!(map.capacity() >= 100);
    \n
    1.0.0 · source

    pub fn keys(&self) -> Keys<'_, K, V>

    An iterator visiting all keys in arbitrary order.\nThe iterator element type is &'a K.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor key in map.keys() {\n    println!(\"{key}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over keys takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.54.0 · source

    pub fn into_keys(self) -> IntoKeys<K, V>

    Creates a consuming iterator visiting all the keys in arbitrary order.\nThe map cannot be used after calling this.\nThe iterator element type is K.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nlet mut vec: Vec<&str> = map.into_keys().collect();\n// The `IntoKeys` iterator produces keys in arbitrary order, so the\n// keys must be sorted to test them against a sorted array.\nvec.sort_unstable();\nassert_eq!(vec, [\"a\", \"b\", \"c\"]);
    \n
    §Performance
    \n

    In the current implementation, iterating over keys takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn values(&self) -> Values<'_, K, V>

    An iterator visiting all values in arbitrary order.\nThe iterator element type is &'a V.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor val in map.values() {\n    println!(\"{val}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.10.0 · source

    pub fn values_mut(&mut self) -> ValuesMut<'_, K, V>

    An iterator visiting all values mutably in arbitrary order.\nThe iterator element type is &'a mut V.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor val in map.values_mut() {\n    *val = *val + 10;\n}\n\nfor val in map.values() {\n    println!(\"{val}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.54.0 · source

    pub fn into_values(self) -> IntoValues<K, V>

    Creates a consuming iterator visiting all the values in arbitrary order.\nThe map cannot be used after calling this.\nThe iterator element type is V.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nlet mut vec: Vec<i32> = map.into_values().collect();\n// The `IntoValues` iterator produces values in arbitrary order, so\n// the values must be sorted to test them against a sorted array.\nvec.sort_unstable();\nassert_eq!(vec, [1, 2, 3]);
    \n
    §Performance
    \n

    In the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, K, V>

    An iterator visiting all key-value pairs in arbitrary order.\nThe iterator element type is (&'a K, &'a V).

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor (key, val) in map.iter() {\n    println!(\"key: {key} val: {val}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over map takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, K, V>

    An iterator visiting all key-value pairs in arbitrary order,\nwith mutable references to the values.\nThe iterator element type is (&'a K, &'a mut V).

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\n// Update all values\nfor (_, val) in map.iter_mut() {\n    *val *= 2;\n}\n\nfor (key, val) in &map {\n    println!(\"key: {key} val: {val}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over map takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the number of elements in the map.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut a = HashMap::new();\nassert_eq!(a.len(), 0);\na.insert(1, \"a\");\nassert_eq!(a.len(), 1);
    \n
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if the map contains no elements.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut a = HashMap::new();\nassert!(a.is_empty());\na.insert(1, \"a\");\nassert!(!a.is_empty());
    \n
    1.6.0 · source

    pub fn drain(&mut self) -> Drain<'_, K, V>

    Clears the map, returning all key-value pairs as an iterator. Keeps the\nallocated memory for reuse.

    \n

    If the returned iterator is dropped before being fully consumed, it\ndrops the remaining key-value pairs. The returned iterator keeps a\nmutable borrow on the map to optimize its implementation.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut a = HashMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\n\nfor (k, v) in a.drain().take(1) {\n    assert!(k == 1 || k == 2);\n    assert!(v == \"a\" || v == \"b\");\n}\n\nassert!(a.is_empty());
    \n
    source

    pub fn extract_if<F>(&mut self, pred: F) -> ExtractIf<'_, K, V, F>
    where\n F: FnMut(&K, &mut V) -> bool,

    🔬This is a nightly-only experimental API. (hash_extract_if)

    Creates an iterator which uses a closure to determine if an element should be removed.

    \n

    If the closure returns true, the element is removed from the map and yielded.\nIf the closure returns false, or panics, the element remains in the map and will not be\nyielded.

    \n

    Note that extract_if lets you mutate every value in the filter closure, regardless of\nwhether you choose to keep or remove it.

    \n

    If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

    \n
    §Examples
    \n

    Splitting a map into even and odd keys, reusing the original map:

    \n\n
    #![feature(hash_extract_if)]\nuse std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = (0..8).map(|x| (x, x)).collect();\nlet extracted: HashMap<i32, i32> = map.extract_if(|k, _v| k % 2 == 0).collect();\n\nlet mut evens = extracted.keys().copied().collect::<Vec<_>>();\nlet mut odds = map.keys().copied().collect::<Vec<_>>();\nevens.sort();\nodds.sort();\n\nassert_eq!(evens, vec![0, 2, 4, 6]);\nassert_eq!(odds, vec![1, 3, 5, 7]);
    \n
    1.18.0 · source

    pub fn retain<F>(&mut self, f: F)
    where\n F: FnMut(&K, &mut V) -> bool,

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all pairs (k, v) for which f(&k, &mut v) returns false.\nThe elements are visited in unsorted (and unspecified) order.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = (0..8).map(|x| (x, x*10)).collect();\nmap.retain(|&k, _| k % 2 == 0);\nassert_eq!(map.len(), 4);
    \n
    §Performance
    \n

    In the current implementation, this operation takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn clear(&mut self)

    Clears the map, removing all key-value pairs. Keeps the allocated memory\nfor reuse.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut a = HashMap::new();\na.insert(1, \"a\");\na.clear();\nassert!(a.is_empty());
    \n
    1.9.0 · source

    pub fn hasher(&self) -> &S

    Returns a reference to the map’s BuildHasher.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet hasher = RandomState::new();\nlet map: HashMap<i32, i32> = HashMap::with_hasher(hasher);\nlet hasher: &RandomState = map.hasher();
    \n
    ",0,"ayaka_bindings_types::config::VarMap"],["
    source§

    impl<K, V, S> HashMap<K, V, S>
    where\n K: Eq + Hash,\n S: BuildHasher,

    1.0.0 · source

    pub fn reserve(&mut self, additional: usize)

    Reserves capacity for at least additional more elements to be inserted\nin the HashMap. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling reserve,\ncapacity will be greater than or equal to self.len() + additional.\nDoes nothing if capacity is already sufficient.

    \n
    §Panics
    \n

    Panics if the new allocation size overflows usize.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nlet mut map: HashMap<&str, i32> = HashMap::new();\nmap.reserve(10);
    \n
    1.57.0 · source

    pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

    Tries to reserve capacity for at least additional more elements to be inserted\nin the HashMap. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling try_reserve,\ncapacity will be greater than or equal to self.len() + additional if\nit returns Ok(()).\nDoes nothing if capacity is already sufficient.

    \n
    §Errors
    \n

    If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map: HashMap<&str, isize> = HashMap::new();\nmap.try_reserve(10).expect(\"why is the test harness OOMing on a handful of bytes?\");
    \n
    1.0.0 · source

    pub fn shrink_to_fit(&mut self)

    Shrinks the capacity of the map as much as possible. It will drop\ndown as much as possible while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = HashMap::with_capacity(100);\nmap.insert(1, 2);\nmap.insert(3, 4);\nassert!(map.capacity() >= 100);\nmap.shrink_to_fit();\nassert!(map.capacity() >= 2);
    \n
    1.56.0 · source

    pub fn shrink_to(&mut self, min_capacity: usize)

    Shrinks the capacity of the map with a lower limit. It will drop\ndown no lower than the supplied limit while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.

    \n

    If the current capacity is less than the lower limit, this is a no-op.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = HashMap::with_capacity(100);\nmap.insert(1, 2);\nmap.insert(3, 4);\nassert!(map.capacity() >= 100);\nmap.shrink_to(10);\nassert!(map.capacity() >= 10);\nmap.shrink_to(0);\nassert!(map.capacity() >= 2);
    \n
    1.0.0 · source

    pub fn entry(&mut self, key: K) -> Entry<'_, K, V>

    Gets the given key’s corresponding entry in the map for in-place manipulation.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut letters = HashMap::new();\n\nfor ch in \"a short treatise on fungi\".chars() {\n    letters.entry(ch).and_modify(|counter| *counter += 1).or_insert(1);\n}\n\nassert_eq!(letters[&'s'], 2);\nassert_eq!(letters[&'t'], 3);\nassert_eq!(letters[&'u'], 1);\nassert_eq!(letters.get(&'y'), None);
    \n
    1.0.0 · source

    pub fn get<Q>(&self, k: &Q) -> Option<&V>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns a reference to the value corresponding to the key.

    \n

    The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get(&1), Some(&\"a\"));\nassert_eq!(map.get(&2), None);
    \n
    1.40.0 · source

    pub fn get_key_value<Q>(&self, k: &Q) -> Option<(&K, &V)>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns the key-value pair corresponding to the supplied key.

    \n

    The supplied key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get_key_value(&1), Some((&1, &\"a\")));\nassert_eq!(map.get_key_value(&2), None);
    \n
    source

    pub fn get_many_mut<Q, const N: usize>(\n &mut self,\n ks: [&Q; N]\n) -> Option<[&mut V; N]>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    🔬This is a nightly-only experimental API. (map_many_mut)

    Attempts to get mutable references to N values in the map at once.

    \n

    Returns an array of length N with the results of each query. For soundness, at most one\nmutable reference will be returned to any value. None will be returned if any of the\nkeys are duplicates or missing.

    \n
    §Examples
    \n
    #![feature(map_many_mut)]\nuse std::collections::HashMap;\n\nlet mut libraries = HashMap::new();\nlibraries.insert(\"Bodleian Library\".to_string(), 1602);\nlibraries.insert(\"Athenæum\".to_string(), 1807);\nlibraries.insert(\"Herzogin-Anna-Amalia-Bibliothek\".to_string(), 1691);\nlibraries.insert(\"Library of Congress\".to_string(), 1800);\n\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"Library of Congress\",\n]);\nassert_eq!(\n    got,\n    Some([\n        &mut 1807,\n        &mut 1800,\n    ]),\n);\n\n// Missing keys result in None\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"New York Public Library\",\n]);\nassert_eq!(got, None);\n\n// Duplicate keys result in None\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"Athenæum\",\n]);\nassert_eq!(got, None);
    \n
    source

    pub unsafe fn get_many_unchecked_mut<Q, const N: usize>(\n &mut self,\n ks: [&Q; N]\n) -> Option<[&mut V; N]>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    🔬This is a nightly-only experimental API. (map_many_mut)

    Attempts to get mutable references to N values in the map at once, without validating that\nthe values are unique.

    \n

    Returns an array of length N with the results of each query. None will be returned if\nany of the keys are missing.

    \n

    For a safe alternative see get_many_mut.

    \n
    §Safety
    \n

    Calling this method with overlapping keys is undefined behavior even if the resulting\nreferences are not used.

    \n
    §Examples
    \n
    #![feature(map_many_mut)]\nuse std::collections::HashMap;\n\nlet mut libraries = HashMap::new();\nlibraries.insert(\"Bodleian Library\".to_string(), 1602);\nlibraries.insert(\"Athenæum\".to_string(), 1807);\nlibraries.insert(\"Herzogin-Anna-Amalia-Bibliothek\".to_string(), 1691);\nlibraries.insert(\"Library of Congress\".to_string(), 1800);\n\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"Library of Congress\",\n]);\nassert_eq!(\n    got,\n    Some([\n        &mut 1807,\n        &mut 1800,\n    ]),\n);\n\n// Missing keys result in None\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"New York Public Library\",\n]);\nassert_eq!(got, None);
    \n
    1.0.0 · source

    pub fn contains_key<Q>(&self, k: &Q) -> bool
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns true if the map contains a value for the specified key.

    \n

    The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.contains_key(&1), true);\nassert_eq!(map.contains_key(&2), false);
    \n
    1.0.0 · source

    pub fn get_mut<Q>(&mut self, k: &Q) -> Option<&mut V>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns a mutable reference to the value corresponding to the key.

    \n

    The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nif let Some(x) = map.get_mut(&1) {\n    *x = \"b\";\n}\nassert_eq!(map[&1], \"b\");
    \n
    1.0.0 · source

    pub fn insert(&mut self, k: K, v: V) -> Option<V>

    Inserts a key-value pair into the map.

    \n

    If the map did not have this key present, None is returned.

    \n

    If the map did have this key present, the value is updated, and the old\nvalue is returned. The key is not updated, though; this matters for\ntypes that can be == without being identical. See the module-level\ndocumentation for more.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nassert_eq!(map.insert(37, \"a\"), None);\nassert_eq!(map.is_empty(), false);\n\nmap.insert(37, \"b\");\nassert_eq!(map.insert(37, \"c\"), Some(\"b\"));\nassert_eq!(map[&37], \"c\");
    \n
    source

    pub fn try_insert(\n &mut self,\n key: K,\n value: V\n) -> Result<&mut V, OccupiedError<'_, K, V>>

    🔬This is a nightly-only experimental API. (map_try_insert)

    Tries to insert a key-value pair into the map, and returns\na mutable reference to the value in the entry.

    \n

    If the map already had this key present, nothing is updated, and\nan error containing the occupied entry and the value is returned.

    \n
    §Examples
    \n

    Basic usage:

    \n\n
    #![feature(map_try_insert)]\n\nuse std::collections::HashMap;\n\nlet mut map = HashMap::new();\nassert_eq!(map.try_insert(37, \"a\").unwrap(), &\"a\");\n\nlet err = map.try_insert(37, \"b\").unwrap_err();\nassert_eq!(err.entry.key(), &37);\nassert_eq!(err.entry.get(), &\"a\");\nassert_eq!(err.value, \"b\");
    \n
    1.0.0 · source

    pub fn remove<Q>(&mut self, k: &Q) -> Option<V>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Removes a key from the map, returning the value at the key if the key\nwas previously in the map.

    \n

    The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove(&1), Some(\"a\"));\nassert_eq!(map.remove(&1), None);
    \n
    1.27.0 · source

    pub fn remove_entry<Q>(&mut self, k: &Q) -> Option<(K, V)>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Removes a key from the map, returning the stored key and value if the\nkey was previously in the map.

    \n

    The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove_entry(&1), Some((1, \"a\")));\nassert_eq!(map.remove(&1), None);
    \n
    ",0,"ayaka_bindings_types::config::VarMap"],["
    1.0.0 · source§

    impl<K, Q, V, S> Index<&Q> for HashMap<K, V, S>
    where\n K: Eq + Hash + Borrow<Q>,\n Q: Eq + Hash + ?Sized,\n S: BuildHasher,

    source§

    fn index(&self, key: &Q) -> &V

    Returns a reference to the value corresponding to the supplied key.

    \n
    §Panics
    \n

    Panics if the key is not present in the HashMap.

    \n
    §

    type Output = V

    The returned type after indexing.
    ","Index<&Q>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<'de, K, V, S, E> IntoDeserializer<'de, E> for HashMap<K, V, S>
    where\n K: IntoDeserializer<'de, E> + Eq + Hash,\n V: IntoDeserializer<'de, E>,\n S: BuildHasher,\n E: Error,

    §

    type Deserializer = MapDeserializer<'de, <HashMap<K, V, S> as IntoIterator>::IntoIter, E>

    The type of the deserializer being converted into.
    source§

    fn into_deserializer(\n self\n) -> <HashMap<K, V, S> as IntoDeserializer<'de, E>>::Deserializer

    Convert this value into a deserializer.
    ","IntoDeserializer<'de, E>","ayaka_bindings_types::config::VarMap"],["
    1.0.0 · source§

    impl<K, V, S> IntoIterator for HashMap<K, V, S>

    source§

    fn into_iter(self) -> IntoIter<K, V>

    Creates a consuming iterator, that is, one that moves each key-value\npair out of the map in arbitrary order. The map cannot be used after\ncalling this.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\n// Not possible with .iter()\nlet vec: Vec<(&str, i32)> = map.into_iter().collect();
    \n
    §

    type Item = (K, V)

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<K, V>

    Which kind of iterator are we turning this into?
    ","IntoIterator","ayaka_bindings_types::config::VarMap"],["
    1.0.0 · source§

    impl<K, V, S> PartialEq for HashMap<K, V, S>
    where\n K: Eq + Hash,\n V: PartialEq,\n S: BuildHasher,

    source§

    fn eq(&self, other: &HashMap<K, V, S>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

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

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<K, V, H> Serialize for HashMap<K, V, H>
    where\n K: Serialize,\n V: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<[(K, V)]> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &[(K, V)],\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs<[(K, V)]>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<K, KAs, V, VAs, const N: usize> SerializeAs<[(K, V); N]> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &[(K, V); N],\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs<[(K, V); N]>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<BTreeSet<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &BTreeSet<(K, V)>,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<BinaryHeap<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &BinaryHeap<(K, V)>,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<Box<[(K, V)]>> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &Box<[(K, V)]>,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<K, KU, V, VU, H> SerializeAs<HashMap<K, V, H>> for HashMap<KU, VU, H>
    where\n KU: SerializeAs<K>,\n VU: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &HashMap<K, V, H>,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<K, KAs, V, VAs, H> SerializeAs<HashSet<(K, V), H>> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &HashSet<(K, V), H>,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<LinkedList<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &LinkedList<(K, V)>,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<Option<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &Option<(K, V)>,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<Vec<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &Vec<(K, V)>,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<VecDeque<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &VecDeque<(K, V)>,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","ayaka_bindings_types::config::VarMap"],["
    1.0.0 · source§

    impl<K, V, S> Eq for HashMap<K, V, S>
    where\n K: Eq + Hash,\n V: Eq,\n S: BuildHasher,

    ","Eq","ayaka_bindings_types::config::VarMap"],["
    1.36.0 · source§

    impl<K, V, S> UnwindSafe for HashMap<K, V, S>
    where\n K: UnwindSafe,\n V: UnwindSafe,\n S: UnwindSafe,

    ","UnwindSafe","ayaka_bindings_types::config::VarMap"]] +"ayaka_bindings_types":[["
    1.0.0 · source§

    impl<K, V, S> Clone for HashMap<K, V, S>
    where\n K: Clone,\n V: Clone,\n S: Clone,

    source§

    fn clone(&self) -> HashMap<K, V, S>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, source: &HashMap<K, V, S>)

    Performs copy-assignment from source. Read more
    ","Clone","ayaka_bindings_types::config::VarMap"],["
    1.0.0 · source§

    impl<K, V, S> Debug for HashMap<K, V, S>
    where\n K: Debug,\n V: Debug,

    source§

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

    Formats the value using the given formatter. Read more
    ","Debug","ayaka_bindings_types::config::VarMap"],["
    1.0.0 · source§

    impl<K, V, S> Default for HashMap<K, V, S>
    where\n S: Default,

    source§

    fn default() -> HashMap<K, V, S>

    Creates an empty HashMap<K, V, S>, with the Default value for the hasher.

    \n
    ","Default","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<'de, K, V, S> Deserialize<'de> for HashMap<K, V, S>
    where\n K: Deserialize<'de> + Eq + Hash,\n V: Deserialize<'de>,\n S: BuildHasher + Default,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<HashMap<K, V, S>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<'de, K, KAs, V, VAs, const N: usize> DeserializeAs<'de, [(K, V); N]> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D\n) -> Result<[(K, V); N], <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, [(K, V); N]>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, BTreeSet<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,\n (K, V): Ord,

    source§

    fn deserialize_as<D>(\n deserializer: D\n) -> Result<BTreeSet<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, BTreeSet<(K, V)>>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, BinaryHeap<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,\n (K, V): Ord,

    source§

    fn deserialize_as<D>(\n deserializer: D\n) -> Result<BinaryHeap<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, BinaryHeap<(K, V)>>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, Box<[(K, V)]>> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D\n) -> Result<Box<[(K, V)]>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Box<[(K, V)]>>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<'de, K, V, KU, VU, S> DeserializeAs<'de, HashMap<K, V, S>> for HashMap<KU, VU, S>
    where\n KU: DeserializeAs<'de, K>,\n VU: DeserializeAs<'de, V>,\n K: Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn deserialize_as<D>(\n deserializer: D\n) -> Result<HashMap<K, V, S>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, HashMap>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<'de, K, KAs, V, VAs, S> DeserializeAs<'de, HashSet<(K, V), S>> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,\n (K, V): Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn deserialize_as<D>(\n deserializer: D\n) -> Result<HashSet<(K, V), S>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, HashSet<(K, V), S>>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, LinkedList<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D\n) -> Result<LinkedList<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, LinkedList<(K, V)>>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, Option<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D\n) -> Result<Option<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Option<(K, V)>>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, Vec<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D\n) -> Result<Vec<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Vec<(K, V)>>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, VecDeque<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D\n) -> Result<VecDeque<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, VecDeque<(K, V)>>","ayaka_bindings_types::config::VarMap"],["
    1.4.0 · source§

    impl<'a, K, V, S> Extend<(&'a K, &'a V)> for HashMap<K, V, S>
    where\n K: Eq + Hash + Copy,\n V: Copy,\n S: BuildHasher,

    source§

    fn extend<T>(&mut self, iter: T)
    where\n T: IntoIterator<Item = (&'a K, &'a V)>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: (&'a K, &'a V))

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<(&'a K, &'a V)>","ayaka_bindings_types::config::VarMap"],["
    1.0.0 · source§

    impl<K, V, S> Extend<(K, V)> for HashMap<K, V, S>
    where\n K: Eq + Hash,\n S: BuildHasher,

    Inserts all new key-values from the iterator and replaces values with existing\nkeys with new values returned from the iterator.

    \n
    source§

    fn extend<T>(&mut self, iter: T)
    where\n T: IntoIterator<Item = (K, V)>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: (K, V))

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<(K, V)>","ayaka_bindings_types::config::VarMap"],["
    1.56.0 · source§

    impl<K, V, const N: usize> From<[(K, V); N]> for HashMap<K, V>
    where\n K: Eq + Hash,

    source§

    fn from(arr: [(K, V); N]) -> HashMap<K, V>

    §Examples
    \n
    use std::collections::HashMap;\n\nlet map1 = HashMap::from([(1, 2), (3, 4)]);\nlet map2: HashMap<_, _> = [(1, 2), (3, 4)].into();\nassert_eq!(map1, map2);
    \n
    ","From<[(K, V); N]>","ayaka_bindings_types::config::VarMap"],["
    1.0.0 · source§

    impl<K, V, S> FromIterator<(K, V)> for HashMap<K, V, S>
    where\n K: Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn from_iter<T>(iter: T) -> HashMap<K, V, S>
    where\n T: IntoIterator<Item = (K, V)>,

    Creates a value from an iterator. Read more
    ","FromIterator<(K, V)>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<K, V> HashMap<K, V>

    1.0.0 · source

    pub fn new() -> HashMap<K, V>

    Creates an empty HashMap.

    \n

    The hash map is initially created with a capacity of 0, so it will not allocate until it\nis first inserted into.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nlet mut map: HashMap<&str, i32> = HashMap::new();
    \n
    1.0.0 · source

    pub fn with_capacity(capacity: usize) -> HashMap<K, V>

    Creates an empty HashMap with at least the specified capacity.

    \n

    The hash map will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the hash map will not allocate.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nlet mut map: HashMap<&str, i32> = HashMap::with_capacity(10);
    \n
    ",0,"ayaka_bindings_types::config::VarMap"],["
    source§

    impl<K, V, S> HashMap<K, V, S>
    where\n S: BuildHasher,

    source

    pub fn raw_entry_mut(&mut self) -> RawEntryBuilderMut<'_, K, V, S>

    🔬This is a nightly-only experimental API. (hash_raw_entry)

    Creates a raw entry builder for the HashMap.

    \n

    Raw entries provide the lowest level of control for searching and\nmanipulating a map. They must be manually initialized with a hash and\nthen manually searched. After this, insertions into a vacant entry\nstill require an owned key to be provided.

    \n

    Raw entries are useful for such exotic situations as:

    \n
      \n
    • Hash memoization
    • \n
    • Deferring the creation of an owned key until it is known to be required
    • \n
    • Using a search key that doesn’t work with the Borrow trait
    • \n
    • Using custom comparison logic without newtype wrappers
    • \n
    \n

    Because raw entries provide much more low-level control, it’s much easier\nto put the HashMap into an inconsistent state which, while memory-safe,\nwill cause the map to produce seemingly random results. Higher-level and\nmore foolproof APIs like entry should be preferred when possible.

    \n

    In particular, the hash used to initialized the raw entry must still be\nconsistent with the hash of the key that is ultimately stored in the entry.\nThis is because implementations of HashMap may need to recompute hashes\nwhen resizing, at which point only the keys are available.

    \n

    Raw entries give mutable access to the keys. This must not be used\nto modify how the key would compare or hash, as the map will not re-evaluate\nwhere the key should go, meaning the keys may become “lost” if their\nlocation does not reflect their state. For instance, if you change a key\nso that the map now contains keys which compare equal, search may start\nacting erratically, with two keys randomly masking each other. Implementations\nare free to assume this doesn’t happen (within the limits of memory-safety).

    \n
    source

    pub fn raw_entry(&self) -> RawEntryBuilder<'_, K, V, S>

    🔬This is a nightly-only experimental API. (hash_raw_entry)

    Creates a raw immutable entry builder for the HashMap.

    \n

    Raw entries provide the lowest level of control for searching and\nmanipulating a map. They must be manually initialized with a hash and\nthen manually searched.

    \n

    This is useful for

    \n
      \n
    • Hash memoization
    • \n
    • Using a search key that doesn’t work with the Borrow trait
    • \n
    • Using custom comparison logic without newtype wrappers
    • \n
    \n

    Unless you are in such a situation, higher-level and more foolproof APIs like\nget should be preferred.

    \n

    Immutable raw entries have very limited use; you might instead want raw_entry_mut.

    \n
    ",0,"ayaka_bindings_types::config::VarMap"],["
    source§

    impl<K, V, S> HashMap<K, V, S>

    1.7.0 (const: unstable) · source

    pub fn with_hasher(hash_builder: S) -> HashMap<K, V, S>

    Creates an empty HashMap which will use the given hash builder to hash\nkeys.

    \n

    The created map has the default initial capacity.

    \n

    Warning: hash_builder is normally randomly generated, and\nis designed to allow HashMaps to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.

    \n

    The hash_builder passed should implement the BuildHasher trait for\nthe HashMap to be useful, see its documentation for details.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut map = HashMap::with_hasher(s);\nmap.insert(1, 2);
    \n
    1.7.0 · source

    pub fn with_capacity_and_hasher(capacity: usize, hasher: S) -> HashMap<K, V, S>

    Creates an empty HashMap with at least the specified capacity, using\nhasher to hash the keys.

    \n

    The hash map will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the hash map will not allocate.

    \n

    Warning: hasher is normally randomly generated, and\nis designed to allow HashMaps to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.

    \n

    The hasher passed should implement the BuildHasher trait for\nthe HashMap to be useful, see its documentation for details.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut map = HashMap::with_capacity_and_hasher(10, s);\nmap.insert(1, 2);
    \n
    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns the number of elements the map can hold without reallocating.

    \n

    This number is a lower bound; the HashMap<K, V> might be able to hold\nmore, but is guaranteed to be able to hold at least this many.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nlet map: HashMap<i32, i32> = HashMap::with_capacity(100);\nassert!(map.capacity() >= 100);
    \n
    1.0.0 · source

    pub fn keys(&self) -> Keys<'_, K, V>

    An iterator visiting all keys in arbitrary order.\nThe iterator element type is &'a K.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor key in map.keys() {\n    println!(\"{key}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over keys takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.54.0 · source

    pub fn into_keys(self) -> IntoKeys<K, V>

    Creates a consuming iterator visiting all the keys in arbitrary order.\nThe map cannot be used after calling this.\nThe iterator element type is K.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nlet mut vec: Vec<&str> = map.into_keys().collect();\n// The `IntoKeys` iterator produces keys in arbitrary order, so the\n// keys must be sorted to test them against a sorted array.\nvec.sort_unstable();\nassert_eq!(vec, [\"a\", \"b\", \"c\"]);
    \n
    §Performance
    \n

    In the current implementation, iterating over keys takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn values(&self) -> Values<'_, K, V>

    An iterator visiting all values in arbitrary order.\nThe iterator element type is &'a V.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor val in map.values() {\n    println!(\"{val}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.10.0 · source

    pub fn values_mut(&mut self) -> ValuesMut<'_, K, V>

    An iterator visiting all values mutably in arbitrary order.\nThe iterator element type is &'a mut V.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor val in map.values_mut() {\n    *val = *val + 10;\n}\n\nfor val in map.values() {\n    println!(\"{val}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.54.0 · source

    pub fn into_values(self) -> IntoValues<K, V>

    Creates a consuming iterator visiting all the values in arbitrary order.\nThe map cannot be used after calling this.\nThe iterator element type is V.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nlet mut vec: Vec<i32> = map.into_values().collect();\n// The `IntoValues` iterator produces values in arbitrary order, so\n// the values must be sorted to test them against a sorted array.\nvec.sort_unstable();\nassert_eq!(vec, [1, 2, 3]);
    \n
    §Performance
    \n

    In the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, K, V>

    An iterator visiting all key-value pairs in arbitrary order.\nThe iterator element type is (&'a K, &'a V).

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor (key, val) in map.iter() {\n    println!(\"key: {key} val: {val}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over map takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, K, V>

    An iterator visiting all key-value pairs in arbitrary order,\nwith mutable references to the values.\nThe iterator element type is (&'a K, &'a mut V).

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\n// Update all values\nfor (_, val) in map.iter_mut() {\n    *val *= 2;\n}\n\nfor (key, val) in &map {\n    println!(\"key: {key} val: {val}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over map takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the number of elements in the map.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut a = HashMap::new();\nassert_eq!(a.len(), 0);\na.insert(1, \"a\");\nassert_eq!(a.len(), 1);
    \n
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if the map contains no elements.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut a = HashMap::new();\nassert!(a.is_empty());\na.insert(1, \"a\");\nassert!(!a.is_empty());
    \n
    1.6.0 · source

    pub fn drain(&mut self) -> Drain<'_, K, V>

    Clears the map, returning all key-value pairs as an iterator. Keeps the\nallocated memory for reuse.

    \n

    If the returned iterator is dropped before being fully consumed, it\ndrops the remaining key-value pairs. The returned iterator keeps a\nmutable borrow on the map to optimize its implementation.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut a = HashMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\n\nfor (k, v) in a.drain().take(1) {\n    assert!(k == 1 || k == 2);\n    assert!(v == \"a\" || v == \"b\");\n}\n\nassert!(a.is_empty());
    \n
    source

    pub fn extract_if<F>(&mut self, pred: F) -> ExtractIf<'_, K, V, F>
    where\n F: FnMut(&K, &mut V) -> bool,

    🔬This is a nightly-only experimental API. (hash_extract_if)

    Creates an iterator which uses a closure to determine if an element should be removed.

    \n

    If the closure returns true, the element is removed from the map and yielded.\nIf the closure returns false, or panics, the element remains in the map and will not be\nyielded.

    \n

    Note that extract_if lets you mutate every value in the filter closure, regardless of\nwhether you choose to keep or remove it.

    \n

    If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

    \n
    §Examples
    \n

    Splitting a map into even and odd keys, reusing the original map:

    \n\n
    #![feature(hash_extract_if)]\nuse std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = (0..8).map(|x| (x, x)).collect();\nlet extracted: HashMap<i32, i32> = map.extract_if(|k, _v| k % 2 == 0).collect();\n\nlet mut evens = extracted.keys().copied().collect::<Vec<_>>();\nlet mut odds = map.keys().copied().collect::<Vec<_>>();\nevens.sort();\nodds.sort();\n\nassert_eq!(evens, vec![0, 2, 4, 6]);\nassert_eq!(odds, vec![1, 3, 5, 7]);
    \n
    1.18.0 · source

    pub fn retain<F>(&mut self, f: F)
    where\n F: FnMut(&K, &mut V) -> bool,

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all pairs (k, v) for which f(&k, &mut v) returns false.\nThe elements are visited in unsorted (and unspecified) order.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = (0..8).map(|x| (x, x*10)).collect();\nmap.retain(|&k, _| k % 2 == 0);\nassert_eq!(map.len(), 4);
    \n
    §Performance
    \n

    In the current implementation, this operation takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn clear(&mut self)

    Clears the map, removing all key-value pairs. Keeps the allocated memory\nfor reuse.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut a = HashMap::new();\na.insert(1, \"a\");\na.clear();\nassert!(a.is_empty());
    \n
    1.9.0 · source

    pub fn hasher(&self) -> &S

    Returns a reference to the map’s BuildHasher.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet hasher = RandomState::new();\nlet map: HashMap<i32, i32> = HashMap::with_hasher(hasher);\nlet hasher: &RandomState = map.hasher();
    \n
    ",0,"ayaka_bindings_types::config::VarMap"],["
    source§

    impl<K, V, S> HashMap<K, V, S>
    where\n K: Eq + Hash,\n S: BuildHasher,

    1.0.0 · source

    pub fn reserve(&mut self, additional: usize)

    Reserves capacity for at least additional more elements to be inserted\nin the HashMap. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling reserve,\ncapacity will be greater than or equal to self.len() + additional.\nDoes nothing if capacity is already sufficient.

    \n
    §Panics
    \n

    Panics if the new allocation size overflows usize.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nlet mut map: HashMap<&str, i32> = HashMap::new();\nmap.reserve(10);
    \n
    1.57.0 · source

    pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

    Tries to reserve capacity for at least additional more elements to be inserted\nin the HashMap. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling try_reserve,\ncapacity will be greater than or equal to self.len() + additional if\nit returns Ok(()).\nDoes nothing if capacity is already sufficient.

    \n
    §Errors
    \n

    If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map: HashMap<&str, isize> = HashMap::new();\nmap.try_reserve(10).expect(\"why is the test harness OOMing on a handful of bytes?\");
    \n
    1.0.0 · source

    pub fn shrink_to_fit(&mut self)

    Shrinks the capacity of the map as much as possible. It will drop\ndown as much as possible while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = HashMap::with_capacity(100);\nmap.insert(1, 2);\nmap.insert(3, 4);\nassert!(map.capacity() >= 100);\nmap.shrink_to_fit();\nassert!(map.capacity() >= 2);
    \n
    1.56.0 · source

    pub fn shrink_to(&mut self, min_capacity: usize)

    Shrinks the capacity of the map with a lower limit. It will drop\ndown no lower than the supplied limit while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.

    \n

    If the current capacity is less than the lower limit, this is a no-op.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = HashMap::with_capacity(100);\nmap.insert(1, 2);\nmap.insert(3, 4);\nassert!(map.capacity() >= 100);\nmap.shrink_to(10);\nassert!(map.capacity() >= 10);\nmap.shrink_to(0);\nassert!(map.capacity() >= 2);
    \n
    1.0.0 · source

    pub fn entry(&mut self, key: K) -> Entry<'_, K, V>

    Gets the given key’s corresponding entry in the map for in-place manipulation.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut letters = HashMap::new();\n\nfor ch in \"a short treatise on fungi\".chars() {\n    letters.entry(ch).and_modify(|counter| *counter += 1).or_insert(1);\n}\n\nassert_eq!(letters[&'s'], 2);\nassert_eq!(letters[&'t'], 3);\nassert_eq!(letters[&'u'], 1);\nassert_eq!(letters.get(&'y'), None);
    \n
    1.0.0 · source

    pub fn get<Q>(&self, k: &Q) -> Option<&V>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns a reference to the value corresponding to the key.

    \n

    The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get(&1), Some(&\"a\"));\nassert_eq!(map.get(&2), None);
    \n
    1.40.0 · source

    pub fn get_key_value<Q>(&self, k: &Q) -> Option<(&K, &V)>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns the key-value pair corresponding to the supplied key.

    \n

    The supplied key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get_key_value(&1), Some((&1, &\"a\")));\nassert_eq!(map.get_key_value(&2), None);
    \n
    source

    pub fn get_many_mut<Q, const N: usize>(\n &mut self,\n ks: [&Q; N]\n) -> Option<[&mut V; N]>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    🔬This is a nightly-only experimental API. (map_many_mut)

    Attempts to get mutable references to N values in the map at once.

    \n

    Returns an array of length N with the results of each query. For soundness, at most one\nmutable reference will be returned to any value. None will be returned if any of the\nkeys are duplicates or missing.

    \n
    §Examples
    \n
    #![feature(map_many_mut)]\nuse std::collections::HashMap;\n\nlet mut libraries = HashMap::new();\nlibraries.insert(\"Bodleian Library\".to_string(), 1602);\nlibraries.insert(\"Athenæum\".to_string(), 1807);\nlibraries.insert(\"Herzogin-Anna-Amalia-Bibliothek\".to_string(), 1691);\nlibraries.insert(\"Library of Congress\".to_string(), 1800);\n\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"Library of Congress\",\n]);\nassert_eq!(\n    got,\n    Some([\n        &mut 1807,\n        &mut 1800,\n    ]),\n);\n\n// Missing keys result in None\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"New York Public Library\",\n]);\nassert_eq!(got, None);\n\n// Duplicate keys result in None\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"Athenæum\",\n]);\nassert_eq!(got, None);
    \n
    source

    pub unsafe fn get_many_unchecked_mut<Q, const N: usize>(\n &mut self,\n ks: [&Q; N]\n) -> Option<[&mut V; N]>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    🔬This is a nightly-only experimental API. (map_many_mut)

    Attempts to get mutable references to N values in the map at once, without validating that\nthe values are unique.

    \n

    Returns an array of length N with the results of each query. None will be returned if\nany of the keys are missing.

    \n

    For a safe alternative see get_many_mut.

    \n
    §Safety
    \n

    Calling this method with overlapping keys is undefined behavior even if the resulting\nreferences are not used.

    \n
    §Examples
    \n
    #![feature(map_many_mut)]\nuse std::collections::HashMap;\n\nlet mut libraries = HashMap::new();\nlibraries.insert(\"Bodleian Library\".to_string(), 1602);\nlibraries.insert(\"Athenæum\".to_string(), 1807);\nlibraries.insert(\"Herzogin-Anna-Amalia-Bibliothek\".to_string(), 1691);\nlibraries.insert(\"Library of Congress\".to_string(), 1800);\n\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"Library of Congress\",\n]);\nassert_eq!(\n    got,\n    Some([\n        &mut 1807,\n        &mut 1800,\n    ]),\n);\n\n// Missing keys result in None\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"New York Public Library\",\n]);\nassert_eq!(got, None);
    \n
    1.0.0 · source

    pub fn contains_key<Q>(&self, k: &Q) -> bool
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns true if the map contains a value for the specified key.

    \n

    The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.contains_key(&1), true);\nassert_eq!(map.contains_key(&2), false);
    \n
    1.0.0 · source

    pub fn get_mut<Q>(&mut self, k: &Q) -> Option<&mut V>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns a mutable reference to the value corresponding to the key.

    \n

    The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nif let Some(x) = map.get_mut(&1) {\n    *x = \"b\";\n}\nassert_eq!(map[&1], \"b\");
    \n
    1.0.0 · source

    pub fn insert(&mut self, k: K, v: V) -> Option<V>

    Inserts a key-value pair into the map.

    \n

    If the map did not have this key present, None is returned.

    \n

    If the map did have this key present, the value is updated, and the old\nvalue is returned. The key is not updated, though; this matters for\ntypes that can be == without being identical. See the module-level\ndocumentation for more.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nassert_eq!(map.insert(37, \"a\"), None);\nassert_eq!(map.is_empty(), false);\n\nmap.insert(37, \"b\");\nassert_eq!(map.insert(37, \"c\"), Some(\"b\"));\nassert_eq!(map[&37], \"c\");
    \n
    source

    pub fn try_insert(\n &mut self,\n key: K,\n value: V\n) -> Result<&mut V, OccupiedError<'_, K, V>>

    🔬This is a nightly-only experimental API. (map_try_insert)

    Tries to insert a key-value pair into the map, and returns\na mutable reference to the value in the entry.

    \n

    If the map already had this key present, nothing is updated, and\nan error containing the occupied entry and the value is returned.

    \n
    §Examples
    \n

    Basic usage:

    \n\n
    #![feature(map_try_insert)]\n\nuse std::collections::HashMap;\n\nlet mut map = HashMap::new();\nassert_eq!(map.try_insert(37, \"a\").unwrap(), &\"a\");\n\nlet err = map.try_insert(37, \"b\").unwrap_err();\nassert_eq!(err.entry.key(), &37);\nassert_eq!(err.entry.get(), &\"a\");\nassert_eq!(err.value, \"b\");
    \n
    1.0.0 · source

    pub fn remove<Q>(&mut self, k: &Q) -> Option<V>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Removes a key from the map, returning the value at the key if the key\nwas previously in the map.

    \n

    The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove(&1), Some(\"a\"));\nassert_eq!(map.remove(&1), None);
    \n
    1.27.0 · source

    pub fn remove_entry<Q>(&mut self, k: &Q) -> Option<(K, V)>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Removes a key from the map, returning the stored key and value if the\nkey was previously in the map.

    \n

    The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove_entry(&1), Some((1, \"a\")));\nassert_eq!(map.remove(&1), None);
    \n
    ",0,"ayaka_bindings_types::config::VarMap"],["
    1.0.0 · source§

    impl<K, Q, V, S> Index<&Q> for HashMap<K, V, S>
    where\n K: Eq + Hash + Borrow<Q>,\n Q: Eq + Hash + ?Sized,\n S: BuildHasher,

    source§

    fn index(&self, key: &Q) -> &V

    Returns a reference to the value corresponding to the supplied key.

    \n
    §Panics
    \n

    Panics if the key is not present in the HashMap.

    \n
    §

    type Output = V

    The returned type after indexing.
    ","Index<&Q>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<'de, K, V, S, E> IntoDeserializer<'de, E> for HashMap<K, V, S>
    where\n K: IntoDeserializer<'de, E> + Eq + Hash,\n V: IntoDeserializer<'de, E>,\n S: BuildHasher,\n E: Error,

    §

    type Deserializer = MapDeserializer<'de, <HashMap<K, V, S> as IntoIterator>::IntoIter, E>

    The type of the deserializer being converted into.
    source§

    fn into_deserializer(\n self\n) -> <HashMap<K, V, S> as IntoDeserializer<'de, E>>::Deserializer

    Convert this value into a deserializer.
    ","IntoDeserializer<'de, E>","ayaka_bindings_types::config::VarMap"],["
    1.0.0 · source§

    impl<K, V, S> IntoIterator for HashMap<K, V, S>

    source§

    fn into_iter(self) -> IntoIter<K, V>

    Creates a consuming iterator, that is, one that moves each key-value\npair out of the map in arbitrary order. The map cannot be used after\ncalling this.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\n// Not possible with .iter()\nlet vec: Vec<(&str, i32)> = map.into_iter().collect();
    \n
    §

    type Item = (K, V)

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<K, V>

    Which kind of iterator are we turning this into?
    ","IntoIterator","ayaka_bindings_types::config::VarMap"],["
    1.0.0 · source§

    impl<K, V, S> PartialEq for HashMap<K, V, S>
    where\n K: Eq + Hash,\n V: PartialEq,\n S: BuildHasher,

    source§

    fn eq(&self, other: &HashMap<K, V, S>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

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

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<K, V, H> Serialize for HashMap<K, V, H>
    where\n K: Serialize,\n V: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<[(K, V)]> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &[(K, V)],\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs<[(K, V)]>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<K, KAs, V, VAs, const N: usize> SerializeAs<[(K, V); N]> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &[(K, V); N],\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs<[(K, V); N]>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<BTreeSet<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &BTreeSet<(K, V)>,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<BinaryHeap<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &BinaryHeap<(K, V)>,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<Box<[(K, V)]>> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &Box<[(K, V)]>,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<K, KU, V, VU, H> SerializeAs<HashMap<K, V, H>> for HashMap<KU, VU, H>
    where\n KU: SerializeAs<K>,\n VU: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &HashMap<K, V, H>,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<K, KAs, V, VAs, H> SerializeAs<HashSet<(K, V), H>> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &HashSet<(K, V), H>,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<LinkedList<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &LinkedList<(K, V)>,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<Option<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &Option<(K, V)>,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<Vec<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &Vec<(K, V)>,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","ayaka_bindings_types::config::VarMap"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<VecDeque<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &VecDeque<(K, V)>,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","ayaka_bindings_types::config::VarMap"],["
    1.0.0 · source§

    impl<K, V, S> Eq for HashMap<K, V, S>
    where\n K: Eq + Hash,\n V: Eq,\n S: BuildHasher,

    ","Eq","ayaka_bindings_types::config::VarMap"],["
    1.36.0 · source§

    impl<K, V, S> UnwindSafe for HashMap<K, V, S>
    where\n K: UnwindSafe,\n V: UnwindSafe,\n S: UnwindSafe,

    ","UnwindSafe","ayaka_bindings_types::config::VarMap"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/en/css/chrome.css b/en/css/chrome.css index 8b78255d..83b7969b 100644 --- a/en/css/chrome.css +++ b/en/css/chrome.css @@ -1,7 +1,5 @@ /* CSS for UI elements (a.k.a. chrome) */ -@import 'variables.css'; - html { scrollbar-color: var(--scrollbar) var(--bg); } diff --git a/en/css/general.css b/en/css/general.css index e7d20da7..7670b087 100644 --- a/en/css/general.css +++ b/en/css/general.css @@ -1,7 +1,5 @@ /* Base styles and content styles */ -@import 'variables.css'; - :root { /* Browser default font-size is 16px, this way 1 rem = 10px */ font-size: 62.5%; diff --git a/en/highlight.js b/en/highlight.js index 3256c00e..18d24345 100644 --- a/en/highlight.js +++ b/en/highlight.js @@ -48,6 +48,7 @@ hljs.registerLanguage("handlebars",function(){"use strict";function e(...e){retu hljs.registerLanguage("haskell",function(){"use strict";return function(e){var n={variants:[e.COMMENT("--","$"),e.COMMENT("{-","-}",{contains:["self"]})]},i={className:"meta",begin:"{-#",end:"#-}"},a={className:"meta",begin:"^#",end:"$"},s={className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},l={begin:"\\(",end:"\\)",illegal:'"',contains:[i,a,{className:"type",begin:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},e.inherit(e.TITLE_MODE,{begin:"[_a-z][\\w']*"}),n]};return{name:"Haskell",aliases:["hs"],keywords:"let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec",contains:[{beginKeywords:"module",end:"where",keywords:"module where",contains:[l,n],illegal:"\\W\\.|;"},{begin:"\\bimport\\b",end:"$",keywords:"import qualified as hiding",contains:[l,n],illegal:"\\W\\.|;"},{className:"class",begin:"^(\\s*)?(class|instance)\\b",end:"where",keywords:"class family instance where",contains:[s,l,n]},{className:"class",begin:"\\b(data|(new)?type)\\b",end:"$",keywords:"data family type newtype deriving",contains:[i,s,l,{begin:"{",end:"}",contains:l.contains},n]},{beginKeywords:"default",end:"$",contains:[s,l,n]},{beginKeywords:"infix infixl infixr",end:"$",contains:[e.C_NUMBER_MODE,n]},{begin:"\\bforeign\\b",end:"$",keywords:"foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe",contains:[s,e.QUOTE_STRING_MODE,n]},{className:"meta",begin:"#!\\/usr\\/bin\\/env runhaskell",end:"$"},i,a,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,s,e.inherit(e.TITLE_MODE,{begin:"^[_a-z][\\w']*"}),n,{begin:"->|<-"}]}}}()); hljs.registerLanguage("julia",function(){"use strict";return function(e){var r="[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*",t={$pattern:r,keyword:"in isa where baremodule begin break catch ccall const continue do else elseif end export false finally for function global if import importall let local macro module quote return true try using while type immutable abstract bitstype typealias ",literal:"true false ARGS C_NULL DevNull ENDIAN_BOM ENV I Inf Inf16 Inf32 Inf64 InsertionSort JULIA_HOME LOAD_PATH MergeSort NaN NaN16 NaN32 NaN64 PROGRAM_FILE QuickSort RoundDown RoundFromZero RoundNearest RoundNearestTiesAway RoundNearestTiesUp RoundToZero RoundUp STDERR STDIN STDOUT VERSION catalan e|0 eu|0 eulergamma golden im nothing pi γ π φ ",built_in:"ANY AbstractArray AbstractChannel AbstractFloat AbstractMatrix AbstractRNG AbstractSerializer AbstractSet AbstractSparseArray AbstractSparseMatrix AbstractSparseVector AbstractString AbstractUnitRange AbstractVecOrMat AbstractVector Any ArgumentError Array AssertionError Associative Base64DecodePipe Base64EncodePipe Bidiagonal BigFloat BigInt BitArray BitMatrix BitVector Bool BoundsError BufferStream CachingPool CapturedException CartesianIndex CartesianRange Cchar Cdouble Cfloat Channel Char Cint Cintmax_t Clong Clonglong ClusterManager Cmd CodeInfo Colon Complex Complex128 Complex32 Complex64 CompositeException Condition ConjArray ConjMatrix ConjVector Cptrdiff_t Cshort Csize_t Cssize_t Cstring Cuchar Cuint Cuintmax_t Culong Culonglong Cushort Cwchar_t Cwstring DataType Date DateFormat DateTime DenseArray DenseMatrix DenseVecOrMat DenseVector Diagonal Dict DimensionMismatch Dims DirectIndexString Display DivideError DomainError EOFError EachLine Enum Enumerate ErrorException Exception ExponentialBackOff Expr Factorization FileMonitor Float16 Float32 Float64 Function Future GlobalRef GotoNode HTML Hermitian IO IOBuffer IOContext IOStream IPAddr IPv4 IPv6 IndexCartesian IndexLinear IndexStyle InexactError InitError Int Int128 Int16 Int32 Int64 Int8 IntSet Integer InterruptException InvalidStateException Irrational KeyError LabelNode LinSpace LineNumberNode LoadError LowerTriangular MIME Matrix MersenneTwister Method MethodError MethodTable Module NTuple NewvarNode NullException Nullable Number ObjectIdDict OrdinalRange OutOfMemoryError OverflowError Pair ParseError PartialQuickSort PermutedDimsArray Pipe PollingFileWatcher ProcessExitedException Ptr QuoteNode RandomDevice Range RangeIndex Rational RawFD ReadOnlyMemoryError Real ReentrantLock Ref Regex RegexMatch RemoteChannel RemoteException RevString RoundingMode RowVector SSAValue SegmentationFault SerializationState Set SharedArray SharedMatrix SharedVector Signed SimpleVector Slot SlotNumber SparseMatrixCSC SparseVector StackFrame StackOverflowError StackTrace StepRange StepRangeLen StridedArray StridedMatrix StridedVecOrMat StridedVector String SubArray SubString SymTridiagonal Symbol Symmetric SystemError TCPSocket Task Text TextDisplay Timer Tridiagonal Tuple Type TypeError TypeMapEntry TypeMapLevel TypeName TypeVar TypedSlot UDPSocket UInt UInt128 UInt16 UInt32 UInt64 UInt8 UndefRefError UndefVarError UnicodeError UniformScaling Union UnionAll UnitRange Unsigned UpperTriangular Val Vararg VecElement VecOrMat Vector VersionNumber Void WeakKeyDict WeakRef WorkerConfig WorkerPool "},a={keywords:t,illegal:/<\//},n={className:"subst",begin:/\$\(/,end:/\)/,keywords:t},o={className:"variable",begin:"\\$"+r},i={className:"string",contains:[e.BACKSLASH_ESCAPE,n,o],variants:[{begin:/\w*"""/,end:/"""\w*/,relevance:10},{begin:/\w*"/,end:/"\w*/}]},l={className:"string",contains:[e.BACKSLASH_ESCAPE,n,o],begin:"`",end:"`"},s={className:"meta",begin:"@"+r};return a.name="Julia",a.contains=[{className:"number",begin:/(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/,relevance:0},{className:"string",begin:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},i,l,s,{className:"comment",variants:[{begin:"#=",end:"=#",relevance:10},{begin:"#",end:"$"}]},e.HASH_COMMENT_MODE,{className:"keyword",begin:"\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b"},{begin:/<:/}],n.contains=a.contains,a}}()); hljs.registerLanguage("nim",function(){"use strict";return function(e){return{name:"Nim",aliases:["nim"],keywords:{keyword:"addr and as asm bind block break case cast const continue converter discard distinct div do elif else end enum except export finally for from func generic if import in include interface is isnot iterator let macro method mixin mod nil not notin object of or out proc ptr raise ref return shl shr static template try tuple type using var when while with without xor yield",literal:"shared guarded stdin stdout stderr result true false",built_in:"int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 float float32 float64 bool char string cstring pointer expr stmt void auto any range array openarray varargs seq set clong culong cchar cschar cshort cint csize clonglong cfloat cdouble clongdouble cuchar cushort cuint culonglong cstringarray semistatic"},contains:[{className:"meta",begin:/{\./,end:/\.}/,relevance:10},{className:"string",begin:/[a-zA-Z]\w*"/,end:/"/,contains:[{begin:/""/}]},{className:"string",begin:/([a-zA-Z]\w*)?"""/,end:/"""/},e.QUOTE_STRING_MODE,{className:"type",begin:/\b[A-Z]\w+\b/,relevance:0},{className:"number",relevance:0,variants:[{begin:/\b(0[xX][0-9a-fA-F][_0-9a-fA-F]*)('?[iIuU](8|16|32|64))?/},{begin:/\b(0o[0-7][_0-7]*)('?[iIuUfF](8|16|32|64))?/},{begin:/\b(0(b|B)[01][_01]*)('?[iIuUfF](8|16|32|64))?/},{begin:/\b(\d[_\d]*)('?[iIuUfF](8|16|32|64))?/}]},e.HASH_COMMENT_MODE]}}}()); +hljs.registerLanguage("nix",function(){"use strict";return function(e){var n={keyword:"rec with let in inherit assert if else then",literal:"true false or and null",built_in:"import abort baseNameOf dirOf isNull builtins map removeAttrs throw toString derivation"},i={className:"subst",begin:/\$\{/,end:/}/,keywords:n},t={className:"string",contains:[i],variants:[{begin:"''",end:"''"},{begin:'"',end:'"'}]},s=[e.NUMBER_MODE,e.HASH_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t,{begin:/[a-zA-Z0-9-_]+(\s*=)/,returnBegin:!0,relevance:0,contains:[{className:"attr",begin:/\S+/}]}];return i.contains=s,{name:"Nix",aliases:["nixos"],keywords:n,contains:s}}}()); hljs.registerLanguage("r",function(){"use strict";return function(e){var n="([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*";return{name:"R",contains:[e.HASH_COMMENT_MODE,{begin:n,keywords:{$pattern:n,keyword:"function if in break next repeat else for return switch while try tryCatch stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...",literal:"NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10"},relevance:0},{className:"number",begin:"0[xX][0-9a-fA-F]+[Li]?\\b",relevance:0},{className:"number",begin:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",relevance:0},{className:"number",begin:"\\d+\\.(?!\\d)(?:i\\b)?",relevance:0},{className:"number",begin:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{className:"number",begin:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{begin:"`",end:"`",relevance:0},{className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:'"',end:'"'},{begin:"'",end:"'"}]}]}}}()); hljs.registerLanguage("scala",function(){"use strict";return function(e){var n={className:"subst",variants:[{begin:"\\$[A-Za-z0-9_]+"},{begin:"\\${",end:"}"}]},a={className:"string",variants:[{begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:'"""',end:'"""',relevance:10},{begin:'[a-z]+"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE,n]},{className:"string",begin:'[a-z]+"""',end:'"""',contains:[n],relevance:10}]},s={className:"type",begin:"\\b[A-Z][A-Za-z0-9_]*",relevance:0},t={className:"title",begin:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,relevance:0},i={className:"class",beginKeywords:"class object trait type",end:/[:={\[\n;]/,excludeEnd:!0,contains:[{beginKeywords:"extends with",relevance:10},{begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[s]},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[s]},t]},l={className:"function",beginKeywords:"def",end:/[:={\[(\n;]/,excludeEnd:!0,contains:[t]};return{name:"Scala",keywords:{literal:"true false null",keyword:"type yield lazy override def with val var sealed abstract private trait object if forSome for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit"},contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,{className:"symbol",begin:"'\\w[\\w\\d_]*(?!')"},s,l,i,e.C_NUMBER_MODE,{className:"meta",begin:"@[A-Za-z]+"}]}}}()); hljs.registerLanguage("x86asm",function(){"use strict";return function(s){return{name:"Intel x86 Assembly",case_insensitive:!0,keywords:{$pattern:"[.%]?"+s.IDENT_RE,keyword:"lock rep repe repz repne repnz xaquire xrelease bnd nobnd aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw stc std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63",built_in:"ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 cs ds es fs gs ss st st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7 xmm8 xmm9 xmm10 xmm11 xmm12 xmm13 xmm14 xmm15 xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ymm0 ymm1 ymm2 ymm3 ymm4 ymm5 ymm6 ymm7 ymm8 ymm9 ymm10 ymm11 ymm12 ymm13 ymm14 ymm15 ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 zmm0 zmm1 zmm2 zmm3 zmm4 zmm5 zmm6 zmm7 zmm8 zmm9 zmm10 zmm11 zmm12 zmm13 zmm14 zmm15 zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 k0 k1 k2 k3 k4 k5 k6 k7 bnd0 bnd1 bnd2 bnd3 cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d r0h r1h r2h r3h r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l db dw dd dq dt ddq do dy dz resb resw resd resq rest resdq reso resy resz incbin equ times byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr",meta:"%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif %if %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep %endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment .nolist __FILE__ __LINE__ __SECT__ __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ __UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__ __PASS__ struc endstruc istruc at iend align alignb sectalign daz nodaz up down zero default option assume public bits use16 use32 use64 default section segment absolute extern global common cpu float __utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ __Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__"},contains:[s.COMMENT(";","$",{relevance:0}),{className:"number",variants:[{begin:"\\b(?:([0-9][0-9_]*)?\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|(0[Xx])?[0-9][0-9_]*\\.?[0-9_]*(?:[pP](?:[+-]?[0-9_]+)?)?)\\b",relevance:0},{begin:"\\$[0-9][0-9A-Fa-f]*",relevance:0},{begin:"\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[Hh]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\b"},{begin:"\\b(?:0[Xx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\b"}]},s.QUOTE_STRING_MODE,{className:"string",variants:[{begin:"'",end:"[^\\\\]'"},{begin:"`",end:"[^\\\\]`"}],relevance:0},{className:"symbol",variants:[{begin:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)"},{begin:"^\\s*%%[A-Za-z0-9_$#@~.?]*:"}],relevance:0},{className:"subst",begin:"%[0-9]+",relevance:0},{className:"subst",begin:"%!S+",relevance:0},{className:"meta",begin:/^\s*\.[\w_-]+/}]}}}()); \ No newline at end of file diff --git a/zh-Hans/css/chrome.css b/zh-Hans/css/chrome.css index 8b78255d..83b7969b 100644 --- a/zh-Hans/css/chrome.css +++ b/zh-Hans/css/chrome.css @@ -1,7 +1,5 @@ /* CSS for UI elements (a.k.a. chrome) */ -@import 'variables.css'; - html { scrollbar-color: var(--scrollbar) var(--bg); } diff --git a/zh-Hans/css/general.css b/zh-Hans/css/general.css index e7d20da7..7670b087 100644 --- a/zh-Hans/css/general.css +++ b/zh-Hans/css/general.css @@ -1,7 +1,5 @@ /* Base styles and content styles */ -@import 'variables.css'; - :root { /* Browser default font-size is 16px, this way 1 rem = 10px */ font-size: 62.5%; diff --git a/zh-Hans/highlight.js b/zh-Hans/highlight.js index 3256c00e..18d24345 100644 --- a/zh-Hans/highlight.js +++ b/zh-Hans/highlight.js @@ -48,6 +48,7 @@ hljs.registerLanguage("handlebars",function(){"use strict";function e(...e){retu hljs.registerLanguage("haskell",function(){"use strict";return function(e){var n={variants:[e.COMMENT("--","$"),e.COMMENT("{-","-}",{contains:["self"]})]},i={className:"meta",begin:"{-#",end:"#-}"},a={className:"meta",begin:"^#",end:"$"},s={className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},l={begin:"\\(",end:"\\)",illegal:'"',contains:[i,a,{className:"type",begin:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},e.inherit(e.TITLE_MODE,{begin:"[_a-z][\\w']*"}),n]};return{name:"Haskell",aliases:["hs"],keywords:"let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec",contains:[{beginKeywords:"module",end:"where",keywords:"module where",contains:[l,n],illegal:"\\W\\.|;"},{begin:"\\bimport\\b",end:"$",keywords:"import qualified as hiding",contains:[l,n],illegal:"\\W\\.|;"},{className:"class",begin:"^(\\s*)?(class|instance)\\b",end:"where",keywords:"class family instance where",contains:[s,l,n]},{className:"class",begin:"\\b(data|(new)?type)\\b",end:"$",keywords:"data family type newtype deriving",contains:[i,s,l,{begin:"{",end:"}",contains:l.contains},n]},{beginKeywords:"default",end:"$",contains:[s,l,n]},{beginKeywords:"infix infixl infixr",end:"$",contains:[e.C_NUMBER_MODE,n]},{begin:"\\bforeign\\b",end:"$",keywords:"foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe",contains:[s,e.QUOTE_STRING_MODE,n]},{className:"meta",begin:"#!\\/usr\\/bin\\/env runhaskell",end:"$"},i,a,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,s,e.inherit(e.TITLE_MODE,{begin:"^[_a-z][\\w']*"}),n,{begin:"->|<-"}]}}}()); hljs.registerLanguage("julia",function(){"use strict";return function(e){var r="[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*",t={$pattern:r,keyword:"in isa where baremodule begin break catch ccall const continue do else elseif end export false finally for function global if import importall let local macro module quote return true try using while type immutable abstract bitstype typealias ",literal:"true false ARGS C_NULL DevNull ENDIAN_BOM ENV I Inf Inf16 Inf32 Inf64 InsertionSort JULIA_HOME LOAD_PATH MergeSort NaN NaN16 NaN32 NaN64 PROGRAM_FILE QuickSort RoundDown RoundFromZero RoundNearest RoundNearestTiesAway RoundNearestTiesUp RoundToZero RoundUp STDERR STDIN STDOUT VERSION catalan e|0 eu|0 eulergamma golden im nothing pi γ π φ ",built_in:"ANY AbstractArray AbstractChannel AbstractFloat AbstractMatrix AbstractRNG AbstractSerializer AbstractSet AbstractSparseArray AbstractSparseMatrix AbstractSparseVector AbstractString AbstractUnitRange AbstractVecOrMat AbstractVector Any ArgumentError Array AssertionError Associative Base64DecodePipe Base64EncodePipe Bidiagonal BigFloat BigInt BitArray BitMatrix BitVector Bool BoundsError BufferStream CachingPool CapturedException CartesianIndex CartesianRange Cchar Cdouble Cfloat Channel Char Cint Cintmax_t Clong Clonglong ClusterManager Cmd CodeInfo Colon Complex Complex128 Complex32 Complex64 CompositeException Condition ConjArray ConjMatrix ConjVector Cptrdiff_t Cshort Csize_t Cssize_t Cstring Cuchar Cuint Cuintmax_t Culong Culonglong Cushort Cwchar_t Cwstring DataType Date DateFormat DateTime DenseArray DenseMatrix DenseVecOrMat DenseVector Diagonal Dict DimensionMismatch Dims DirectIndexString Display DivideError DomainError EOFError EachLine Enum Enumerate ErrorException Exception ExponentialBackOff Expr Factorization FileMonitor Float16 Float32 Float64 Function Future GlobalRef GotoNode HTML Hermitian IO IOBuffer IOContext IOStream IPAddr IPv4 IPv6 IndexCartesian IndexLinear IndexStyle InexactError InitError Int Int128 Int16 Int32 Int64 Int8 IntSet Integer InterruptException InvalidStateException Irrational KeyError LabelNode LinSpace LineNumberNode LoadError LowerTriangular MIME Matrix MersenneTwister Method MethodError MethodTable Module NTuple NewvarNode NullException Nullable Number ObjectIdDict OrdinalRange OutOfMemoryError OverflowError Pair ParseError PartialQuickSort PermutedDimsArray Pipe PollingFileWatcher ProcessExitedException Ptr QuoteNode RandomDevice Range RangeIndex Rational RawFD ReadOnlyMemoryError Real ReentrantLock Ref Regex RegexMatch RemoteChannel RemoteException RevString RoundingMode RowVector SSAValue SegmentationFault SerializationState Set SharedArray SharedMatrix SharedVector Signed SimpleVector Slot SlotNumber SparseMatrixCSC SparseVector StackFrame StackOverflowError StackTrace StepRange StepRangeLen StridedArray StridedMatrix StridedVecOrMat StridedVector String SubArray SubString SymTridiagonal Symbol Symmetric SystemError TCPSocket Task Text TextDisplay Timer Tridiagonal Tuple Type TypeError TypeMapEntry TypeMapLevel TypeName TypeVar TypedSlot UDPSocket UInt UInt128 UInt16 UInt32 UInt64 UInt8 UndefRefError UndefVarError UnicodeError UniformScaling Union UnionAll UnitRange Unsigned UpperTriangular Val Vararg VecElement VecOrMat Vector VersionNumber Void WeakKeyDict WeakRef WorkerConfig WorkerPool "},a={keywords:t,illegal:/<\//},n={className:"subst",begin:/\$\(/,end:/\)/,keywords:t},o={className:"variable",begin:"\\$"+r},i={className:"string",contains:[e.BACKSLASH_ESCAPE,n,o],variants:[{begin:/\w*"""/,end:/"""\w*/,relevance:10},{begin:/\w*"/,end:/"\w*/}]},l={className:"string",contains:[e.BACKSLASH_ESCAPE,n,o],begin:"`",end:"`"},s={className:"meta",begin:"@"+r};return a.name="Julia",a.contains=[{className:"number",begin:/(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/,relevance:0},{className:"string",begin:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},i,l,s,{className:"comment",variants:[{begin:"#=",end:"=#",relevance:10},{begin:"#",end:"$"}]},e.HASH_COMMENT_MODE,{className:"keyword",begin:"\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b"},{begin:/<:/}],n.contains=a.contains,a}}()); hljs.registerLanguage("nim",function(){"use strict";return function(e){return{name:"Nim",aliases:["nim"],keywords:{keyword:"addr and as asm bind block break case cast const continue converter discard distinct div do elif else end enum except export finally for from func generic if import in include interface is isnot iterator let macro method mixin mod nil not notin object of or out proc ptr raise ref return shl shr static template try tuple type using var when while with without xor yield",literal:"shared guarded stdin stdout stderr result true false",built_in:"int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 float float32 float64 bool char string cstring pointer expr stmt void auto any range array openarray varargs seq set clong culong cchar cschar cshort cint csize clonglong cfloat cdouble clongdouble cuchar cushort cuint culonglong cstringarray semistatic"},contains:[{className:"meta",begin:/{\./,end:/\.}/,relevance:10},{className:"string",begin:/[a-zA-Z]\w*"/,end:/"/,contains:[{begin:/""/}]},{className:"string",begin:/([a-zA-Z]\w*)?"""/,end:/"""/},e.QUOTE_STRING_MODE,{className:"type",begin:/\b[A-Z]\w+\b/,relevance:0},{className:"number",relevance:0,variants:[{begin:/\b(0[xX][0-9a-fA-F][_0-9a-fA-F]*)('?[iIuU](8|16|32|64))?/},{begin:/\b(0o[0-7][_0-7]*)('?[iIuUfF](8|16|32|64))?/},{begin:/\b(0(b|B)[01][_01]*)('?[iIuUfF](8|16|32|64))?/},{begin:/\b(\d[_\d]*)('?[iIuUfF](8|16|32|64))?/}]},e.HASH_COMMENT_MODE]}}}()); +hljs.registerLanguage("nix",function(){"use strict";return function(e){var n={keyword:"rec with let in inherit assert if else then",literal:"true false or and null",built_in:"import abort baseNameOf dirOf isNull builtins map removeAttrs throw toString derivation"},i={className:"subst",begin:/\$\{/,end:/}/,keywords:n},t={className:"string",contains:[i],variants:[{begin:"''",end:"''"},{begin:'"',end:'"'}]},s=[e.NUMBER_MODE,e.HASH_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t,{begin:/[a-zA-Z0-9-_]+(\s*=)/,returnBegin:!0,relevance:0,contains:[{className:"attr",begin:/\S+/}]}];return i.contains=s,{name:"Nix",aliases:["nixos"],keywords:n,contains:s}}}()); hljs.registerLanguage("r",function(){"use strict";return function(e){var n="([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*";return{name:"R",contains:[e.HASH_COMMENT_MODE,{begin:n,keywords:{$pattern:n,keyword:"function if in break next repeat else for return switch while try tryCatch stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...",literal:"NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10"},relevance:0},{className:"number",begin:"0[xX][0-9a-fA-F]+[Li]?\\b",relevance:0},{className:"number",begin:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",relevance:0},{className:"number",begin:"\\d+\\.(?!\\d)(?:i\\b)?",relevance:0},{className:"number",begin:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{className:"number",begin:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{begin:"`",end:"`",relevance:0},{className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:'"',end:'"'},{begin:"'",end:"'"}]}]}}}()); hljs.registerLanguage("scala",function(){"use strict";return function(e){var n={className:"subst",variants:[{begin:"\\$[A-Za-z0-9_]+"},{begin:"\\${",end:"}"}]},a={className:"string",variants:[{begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:'"""',end:'"""',relevance:10},{begin:'[a-z]+"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE,n]},{className:"string",begin:'[a-z]+"""',end:'"""',contains:[n],relevance:10}]},s={className:"type",begin:"\\b[A-Z][A-Za-z0-9_]*",relevance:0},t={className:"title",begin:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,relevance:0},i={className:"class",beginKeywords:"class object trait type",end:/[:={\[\n;]/,excludeEnd:!0,contains:[{beginKeywords:"extends with",relevance:10},{begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[s]},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[s]},t]},l={className:"function",beginKeywords:"def",end:/[:={\[(\n;]/,excludeEnd:!0,contains:[t]};return{name:"Scala",keywords:{literal:"true false null",keyword:"type yield lazy override def with val var sealed abstract private trait object if forSome for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit"},contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,{className:"symbol",begin:"'\\w[\\w\\d_]*(?!')"},s,l,i,e.C_NUMBER_MODE,{className:"meta",begin:"@[A-Za-z]+"}]}}}()); hljs.registerLanguage("x86asm",function(){"use strict";return function(s){return{name:"Intel x86 Assembly",case_insensitive:!0,keywords:{$pattern:"[.%]?"+s.IDENT_RE,keyword:"lock rep repe repz repne repnz xaquire xrelease bnd nobnd aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw stc std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63",built_in:"ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 cs ds es fs gs ss st st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7 xmm8 xmm9 xmm10 xmm11 xmm12 xmm13 xmm14 xmm15 xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ymm0 ymm1 ymm2 ymm3 ymm4 ymm5 ymm6 ymm7 ymm8 ymm9 ymm10 ymm11 ymm12 ymm13 ymm14 ymm15 ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 zmm0 zmm1 zmm2 zmm3 zmm4 zmm5 zmm6 zmm7 zmm8 zmm9 zmm10 zmm11 zmm12 zmm13 zmm14 zmm15 zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 k0 k1 k2 k3 k4 k5 k6 k7 bnd0 bnd1 bnd2 bnd3 cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d r0h r1h r2h r3h r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l db dw dd dq dt ddq do dy dz resb resw resd resq rest resdq reso resy resz incbin equ times byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr",meta:"%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif %if %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep %endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment .nolist __FILE__ __LINE__ __SECT__ __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ __UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__ __PASS__ struc endstruc istruc at iend align alignb sectalign daz nodaz up down zero default option assume public bits use16 use32 use64 default section segment absolute extern global common cpu float __utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ __Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__"},contains:[s.COMMENT(";","$",{relevance:0}),{className:"number",variants:[{begin:"\\b(?:([0-9][0-9_]*)?\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|(0[Xx])?[0-9][0-9_]*\\.?[0-9_]*(?:[pP](?:[+-]?[0-9_]+)?)?)\\b",relevance:0},{begin:"\\$[0-9][0-9A-Fa-f]*",relevance:0},{begin:"\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[Hh]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\b"},{begin:"\\b(?:0[Xx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\b"}]},s.QUOTE_STRING_MODE,{className:"string",variants:[{begin:"'",end:"[^\\\\]'"},{begin:"`",end:"[^\\\\]`"}],relevance:0},{className:"symbol",variants:[{begin:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)"},{begin:"^\\s*%%[A-Za-z0-9_$#@~.?]*:"}],relevance:0},{className:"subst",begin:"%[0-9]+",relevance:0},{className:"subst",begin:"%!S+",relevance:0},{className:"meta",begin:/^\s*\.[\w_-]+/}]}}}()); \ No newline at end of file