Enum sqlparser::ast::Statement

source ·
pub enum Statement {
Show 57 variants Analyze { table_name: ObjectName, partitions: Option<Vec<Expr>>, for_columns: bool, columns: Vec<Located<Ident>>, cache_metadata: bool, noscan: bool, compute_statistics: bool, }, Truncate { table_name: ObjectName, partitions: Option<Vec<Expr>>, }, Msck { table_name: ObjectName, repair: bool, partition_action: Option<AddDropSync>, }, Query(Box<Query>), Insert { or: Option<SqliteOnConflict>, into: bool, table_name: ObjectName, columns: Vec<Located<Ident>>, overwrite: bool, source: Box<Query>, partitioned: Option<Vec<Expr>>, after_columns: Vec<Located<Ident>>, table: bool, on: Option<OnInsert>, returning: Option<Vec<SelectItem>>, }, Directory { overwrite: bool, local: bool, path: String, file_format: Option<FileFormat>, source: Box<Query>, }, Copy { table_name: ObjectName, columns: Vec<Located<Ident>>, to: bool, target: CopyTarget, options: Vec<CopyOption>, legacy_options: Vec<CopyLegacyOption>, values: Vec<Option<String>>, }, Close { cursor: CloseCursor, }, Update { table: TableWithJoins, assignments: Vec<Assignment>, from: Option<TableWithJoins>, selection: Option<Expr>, returning: Option<Vec<SelectItem>>, }, Delete { table_name: TableFactor, using: Option<TableFactor>, selection: Option<Expr>, returning: Option<Vec<SelectItem>>, }, CreateView { or_replace: bool, materialized: bool, name: ObjectName, columns: Vec<Located<Ident>>, query: Box<Query>, with_options: Vec<SqlOption>, cluster_by: Vec<Located<Ident>>, }, CreateTable {
Show 23 fields or_replace: bool, temporary: bool, external: bool, global: Option<bool>, if_not_exists: bool, name: ObjectName, columns: Vec<ColumnDef>, constraints: Vec<TableConstraint>, hive_distribution: HiveDistributionStyle, hive_formats: Option<HiveFormat>, table_properties: Vec<SqlOption>, with_options: Vec<SqlOption>, file_format: Option<FileFormat>, location: Option<String>, query: Option<Box<Query>>, without_rowid: bool, like: Option<ObjectName>, clone: Option<ObjectName>, engine: Option<String>, default_charset: Option<String>, collation: Option<String>, on_commit: Option<OnCommit>, on_cluster: Option<String>,
}, CreateVirtualTable { name: ObjectName, if_not_exists: bool, module_name: Located<Ident>, module_args: Vec<Located<Ident>>, }, CreateIndex { name: ObjectName, table_name: ObjectName, using: Option<Located<Ident>>, columns: Vec<OrderByExpr>, unique: bool, if_not_exists: bool, }, CreateRole {
Show 18 fields names: Vec<ObjectName>, if_not_exists: bool, login: Option<bool>, inherit: Option<bool>, bypassrls: Option<bool>, password: Option<Password>, superuser: Option<bool>, create_db: Option<bool>, create_role: Option<bool>, replication: Option<bool>, connection_limit: Option<Expr>, valid_until: Option<Expr>, in_role: Vec<Located<Ident>>, in_group: Vec<Located<Ident>>, role: Vec<Located<Ident>>, user: Vec<Located<Ident>>, admin: Vec<Located<Ident>>, authorization_owner: Option<ObjectName>,
}, AlterTable { name: ObjectName, operation: AlterTableOperation, }, AlterIndex { name: ObjectName, operation: AlterIndexOperation, }, Drop { object_type: ObjectType, if_exists: bool, names: Vec<ObjectName>, cascade: bool, restrict: bool, purge: bool, }, DropFunction { if_exists: bool, func_desc: Vec<DropFunctionDesc>, option: Option<ReferentialAction>, }, Declare { name: Located<Ident>, binary: bool, sensitive: Option<bool>, scroll: Option<bool>, hold: Option<bool>, query: Box<Query>, }, Fetch { name: Located<Ident>, direction: FetchDirection, into: Option<ObjectName>, }, Discard { object_type: DiscardObject, }, SetRole { context_modifier: ContextModifier, role_name: Option<Located<Ident>>, }, SetVariable { local: bool, hivevar: bool, variable: ObjectName, value: Vec<Expr>, }, SetTimeZone { local: bool, value: Expr, }, SetNames { charset_name: String, collation_name: Option<String>, }, SetNamesDefault {}, ShowFunctions { filter: Option<ShowStatementFilter>, }, ShowVariable { variable: Vec<Located<Ident>>, }, ShowVariables { filter: Option<ShowStatementFilter>, }, ShowCreate { obj_type: ShowCreateObject, obj_name: ObjectName, }, ShowColumns { extended: bool, full: bool, table_name: ObjectName, filter: Option<ShowStatementFilter>, }, ShowTables { extended: bool, full: bool, db_name: Option<Located<Ident>>, filter: Option<ShowStatementFilter>, }, ShowCollation { filter: Option<ShowStatementFilter>, }, Use { db_name: Located<Ident>, }, StartTransaction { modes: Vec<TransactionMode>, }, SetTransaction { modes: Vec<TransactionMode>, snapshot: Option<Value>, session: bool, }, Comment { object_type: CommentObject, object_name: ObjectName, comment: Option<String>, }, Commit { chain: bool, }, Rollback { chain: bool, }, CreateSchema { schema_name: SchemaName, if_not_exists: bool, }, CreateDatabase { db_name: ObjectName, if_not_exists: bool, location: Option<String>, managed_location: Option<String>, }, CreateFunction { or_replace: bool, temporary: bool, name: ObjectName, args: Option<Vec<OperateFunctionArg>>, return_type: Option<DataType>, params: CreateFunctionBody, }, Assert { condition: Expr, message: Option<Expr>, }, Grant { privileges: Privileges, objects: GrantObjects, grantees: Vec<Located<Ident>>, with_grant_option: bool, granted_by: Option<Located<Ident>>, }, Revoke { privileges: Privileges, objects: GrantObjects, grantees: Vec<Located<Ident>>, granted_by: Option<Located<Ident>>, cascade: bool, }, Deallocate { name: Located<Ident>, prepare: bool, }, Execute { name: Located<Ident>, parameters: Vec<Expr>, }, Prepare { name: Located<Ident>, data_types: Vec<DataType>, statement: Box<Statement>, }, Kill { modifier: Option<KillType>, id: u64, }, ExplainTable { describe_alias: bool, table_name: ObjectName, }, Explain { describe_alias: bool, analyze: bool, verbose: bool, statement: Box<Statement>, format: Option<AnalyzeFormat>, }, Savepoint { name: Located<Ident>, }, Merge { into: bool, table: TableFactor, source: TableFactor, on: Box<Expr>, clauses: Vec<MergeClause>, }, Cache { table_flag: Option<ObjectName>, table_name: ObjectName, has_as: bool, options: Vec<SqlOption>, query: Option<Query>, }, UNCache { table_name: ObjectName, if_exists: bool, }, CreateSequence { temporary: bool, if_not_exists: bool, name: ObjectName, data_type: Option<DataType>, sequence_options: Vec<SequenceOptions>, owned_by: Option<ObjectName>, },
}
Expand description

A top-level statement (SELECT, INSERT, CREATE, etc.)

Variants§

§

Analyze

Fields

§table_name: ObjectName
§partitions: Option<Vec<Expr>>
§for_columns: bool
§columns: Vec<Located<Ident>>
§cache_metadata: bool
§noscan: bool
§compute_statistics: bool

Analyze (Hive)

§

Truncate

Fields

§table_name: ObjectName
§partitions: Option<Vec<Expr>>

Truncate (Hive)

§

Msck

Fields

§table_name: ObjectName
§repair: bool
§partition_action: Option<AddDropSync>

Msck (Hive)

§

Query(Box<Query>)

SELECT

§

Insert

Fields

§or: Option<SqliteOnConflict>

Only for Sqlite

§into: bool

INTO - optional keyword

§table_name: ObjectName

TABLE

§columns: Vec<Located<Ident>>

COLUMNS

§overwrite: bool

Overwrite (Hive)

§source: Box<Query>

A SQL query that specifies what to insert

§partitioned: Option<Vec<Expr>>

partitioned insert (Hive)

§after_columns: Vec<Located<Ident>>

Columns defined after PARTITION

§table: bool

whether the insert has the table keyword (Hive)

§returning: Option<Vec<SelectItem>>

RETURNING

INSERT

§

Directory

Fields

§overwrite: bool
§local: bool
§path: String
§file_format: Option<FileFormat>
§source: Box<Query>
§

Copy

Fields

§table_name: ObjectName

TABLE

§columns: Vec<Located<Ident>>

COLUMNS

§to: bool

If true, is a ‘COPY TO’ statement. If false is a ‘COPY FROM’

§target: CopyTarget

The source of ‘COPY FROM’, or the target of ‘COPY TO’

§options: Vec<CopyOption>

WITH options (from PostgreSQL version 9.0)

§legacy_options: Vec<CopyLegacyOption>

WITH options (before PostgreSQL version 9.0)

§values: Vec<Option<String>>

VALUES a vector of values to be copied

§

Close

Fields

§cursor: CloseCursor

Cursor name

Close - closes the portal underlying an open cursor.

§

Update

Fields

§table: TableWithJoins

TABLE

§assignments: Vec<Assignment>

Column assignments

§from: Option<TableWithJoins>

Table which provide value to be set

§selection: Option<Expr>

WHERE

§returning: Option<Vec<SelectItem>>

RETURNING

UPDATE

§

Delete

Fields

§table_name: TableFactor

FROM

§using: Option<TableFactor>

USING (Snowflake, Postgres)

§selection: Option<Expr>

WHERE

§returning: Option<Vec<SelectItem>>

RETURNING

DELETE

§

CreateView

Fields

§or_replace: bool
§materialized: bool
§name: ObjectName

View name

§columns: Vec<Located<Ident>>
§query: Box<Query>
§with_options: Vec<SqlOption>
§cluster_by: Vec<Located<Ident>>

CREATE VIEW

§

CreateTable

Fields

§or_replace: bool
§temporary: bool
§external: bool
§global: Option<bool>
§if_not_exists: bool
§name: ObjectName

Table name

§columns: Vec<ColumnDef>

Optional schema

§constraints: Vec<TableConstraint>
§hive_distribution: HiveDistributionStyle
§hive_formats: Option<HiveFormat>
§table_properties: Vec<SqlOption>
§with_options: Vec<SqlOption>
§file_format: Option<FileFormat>
§location: Option<String>
§query: Option<Box<Query>>
§without_rowid: bool
§engine: Option<String>
§default_charset: Option<String>
§collation: Option<String>
§on_commit: Option<OnCommit>
§on_cluster: Option<String>

CREATE TABLE

§

CreateVirtualTable

Fields

§if_not_exists: bool
§module_name: Located<Ident>
§module_args: Vec<Located<Ident>>

SQLite’s CREATE VIRTUAL TABLE .. USING <module_name> (<module_args>)

§

CreateIndex

Fields

§name: ObjectName

index name

§table_name: ObjectName
§columns: Vec<OrderByExpr>
§unique: bool
§if_not_exists: bool

CREATE INDEX

§

CreateRole

Fields

§if_not_exists: bool
§login: Option<bool>
§inherit: Option<bool>
§bypassrls: Option<bool>
§password: Option<Password>
§superuser: Option<bool>
§create_db: Option<bool>
§create_role: Option<bool>
§replication: Option<bool>
§connection_limit: Option<Expr>
§valid_until: Option<Expr>
§in_role: Vec<Located<Ident>>
§in_group: Vec<Located<Ident>>
§authorization_owner: Option<ObjectName>

CREATE ROLE See postgres

§

AlterTable

Fields

§name: ObjectName

Table name

ALTER TABLE

§

AlterIndex

Fields

§

Drop

Fields

§object_type: ObjectType

The type of the object to drop: TABLE, VIEW, etc.

§if_exists: bool

An optional IF EXISTS clause. (Non-standard.)

§names: Vec<ObjectName>

One or more objects to drop. (ANSI SQL requires exactly one.)

§cascade: bool

Whether CASCADE was specified. This will be false when RESTRICT or no drop behavior at all was specified.

§restrict: bool

Whether RESTRICT was specified. This will be false when CASCADE or no drop behavior at all was specified.

§purge: bool

Hive allows you specify whether the table’s stored data will be deleted along with the dropped table

DROP

§

DropFunction

Fields

§if_exists: bool
§func_desc: Vec<DropFunctionDesc>

One or more function to drop

§option: Option<ReferentialAction>

CASCADE or RESTRICT

DROP Function

§

Declare

Fields

§name: Located<Ident>

Cursor name

§binary: bool

Causes the cursor to return data in binary rather than in text format.

§sensitive: Option<bool>

None = Not specified Some(true) = INSENSITIVE Some(false) = ASENSITIVE

§scroll: Option<bool>

None = Not specified Some(true) = SCROLL Some(false) = NO SCROLL

§hold: Option<bool>

None = Not specified Some(true) = WITH HOLD, specifies that the cursor can continue to be used after the transaction that created it successfully commits Some(false) = WITHOUT HOLD, specifies that the cursor cannot be used outside of the transaction that created it

§query: Box<Query>

DECLARE - Declaring Cursor Variables

Note: this is a PostgreSQL-specific statement, but may also compatible with other SQL.

§

Fetch

Fields

§name: Located<Ident>

Cursor name

§direction: FetchDirection
§into: Option<ObjectName>

Optional, It’s possible to fetch rows form cursor to the table

FETCH - retrieve rows from a query using a cursor

Note: this is a PostgreSQL-specific statement, but may also compatible with other SQL.

§

Discard

Fields

§object_type: DiscardObject

DISCARD [ ALL | PLANS | SEQUENCES | TEMPORARY | TEMP ]

Note: this is a PostgreSQL-specific statement, but may also compatible with other SQL.

§

SetRole

Fields

§context_modifier: ContextModifier

Non-ANSI optional identifier to inform if the role is defined inside the current session (SESSION) or transaction (LOCAL).

§role_name: Option<Located<Ident>>

Role name. If NONE is specified, then the current role name is removed.

SET [ SESSION | LOCAL ] ROLE role_name. Examples: ANSI, Postgresql, MySQL, and Oracle.

§

SetVariable

Fields

§local: bool
§hivevar: bool
§variable: ObjectName
§value: Vec<Expr>
SET <variable>

Note: this is not a standard SQL statement, but it is supported by at least MySQL and PostgreSQL. Not all MySQL-specific syntatic forms are supported yet.

§

SetTimeZone

Fields

§local: bool
§value: Expr
SET TIME ZONE <value>

Note: this is a PostgreSQL-specific statements SET TIME ZONE <value> is an alias for SET timezone TO <value> in PostgreSQL

§

SetNames

Fields

§charset_name: String
§collation_name: Option<String>

SET NAMES ‘charset_name’ [COLLATE ‘collation_name’]

Note: this is a MySQL-specific statement.

§

SetNamesDefault

Fields

SET NAMES DEFAULT

Note: this is a MySQL-specific statement.

§

ShowFunctions

SHOW FUNCTIONS

Note: this is a Presto-specific statement.

§

ShowVariable

Fields

§variable: Vec<Located<Ident>>
SHOW <variable>

Note: this is a PostgreSQL-specific statement.

§

ShowVariables

SHOW VARIABLES

Note: this is a MySQL-specific statement.

§

ShowCreate

Fields

§obj_name: ObjectName

SHOW CREATE TABLE

Note: this is a MySQL-specific statement.

§

ShowColumns

Fields

§extended: bool
§full: bool
§table_name: ObjectName

SHOW COLUMNS

Note: this is a MySQL-specific statement.

§

ShowTables

Fields

§extended: bool
§full: bool

SHOW TABLES

Note: this is a MySQL-specific statement.

§

ShowCollation

SHOW COLLATION

Note: this is a MySQL-specific statement.

§

Use

Fields

§db_name: Located<Ident>

USE

Note: This is a MySQL-specific statement.

§

StartTransaction

Fields

{ BEGIN [ TRANSACTION | WORK ] | START TRANSACTION } ...

§

SetTransaction

Fields

§snapshot: Option<Value>
§session: bool

SET TRANSACTION ...

§

Comment

Fields

§object_type: CommentObject
§object_name: ObjectName
§comment: Option<String>

COMMENT ON ...

Note: this is a PostgreSQL-specific statement.

§

Commit

Fields

§chain: bool

COMMIT [ TRANSACTION | WORK ] [ AND [ NO ] CHAIN ]

§

Rollback

Fields

§chain: bool

ROLLBACK [ TRANSACTION | WORK ] [ AND [ NO ] CHAIN ]

§

CreateSchema

Fields

§schema_name: SchemaName

<schema name> | AUTHORIZATION <schema authorization identifier> | <schema name> AUTHORIZATION <schema authorization identifier>

§if_not_exists: bool

CREATE SCHEMA

§

CreateDatabase

Fields

§db_name: ObjectName
§if_not_exists: bool
§location: Option<String>
§managed_location: Option<String>

CREATE DATABASE

§

CreateFunction

Fields

§or_replace: bool
§temporary: bool
§return_type: Option<DataType>
§params: CreateFunctionBody

Optional parameters.

CREATE FUNCTION

Supported variants:

  1. Hive
  2. Postgres
§

Assert

Fields

§condition: Expr
§message: Option<Expr>

ASSERT <condition> [AS <message>]

§

Grant

Fields

§privileges: Privileges
§grantees: Vec<Located<Ident>>
§with_grant_option: bool
§granted_by: Option<Located<Ident>>

GRANT privileges ON objects TO grantees

§

Revoke

Fields

§privileges: Privileges
§grantees: Vec<Located<Ident>>
§granted_by: Option<Located<Ident>>
§cascade: bool

REVOKE privileges ON objects FROM grantees

§

Deallocate

Fields

§prepare: bool

DEALLOCATE [ PREPARE ] { name | ALL }

Note: this is a PostgreSQL-specific statement.

§

Execute

Fields

§parameters: Vec<Expr>

EXECUTE name [ ( parameter [, ...] ) ]

Note: this is a PostgreSQL-specific statement.

§

Prepare

Fields

§data_types: Vec<DataType>
§statement: Box<Statement>

PREPARE name [ ( data_type [, ...] ) ] AS statement

Note: this is a PostgreSQL-specific statement.

§

Kill

Fields

§modifier: Option<KillType>
§id: u64
§

ExplainTable

Fields

§describe_alias: bool

If true, query used the MySQL DESCRIBE alias for explain

§table_name: ObjectName

Table name

EXPLAIN TABLE Note: this is a MySQL-specific statement. See https://dev.mysql.com/doc/refman/8.0/en/explain.html

§

Explain

Fields

§describe_alias: bool
§analyze: bool

Carry out the command and show actual run times and other statistics.

§verbose: bool
§statement: Box<Statement>

A SQL query that specifies what to explain

§format: Option<AnalyzeFormat>

Optional output format of explain

EXPLAIN / DESCRIBE for select_statement

§

Savepoint

Fields

SAVEPOINT – define a new savepoint within the current transaction

§

Merge

Fields

§into: bool
§on: Box<Expr>
§clauses: Vec<MergeClause>
§

Cache

Fields

§table_flag: Option<ObjectName>

Table flag

§table_name: ObjectName

Table name

§has_as: bool
§options: Vec<SqlOption>

Table confs

§query: Option<Query>

Cache table as a Query

CACHE [ FLAG ] TABLE <table_name> [ OPTIONS('K1' = 'V1', 'K2' = V2) ] [ AS ] [ <query> ].

See Spark SQL docs for more details.

§

UNCache

Fields

§table_name: ObjectName

Table name

§if_exists: bool

UNCACHE TABLE [ IF EXISTS ] <table_name>

§

CreateSequence

Fields

§temporary: bool
§if_not_exists: bool
§data_type: Option<DataType>
§sequence_options: Vec<SequenceOptions>
§owned_by: Option<ObjectName>

CreateSequence – define a new sequence CREATE [ { TEMPORARY | TEMP } ] SEQUENCE [ IF NOT EXISTS ] <sequence_name>

Trait Implementations§

source§

impl Clone for Statement

source§

fn clone(&self) -> Statement

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 Statement

source§

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

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

impl<'de> Deserialize<'de> for Statement

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 Statement

source§

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

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

impl Hash for Statement

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 Statement

source§

fn cmp(&self, other: &Statement) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

impl PartialEq<Statement> for Statement

source§

fn eq(&self, other: &Statement) -> 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<Statement> for Statement

source§

fn partial_cmp(&self, other: &Statement) -> 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 Statement

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 TryFrom<Statement> for CreateTableBuilder

§

type Error = ParserError

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

fn try_from(stmt: Statement) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl Visit for Statement

source§

fn visit<V: Visitor>(&self, visitor: &mut V) -> ControlFlow<V::Break>

source§

impl VisitMut for Statement

source§

fn visit<V: VisitorMut>(&mut self, visitor: &mut V) -> ControlFlow<V::Break>

source§

impl Eq for Statement

source§

impl StructuralEq for Statement

source§

impl StructuralPartialEq for Statement

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · 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> ToOwned for Twhere 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 Twhere 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 Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

impl<T> DeserializeOwned for Twhere T: for<'de> Deserialize<'de>,