1use serde::{Deserialize, Serialize};
2
3use crate::source::Span;
4
5#[derive(#[automatically_derived]
impl ::core::fmt::Debug for Script {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field1_finish(f, "Script",
"items", &&self.items)
}
}Debug, #[automatically_derived]
impl ::core::clone::Clone for Script {
#[inline]
fn clone(&self) -> Script {
Script { items: ::core::clone::Clone::clone(&self.items) }
}
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for Script {
#[inline]
fn eq(&self, other: &Script) -> bool { self.items == other.items }
}PartialEq, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl _serde::Serialize for Script {
fn serialize<__S>(&self, __serializer: __S)
-> _serde::__private228::Result<__S::Ok, __S::Error> where
__S: _serde::Serializer {
let mut __serde_state =
_serde::Serializer::serialize_struct(__serializer, "Script",
false as usize + 1)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"items", &self.items)?;
_serde::ser::SerializeStruct::end(__serde_state)
}
}
};Serialize, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for Script {
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field { __field0, __ignore, }
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"field identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
_ => _serde::__private228::Ok(__Field::__ignore),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"items" => _serde::__private228::Ok(__Field::__field0),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"items" => _serde::__private228::Ok(__Field::__field0),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<Script>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = Script;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"struct Script")
}
#[inline]
fn visit_seq<__A>(self, mut __seq: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::SeqAccess<'de> {
let __field0 =
match _serde::de::SeqAccess::next_element::<Vec<TopLevelItem>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(0usize,
&"struct Script with 1 element")),
};
_serde::__private228::Ok(Script { items: __field0 })
}
#[inline]
fn visit_map<__A>(self, mut __map: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::MapAccess<'de> {
let mut __field0:
_serde::__private228::Option<Vec<TopLevelItem>> =
_serde::__private228::None;
while let _serde::__private228::Some(__key) =
_serde::de::MapAccess::next_key::<__Field>(&mut __map)? {
match __key {
__Field::__field0 => {
if _serde::__private228::Option::is_some(&__field0) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("items"));
}
__field0 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Vec<TopLevelItem>>(&mut __map)?);
}
_ => {
let _ =
_serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map)?;
}
}
}
let __field0 =
match __field0 {
_serde::__private228::Some(__field0) => __field0,
_serde::__private228::None =>
_serde::__private228::de::missing_field("items")?,
};
_serde::__private228::Ok(Script { items: __field0 })
}
}
#[doc(hidden)]
const FIELDS: &'static [&'static str] = &["items"];
_serde::Deserializer::deserialize_struct(__deserializer,
"Script", FIELDS,
__Visitor {
marker: _serde::__private228::PhantomData::<Script>,
lifetime: _serde::__private228::PhantomData,
})
}
}
};Deserialize)]
7pub struct Script {
8 pub items: Vec<TopLevelItem>,
10}
11
12#[derive(#[automatically_derived]
impl ::core::fmt::Debug for TopLevelItem {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
match self {
TopLevelItem::Include(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"Include", &__self_0),
TopLevelItem::Global(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Global",
&__self_0),
TopLevelItem::Function(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"Function", &__self_0),
TopLevelItem::Struct(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Struct",
&__self_0),
}
}
}Debug, #[automatically_derived]
impl ::core::clone::Clone for TopLevelItem {
#[inline]
fn clone(&self) -> TopLevelItem {
match self {
TopLevelItem::Include(__self_0) =>
TopLevelItem::Include(::core::clone::Clone::clone(__self_0)),
TopLevelItem::Global(__self_0) =>
TopLevelItem::Global(::core::clone::Clone::clone(__self_0)),
TopLevelItem::Function(__self_0) =>
TopLevelItem::Function(::core::clone::Clone::clone(__self_0)),
TopLevelItem::Struct(__self_0) =>
TopLevelItem::Struct(::core::clone::Clone::clone(__self_0)),
}
}
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for TopLevelItem {
#[inline]
fn eq(&self, other: &TopLevelItem) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr &&
match (self, other) {
(TopLevelItem::Include(__self_0),
TopLevelItem::Include(__arg1_0)) => __self_0 == __arg1_0,
(TopLevelItem::Global(__self_0),
TopLevelItem::Global(__arg1_0)) => __self_0 == __arg1_0,
(TopLevelItem::Function(__self_0),
TopLevelItem::Function(__arg1_0)) => __self_0 == __arg1_0,
(TopLevelItem::Struct(__self_0),
TopLevelItem::Struct(__arg1_0)) => __self_0 == __arg1_0,
_ => unsafe { ::core::intrinsics::unreachable() }
}
}
}PartialEq, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl _serde::Serialize for TopLevelItem {
fn serialize<__S>(&self, __serializer: __S)
-> _serde::__private228::Result<__S::Ok, __S::Error> where
__S: _serde::Serializer {
match *self {
TopLevelItem::Include(ref __field0) =>
_serde::Serializer::serialize_newtype_variant(__serializer,
"TopLevelItem", 0u32, "Include", __field0),
TopLevelItem::Global(ref __field0) =>
_serde::Serializer::serialize_newtype_variant(__serializer,
"TopLevelItem", 1u32, "Global", __field0),
TopLevelItem::Function(ref __field0) =>
_serde::Serializer::serialize_newtype_variant(__serializer,
"TopLevelItem", 2u32, "Function", __field0),
TopLevelItem::Struct(ref __field0) =>
_serde::Serializer::serialize_newtype_variant(__serializer,
"TopLevelItem", 3u32, "Struct", __field0),
}
}
}
};Serialize, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for TopLevelItem {
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field { __field0, __field1, __field2, __field3, }
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"variant identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
2u64 => _serde::__private228::Ok(__Field::__field2),
3u64 => _serde::__private228::Ok(__Field::__field3),
_ =>
_serde::__private228::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value),
&"variant index 0 <= i < 4")),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"Include" => _serde::__private228::Ok(__Field::__field0),
"Global" => _serde::__private228::Ok(__Field::__field1),
"Function" => _serde::__private228::Ok(__Field::__field2),
"Struct" => _serde::__private228::Ok(__Field::__field3),
_ => {
_serde::__private228::Err(_serde::de::Error::unknown_variant(__value,
VARIANTS))
}
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"Include" => _serde::__private228::Ok(__Field::__field0),
b"Global" => _serde::__private228::Ok(__Field::__field1),
b"Function" => _serde::__private228::Ok(__Field::__field2),
b"Struct" => _serde::__private228::Ok(__Field::__field3),
_ => {
let __value =
&_serde::__private228::from_utf8_lossy(__value);
_serde::__private228::Err(_serde::de::Error::unknown_variant(__value,
VARIANTS))
}
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<TopLevelItem>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = TopLevelItem;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"enum TopLevelItem")
}
fn visit_enum<__A>(self, __data: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::EnumAccess<'de> {
match _serde::de::EnumAccess::variant(__data)? {
(__Field::__field0, __variant) =>
_serde::__private228::Result::map(_serde::de::VariantAccess::newtype_variant::<IncludeDirective>(__variant),
TopLevelItem::Include),
(__Field::__field1, __variant) =>
_serde::__private228::Result::map(_serde::de::VariantAccess::newtype_variant::<Declaration>(__variant),
TopLevelItem::Global),
(__Field::__field2, __variant) =>
_serde::__private228::Result::map(_serde::de::VariantAccess::newtype_variant::<FunctionDecl>(__variant),
TopLevelItem::Function),
(__Field::__field3, __variant) =>
_serde::__private228::Result::map(_serde::de::VariantAccess::newtype_variant::<StructDecl>(__variant),
TopLevelItem::Struct),
}
}
}
#[doc(hidden)]
const VARIANTS: &'static [&'static str] =
&["Include", "Global", "Function", "Struct"];
_serde::Deserializer::deserialize_enum(__deserializer,
"TopLevelItem", VARIANTS,
__Visitor {
marker: _serde::__private228::PhantomData::<TopLevelItem>,
lifetime: _serde::__private228::PhantomData,
})
}
}
};Deserialize)]
14pub enum TopLevelItem {
15 Include(IncludeDirective),
17 Global(Declaration),
19 Function(FunctionDecl),
21 Struct(StructDecl),
23}
24
25#[derive(#[automatically_derived]
impl ::core::fmt::Debug for IncludeDirective {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field2_finish(f,
"IncludeDirective", "span", &self.span, "path", &&self.path)
}
}Debug, #[automatically_derived]
impl ::core::clone::Clone for IncludeDirective {
#[inline]
fn clone(&self) -> IncludeDirective {
IncludeDirective {
span: ::core::clone::Clone::clone(&self.span),
path: ::core::clone::Clone::clone(&self.path),
}
}
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for IncludeDirective {
#[inline]
fn eq(&self, other: &IncludeDirective) -> bool {
self.span == other.span && self.path == other.path
}
}PartialEq, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl _serde::Serialize for IncludeDirective {
fn serialize<__S>(&self, __serializer: __S)
-> _serde::__private228::Result<__S::Ok, __S::Error> where
__S: _serde::Serializer {
let mut __serde_state =
_serde::Serializer::serialize_struct(__serializer,
"IncludeDirective", false as usize + 1 + 1)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"span", &self.span)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"path", &self.path)?;
_serde::ser::SerializeStruct::end(__serde_state)
}
}
};Serialize, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for IncludeDirective {
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field { __field0, __field1, __ignore, }
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"field identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
_ => _serde::__private228::Ok(__Field::__ignore),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"span" => _serde::__private228::Ok(__Field::__field0),
"path" => _serde::__private228::Ok(__Field::__field1),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"span" => _serde::__private228::Ok(__Field::__field0),
b"path" => _serde::__private228::Ok(__Field::__field1),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<IncludeDirective>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = IncludeDirective;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"struct IncludeDirective")
}
#[inline]
fn visit_seq<__A>(self, mut __seq: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::SeqAccess<'de> {
let __field0 =
match _serde::de::SeqAccess::next_element::<Span>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(0usize,
&"struct IncludeDirective with 2 elements")),
};
let __field1 =
match _serde::de::SeqAccess::next_element::<String>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(1usize,
&"struct IncludeDirective with 2 elements")),
};
_serde::__private228::Ok(IncludeDirective {
span: __field0,
path: __field1,
})
}
#[inline]
fn visit_map<__A>(self, mut __map: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::MapAccess<'de> {
let mut __field0: _serde::__private228::Option<Span> =
_serde::__private228::None;
let mut __field1: _serde::__private228::Option<String> =
_serde::__private228::None;
while let _serde::__private228::Some(__key) =
_serde::de::MapAccess::next_key::<__Field>(&mut __map)? {
match __key {
__Field::__field0 => {
if _serde::__private228::Option::is_some(&__field0) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("span"));
}
__field0 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Span>(&mut __map)?);
}
__Field::__field1 => {
if _serde::__private228::Option::is_some(&__field1) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("path"));
}
__field1 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<String>(&mut __map)?);
}
_ => {
let _ =
_serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map)?;
}
}
}
let __field0 =
match __field0 {
_serde::__private228::Some(__field0) => __field0,
_serde::__private228::None =>
_serde::__private228::de::missing_field("span")?,
};
let __field1 =
match __field1 {
_serde::__private228::Some(__field1) => __field1,
_serde::__private228::None =>
_serde::__private228::de::missing_field("path")?,
};
_serde::__private228::Ok(IncludeDirective {
span: __field0,
path: __field1,
})
}
}
#[doc(hidden)]
const FIELDS: &'static [&'static str] = &["span", "path"];
_serde::Deserializer::deserialize_struct(__deserializer,
"IncludeDirective", FIELDS,
__Visitor {
marker: _serde::__private228::PhantomData::<IncludeDirective>,
lifetime: _serde::__private228::PhantomData,
})
}
}
};Deserialize)]
27pub struct IncludeDirective {
28 pub span: Span,
30 pub path: String,
32}
33
34#[derive(#[automatically_derived]
impl ::core::fmt::Debug for FunctionDecl {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field5_finish(f, "FunctionDecl",
"span", &self.span, "return_type", &self.return_type, "name",
&self.name, "parameters", &self.parameters, "body", &&self.body)
}
}Debug, #[automatically_derived]
impl ::core::clone::Clone for FunctionDecl {
#[inline]
fn clone(&self) -> FunctionDecl {
FunctionDecl {
span: ::core::clone::Clone::clone(&self.span),
return_type: ::core::clone::Clone::clone(&self.return_type),
name: ::core::clone::Clone::clone(&self.name),
parameters: ::core::clone::Clone::clone(&self.parameters),
body: ::core::clone::Clone::clone(&self.body),
}
}
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for FunctionDecl {
#[inline]
fn eq(&self, other: &FunctionDecl) -> bool {
self.span == other.span && self.return_type == other.return_type &&
self.name == other.name &&
self.parameters == other.parameters && self.body == other.body
}
}PartialEq, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl _serde::Serialize for FunctionDecl {
fn serialize<__S>(&self, __serializer: __S)
-> _serde::__private228::Result<__S::Ok, __S::Error> where
__S: _serde::Serializer {
let mut __serde_state =
_serde::Serializer::serialize_struct(__serializer,
"FunctionDecl", false as usize + 1 + 1 + 1 + 1 + 1)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"span", &self.span)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"return_type", &self.return_type)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"name", &self.name)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"parameters", &self.parameters)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"body", &self.body)?;
_serde::ser::SerializeStruct::end(__serde_state)
}
}
};Serialize, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for FunctionDecl {
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field {
__field0,
__field1,
__field2,
__field3,
__field4,
__ignore,
}
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"field identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
2u64 => _serde::__private228::Ok(__Field::__field2),
3u64 => _serde::__private228::Ok(__Field::__field3),
4u64 => _serde::__private228::Ok(__Field::__field4),
_ => _serde::__private228::Ok(__Field::__ignore),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"span" => _serde::__private228::Ok(__Field::__field0),
"return_type" =>
_serde::__private228::Ok(__Field::__field1),
"name" => _serde::__private228::Ok(__Field::__field2),
"parameters" => _serde::__private228::Ok(__Field::__field3),
"body" => _serde::__private228::Ok(__Field::__field4),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"span" => _serde::__private228::Ok(__Field::__field0),
b"return_type" =>
_serde::__private228::Ok(__Field::__field1),
b"name" => _serde::__private228::Ok(__Field::__field2),
b"parameters" =>
_serde::__private228::Ok(__Field::__field3),
b"body" => _serde::__private228::Ok(__Field::__field4),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<FunctionDecl>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = FunctionDecl;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"struct FunctionDecl")
}
#[inline]
fn visit_seq<__A>(self, mut __seq: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::SeqAccess<'de> {
let __field0 =
match _serde::de::SeqAccess::next_element::<Span>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(0usize,
&"struct FunctionDecl with 5 elements")),
};
let __field1 =
match _serde::de::SeqAccess::next_element::<TypeSpec>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(1usize,
&"struct FunctionDecl with 5 elements")),
};
let __field2 =
match _serde::de::SeqAccess::next_element::<String>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(2usize,
&"struct FunctionDecl with 5 elements")),
};
let __field3 =
match _serde::de::SeqAccess::next_element::<Vec<Parameter>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(3usize,
&"struct FunctionDecl with 5 elements")),
};
let __field4 =
match _serde::de::SeqAccess::next_element::<Option<BlockStmt>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(4usize,
&"struct FunctionDecl with 5 elements")),
};
_serde::__private228::Ok(FunctionDecl {
span: __field0,
return_type: __field1,
name: __field2,
parameters: __field3,
body: __field4,
})
}
#[inline]
fn visit_map<__A>(self, mut __map: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::MapAccess<'de> {
let mut __field0: _serde::__private228::Option<Span> =
_serde::__private228::None;
let mut __field1: _serde::__private228::Option<TypeSpec> =
_serde::__private228::None;
let mut __field2: _serde::__private228::Option<String> =
_serde::__private228::None;
let mut __field3:
_serde::__private228::Option<Vec<Parameter>> =
_serde::__private228::None;
let mut __field4:
_serde::__private228::Option<Option<BlockStmt>> =
_serde::__private228::None;
while let _serde::__private228::Some(__key) =
_serde::de::MapAccess::next_key::<__Field>(&mut __map)? {
match __key {
__Field::__field0 => {
if _serde::__private228::Option::is_some(&__field0) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("span"));
}
__field0 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Span>(&mut __map)?);
}
__Field::__field1 => {
if _serde::__private228::Option::is_some(&__field1) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("return_type"));
}
__field1 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<TypeSpec>(&mut __map)?);
}
__Field::__field2 => {
if _serde::__private228::Option::is_some(&__field2) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("name"));
}
__field2 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<String>(&mut __map)?);
}
__Field::__field3 => {
if _serde::__private228::Option::is_some(&__field3) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("parameters"));
}
__field3 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Vec<Parameter>>(&mut __map)?);
}
__Field::__field4 => {
if _serde::__private228::Option::is_some(&__field4) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("body"));
}
__field4 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<BlockStmt>>(&mut __map)?);
}
_ => {
let _ =
_serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map)?;
}
}
}
let __field0 =
match __field0 {
_serde::__private228::Some(__field0) => __field0,
_serde::__private228::None =>
_serde::__private228::de::missing_field("span")?,
};
let __field1 =
match __field1 {
_serde::__private228::Some(__field1) => __field1,
_serde::__private228::None =>
_serde::__private228::de::missing_field("return_type")?,
};
let __field2 =
match __field2 {
_serde::__private228::Some(__field2) => __field2,
_serde::__private228::None =>
_serde::__private228::de::missing_field("name")?,
};
let __field3 =
match __field3 {
_serde::__private228::Some(__field3) => __field3,
_serde::__private228::None =>
_serde::__private228::de::missing_field("parameters")?,
};
let __field4 =
match __field4 {
_serde::__private228::Some(__field4) => __field4,
_serde::__private228::None =>
_serde::__private228::de::missing_field("body")?,
};
_serde::__private228::Ok(FunctionDecl {
span: __field0,
return_type: __field1,
name: __field2,
parameters: __field3,
body: __field4,
})
}
}
#[doc(hidden)]
const FIELDS: &'static [&'static str] =
&["span", "return_type", "name", "parameters", "body"];
_serde::Deserializer::deserialize_struct(__deserializer,
"FunctionDecl", FIELDS,
__Visitor {
marker: _serde::__private228::PhantomData::<FunctionDecl>,
lifetime: _serde::__private228::PhantomData,
})
}
}
};Deserialize)]
36pub struct FunctionDecl {
37 pub span: Span,
39 pub return_type: TypeSpec,
41 pub name: String,
43 pub parameters: Vec<Parameter>,
45 pub body: Option<BlockStmt>,
47}
48
49#[derive(#[automatically_derived]
impl ::core::fmt::Debug for StructDecl {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field3_finish(f, "StructDecl",
"span", &self.span, "name", &self.name, "fields", &&self.fields)
}
}Debug, #[automatically_derived]
impl ::core::clone::Clone for StructDecl {
#[inline]
fn clone(&self) -> StructDecl {
StructDecl {
span: ::core::clone::Clone::clone(&self.span),
name: ::core::clone::Clone::clone(&self.name),
fields: ::core::clone::Clone::clone(&self.fields),
}
}
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for StructDecl {
#[inline]
fn eq(&self, other: &StructDecl) -> bool {
self.span == other.span && self.name == other.name &&
self.fields == other.fields
}
}PartialEq, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl _serde::Serialize for StructDecl {
fn serialize<__S>(&self, __serializer: __S)
-> _serde::__private228::Result<__S::Ok, __S::Error> where
__S: _serde::Serializer {
let mut __serde_state =
_serde::Serializer::serialize_struct(__serializer,
"StructDecl", false as usize + 1 + 1 + 1)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"span", &self.span)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"name", &self.name)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"fields", &self.fields)?;
_serde::ser::SerializeStruct::end(__serde_state)
}
}
};Serialize, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for StructDecl {
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field { __field0, __field1, __field2, __ignore, }
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"field identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
2u64 => _serde::__private228::Ok(__Field::__field2),
_ => _serde::__private228::Ok(__Field::__ignore),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"span" => _serde::__private228::Ok(__Field::__field0),
"name" => _serde::__private228::Ok(__Field::__field1),
"fields" => _serde::__private228::Ok(__Field::__field2),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"span" => _serde::__private228::Ok(__Field::__field0),
b"name" => _serde::__private228::Ok(__Field::__field1),
b"fields" => _serde::__private228::Ok(__Field::__field2),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<StructDecl>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = StructDecl;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"struct StructDecl")
}
#[inline]
fn visit_seq<__A>(self, mut __seq: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::SeqAccess<'de> {
let __field0 =
match _serde::de::SeqAccess::next_element::<Span>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(0usize,
&"struct StructDecl with 3 elements")),
};
let __field1 =
match _serde::de::SeqAccess::next_element::<String>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(1usize,
&"struct StructDecl with 3 elements")),
};
let __field2 =
match _serde::de::SeqAccess::next_element::<Vec<StructFieldDecl>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(2usize,
&"struct StructDecl with 3 elements")),
};
_serde::__private228::Ok(StructDecl {
span: __field0,
name: __field1,
fields: __field2,
})
}
#[inline]
fn visit_map<__A>(self, mut __map: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::MapAccess<'de> {
let mut __field0: _serde::__private228::Option<Span> =
_serde::__private228::None;
let mut __field1: _serde::__private228::Option<String> =
_serde::__private228::None;
let mut __field2:
_serde::__private228::Option<Vec<StructFieldDecl>> =
_serde::__private228::None;
while let _serde::__private228::Some(__key) =
_serde::de::MapAccess::next_key::<__Field>(&mut __map)? {
match __key {
__Field::__field0 => {
if _serde::__private228::Option::is_some(&__field0) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("span"));
}
__field0 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Span>(&mut __map)?);
}
__Field::__field1 => {
if _serde::__private228::Option::is_some(&__field1) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("name"));
}
__field1 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<String>(&mut __map)?);
}
__Field::__field2 => {
if _serde::__private228::Option::is_some(&__field2) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("fields"));
}
__field2 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Vec<StructFieldDecl>>(&mut __map)?);
}
_ => {
let _ =
_serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map)?;
}
}
}
let __field0 =
match __field0 {
_serde::__private228::Some(__field0) => __field0,
_serde::__private228::None =>
_serde::__private228::de::missing_field("span")?,
};
let __field1 =
match __field1 {
_serde::__private228::Some(__field1) => __field1,
_serde::__private228::None =>
_serde::__private228::de::missing_field("name")?,
};
let __field2 =
match __field2 {
_serde::__private228::Some(__field2) => __field2,
_serde::__private228::None =>
_serde::__private228::de::missing_field("fields")?,
};
_serde::__private228::Ok(StructDecl {
span: __field0,
name: __field1,
fields: __field2,
})
}
}
#[doc(hidden)]
const FIELDS: &'static [&'static str] =
&["span", "name", "fields"];
_serde::Deserializer::deserialize_struct(__deserializer,
"StructDecl", FIELDS,
__Visitor {
marker: _serde::__private228::PhantomData::<StructDecl>,
lifetime: _serde::__private228::PhantomData,
})
}
}
};Deserialize)]
51pub struct StructDecl {
52 pub span: Span,
54 pub name: String,
56 pub fields: Vec<StructFieldDecl>,
58}
59
60#[derive(#[automatically_derived]
impl ::core::fmt::Debug for StructFieldDecl {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field3_finish(f,
"StructFieldDecl", "span", &self.span, "ty", &self.ty, "names",
&&self.names)
}
}Debug, #[automatically_derived]
impl ::core::clone::Clone for StructFieldDecl {
#[inline]
fn clone(&self) -> StructFieldDecl {
StructFieldDecl {
span: ::core::clone::Clone::clone(&self.span),
ty: ::core::clone::Clone::clone(&self.ty),
names: ::core::clone::Clone::clone(&self.names),
}
}
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for StructFieldDecl {
#[inline]
fn eq(&self, other: &StructFieldDecl) -> bool {
self.span == other.span && self.ty == other.ty &&
self.names == other.names
}
}PartialEq, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl _serde::Serialize for StructFieldDecl {
fn serialize<__S>(&self, __serializer: __S)
-> _serde::__private228::Result<__S::Ok, __S::Error> where
__S: _serde::Serializer {
let mut __serde_state =
_serde::Serializer::serialize_struct(__serializer,
"StructFieldDecl", false as usize + 1 + 1 + 1)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"span", &self.span)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"ty", &self.ty)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"names", &self.names)?;
_serde::ser::SerializeStruct::end(__serde_state)
}
}
};Serialize, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for StructFieldDecl {
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field { __field0, __field1, __field2, __ignore, }
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"field identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
2u64 => _serde::__private228::Ok(__Field::__field2),
_ => _serde::__private228::Ok(__Field::__ignore),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"span" => _serde::__private228::Ok(__Field::__field0),
"ty" => _serde::__private228::Ok(__Field::__field1),
"names" => _serde::__private228::Ok(__Field::__field2),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"span" => _serde::__private228::Ok(__Field::__field0),
b"ty" => _serde::__private228::Ok(__Field::__field1),
b"names" => _serde::__private228::Ok(__Field::__field2),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<StructFieldDecl>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = StructFieldDecl;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"struct StructFieldDecl")
}
#[inline]
fn visit_seq<__A>(self, mut __seq: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::SeqAccess<'de> {
let __field0 =
match _serde::de::SeqAccess::next_element::<Span>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(0usize,
&"struct StructFieldDecl with 3 elements")),
};
let __field1 =
match _serde::de::SeqAccess::next_element::<TypeSpec>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(1usize,
&"struct StructFieldDecl with 3 elements")),
};
let __field2 =
match _serde::de::SeqAccess::next_element::<Vec<NamedItem>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(2usize,
&"struct StructFieldDecl with 3 elements")),
};
_serde::__private228::Ok(StructFieldDecl {
span: __field0,
ty: __field1,
names: __field2,
})
}
#[inline]
fn visit_map<__A>(self, mut __map: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::MapAccess<'de> {
let mut __field0: _serde::__private228::Option<Span> =
_serde::__private228::None;
let mut __field1: _serde::__private228::Option<TypeSpec> =
_serde::__private228::None;
let mut __field2:
_serde::__private228::Option<Vec<NamedItem>> =
_serde::__private228::None;
while let _serde::__private228::Some(__key) =
_serde::de::MapAccess::next_key::<__Field>(&mut __map)? {
match __key {
__Field::__field0 => {
if _serde::__private228::Option::is_some(&__field0) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("span"));
}
__field0 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Span>(&mut __map)?);
}
__Field::__field1 => {
if _serde::__private228::Option::is_some(&__field1) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("ty"));
}
__field1 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<TypeSpec>(&mut __map)?);
}
__Field::__field2 => {
if _serde::__private228::Option::is_some(&__field2) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("names"));
}
__field2 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Vec<NamedItem>>(&mut __map)?);
}
_ => {
let _ =
_serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map)?;
}
}
}
let __field0 =
match __field0 {
_serde::__private228::Some(__field0) => __field0,
_serde::__private228::None =>
_serde::__private228::de::missing_field("span")?,
};
let __field1 =
match __field1 {
_serde::__private228::Some(__field1) => __field1,
_serde::__private228::None =>
_serde::__private228::de::missing_field("ty")?,
};
let __field2 =
match __field2 {
_serde::__private228::Some(__field2) => __field2,
_serde::__private228::None =>
_serde::__private228::de::missing_field("names")?,
};
_serde::__private228::Ok(StructFieldDecl {
span: __field0,
ty: __field1,
names: __field2,
})
}
}
#[doc(hidden)]
const FIELDS: &'static [&'static str] =
&["span", "ty", "names"];
_serde::Deserializer::deserialize_struct(__deserializer,
"StructFieldDecl", FIELDS,
__Visitor {
marker: _serde::__private228::PhantomData::<StructFieldDecl>,
lifetime: _serde::__private228::PhantomData,
})
}
}
};Deserialize)]
62pub struct StructFieldDecl {
63 pub span: Span,
65 pub ty: TypeSpec,
67 pub names: Vec<NamedItem>,
69}
70
71#[derive(#[automatically_derived]
impl ::core::fmt::Debug for NamedItem {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field2_finish(f, "NamedItem",
"span", &self.span, "name", &&self.name)
}
}Debug, #[automatically_derived]
impl ::core::clone::Clone for NamedItem {
#[inline]
fn clone(&self) -> NamedItem {
NamedItem {
span: ::core::clone::Clone::clone(&self.span),
name: ::core::clone::Clone::clone(&self.name),
}
}
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for NamedItem {
#[inline]
fn eq(&self, other: &NamedItem) -> bool {
self.span == other.span && self.name == other.name
}
}PartialEq, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl _serde::Serialize for NamedItem {
fn serialize<__S>(&self, __serializer: __S)
-> _serde::__private228::Result<__S::Ok, __S::Error> where
__S: _serde::Serializer {
let mut __serde_state =
_serde::Serializer::serialize_struct(__serializer,
"NamedItem", false as usize + 1 + 1)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"span", &self.span)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"name", &self.name)?;
_serde::ser::SerializeStruct::end(__serde_state)
}
}
};Serialize, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for NamedItem {
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field { __field0, __field1, __ignore, }
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"field identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
_ => _serde::__private228::Ok(__Field::__ignore),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"span" => _serde::__private228::Ok(__Field::__field0),
"name" => _serde::__private228::Ok(__Field::__field1),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"span" => _serde::__private228::Ok(__Field::__field0),
b"name" => _serde::__private228::Ok(__Field::__field1),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<NamedItem>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = NamedItem;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"struct NamedItem")
}
#[inline]
fn visit_seq<__A>(self, mut __seq: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::SeqAccess<'de> {
let __field0 =
match _serde::de::SeqAccess::next_element::<Span>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(0usize,
&"struct NamedItem with 2 elements")),
};
let __field1 =
match _serde::de::SeqAccess::next_element::<String>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(1usize,
&"struct NamedItem with 2 elements")),
};
_serde::__private228::Ok(NamedItem {
span: __field0,
name: __field1,
})
}
#[inline]
fn visit_map<__A>(self, mut __map: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::MapAccess<'de> {
let mut __field0: _serde::__private228::Option<Span> =
_serde::__private228::None;
let mut __field1: _serde::__private228::Option<String> =
_serde::__private228::None;
while let _serde::__private228::Some(__key) =
_serde::de::MapAccess::next_key::<__Field>(&mut __map)? {
match __key {
__Field::__field0 => {
if _serde::__private228::Option::is_some(&__field0) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("span"));
}
__field0 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Span>(&mut __map)?);
}
__Field::__field1 => {
if _serde::__private228::Option::is_some(&__field1) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("name"));
}
__field1 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<String>(&mut __map)?);
}
_ => {
let _ =
_serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map)?;
}
}
}
let __field0 =
match __field0 {
_serde::__private228::Some(__field0) => __field0,
_serde::__private228::None =>
_serde::__private228::de::missing_field("span")?,
};
let __field1 =
match __field1 {
_serde::__private228::Some(__field1) => __field1,
_serde::__private228::None =>
_serde::__private228::de::missing_field("name")?,
};
_serde::__private228::Ok(NamedItem {
span: __field0,
name: __field1,
})
}
}
#[doc(hidden)]
const FIELDS: &'static [&'static str] = &["span", "name"];
_serde::Deserializer::deserialize_struct(__deserializer,
"NamedItem", FIELDS,
__Visitor {
marker: _serde::__private228::PhantomData::<NamedItem>,
lifetime: _serde::__private228::PhantomData,
})
}
}
};Deserialize)]
73pub struct NamedItem {
74 pub span: Span,
76 pub name: String,
78}
79
80#[derive(#[automatically_derived]
impl ::core::fmt::Debug for Parameter {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field4_finish(f, "Parameter",
"span", &self.span, "ty", &self.ty, "name", &self.name, "default",
&&self.default)
}
}Debug, #[automatically_derived]
impl ::core::clone::Clone for Parameter {
#[inline]
fn clone(&self) -> Parameter {
Parameter {
span: ::core::clone::Clone::clone(&self.span),
ty: ::core::clone::Clone::clone(&self.ty),
name: ::core::clone::Clone::clone(&self.name),
default: ::core::clone::Clone::clone(&self.default),
}
}
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for Parameter {
#[inline]
fn eq(&self, other: &Parameter) -> bool {
self.span == other.span && self.ty == other.ty &&
self.name == other.name && self.default == other.default
}
}PartialEq, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl _serde::Serialize for Parameter {
fn serialize<__S>(&self, __serializer: __S)
-> _serde::__private228::Result<__S::Ok, __S::Error> where
__S: _serde::Serializer {
let mut __serde_state =
_serde::Serializer::serialize_struct(__serializer,
"Parameter", false as usize + 1 + 1 + 1 + 1)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"span", &self.span)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"ty", &self.ty)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"name", &self.name)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"default", &self.default)?;
_serde::ser::SerializeStruct::end(__serde_state)
}
}
};Serialize, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for Parameter {
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field {
__field0,
__field1,
__field2,
__field3,
__ignore,
}
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"field identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
2u64 => _serde::__private228::Ok(__Field::__field2),
3u64 => _serde::__private228::Ok(__Field::__field3),
_ => _serde::__private228::Ok(__Field::__ignore),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"span" => _serde::__private228::Ok(__Field::__field0),
"ty" => _serde::__private228::Ok(__Field::__field1),
"name" => _serde::__private228::Ok(__Field::__field2),
"default" => _serde::__private228::Ok(__Field::__field3),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"span" => _serde::__private228::Ok(__Field::__field0),
b"ty" => _serde::__private228::Ok(__Field::__field1),
b"name" => _serde::__private228::Ok(__Field::__field2),
b"default" => _serde::__private228::Ok(__Field::__field3),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<Parameter>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = Parameter;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"struct Parameter")
}
#[inline]
fn visit_seq<__A>(self, mut __seq: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::SeqAccess<'de> {
let __field0 =
match _serde::de::SeqAccess::next_element::<Span>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(0usize,
&"struct Parameter with 4 elements")),
};
let __field1 =
match _serde::de::SeqAccess::next_element::<TypeSpec>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(1usize,
&"struct Parameter with 4 elements")),
};
let __field2 =
match _serde::de::SeqAccess::next_element::<String>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(2usize,
&"struct Parameter with 4 elements")),
};
let __field3 =
match _serde::de::SeqAccess::next_element::<Option<Expr>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(3usize,
&"struct Parameter with 4 elements")),
};
_serde::__private228::Ok(Parameter {
span: __field0,
ty: __field1,
name: __field2,
default: __field3,
})
}
#[inline]
fn visit_map<__A>(self, mut __map: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::MapAccess<'de> {
let mut __field0: _serde::__private228::Option<Span> =
_serde::__private228::None;
let mut __field1: _serde::__private228::Option<TypeSpec> =
_serde::__private228::None;
let mut __field2: _serde::__private228::Option<String> =
_serde::__private228::None;
let mut __field3:
_serde::__private228::Option<Option<Expr>> =
_serde::__private228::None;
while let _serde::__private228::Some(__key) =
_serde::de::MapAccess::next_key::<__Field>(&mut __map)? {
match __key {
__Field::__field0 => {
if _serde::__private228::Option::is_some(&__field0) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("span"));
}
__field0 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Span>(&mut __map)?);
}
__Field::__field1 => {
if _serde::__private228::Option::is_some(&__field1) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("ty"));
}
__field1 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<TypeSpec>(&mut __map)?);
}
__Field::__field2 => {
if _serde::__private228::Option::is_some(&__field2) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("name"));
}
__field2 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<String>(&mut __map)?);
}
__Field::__field3 => {
if _serde::__private228::Option::is_some(&__field3) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("default"));
}
__field3 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<Expr>>(&mut __map)?);
}
_ => {
let _ =
_serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map)?;
}
}
}
let __field0 =
match __field0 {
_serde::__private228::Some(__field0) => __field0,
_serde::__private228::None =>
_serde::__private228::de::missing_field("span")?,
};
let __field1 =
match __field1 {
_serde::__private228::Some(__field1) => __field1,
_serde::__private228::None =>
_serde::__private228::de::missing_field("ty")?,
};
let __field2 =
match __field2 {
_serde::__private228::Some(__field2) => __field2,
_serde::__private228::None =>
_serde::__private228::de::missing_field("name")?,
};
let __field3 =
match __field3 {
_serde::__private228::Some(__field3) => __field3,
_serde::__private228::None =>
_serde::__private228::de::missing_field("default")?,
};
_serde::__private228::Ok(Parameter {
span: __field0,
ty: __field1,
name: __field2,
default: __field3,
})
}
}
#[doc(hidden)]
const FIELDS: &'static [&'static str] =
&["span", "ty", "name", "default"];
_serde::Deserializer::deserialize_struct(__deserializer,
"Parameter", FIELDS,
__Visitor {
marker: _serde::__private228::PhantomData::<Parameter>,
lifetime: _serde::__private228::PhantomData,
})
}
}
};Deserialize)]
82pub struct Parameter {
83 pub span: Span,
85 pub ty: TypeSpec,
87 pub name: String,
89 pub default: Option<Expr>,
91}
92
93#[derive(#[automatically_derived]
impl ::core::fmt::Debug for TypeSpec {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field3_finish(f, "TypeSpec",
"span", &self.span, "is_const", &self.is_const, "kind",
&&self.kind)
}
}Debug, #[automatically_derived]
impl ::core::clone::Clone for TypeSpec {
#[inline]
fn clone(&self) -> TypeSpec {
TypeSpec {
span: ::core::clone::Clone::clone(&self.span),
is_const: ::core::clone::Clone::clone(&self.is_const),
kind: ::core::clone::Clone::clone(&self.kind),
}
}
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for TypeSpec {
#[inline]
fn eq(&self, other: &TypeSpec) -> bool {
self.is_const == other.is_const && self.span == other.span &&
self.kind == other.kind
}
}PartialEq, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl _serde::Serialize for TypeSpec {
fn serialize<__S>(&self, __serializer: __S)
-> _serde::__private228::Result<__S::Ok, __S::Error> where
__S: _serde::Serializer {
let mut __serde_state =
_serde::Serializer::serialize_struct(__serializer,
"TypeSpec", false as usize + 1 + 1 + 1)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"span", &self.span)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"is_const", &self.is_const)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"kind", &self.kind)?;
_serde::ser::SerializeStruct::end(__serde_state)
}
}
};Serialize, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for TypeSpec {
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field { __field0, __field1, __field2, __ignore, }
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"field identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
2u64 => _serde::__private228::Ok(__Field::__field2),
_ => _serde::__private228::Ok(__Field::__ignore),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"span" => _serde::__private228::Ok(__Field::__field0),
"is_const" => _serde::__private228::Ok(__Field::__field1),
"kind" => _serde::__private228::Ok(__Field::__field2),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"span" => _serde::__private228::Ok(__Field::__field0),
b"is_const" => _serde::__private228::Ok(__Field::__field1),
b"kind" => _serde::__private228::Ok(__Field::__field2),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<TypeSpec>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = TypeSpec;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"struct TypeSpec")
}
#[inline]
fn visit_seq<__A>(self, mut __seq: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::SeqAccess<'de> {
let __field0 =
match _serde::de::SeqAccess::next_element::<Span>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(0usize,
&"struct TypeSpec with 3 elements")),
};
let __field1 =
match _serde::de::SeqAccess::next_element::<bool>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(1usize,
&"struct TypeSpec with 3 elements")),
};
let __field2 =
match _serde::de::SeqAccess::next_element::<TypeKind>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(2usize,
&"struct TypeSpec with 3 elements")),
};
_serde::__private228::Ok(TypeSpec {
span: __field0,
is_const: __field1,
kind: __field2,
})
}
#[inline]
fn visit_map<__A>(self, mut __map: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::MapAccess<'de> {
let mut __field0: _serde::__private228::Option<Span> =
_serde::__private228::None;
let mut __field1: _serde::__private228::Option<bool> =
_serde::__private228::None;
let mut __field2: _serde::__private228::Option<TypeKind> =
_serde::__private228::None;
while let _serde::__private228::Some(__key) =
_serde::de::MapAccess::next_key::<__Field>(&mut __map)? {
match __key {
__Field::__field0 => {
if _serde::__private228::Option::is_some(&__field0) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("span"));
}
__field0 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Span>(&mut __map)?);
}
__Field::__field1 => {
if _serde::__private228::Option::is_some(&__field1) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("is_const"));
}
__field1 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<bool>(&mut __map)?);
}
__Field::__field2 => {
if _serde::__private228::Option::is_some(&__field2) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("kind"));
}
__field2 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<TypeKind>(&mut __map)?);
}
_ => {
let _ =
_serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map)?;
}
}
}
let __field0 =
match __field0 {
_serde::__private228::Some(__field0) => __field0,
_serde::__private228::None =>
_serde::__private228::de::missing_field("span")?,
};
let __field1 =
match __field1 {
_serde::__private228::Some(__field1) => __field1,
_serde::__private228::None =>
_serde::__private228::de::missing_field("is_const")?,
};
let __field2 =
match __field2 {
_serde::__private228::Some(__field2) => __field2,
_serde::__private228::None =>
_serde::__private228::de::missing_field("kind")?,
};
_serde::__private228::Ok(TypeSpec {
span: __field0,
is_const: __field1,
kind: __field2,
})
}
}
#[doc(hidden)]
const FIELDS: &'static [&'static str] =
&["span", "is_const", "kind"];
_serde::Deserializer::deserialize_struct(__deserializer,
"TypeSpec", FIELDS,
__Visitor {
marker: _serde::__private228::PhantomData::<TypeSpec>,
lifetime: _serde::__private228::PhantomData,
})
}
}
};Deserialize)]
95pub struct TypeSpec {
96 pub span: Span,
98 pub is_const: bool,
100 pub kind: TypeKind,
102}
103
104#[derive(#[automatically_derived]
impl ::core::fmt::Debug for TypeKind {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
match self {
TypeKind::Void => ::core::fmt::Formatter::write_str(f, "Void"),
TypeKind::Int => ::core::fmt::Formatter::write_str(f, "Int"),
TypeKind::Float => ::core::fmt::Formatter::write_str(f, "Float"),
TypeKind::String =>
::core::fmt::Formatter::write_str(f, "String"),
TypeKind::Object =>
::core::fmt::Formatter::write_str(f, "Object"),
TypeKind::Vector =>
::core::fmt::Formatter::write_str(f, "Vector"),
TypeKind::Struct(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Struct",
&__self_0),
TypeKind::EngineStructure(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"EngineStructure", &__self_0),
}
}
}Debug, #[automatically_derived]
impl ::core::clone::Clone for TypeKind {
#[inline]
fn clone(&self) -> TypeKind {
match self {
TypeKind::Void => TypeKind::Void,
TypeKind::Int => TypeKind::Int,
TypeKind::Float => TypeKind::Float,
TypeKind::String => TypeKind::String,
TypeKind::Object => TypeKind::Object,
TypeKind::Vector => TypeKind::Vector,
TypeKind::Struct(__self_0) =>
TypeKind::Struct(::core::clone::Clone::clone(__self_0)),
TypeKind::EngineStructure(__self_0) =>
TypeKind::EngineStructure(::core::clone::Clone::clone(__self_0)),
}
}
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for TypeKind {
#[inline]
fn eq(&self, other: &TypeKind) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr &&
match (self, other) {
(TypeKind::Struct(__self_0), TypeKind::Struct(__arg1_0)) =>
__self_0 == __arg1_0,
(TypeKind::EngineStructure(__self_0),
TypeKind::EngineStructure(__arg1_0)) =>
__self_0 == __arg1_0,
_ => true,
}
}
}PartialEq, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl _serde::Serialize for TypeKind {
fn serialize<__S>(&self, __serializer: __S)
-> _serde::__private228::Result<__S::Ok, __S::Error> where
__S: _serde::Serializer {
match *self {
TypeKind::Void =>
_serde::Serializer::serialize_unit_variant(__serializer,
"TypeKind", 0u32, "Void"),
TypeKind::Int =>
_serde::Serializer::serialize_unit_variant(__serializer,
"TypeKind", 1u32, "Int"),
TypeKind::Float =>
_serde::Serializer::serialize_unit_variant(__serializer,
"TypeKind", 2u32, "Float"),
TypeKind::String =>
_serde::Serializer::serialize_unit_variant(__serializer,
"TypeKind", 3u32, "String"),
TypeKind::Object =>
_serde::Serializer::serialize_unit_variant(__serializer,
"TypeKind", 4u32, "Object"),
TypeKind::Vector =>
_serde::Serializer::serialize_unit_variant(__serializer,
"TypeKind", 5u32, "Vector"),
TypeKind::Struct(ref __field0) =>
_serde::Serializer::serialize_newtype_variant(__serializer,
"TypeKind", 6u32, "Struct", __field0),
TypeKind::EngineStructure(ref __field0) =>
_serde::Serializer::serialize_newtype_variant(__serializer,
"TypeKind", 7u32, "EngineStructure", __field0),
}
}
}
};Serialize, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for TypeKind {
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field {
__field0,
__field1,
__field2,
__field3,
__field4,
__field5,
__field6,
__field7,
}
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"variant identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
2u64 => _serde::__private228::Ok(__Field::__field2),
3u64 => _serde::__private228::Ok(__Field::__field3),
4u64 => _serde::__private228::Ok(__Field::__field4),
5u64 => _serde::__private228::Ok(__Field::__field5),
6u64 => _serde::__private228::Ok(__Field::__field6),
7u64 => _serde::__private228::Ok(__Field::__field7),
_ =>
_serde::__private228::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value),
&"variant index 0 <= i < 8")),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"Void" => _serde::__private228::Ok(__Field::__field0),
"Int" => _serde::__private228::Ok(__Field::__field1),
"Float" => _serde::__private228::Ok(__Field::__field2),
"String" => _serde::__private228::Ok(__Field::__field3),
"Object" => _serde::__private228::Ok(__Field::__field4),
"Vector" => _serde::__private228::Ok(__Field::__field5),
"Struct" => _serde::__private228::Ok(__Field::__field6),
"EngineStructure" =>
_serde::__private228::Ok(__Field::__field7),
_ => {
_serde::__private228::Err(_serde::de::Error::unknown_variant(__value,
VARIANTS))
}
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"Void" => _serde::__private228::Ok(__Field::__field0),
b"Int" => _serde::__private228::Ok(__Field::__field1),
b"Float" => _serde::__private228::Ok(__Field::__field2),
b"String" => _serde::__private228::Ok(__Field::__field3),
b"Object" => _serde::__private228::Ok(__Field::__field4),
b"Vector" => _serde::__private228::Ok(__Field::__field5),
b"Struct" => _serde::__private228::Ok(__Field::__field6),
b"EngineStructure" =>
_serde::__private228::Ok(__Field::__field7),
_ => {
let __value =
&_serde::__private228::from_utf8_lossy(__value);
_serde::__private228::Err(_serde::de::Error::unknown_variant(__value,
VARIANTS))
}
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<TypeKind>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = TypeKind;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"enum TypeKind")
}
fn visit_enum<__A>(self, __data: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::EnumAccess<'de> {
match _serde::de::EnumAccess::variant(__data)? {
(__Field::__field0, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(TypeKind::Void)
}
(__Field::__field1, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(TypeKind::Int)
}
(__Field::__field2, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(TypeKind::Float)
}
(__Field::__field3, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(TypeKind::String)
}
(__Field::__field4, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(TypeKind::Object)
}
(__Field::__field5, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(TypeKind::Vector)
}
(__Field::__field6, __variant) =>
_serde::__private228::Result::map(_serde::de::VariantAccess::newtype_variant::<String>(__variant),
TypeKind::Struct),
(__Field::__field7, __variant) =>
_serde::__private228::Result::map(_serde::de::VariantAccess::newtype_variant::<String>(__variant),
TypeKind::EngineStructure),
}
}
}
#[doc(hidden)]
const VARIANTS: &'static [&'static str] =
&["Void", "Int", "Float", "String", "Object", "Vector",
"Struct", "EngineStructure"];
_serde::Deserializer::deserialize_enum(__deserializer,
"TypeKind", VARIANTS,
__Visitor {
marker: _serde::__private228::PhantomData::<TypeKind>,
lifetime: _serde::__private228::PhantomData,
})
}
}
};Deserialize)]
106pub enum TypeKind {
107 Void,
109 Int,
111 Float,
113 String,
115 Object,
117 Vector,
119 Struct(String),
121 EngineStructure(String),
123}
124
125#[derive(#[automatically_derived]
impl ::core::fmt::Debug for Declaration {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field3_finish(f, "Declaration",
"span", &self.span, "ty", &self.ty, "declarators",
&&self.declarators)
}
}Debug, #[automatically_derived]
impl ::core::clone::Clone for Declaration {
#[inline]
fn clone(&self) -> Declaration {
Declaration {
span: ::core::clone::Clone::clone(&self.span),
ty: ::core::clone::Clone::clone(&self.ty),
declarators: ::core::clone::Clone::clone(&self.declarators),
}
}
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for Declaration {
#[inline]
fn eq(&self, other: &Declaration) -> bool {
self.span == other.span && self.ty == other.ty &&
self.declarators == other.declarators
}
}PartialEq, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl _serde::Serialize for Declaration {
fn serialize<__S>(&self, __serializer: __S)
-> _serde::__private228::Result<__S::Ok, __S::Error> where
__S: _serde::Serializer {
let mut __serde_state =
_serde::Serializer::serialize_struct(__serializer,
"Declaration", false as usize + 1 + 1 + 1)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"span", &self.span)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"ty", &self.ty)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"declarators", &self.declarators)?;
_serde::ser::SerializeStruct::end(__serde_state)
}
}
};Serialize, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for Declaration {
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field { __field0, __field1, __field2, __ignore, }
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"field identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
2u64 => _serde::__private228::Ok(__Field::__field2),
_ => _serde::__private228::Ok(__Field::__ignore),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"span" => _serde::__private228::Ok(__Field::__field0),
"ty" => _serde::__private228::Ok(__Field::__field1),
"declarators" =>
_serde::__private228::Ok(__Field::__field2),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"span" => _serde::__private228::Ok(__Field::__field0),
b"ty" => _serde::__private228::Ok(__Field::__field1),
b"declarators" =>
_serde::__private228::Ok(__Field::__field2),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<Declaration>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = Declaration;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"struct Declaration")
}
#[inline]
fn visit_seq<__A>(self, mut __seq: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::SeqAccess<'de> {
let __field0 =
match _serde::de::SeqAccess::next_element::<Span>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(0usize,
&"struct Declaration with 3 elements")),
};
let __field1 =
match _serde::de::SeqAccess::next_element::<TypeSpec>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(1usize,
&"struct Declaration with 3 elements")),
};
let __field2 =
match _serde::de::SeqAccess::next_element::<Vec<VarDeclarator>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(2usize,
&"struct Declaration with 3 elements")),
};
_serde::__private228::Ok(Declaration {
span: __field0,
ty: __field1,
declarators: __field2,
})
}
#[inline]
fn visit_map<__A>(self, mut __map: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::MapAccess<'de> {
let mut __field0: _serde::__private228::Option<Span> =
_serde::__private228::None;
let mut __field1: _serde::__private228::Option<TypeSpec> =
_serde::__private228::None;
let mut __field2:
_serde::__private228::Option<Vec<VarDeclarator>> =
_serde::__private228::None;
while let _serde::__private228::Some(__key) =
_serde::de::MapAccess::next_key::<__Field>(&mut __map)? {
match __key {
__Field::__field0 => {
if _serde::__private228::Option::is_some(&__field0) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("span"));
}
__field0 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Span>(&mut __map)?);
}
__Field::__field1 => {
if _serde::__private228::Option::is_some(&__field1) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("ty"));
}
__field1 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<TypeSpec>(&mut __map)?);
}
__Field::__field2 => {
if _serde::__private228::Option::is_some(&__field2) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("declarators"));
}
__field2 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Vec<VarDeclarator>>(&mut __map)?);
}
_ => {
let _ =
_serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map)?;
}
}
}
let __field0 =
match __field0 {
_serde::__private228::Some(__field0) => __field0,
_serde::__private228::None =>
_serde::__private228::de::missing_field("span")?,
};
let __field1 =
match __field1 {
_serde::__private228::Some(__field1) => __field1,
_serde::__private228::None =>
_serde::__private228::de::missing_field("ty")?,
};
let __field2 =
match __field2 {
_serde::__private228::Some(__field2) => __field2,
_serde::__private228::None =>
_serde::__private228::de::missing_field("declarators")?,
};
_serde::__private228::Ok(Declaration {
span: __field0,
ty: __field1,
declarators: __field2,
})
}
}
#[doc(hidden)]
const FIELDS: &'static [&'static str] =
&["span", "ty", "declarators"];
_serde::Deserializer::deserialize_struct(__deserializer,
"Declaration", FIELDS,
__Visitor {
marker: _serde::__private228::PhantomData::<Declaration>,
lifetime: _serde::__private228::PhantomData,
})
}
}
};Deserialize)]
127pub struct Declaration {
128 pub span: Span,
130 pub ty: TypeSpec,
132 pub declarators: Vec<VarDeclarator>,
134}
135
136#[derive(#[automatically_derived]
impl ::core::fmt::Debug for VarDeclarator {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field3_finish(f, "VarDeclarator",
"span", &self.span, "name", &self.name, "initializer",
&&self.initializer)
}
}Debug, #[automatically_derived]
impl ::core::clone::Clone for VarDeclarator {
#[inline]
fn clone(&self) -> VarDeclarator {
VarDeclarator {
span: ::core::clone::Clone::clone(&self.span),
name: ::core::clone::Clone::clone(&self.name),
initializer: ::core::clone::Clone::clone(&self.initializer),
}
}
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for VarDeclarator {
#[inline]
fn eq(&self, other: &VarDeclarator) -> bool {
self.span == other.span && self.name == other.name &&
self.initializer == other.initializer
}
}PartialEq, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl _serde::Serialize for VarDeclarator {
fn serialize<__S>(&self, __serializer: __S)
-> _serde::__private228::Result<__S::Ok, __S::Error> where
__S: _serde::Serializer {
let mut __serde_state =
_serde::Serializer::serialize_struct(__serializer,
"VarDeclarator", false as usize + 1 + 1 + 1)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"span", &self.span)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"name", &self.name)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"initializer", &self.initializer)?;
_serde::ser::SerializeStruct::end(__serde_state)
}
}
};Serialize, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for VarDeclarator {
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field { __field0, __field1, __field2, __ignore, }
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"field identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
2u64 => _serde::__private228::Ok(__Field::__field2),
_ => _serde::__private228::Ok(__Field::__ignore),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"span" => _serde::__private228::Ok(__Field::__field0),
"name" => _serde::__private228::Ok(__Field::__field1),
"initializer" =>
_serde::__private228::Ok(__Field::__field2),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"span" => _serde::__private228::Ok(__Field::__field0),
b"name" => _serde::__private228::Ok(__Field::__field1),
b"initializer" =>
_serde::__private228::Ok(__Field::__field2),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<VarDeclarator>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = VarDeclarator;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"struct VarDeclarator")
}
#[inline]
fn visit_seq<__A>(self, mut __seq: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::SeqAccess<'de> {
let __field0 =
match _serde::de::SeqAccess::next_element::<Span>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(0usize,
&"struct VarDeclarator with 3 elements")),
};
let __field1 =
match _serde::de::SeqAccess::next_element::<String>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(1usize,
&"struct VarDeclarator with 3 elements")),
};
let __field2 =
match _serde::de::SeqAccess::next_element::<Option<Expr>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(2usize,
&"struct VarDeclarator with 3 elements")),
};
_serde::__private228::Ok(VarDeclarator {
span: __field0,
name: __field1,
initializer: __field2,
})
}
#[inline]
fn visit_map<__A>(self, mut __map: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::MapAccess<'de> {
let mut __field0: _serde::__private228::Option<Span> =
_serde::__private228::None;
let mut __field1: _serde::__private228::Option<String> =
_serde::__private228::None;
let mut __field2:
_serde::__private228::Option<Option<Expr>> =
_serde::__private228::None;
while let _serde::__private228::Some(__key) =
_serde::de::MapAccess::next_key::<__Field>(&mut __map)? {
match __key {
__Field::__field0 => {
if _serde::__private228::Option::is_some(&__field0) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("span"));
}
__field0 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Span>(&mut __map)?);
}
__Field::__field1 => {
if _serde::__private228::Option::is_some(&__field1) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("name"));
}
__field1 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<String>(&mut __map)?);
}
__Field::__field2 => {
if _serde::__private228::Option::is_some(&__field2) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("initializer"));
}
__field2 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<Expr>>(&mut __map)?);
}
_ => {
let _ =
_serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map)?;
}
}
}
let __field0 =
match __field0 {
_serde::__private228::Some(__field0) => __field0,
_serde::__private228::None =>
_serde::__private228::de::missing_field("span")?,
};
let __field1 =
match __field1 {
_serde::__private228::Some(__field1) => __field1,
_serde::__private228::None =>
_serde::__private228::de::missing_field("name")?,
};
let __field2 =
match __field2 {
_serde::__private228::Some(__field2) => __field2,
_serde::__private228::None =>
_serde::__private228::de::missing_field("initializer")?,
};
_serde::__private228::Ok(VarDeclarator {
span: __field0,
name: __field1,
initializer: __field2,
})
}
}
#[doc(hidden)]
const FIELDS: &'static [&'static str] =
&["span", "name", "initializer"];
_serde::Deserializer::deserialize_struct(__deserializer,
"VarDeclarator", FIELDS,
__Visitor {
marker: _serde::__private228::PhantomData::<VarDeclarator>,
lifetime: _serde::__private228::PhantomData,
})
}
}
};Deserialize)]
138pub struct VarDeclarator {
139 pub span: Span,
141 pub name: String,
143 pub initializer: Option<Expr>,
145}
146
147#[derive(#[automatically_derived]
impl ::core::fmt::Debug for BlockStmt {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field2_finish(f, "BlockStmt",
"span", &self.span, "statements", &&self.statements)
}
}Debug, #[automatically_derived]
impl ::core::clone::Clone for BlockStmt {
#[inline]
fn clone(&self) -> BlockStmt {
BlockStmt {
span: ::core::clone::Clone::clone(&self.span),
statements: ::core::clone::Clone::clone(&self.statements),
}
}
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for BlockStmt {
#[inline]
fn eq(&self, other: &BlockStmt) -> bool {
self.span == other.span && self.statements == other.statements
}
}PartialEq, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl _serde::Serialize for BlockStmt {
fn serialize<__S>(&self, __serializer: __S)
-> _serde::__private228::Result<__S::Ok, __S::Error> where
__S: _serde::Serializer {
let mut __serde_state =
_serde::Serializer::serialize_struct(__serializer,
"BlockStmt", false as usize + 1 + 1)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"span", &self.span)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"statements", &self.statements)?;
_serde::ser::SerializeStruct::end(__serde_state)
}
}
};Serialize, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for BlockStmt {
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field { __field0, __field1, __ignore, }
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"field identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
_ => _serde::__private228::Ok(__Field::__ignore),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"span" => _serde::__private228::Ok(__Field::__field0),
"statements" => _serde::__private228::Ok(__Field::__field1),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"span" => _serde::__private228::Ok(__Field::__field0),
b"statements" =>
_serde::__private228::Ok(__Field::__field1),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<BlockStmt>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = BlockStmt;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"struct BlockStmt")
}
#[inline]
fn visit_seq<__A>(self, mut __seq: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::SeqAccess<'de> {
let __field0 =
match _serde::de::SeqAccess::next_element::<Span>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(0usize,
&"struct BlockStmt with 2 elements")),
};
let __field1 =
match _serde::de::SeqAccess::next_element::<Vec<Stmt>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(1usize,
&"struct BlockStmt with 2 elements")),
};
_serde::__private228::Ok(BlockStmt {
span: __field0,
statements: __field1,
})
}
#[inline]
fn visit_map<__A>(self, mut __map: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::MapAccess<'de> {
let mut __field0: _serde::__private228::Option<Span> =
_serde::__private228::None;
let mut __field1: _serde::__private228::Option<Vec<Stmt>> =
_serde::__private228::None;
while let _serde::__private228::Some(__key) =
_serde::de::MapAccess::next_key::<__Field>(&mut __map)? {
match __key {
__Field::__field0 => {
if _serde::__private228::Option::is_some(&__field0) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("span"));
}
__field0 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Span>(&mut __map)?);
}
__Field::__field1 => {
if _serde::__private228::Option::is_some(&__field1) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("statements"));
}
__field1 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Vec<Stmt>>(&mut __map)?);
}
_ => {
let _ =
_serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map)?;
}
}
}
let __field0 =
match __field0 {
_serde::__private228::Some(__field0) => __field0,
_serde::__private228::None =>
_serde::__private228::de::missing_field("span")?,
};
let __field1 =
match __field1 {
_serde::__private228::Some(__field1) => __field1,
_serde::__private228::None =>
_serde::__private228::de::missing_field("statements")?,
};
_serde::__private228::Ok(BlockStmt {
span: __field0,
statements: __field1,
})
}
}
#[doc(hidden)]
const FIELDS: &'static [&'static str] =
&["span", "statements"];
_serde::Deserializer::deserialize_struct(__deserializer,
"BlockStmt", FIELDS,
__Visitor {
marker: _serde::__private228::PhantomData::<BlockStmt>,
lifetime: _serde::__private228::PhantomData,
})
}
}
};Deserialize)]
149pub struct BlockStmt {
150 pub span: Span,
152 pub statements: Vec<Stmt>,
154}
155
156#[derive(#[automatically_derived]
impl ::core::fmt::Debug for Stmt {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
match self {
Stmt::Block(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Block",
&__self_0),
Stmt::Declaration(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"Declaration", &__self_0),
Stmt::Expression(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"Expression", &__self_0),
Stmt::If(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "If",
&__self_0),
Stmt::Switch(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Switch",
&__self_0),
Stmt::Return(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Return",
&__self_0),
Stmt::While(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "While",
&__self_0),
Stmt::DoWhile(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"DoWhile", &__self_0),
Stmt::For(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "For",
&__self_0),
Stmt::Case(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Case",
&__self_0),
Stmt::Default(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"Default", &__self_0),
Stmt::Break(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Break",
&__self_0),
Stmt::Continue(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"Continue", &__self_0),
Stmt::Empty(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Empty",
&__self_0),
}
}
}Debug, #[automatically_derived]
impl ::core::clone::Clone for Stmt {
#[inline]
fn clone(&self) -> Stmt {
match self {
Stmt::Block(__self_0) =>
Stmt::Block(::core::clone::Clone::clone(__self_0)),
Stmt::Declaration(__self_0) =>
Stmt::Declaration(::core::clone::Clone::clone(__self_0)),
Stmt::Expression(__self_0) =>
Stmt::Expression(::core::clone::Clone::clone(__self_0)),
Stmt::If(__self_0) =>
Stmt::If(::core::clone::Clone::clone(__self_0)),
Stmt::Switch(__self_0) =>
Stmt::Switch(::core::clone::Clone::clone(__self_0)),
Stmt::Return(__self_0) =>
Stmt::Return(::core::clone::Clone::clone(__self_0)),
Stmt::While(__self_0) =>
Stmt::While(::core::clone::Clone::clone(__self_0)),
Stmt::DoWhile(__self_0) =>
Stmt::DoWhile(::core::clone::Clone::clone(__self_0)),
Stmt::For(__self_0) =>
Stmt::For(::core::clone::Clone::clone(__self_0)),
Stmt::Case(__self_0) =>
Stmt::Case(::core::clone::Clone::clone(__self_0)),
Stmt::Default(__self_0) =>
Stmt::Default(::core::clone::Clone::clone(__self_0)),
Stmt::Break(__self_0) =>
Stmt::Break(::core::clone::Clone::clone(__self_0)),
Stmt::Continue(__self_0) =>
Stmt::Continue(::core::clone::Clone::clone(__self_0)),
Stmt::Empty(__self_0) =>
Stmt::Empty(::core::clone::Clone::clone(__self_0)),
}
}
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for Stmt {
#[inline]
fn eq(&self, other: &Stmt) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr &&
match (self, other) {
(Stmt::Block(__self_0), Stmt::Block(__arg1_0)) =>
__self_0 == __arg1_0,
(Stmt::Declaration(__self_0), Stmt::Declaration(__arg1_0)) =>
__self_0 == __arg1_0,
(Stmt::Expression(__self_0), Stmt::Expression(__arg1_0)) =>
__self_0 == __arg1_0,
(Stmt::If(__self_0), Stmt::If(__arg1_0)) =>
__self_0 == __arg1_0,
(Stmt::Switch(__self_0), Stmt::Switch(__arg1_0)) =>
__self_0 == __arg1_0,
(Stmt::Return(__self_0), Stmt::Return(__arg1_0)) =>
__self_0 == __arg1_0,
(Stmt::While(__self_0), Stmt::While(__arg1_0)) =>
__self_0 == __arg1_0,
(Stmt::DoWhile(__self_0), Stmt::DoWhile(__arg1_0)) =>
__self_0 == __arg1_0,
(Stmt::For(__self_0), Stmt::For(__arg1_0)) =>
__self_0 == __arg1_0,
(Stmt::Case(__self_0), Stmt::Case(__arg1_0)) =>
__self_0 == __arg1_0,
(Stmt::Default(__self_0), Stmt::Default(__arg1_0)) =>
__self_0 == __arg1_0,
(Stmt::Break(__self_0), Stmt::Break(__arg1_0)) =>
__self_0 == __arg1_0,
(Stmt::Continue(__self_0), Stmt::Continue(__arg1_0)) =>
__self_0 == __arg1_0,
(Stmt::Empty(__self_0), Stmt::Empty(__arg1_0)) =>
__self_0 == __arg1_0,
_ => unsafe { ::core::intrinsics::unreachable() }
}
}
}PartialEq, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl _serde::Serialize for Stmt {
fn serialize<__S>(&self, __serializer: __S)
-> _serde::__private228::Result<__S::Ok, __S::Error> where
__S: _serde::Serializer {
match *self {
Stmt::Block(ref __field0) =>
_serde::Serializer::serialize_newtype_variant(__serializer,
"Stmt", 0u32, "Block", __field0),
Stmt::Declaration(ref __field0) =>
_serde::Serializer::serialize_newtype_variant(__serializer,
"Stmt", 1u32, "Declaration", __field0),
Stmt::Expression(ref __field0) =>
_serde::Serializer::serialize_newtype_variant(__serializer,
"Stmt", 2u32, "Expression", __field0),
Stmt::If(ref __field0) =>
_serde::Serializer::serialize_newtype_variant(__serializer,
"Stmt", 3u32, "If", __field0),
Stmt::Switch(ref __field0) =>
_serde::Serializer::serialize_newtype_variant(__serializer,
"Stmt", 4u32, "Switch", __field0),
Stmt::Return(ref __field0) =>
_serde::Serializer::serialize_newtype_variant(__serializer,
"Stmt", 5u32, "Return", __field0),
Stmt::While(ref __field0) =>
_serde::Serializer::serialize_newtype_variant(__serializer,
"Stmt", 6u32, "While", __field0),
Stmt::DoWhile(ref __field0) =>
_serde::Serializer::serialize_newtype_variant(__serializer,
"Stmt", 7u32, "DoWhile", __field0),
Stmt::For(ref __field0) =>
_serde::Serializer::serialize_newtype_variant(__serializer,
"Stmt", 8u32, "For", __field0),
Stmt::Case(ref __field0) =>
_serde::Serializer::serialize_newtype_variant(__serializer,
"Stmt", 9u32, "Case", __field0),
Stmt::Default(ref __field0) =>
_serde::Serializer::serialize_newtype_variant(__serializer,
"Stmt", 10u32, "Default", __field0),
Stmt::Break(ref __field0) =>
_serde::Serializer::serialize_newtype_variant(__serializer,
"Stmt", 11u32, "Break", __field0),
Stmt::Continue(ref __field0) =>
_serde::Serializer::serialize_newtype_variant(__serializer,
"Stmt", 12u32, "Continue", __field0),
Stmt::Empty(ref __field0) =>
_serde::Serializer::serialize_newtype_variant(__serializer,
"Stmt", 13u32, "Empty", __field0),
}
}
}
};Serialize, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for Stmt {
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field {
__field0,
__field1,
__field2,
__field3,
__field4,
__field5,
__field6,
__field7,
__field8,
__field9,
__field10,
__field11,
__field12,
__field13,
}
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"variant identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
2u64 => _serde::__private228::Ok(__Field::__field2),
3u64 => _serde::__private228::Ok(__Field::__field3),
4u64 => _serde::__private228::Ok(__Field::__field4),
5u64 => _serde::__private228::Ok(__Field::__field5),
6u64 => _serde::__private228::Ok(__Field::__field6),
7u64 => _serde::__private228::Ok(__Field::__field7),
8u64 => _serde::__private228::Ok(__Field::__field8),
9u64 => _serde::__private228::Ok(__Field::__field9),
10u64 => _serde::__private228::Ok(__Field::__field10),
11u64 => _serde::__private228::Ok(__Field::__field11),
12u64 => _serde::__private228::Ok(__Field::__field12),
13u64 => _serde::__private228::Ok(__Field::__field13),
_ =>
_serde::__private228::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value),
&"variant index 0 <= i < 14")),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"Block" => _serde::__private228::Ok(__Field::__field0),
"Declaration" =>
_serde::__private228::Ok(__Field::__field1),
"Expression" => _serde::__private228::Ok(__Field::__field2),
"If" => _serde::__private228::Ok(__Field::__field3),
"Switch" => _serde::__private228::Ok(__Field::__field4),
"Return" => _serde::__private228::Ok(__Field::__field5),
"While" => _serde::__private228::Ok(__Field::__field6),
"DoWhile" => _serde::__private228::Ok(__Field::__field7),
"For" => _serde::__private228::Ok(__Field::__field8),
"Case" => _serde::__private228::Ok(__Field::__field9),
"Default" => _serde::__private228::Ok(__Field::__field10),
"Break" => _serde::__private228::Ok(__Field::__field11),
"Continue" => _serde::__private228::Ok(__Field::__field12),
"Empty" => _serde::__private228::Ok(__Field::__field13),
_ => {
_serde::__private228::Err(_serde::de::Error::unknown_variant(__value,
VARIANTS))
}
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"Block" => _serde::__private228::Ok(__Field::__field0),
b"Declaration" =>
_serde::__private228::Ok(__Field::__field1),
b"Expression" =>
_serde::__private228::Ok(__Field::__field2),
b"If" => _serde::__private228::Ok(__Field::__field3),
b"Switch" => _serde::__private228::Ok(__Field::__field4),
b"Return" => _serde::__private228::Ok(__Field::__field5),
b"While" => _serde::__private228::Ok(__Field::__field6),
b"DoWhile" => _serde::__private228::Ok(__Field::__field7),
b"For" => _serde::__private228::Ok(__Field::__field8),
b"Case" => _serde::__private228::Ok(__Field::__field9),
b"Default" => _serde::__private228::Ok(__Field::__field10),
b"Break" => _serde::__private228::Ok(__Field::__field11),
b"Continue" => _serde::__private228::Ok(__Field::__field12),
b"Empty" => _serde::__private228::Ok(__Field::__field13),
_ => {
let __value =
&_serde::__private228::from_utf8_lossy(__value);
_serde::__private228::Err(_serde::de::Error::unknown_variant(__value,
VARIANTS))
}
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<Stmt>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = Stmt;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"enum Stmt")
}
fn visit_enum<__A>(self, __data: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::EnumAccess<'de> {
match _serde::de::EnumAccess::variant(__data)? {
(__Field::__field0, __variant) =>
_serde::__private228::Result::map(_serde::de::VariantAccess::newtype_variant::<BlockStmt>(__variant),
Stmt::Block),
(__Field::__field1, __variant) =>
_serde::__private228::Result::map(_serde::de::VariantAccess::newtype_variant::<Declaration>(__variant),
Stmt::Declaration),
(__Field::__field2, __variant) =>
_serde::__private228::Result::map(_serde::de::VariantAccess::newtype_variant::<ExpressionStmt>(__variant),
Stmt::Expression),
(__Field::__field3, __variant) =>
_serde::__private228::Result::map(_serde::de::VariantAccess::newtype_variant::<IfStmt>(__variant),
Stmt::If),
(__Field::__field4, __variant) =>
_serde::__private228::Result::map(_serde::de::VariantAccess::newtype_variant::<SwitchStmt>(__variant),
Stmt::Switch),
(__Field::__field5, __variant) =>
_serde::__private228::Result::map(_serde::de::VariantAccess::newtype_variant::<ReturnStmt>(__variant),
Stmt::Return),
(__Field::__field6, __variant) =>
_serde::__private228::Result::map(_serde::de::VariantAccess::newtype_variant::<WhileStmt>(__variant),
Stmt::While),
(__Field::__field7, __variant) =>
_serde::__private228::Result::map(_serde::de::VariantAccess::newtype_variant::<DoWhileStmt>(__variant),
Stmt::DoWhile),
(__Field::__field8, __variant) =>
_serde::__private228::Result::map(_serde::de::VariantAccess::newtype_variant::<ForStmt>(__variant),
Stmt::For),
(__Field::__field9, __variant) =>
_serde::__private228::Result::map(_serde::de::VariantAccess::newtype_variant::<CaseStmt>(__variant),
Stmt::Case),
(__Field::__field10, __variant) =>
_serde::__private228::Result::map(_serde::de::VariantAccess::newtype_variant::<DefaultStmt>(__variant),
Stmt::Default),
(__Field::__field11, __variant) =>
_serde::__private228::Result::map(_serde::de::VariantAccess::newtype_variant::<SimpleStmt>(__variant),
Stmt::Break),
(__Field::__field12, __variant) =>
_serde::__private228::Result::map(_serde::de::VariantAccess::newtype_variant::<SimpleStmt>(__variant),
Stmt::Continue),
(__Field::__field13, __variant) =>
_serde::__private228::Result::map(_serde::de::VariantAccess::newtype_variant::<SimpleStmt>(__variant),
Stmt::Empty),
}
}
}
#[doc(hidden)]
const VARIANTS: &'static [&'static str] =
&["Block", "Declaration", "Expression", "If", "Switch",
"Return", "While", "DoWhile", "For", "Case", "Default",
"Break", "Continue", "Empty"];
_serde::Deserializer::deserialize_enum(__deserializer, "Stmt",
VARIANTS,
__Visitor {
marker: _serde::__private228::PhantomData::<Stmt>,
lifetime: _serde::__private228::PhantomData,
})
}
}
};Deserialize)]
158pub enum Stmt {
159 Block(BlockStmt),
161 Declaration(Declaration),
163 Expression(ExpressionStmt),
165 If(IfStmt),
167 Switch(SwitchStmt),
169 Return(ReturnStmt),
171 While(WhileStmt),
173 DoWhile(DoWhileStmt),
175 For(ForStmt),
177 Case(CaseStmt),
179 Default(DefaultStmt),
181 Break(SimpleStmt),
183 Continue(SimpleStmt),
185 Empty(SimpleStmt),
187}
188
189#[derive(#[automatically_derived]
impl ::core::fmt::Debug for SimpleStmt {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field1_finish(f, "SimpleStmt",
"span", &&self.span)
}
}Debug, #[automatically_derived]
impl ::core::clone::Clone for SimpleStmt {
#[inline]
fn clone(&self) -> SimpleStmt {
SimpleStmt { span: ::core::clone::Clone::clone(&self.span) }
}
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for SimpleStmt {
#[inline]
fn eq(&self, other: &SimpleStmt) -> bool { self.span == other.span }
}PartialEq, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl _serde::Serialize for SimpleStmt {
fn serialize<__S>(&self, __serializer: __S)
-> _serde::__private228::Result<__S::Ok, __S::Error> where
__S: _serde::Serializer {
let mut __serde_state =
_serde::Serializer::serialize_struct(__serializer,
"SimpleStmt", false as usize + 1)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"span", &self.span)?;
_serde::ser::SerializeStruct::end(__serde_state)
}
}
};Serialize, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for SimpleStmt {
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field { __field0, __ignore, }
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"field identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
_ => _serde::__private228::Ok(__Field::__ignore),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"span" => _serde::__private228::Ok(__Field::__field0),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"span" => _serde::__private228::Ok(__Field::__field0),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<SimpleStmt>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = SimpleStmt;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"struct SimpleStmt")
}
#[inline]
fn visit_seq<__A>(self, mut __seq: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::SeqAccess<'de> {
let __field0 =
match _serde::de::SeqAccess::next_element::<Span>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(0usize,
&"struct SimpleStmt with 1 element")),
};
_serde::__private228::Ok(SimpleStmt { span: __field0 })
}
#[inline]
fn visit_map<__A>(self, mut __map: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::MapAccess<'de> {
let mut __field0: _serde::__private228::Option<Span> =
_serde::__private228::None;
while let _serde::__private228::Some(__key) =
_serde::de::MapAccess::next_key::<__Field>(&mut __map)? {
match __key {
__Field::__field0 => {
if _serde::__private228::Option::is_some(&__field0) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("span"));
}
__field0 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Span>(&mut __map)?);
}
_ => {
let _ =
_serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map)?;
}
}
}
let __field0 =
match __field0 {
_serde::__private228::Some(__field0) => __field0,
_serde::__private228::None =>
_serde::__private228::de::missing_field("span")?,
};
_serde::__private228::Ok(SimpleStmt { span: __field0 })
}
}
#[doc(hidden)]
const FIELDS: &'static [&'static str] = &["span"];
_serde::Deserializer::deserialize_struct(__deserializer,
"SimpleStmt", FIELDS,
__Visitor {
marker: _serde::__private228::PhantomData::<SimpleStmt>,
lifetime: _serde::__private228::PhantomData,
})
}
}
};Deserialize)]
191pub struct SimpleStmt {
192 pub span: Span,
194}
195
196#[derive(#[automatically_derived]
impl ::core::fmt::Debug for ExpressionStmt {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field2_finish(f,
"ExpressionStmt", "span", &self.span, "expr", &&self.expr)
}
}Debug, #[automatically_derived]
impl ::core::clone::Clone for ExpressionStmt {
#[inline]
fn clone(&self) -> ExpressionStmt {
ExpressionStmt {
span: ::core::clone::Clone::clone(&self.span),
expr: ::core::clone::Clone::clone(&self.expr),
}
}
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for ExpressionStmt {
#[inline]
fn eq(&self, other: &ExpressionStmt) -> bool {
self.span == other.span && self.expr == other.expr
}
}PartialEq, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl _serde::Serialize for ExpressionStmt {
fn serialize<__S>(&self, __serializer: __S)
-> _serde::__private228::Result<__S::Ok, __S::Error> where
__S: _serde::Serializer {
let mut __serde_state =
_serde::Serializer::serialize_struct(__serializer,
"ExpressionStmt", false as usize + 1 + 1)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"span", &self.span)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"expr", &self.expr)?;
_serde::ser::SerializeStruct::end(__serde_state)
}
}
};Serialize, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for ExpressionStmt {
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field { __field0, __field1, __ignore, }
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"field identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
_ => _serde::__private228::Ok(__Field::__ignore),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"span" => _serde::__private228::Ok(__Field::__field0),
"expr" => _serde::__private228::Ok(__Field::__field1),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"span" => _serde::__private228::Ok(__Field::__field0),
b"expr" => _serde::__private228::Ok(__Field::__field1),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<ExpressionStmt>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = ExpressionStmt;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"struct ExpressionStmt")
}
#[inline]
fn visit_seq<__A>(self, mut __seq: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::SeqAccess<'de> {
let __field0 =
match _serde::de::SeqAccess::next_element::<Span>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(0usize,
&"struct ExpressionStmt with 2 elements")),
};
let __field1 =
match _serde::de::SeqAccess::next_element::<Expr>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(1usize,
&"struct ExpressionStmt with 2 elements")),
};
_serde::__private228::Ok(ExpressionStmt {
span: __field0,
expr: __field1,
})
}
#[inline]
fn visit_map<__A>(self, mut __map: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::MapAccess<'de> {
let mut __field0: _serde::__private228::Option<Span> =
_serde::__private228::None;
let mut __field1: _serde::__private228::Option<Expr> =
_serde::__private228::None;
while let _serde::__private228::Some(__key) =
_serde::de::MapAccess::next_key::<__Field>(&mut __map)? {
match __key {
__Field::__field0 => {
if _serde::__private228::Option::is_some(&__field0) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("span"));
}
__field0 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Span>(&mut __map)?);
}
__Field::__field1 => {
if _serde::__private228::Option::is_some(&__field1) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("expr"));
}
__field1 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Expr>(&mut __map)?);
}
_ => {
let _ =
_serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map)?;
}
}
}
let __field0 =
match __field0 {
_serde::__private228::Some(__field0) => __field0,
_serde::__private228::None =>
_serde::__private228::de::missing_field("span")?,
};
let __field1 =
match __field1 {
_serde::__private228::Some(__field1) => __field1,
_serde::__private228::None =>
_serde::__private228::de::missing_field("expr")?,
};
_serde::__private228::Ok(ExpressionStmt {
span: __field0,
expr: __field1,
})
}
}
#[doc(hidden)]
const FIELDS: &'static [&'static str] = &["span", "expr"];
_serde::Deserializer::deserialize_struct(__deserializer,
"ExpressionStmt", FIELDS,
__Visitor {
marker: _serde::__private228::PhantomData::<ExpressionStmt>,
lifetime: _serde::__private228::PhantomData,
})
}
}
};Deserialize)]
198pub struct ExpressionStmt {
199 pub span: Span,
201 pub expr: Expr,
203}
204
205#[derive(#[automatically_derived]
impl ::core::fmt::Debug for IfStmt {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field4_finish(f, "IfStmt",
"span", &self.span, "condition", &self.condition, "then_branch",
&self.then_branch, "else_branch", &&self.else_branch)
}
}Debug, #[automatically_derived]
impl ::core::clone::Clone for IfStmt {
#[inline]
fn clone(&self) -> IfStmt {
IfStmt {
span: ::core::clone::Clone::clone(&self.span),
condition: ::core::clone::Clone::clone(&self.condition),
then_branch: ::core::clone::Clone::clone(&self.then_branch),
else_branch: ::core::clone::Clone::clone(&self.else_branch),
}
}
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for IfStmt {
#[inline]
fn eq(&self, other: &IfStmt) -> bool {
self.span == other.span && self.condition == other.condition &&
self.then_branch == other.then_branch &&
self.else_branch == other.else_branch
}
}PartialEq, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl _serde::Serialize for IfStmt {
fn serialize<__S>(&self, __serializer: __S)
-> _serde::__private228::Result<__S::Ok, __S::Error> where
__S: _serde::Serializer {
let mut __serde_state =
_serde::Serializer::serialize_struct(__serializer, "IfStmt",
false as usize + 1 + 1 + 1 + 1)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"span", &self.span)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"condition", &self.condition)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"then_branch", &self.then_branch)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"else_branch", &self.else_branch)?;
_serde::ser::SerializeStruct::end(__serde_state)
}
}
};Serialize, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for IfStmt {
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field {
__field0,
__field1,
__field2,
__field3,
__ignore,
}
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"field identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
2u64 => _serde::__private228::Ok(__Field::__field2),
3u64 => _serde::__private228::Ok(__Field::__field3),
_ => _serde::__private228::Ok(__Field::__ignore),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"span" => _serde::__private228::Ok(__Field::__field0),
"condition" => _serde::__private228::Ok(__Field::__field1),
"then_branch" =>
_serde::__private228::Ok(__Field::__field2),
"else_branch" =>
_serde::__private228::Ok(__Field::__field3),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"span" => _serde::__private228::Ok(__Field::__field0),
b"condition" => _serde::__private228::Ok(__Field::__field1),
b"then_branch" =>
_serde::__private228::Ok(__Field::__field2),
b"else_branch" =>
_serde::__private228::Ok(__Field::__field3),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<IfStmt>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = IfStmt;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"struct IfStmt")
}
#[inline]
fn visit_seq<__A>(self, mut __seq: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::SeqAccess<'de> {
let __field0 =
match _serde::de::SeqAccess::next_element::<Span>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(0usize,
&"struct IfStmt with 4 elements")),
};
let __field1 =
match _serde::de::SeqAccess::next_element::<Expr>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(1usize,
&"struct IfStmt with 4 elements")),
};
let __field2 =
match _serde::de::SeqAccess::next_element::<Box<Stmt>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(2usize,
&"struct IfStmt with 4 elements")),
};
let __field3 =
match _serde::de::SeqAccess::next_element::<Option<Box<Stmt>>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(3usize,
&"struct IfStmt with 4 elements")),
};
_serde::__private228::Ok(IfStmt {
span: __field0,
condition: __field1,
then_branch: __field2,
else_branch: __field3,
})
}
#[inline]
fn visit_map<__A>(self, mut __map: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::MapAccess<'de> {
let mut __field0: _serde::__private228::Option<Span> =
_serde::__private228::None;
let mut __field1: _serde::__private228::Option<Expr> =
_serde::__private228::None;
let mut __field2: _serde::__private228::Option<Box<Stmt>> =
_serde::__private228::None;
let mut __field3:
_serde::__private228::Option<Option<Box<Stmt>>> =
_serde::__private228::None;
while let _serde::__private228::Some(__key) =
_serde::de::MapAccess::next_key::<__Field>(&mut __map)? {
match __key {
__Field::__field0 => {
if _serde::__private228::Option::is_some(&__field0) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("span"));
}
__field0 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Span>(&mut __map)?);
}
__Field::__field1 => {
if _serde::__private228::Option::is_some(&__field1) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("condition"));
}
__field1 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Expr>(&mut __map)?);
}
__Field::__field2 => {
if _serde::__private228::Option::is_some(&__field2) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("then_branch"));
}
__field2 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Box<Stmt>>(&mut __map)?);
}
__Field::__field3 => {
if _serde::__private228::Option::is_some(&__field3) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("else_branch"));
}
__field3 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<Box<Stmt>>>(&mut __map)?);
}
_ => {
let _ =
_serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map)?;
}
}
}
let __field0 =
match __field0 {
_serde::__private228::Some(__field0) => __field0,
_serde::__private228::None =>
_serde::__private228::de::missing_field("span")?,
};
let __field1 =
match __field1 {
_serde::__private228::Some(__field1) => __field1,
_serde::__private228::None =>
_serde::__private228::de::missing_field("condition")?,
};
let __field2 =
match __field2 {
_serde::__private228::Some(__field2) => __field2,
_serde::__private228::None =>
_serde::__private228::de::missing_field("then_branch")?,
};
let __field3 =
match __field3 {
_serde::__private228::Some(__field3) => __field3,
_serde::__private228::None =>
_serde::__private228::de::missing_field("else_branch")?,
};
_serde::__private228::Ok(IfStmt {
span: __field0,
condition: __field1,
then_branch: __field2,
else_branch: __field3,
})
}
}
#[doc(hidden)]
const FIELDS: &'static [&'static str] =
&["span", "condition", "then_branch", "else_branch"];
_serde::Deserializer::deserialize_struct(__deserializer,
"IfStmt", FIELDS,
__Visitor {
marker: _serde::__private228::PhantomData::<IfStmt>,
lifetime: _serde::__private228::PhantomData,
})
}
}
};Deserialize)]
207pub struct IfStmt {
208 pub span: Span,
210 pub condition: Expr,
212 pub then_branch: Box<Stmt>,
214 pub else_branch: Option<Box<Stmt>>,
216}
217
218#[derive(#[automatically_derived]
impl ::core::fmt::Debug for SwitchStmt {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field3_finish(f, "SwitchStmt",
"span", &self.span, "condition", &self.condition, "body",
&&self.body)
}
}Debug, #[automatically_derived]
impl ::core::clone::Clone for SwitchStmt {
#[inline]
fn clone(&self) -> SwitchStmt {
SwitchStmt {
span: ::core::clone::Clone::clone(&self.span),
condition: ::core::clone::Clone::clone(&self.condition),
body: ::core::clone::Clone::clone(&self.body),
}
}
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for SwitchStmt {
#[inline]
fn eq(&self, other: &SwitchStmt) -> bool {
self.span == other.span && self.condition == other.condition &&
self.body == other.body
}
}PartialEq, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl _serde::Serialize for SwitchStmt {
fn serialize<__S>(&self, __serializer: __S)
-> _serde::__private228::Result<__S::Ok, __S::Error> where
__S: _serde::Serializer {
let mut __serde_state =
_serde::Serializer::serialize_struct(__serializer,
"SwitchStmt", false as usize + 1 + 1 + 1)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"span", &self.span)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"condition", &self.condition)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"body", &self.body)?;
_serde::ser::SerializeStruct::end(__serde_state)
}
}
};Serialize, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for SwitchStmt {
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field { __field0, __field1, __field2, __ignore, }
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"field identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
2u64 => _serde::__private228::Ok(__Field::__field2),
_ => _serde::__private228::Ok(__Field::__ignore),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"span" => _serde::__private228::Ok(__Field::__field0),
"condition" => _serde::__private228::Ok(__Field::__field1),
"body" => _serde::__private228::Ok(__Field::__field2),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"span" => _serde::__private228::Ok(__Field::__field0),
b"condition" => _serde::__private228::Ok(__Field::__field1),
b"body" => _serde::__private228::Ok(__Field::__field2),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<SwitchStmt>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = SwitchStmt;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"struct SwitchStmt")
}
#[inline]
fn visit_seq<__A>(self, mut __seq: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::SeqAccess<'de> {
let __field0 =
match _serde::de::SeqAccess::next_element::<Span>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(0usize,
&"struct SwitchStmt with 3 elements")),
};
let __field1 =
match _serde::de::SeqAccess::next_element::<Expr>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(1usize,
&"struct SwitchStmt with 3 elements")),
};
let __field2 =
match _serde::de::SeqAccess::next_element::<Box<Stmt>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(2usize,
&"struct SwitchStmt with 3 elements")),
};
_serde::__private228::Ok(SwitchStmt {
span: __field0,
condition: __field1,
body: __field2,
})
}
#[inline]
fn visit_map<__A>(self, mut __map: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::MapAccess<'de> {
let mut __field0: _serde::__private228::Option<Span> =
_serde::__private228::None;
let mut __field1: _serde::__private228::Option<Expr> =
_serde::__private228::None;
let mut __field2: _serde::__private228::Option<Box<Stmt>> =
_serde::__private228::None;
while let _serde::__private228::Some(__key) =
_serde::de::MapAccess::next_key::<__Field>(&mut __map)? {
match __key {
__Field::__field0 => {
if _serde::__private228::Option::is_some(&__field0) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("span"));
}
__field0 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Span>(&mut __map)?);
}
__Field::__field1 => {
if _serde::__private228::Option::is_some(&__field1) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("condition"));
}
__field1 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Expr>(&mut __map)?);
}
__Field::__field2 => {
if _serde::__private228::Option::is_some(&__field2) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("body"));
}
__field2 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Box<Stmt>>(&mut __map)?);
}
_ => {
let _ =
_serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map)?;
}
}
}
let __field0 =
match __field0 {
_serde::__private228::Some(__field0) => __field0,
_serde::__private228::None =>
_serde::__private228::de::missing_field("span")?,
};
let __field1 =
match __field1 {
_serde::__private228::Some(__field1) => __field1,
_serde::__private228::None =>
_serde::__private228::de::missing_field("condition")?,
};
let __field2 =
match __field2 {
_serde::__private228::Some(__field2) => __field2,
_serde::__private228::None =>
_serde::__private228::de::missing_field("body")?,
};
_serde::__private228::Ok(SwitchStmt {
span: __field0,
condition: __field1,
body: __field2,
})
}
}
#[doc(hidden)]
const FIELDS: &'static [&'static str] =
&["span", "condition", "body"];
_serde::Deserializer::deserialize_struct(__deserializer,
"SwitchStmt", FIELDS,
__Visitor {
marker: _serde::__private228::PhantomData::<SwitchStmt>,
lifetime: _serde::__private228::PhantomData,
})
}
}
};Deserialize)]
220pub struct SwitchStmt {
221 pub span: Span,
223 pub condition: Expr,
225 pub body: Box<Stmt>,
227}
228
229#[derive(#[automatically_derived]
impl ::core::fmt::Debug for ReturnStmt {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field2_finish(f, "ReturnStmt",
"span", &self.span, "value", &&self.value)
}
}Debug, #[automatically_derived]
impl ::core::clone::Clone for ReturnStmt {
#[inline]
fn clone(&self) -> ReturnStmt {
ReturnStmt {
span: ::core::clone::Clone::clone(&self.span),
value: ::core::clone::Clone::clone(&self.value),
}
}
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for ReturnStmt {
#[inline]
fn eq(&self, other: &ReturnStmt) -> bool {
self.span == other.span && self.value == other.value
}
}PartialEq, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl _serde::Serialize for ReturnStmt {
fn serialize<__S>(&self, __serializer: __S)
-> _serde::__private228::Result<__S::Ok, __S::Error> where
__S: _serde::Serializer {
let mut __serde_state =
_serde::Serializer::serialize_struct(__serializer,
"ReturnStmt", false as usize + 1 + 1)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"span", &self.span)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"value", &self.value)?;
_serde::ser::SerializeStruct::end(__serde_state)
}
}
};Serialize, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for ReturnStmt {
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field { __field0, __field1, __ignore, }
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"field identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
_ => _serde::__private228::Ok(__Field::__ignore),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"span" => _serde::__private228::Ok(__Field::__field0),
"value" => _serde::__private228::Ok(__Field::__field1),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"span" => _serde::__private228::Ok(__Field::__field0),
b"value" => _serde::__private228::Ok(__Field::__field1),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<ReturnStmt>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = ReturnStmt;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"struct ReturnStmt")
}
#[inline]
fn visit_seq<__A>(self, mut __seq: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::SeqAccess<'de> {
let __field0 =
match _serde::de::SeqAccess::next_element::<Span>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(0usize,
&"struct ReturnStmt with 2 elements")),
};
let __field1 =
match _serde::de::SeqAccess::next_element::<Option<Expr>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(1usize,
&"struct ReturnStmt with 2 elements")),
};
_serde::__private228::Ok(ReturnStmt {
span: __field0,
value: __field1,
})
}
#[inline]
fn visit_map<__A>(self, mut __map: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::MapAccess<'de> {
let mut __field0: _serde::__private228::Option<Span> =
_serde::__private228::None;
let mut __field1:
_serde::__private228::Option<Option<Expr>> =
_serde::__private228::None;
while let _serde::__private228::Some(__key) =
_serde::de::MapAccess::next_key::<__Field>(&mut __map)? {
match __key {
__Field::__field0 => {
if _serde::__private228::Option::is_some(&__field0) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("span"));
}
__field0 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Span>(&mut __map)?);
}
__Field::__field1 => {
if _serde::__private228::Option::is_some(&__field1) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("value"));
}
__field1 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<Expr>>(&mut __map)?);
}
_ => {
let _ =
_serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map)?;
}
}
}
let __field0 =
match __field0 {
_serde::__private228::Some(__field0) => __field0,
_serde::__private228::None =>
_serde::__private228::de::missing_field("span")?,
};
let __field1 =
match __field1 {
_serde::__private228::Some(__field1) => __field1,
_serde::__private228::None =>
_serde::__private228::de::missing_field("value")?,
};
_serde::__private228::Ok(ReturnStmt {
span: __field0,
value: __field1,
})
}
}
#[doc(hidden)]
const FIELDS: &'static [&'static str] = &["span", "value"];
_serde::Deserializer::deserialize_struct(__deserializer,
"ReturnStmt", FIELDS,
__Visitor {
marker: _serde::__private228::PhantomData::<ReturnStmt>,
lifetime: _serde::__private228::PhantomData,
})
}
}
};Deserialize)]
231pub struct ReturnStmt {
232 pub span: Span,
234 pub value: Option<Expr>,
236}
237
238#[derive(#[automatically_derived]
impl ::core::fmt::Debug for WhileStmt {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field3_finish(f, "WhileStmt",
"span", &self.span, "condition", &self.condition, "body",
&&self.body)
}
}Debug, #[automatically_derived]
impl ::core::clone::Clone for WhileStmt {
#[inline]
fn clone(&self) -> WhileStmt {
WhileStmt {
span: ::core::clone::Clone::clone(&self.span),
condition: ::core::clone::Clone::clone(&self.condition),
body: ::core::clone::Clone::clone(&self.body),
}
}
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for WhileStmt {
#[inline]
fn eq(&self, other: &WhileStmt) -> bool {
self.span == other.span && self.condition == other.condition &&
self.body == other.body
}
}PartialEq, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl _serde::Serialize for WhileStmt {
fn serialize<__S>(&self, __serializer: __S)
-> _serde::__private228::Result<__S::Ok, __S::Error> where
__S: _serde::Serializer {
let mut __serde_state =
_serde::Serializer::serialize_struct(__serializer,
"WhileStmt", false as usize + 1 + 1 + 1)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"span", &self.span)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"condition", &self.condition)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"body", &self.body)?;
_serde::ser::SerializeStruct::end(__serde_state)
}
}
};Serialize, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for WhileStmt {
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field { __field0, __field1, __field2, __ignore, }
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"field identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
2u64 => _serde::__private228::Ok(__Field::__field2),
_ => _serde::__private228::Ok(__Field::__ignore),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"span" => _serde::__private228::Ok(__Field::__field0),
"condition" => _serde::__private228::Ok(__Field::__field1),
"body" => _serde::__private228::Ok(__Field::__field2),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"span" => _serde::__private228::Ok(__Field::__field0),
b"condition" => _serde::__private228::Ok(__Field::__field1),
b"body" => _serde::__private228::Ok(__Field::__field2),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<WhileStmt>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = WhileStmt;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"struct WhileStmt")
}
#[inline]
fn visit_seq<__A>(self, mut __seq: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::SeqAccess<'de> {
let __field0 =
match _serde::de::SeqAccess::next_element::<Span>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(0usize,
&"struct WhileStmt with 3 elements")),
};
let __field1 =
match _serde::de::SeqAccess::next_element::<Expr>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(1usize,
&"struct WhileStmt with 3 elements")),
};
let __field2 =
match _serde::de::SeqAccess::next_element::<Box<Stmt>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(2usize,
&"struct WhileStmt with 3 elements")),
};
_serde::__private228::Ok(WhileStmt {
span: __field0,
condition: __field1,
body: __field2,
})
}
#[inline]
fn visit_map<__A>(self, mut __map: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::MapAccess<'de> {
let mut __field0: _serde::__private228::Option<Span> =
_serde::__private228::None;
let mut __field1: _serde::__private228::Option<Expr> =
_serde::__private228::None;
let mut __field2: _serde::__private228::Option<Box<Stmt>> =
_serde::__private228::None;
while let _serde::__private228::Some(__key) =
_serde::de::MapAccess::next_key::<__Field>(&mut __map)? {
match __key {
__Field::__field0 => {
if _serde::__private228::Option::is_some(&__field0) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("span"));
}
__field0 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Span>(&mut __map)?);
}
__Field::__field1 => {
if _serde::__private228::Option::is_some(&__field1) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("condition"));
}
__field1 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Expr>(&mut __map)?);
}
__Field::__field2 => {
if _serde::__private228::Option::is_some(&__field2) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("body"));
}
__field2 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Box<Stmt>>(&mut __map)?);
}
_ => {
let _ =
_serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map)?;
}
}
}
let __field0 =
match __field0 {
_serde::__private228::Some(__field0) => __field0,
_serde::__private228::None =>
_serde::__private228::de::missing_field("span")?,
};
let __field1 =
match __field1 {
_serde::__private228::Some(__field1) => __field1,
_serde::__private228::None =>
_serde::__private228::de::missing_field("condition")?,
};
let __field2 =
match __field2 {
_serde::__private228::Some(__field2) => __field2,
_serde::__private228::None =>
_serde::__private228::de::missing_field("body")?,
};
_serde::__private228::Ok(WhileStmt {
span: __field0,
condition: __field1,
body: __field2,
})
}
}
#[doc(hidden)]
const FIELDS: &'static [&'static str] =
&["span", "condition", "body"];
_serde::Deserializer::deserialize_struct(__deserializer,
"WhileStmt", FIELDS,
__Visitor {
marker: _serde::__private228::PhantomData::<WhileStmt>,
lifetime: _serde::__private228::PhantomData,
})
}
}
};Deserialize)]
240pub struct WhileStmt {
241 pub span: Span,
243 pub condition: Expr,
245 pub body: Box<Stmt>,
247}
248
249#[derive(#[automatically_derived]
impl ::core::fmt::Debug for DoWhileStmt {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field3_finish(f, "DoWhileStmt",
"span", &self.span, "body", &self.body, "condition",
&&self.condition)
}
}Debug, #[automatically_derived]
impl ::core::clone::Clone for DoWhileStmt {
#[inline]
fn clone(&self) -> DoWhileStmt {
DoWhileStmt {
span: ::core::clone::Clone::clone(&self.span),
body: ::core::clone::Clone::clone(&self.body),
condition: ::core::clone::Clone::clone(&self.condition),
}
}
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for DoWhileStmt {
#[inline]
fn eq(&self, other: &DoWhileStmt) -> bool {
self.span == other.span && self.body == other.body &&
self.condition == other.condition
}
}PartialEq, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl _serde::Serialize for DoWhileStmt {
fn serialize<__S>(&self, __serializer: __S)
-> _serde::__private228::Result<__S::Ok, __S::Error> where
__S: _serde::Serializer {
let mut __serde_state =
_serde::Serializer::serialize_struct(__serializer,
"DoWhileStmt", false as usize + 1 + 1 + 1)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"span", &self.span)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"body", &self.body)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"condition", &self.condition)?;
_serde::ser::SerializeStruct::end(__serde_state)
}
}
};Serialize, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for DoWhileStmt {
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field { __field0, __field1, __field2, __ignore, }
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"field identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
2u64 => _serde::__private228::Ok(__Field::__field2),
_ => _serde::__private228::Ok(__Field::__ignore),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"span" => _serde::__private228::Ok(__Field::__field0),
"body" => _serde::__private228::Ok(__Field::__field1),
"condition" => _serde::__private228::Ok(__Field::__field2),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"span" => _serde::__private228::Ok(__Field::__field0),
b"body" => _serde::__private228::Ok(__Field::__field1),
b"condition" => _serde::__private228::Ok(__Field::__field2),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<DoWhileStmt>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = DoWhileStmt;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"struct DoWhileStmt")
}
#[inline]
fn visit_seq<__A>(self, mut __seq: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::SeqAccess<'de> {
let __field0 =
match _serde::de::SeqAccess::next_element::<Span>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(0usize,
&"struct DoWhileStmt with 3 elements")),
};
let __field1 =
match _serde::de::SeqAccess::next_element::<Box<Stmt>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(1usize,
&"struct DoWhileStmt with 3 elements")),
};
let __field2 =
match _serde::de::SeqAccess::next_element::<Expr>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(2usize,
&"struct DoWhileStmt with 3 elements")),
};
_serde::__private228::Ok(DoWhileStmt {
span: __field0,
body: __field1,
condition: __field2,
})
}
#[inline]
fn visit_map<__A>(self, mut __map: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::MapAccess<'de> {
let mut __field0: _serde::__private228::Option<Span> =
_serde::__private228::None;
let mut __field1: _serde::__private228::Option<Box<Stmt>> =
_serde::__private228::None;
let mut __field2: _serde::__private228::Option<Expr> =
_serde::__private228::None;
while let _serde::__private228::Some(__key) =
_serde::de::MapAccess::next_key::<__Field>(&mut __map)? {
match __key {
__Field::__field0 => {
if _serde::__private228::Option::is_some(&__field0) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("span"));
}
__field0 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Span>(&mut __map)?);
}
__Field::__field1 => {
if _serde::__private228::Option::is_some(&__field1) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("body"));
}
__field1 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Box<Stmt>>(&mut __map)?);
}
__Field::__field2 => {
if _serde::__private228::Option::is_some(&__field2) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("condition"));
}
__field2 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Expr>(&mut __map)?);
}
_ => {
let _ =
_serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map)?;
}
}
}
let __field0 =
match __field0 {
_serde::__private228::Some(__field0) => __field0,
_serde::__private228::None =>
_serde::__private228::de::missing_field("span")?,
};
let __field1 =
match __field1 {
_serde::__private228::Some(__field1) => __field1,
_serde::__private228::None =>
_serde::__private228::de::missing_field("body")?,
};
let __field2 =
match __field2 {
_serde::__private228::Some(__field2) => __field2,
_serde::__private228::None =>
_serde::__private228::de::missing_field("condition")?,
};
_serde::__private228::Ok(DoWhileStmt {
span: __field0,
body: __field1,
condition: __field2,
})
}
}
#[doc(hidden)]
const FIELDS: &'static [&'static str] =
&["span", "body", "condition"];
_serde::Deserializer::deserialize_struct(__deserializer,
"DoWhileStmt", FIELDS,
__Visitor {
marker: _serde::__private228::PhantomData::<DoWhileStmt>,
lifetime: _serde::__private228::PhantomData,
})
}
}
};Deserialize)]
251pub struct DoWhileStmt {
252 pub span: Span,
254 pub body: Box<Stmt>,
256 pub condition: Expr,
258}
259
260#[derive(#[automatically_derived]
impl ::core::fmt::Debug for ForStmt {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field5_finish(f, "ForStmt",
"span", &self.span, "initializer", &self.initializer, "condition",
&self.condition, "update", &self.update, "body", &&self.body)
}
}Debug, #[automatically_derived]
impl ::core::clone::Clone for ForStmt {
#[inline]
fn clone(&self) -> ForStmt {
ForStmt {
span: ::core::clone::Clone::clone(&self.span),
initializer: ::core::clone::Clone::clone(&self.initializer),
condition: ::core::clone::Clone::clone(&self.condition),
update: ::core::clone::Clone::clone(&self.update),
body: ::core::clone::Clone::clone(&self.body),
}
}
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for ForStmt {
#[inline]
fn eq(&self, other: &ForStmt) -> bool {
self.span == other.span && self.initializer == other.initializer &&
self.condition == other.condition &&
self.update == other.update && self.body == other.body
}
}PartialEq, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl _serde::Serialize for ForStmt {
fn serialize<__S>(&self, __serializer: __S)
-> _serde::__private228::Result<__S::Ok, __S::Error> where
__S: _serde::Serializer {
let mut __serde_state =
_serde::Serializer::serialize_struct(__serializer,
"ForStmt", false as usize + 1 + 1 + 1 + 1 + 1)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"span", &self.span)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"initializer", &self.initializer)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"condition", &self.condition)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"update", &self.update)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"body", &self.body)?;
_serde::ser::SerializeStruct::end(__serde_state)
}
}
};Serialize, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for ForStmt {
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field {
__field0,
__field1,
__field2,
__field3,
__field4,
__ignore,
}
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"field identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
2u64 => _serde::__private228::Ok(__Field::__field2),
3u64 => _serde::__private228::Ok(__Field::__field3),
4u64 => _serde::__private228::Ok(__Field::__field4),
_ => _serde::__private228::Ok(__Field::__ignore),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"span" => _serde::__private228::Ok(__Field::__field0),
"initializer" =>
_serde::__private228::Ok(__Field::__field1),
"condition" => _serde::__private228::Ok(__Field::__field2),
"update" => _serde::__private228::Ok(__Field::__field3),
"body" => _serde::__private228::Ok(__Field::__field4),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"span" => _serde::__private228::Ok(__Field::__field0),
b"initializer" =>
_serde::__private228::Ok(__Field::__field1),
b"condition" => _serde::__private228::Ok(__Field::__field2),
b"update" => _serde::__private228::Ok(__Field::__field3),
b"body" => _serde::__private228::Ok(__Field::__field4),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<ForStmt>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = ForStmt;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"struct ForStmt")
}
#[inline]
fn visit_seq<__A>(self, mut __seq: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::SeqAccess<'de> {
let __field0 =
match _serde::de::SeqAccess::next_element::<Span>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(0usize,
&"struct ForStmt with 5 elements")),
};
let __field1 =
match _serde::de::SeqAccess::next_element::<Option<Expr>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(1usize,
&"struct ForStmt with 5 elements")),
};
let __field2 =
match _serde::de::SeqAccess::next_element::<Option<Expr>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(2usize,
&"struct ForStmt with 5 elements")),
};
let __field3 =
match _serde::de::SeqAccess::next_element::<Option<Expr>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(3usize,
&"struct ForStmt with 5 elements")),
};
let __field4 =
match _serde::de::SeqAccess::next_element::<Box<Stmt>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(4usize,
&"struct ForStmt with 5 elements")),
};
_serde::__private228::Ok(ForStmt {
span: __field0,
initializer: __field1,
condition: __field2,
update: __field3,
body: __field4,
})
}
#[inline]
fn visit_map<__A>(self, mut __map: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::MapAccess<'de> {
let mut __field0: _serde::__private228::Option<Span> =
_serde::__private228::None;
let mut __field1:
_serde::__private228::Option<Option<Expr>> =
_serde::__private228::None;
let mut __field2:
_serde::__private228::Option<Option<Expr>> =
_serde::__private228::None;
let mut __field3:
_serde::__private228::Option<Option<Expr>> =
_serde::__private228::None;
let mut __field4: _serde::__private228::Option<Box<Stmt>> =
_serde::__private228::None;
while let _serde::__private228::Some(__key) =
_serde::de::MapAccess::next_key::<__Field>(&mut __map)? {
match __key {
__Field::__field0 => {
if _serde::__private228::Option::is_some(&__field0) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("span"));
}
__field0 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Span>(&mut __map)?);
}
__Field::__field1 => {
if _serde::__private228::Option::is_some(&__field1) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("initializer"));
}
__field1 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<Expr>>(&mut __map)?);
}
__Field::__field2 => {
if _serde::__private228::Option::is_some(&__field2) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("condition"));
}
__field2 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<Expr>>(&mut __map)?);
}
__Field::__field3 => {
if _serde::__private228::Option::is_some(&__field3) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("update"));
}
__field3 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<Expr>>(&mut __map)?);
}
__Field::__field4 => {
if _serde::__private228::Option::is_some(&__field4) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("body"));
}
__field4 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Box<Stmt>>(&mut __map)?);
}
_ => {
let _ =
_serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map)?;
}
}
}
let __field0 =
match __field0 {
_serde::__private228::Some(__field0) => __field0,
_serde::__private228::None =>
_serde::__private228::de::missing_field("span")?,
};
let __field1 =
match __field1 {
_serde::__private228::Some(__field1) => __field1,
_serde::__private228::None =>
_serde::__private228::de::missing_field("initializer")?,
};
let __field2 =
match __field2 {
_serde::__private228::Some(__field2) => __field2,
_serde::__private228::None =>
_serde::__private228::de::missing_field("condition")?,
};
let __field3 =
match __field3 {
_serde::__private228::Some(__field3) => __field3,
_serde::__private228::None =>
_serde::__private228::de::missing_field("update")?,
};
let __field4 =
match __field4 {
_serde::__private228::Some(__field4) => __field4,
_serde::__private228::None =>
_serde::__private228::de::missing_field("body")?,
};
_serde::__private228::Ok(ForStmt {
span: __field0,
initializer: __field1,
condition: __field2,
update: __field3,
body: __field4,
})
}
}
#[doc(hidden)]
const FIELDS: &'static [&'static str] =
&["span", "initializer", "condition", "update", "body"];
_serde::Deserializer::deserialize_struct(__deserializer,
"ForStmt", FIELDS,
__Visitor {
marker: _serde::__private228::PhantomData::<ForStmt>,
lifetime: _serde::__private228::PhantomData,
})
}
}
};Deserialize)]
262pub struct ForStmt {
263 pub span: Span,
265 pub initializer: Option<Expr>,
267 pub condition: Option<Expr>,
269 pub update: Option<Expr>,
271 pub body: Box<Stmt>,
273}
274
275#[derive(#[automatically_derived]
impl ::core::fmt::Debug for CaseStmt {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field2_finish(f, "CaseStmt",
"span", &self.span, "value", &&self.value)
}
}Debug, #[automatically_derived]
impl ::core::clone::Clone for CaseStmt {
#[inline]
fn clone(&self) -> CaseStmt {
CaseStmt {
span: ::core::clone::Clone::clone(&self.span),
value: ::core::clone::Clone::clone(&self.value),
}
}
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for CaseStmt {
#[inline]
fn eq(&self, other: &CaseStmt) -> bool {
self.span == other.span && self.value == other.value
}
}PartialEq, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl _serde::Serialize for CaseStmt {
fn serialize<__S>(&self, __serializer: __S)
-> _serde::__private228::Result<__S::Ok, __S::Error> where
__S: _serde::Serializer {
let mut __serde_state =
_serde::Serializer::serialize_struct(__serializer,
"CaseStmt", false as usize + 1 + 1)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"span", &self.span)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"value", &self.value)?;
_serde::ser::SerializeStruct::end(__serde_state)
}
}
};Serialize, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for CaseStmt {
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field { __field0, __field1, __ignore, }
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"field identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
_ => _serde::__private228::Ok(__Field::__ignore),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"span" => _serde::__private228::Ok(__Field::__field0),
"value" => _serde::__private228::Ok(__Field::__field1),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"span" => _serde::__private228::Ok(__Field::__field0),
b"value" => _serde::__private228::Ok(__Field::__field1),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<CaseStmt>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = CaseStmt;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"struct CaseStmt")
}
#[inline]
fn visit_seq<__A>(self, mut __seq: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::SeqAccess<'de> {
let __field0 =
match _serde::de::SeqAccess::next_element::<Span>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(0usize,
&"struct CaseStmt with 2 elements")),
};
let __field1 =
match _serde::de::SeqAccess::next_element::<Expr>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(1usize,
&"struct CaseStmt with 2 elements")),
};
_serde::__private228::Ok(CaseStmt {
span: __field0,
value: __field1,
})
}
#[inline]
fn visit_map<__A>(self, mut __map: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::MapAccess<'de> {
let mut __field0: _serde::__private228::Option<Span> =
_serde::__private228::None;
let mut __field1: _serde::__private228::Option<Expr> =
_serde::__private228::None;
while let _serde::__private228::Some(__key) =
_serde::de::MapAccess::next_key::<__Field>(&mut __map)? {
match __key {
__Field::__field0 => {
if _serde::__private228::Option::is_some(&__field0) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("span"));
}
__field0 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Span>(&mut __map)?);
}
__Field::__field1 => {
if _serde::__private228::Option::is_some(&__field1) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("value"));
}
__field1 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Expr>(&mut __map)?);
}
_ => {
let _ =
_serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map)?;
}
}
}
let __field0 =
match __field0 {
_serde::__private228::Some(__field0) => __field0,
_serde::__private228::None =>
_serde::__private228::de::missing_field("span")?,
};
let __field1 =
match __field1 {
_serde::__private228::Some(__field1) => __field1,
_serde::__private228::None =>
_serde::__private228::de::missing_field("value")?,
};
_serde::__private228::Ok(CaseStmt {
span: __field0,
value: __field1,
})
}
}
#[doc(hidden)]
const FIELDS: &'static [&'static str] = &["span", "value"];
_serde::Deserializer::deserialize_struct(__deserializer,
"CaseStmt", FIELDS,
__Visitor {
marker: _serde::__private228::PhantomData::<CaseStmt>,
lifetime: _serde::__private228::PhantomData,
})
}
}
};Deserialize)]
277pub struct CaseStmt {
278 pub span: Span,
280 pub value: Expr,
282}
283
284#[derive(#[automatically_derived]
impl ::core::fmt::Debug for DefaultStmt {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field1_finish(f, "DefaultStmt",
"span", &&self.span)
}
}Debug, #[automatically_derived]
impl ::core::clone::Clone for DefaultStmt {
#[inline]
fn clone(&self) -> DefaultStmt {
DefaultStmt { span: ::core::clone::Clone::clone(&self.span) }
}
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for DefaultStmt {
#[inline]
fn eq(&self, other: &DefaultStmt) -> bool { self.span == other.span }
}PartialEq, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl _serde::Serialize for DefaultStmt {
fn serialize<__S>(&self, __serializer: __S)
-> _serde::__private228::Result<__S::Ok, __S::Error> where
__S: _serde::Serializer {
let mut __serde_state =
_serde::Serializer::serialize_struct(__serializer,
"DefaultStmt", false as usize + 1)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"span", &self.span)?;
_serde::ser::SerializeStruct::end(__serde_state)
}
}
};Serialize, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for DefaultStmt {
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field { __field0, __ignore, }
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"field identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
_ => _serde::__private228::Ok(__Field::__ignore),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"span" => _serde::__private228::Ok(__Field::__field0),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"span" => _serde::__private228::Ok(__Field::__field0),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<DefaultStmt>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = DefaultStmt;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"struct DefaultStmt")
}
#[inline]
fn visit_seq<__A>(self, mut __seq: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::SeqAccess<'de> {
let __field0 =
match _serde::de::SeqAccess::next_element::<Span>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(0usize,
&"struct DefaultStmt with 1 element")),
};
_serde::__private228::Ok(DefaultStmt { span: __field0 })
}
#[inline]
fn visit_map<__A>(self, mut __map: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::MapAccess<'de> {
let mut __field0: _serde::__private228::Option<Span> =
_serde::__private228::None;
while let _serde::__private228::Some(__key) =
_serde::de::MapAccess::next_key::<__Field>(&mut __map)? {
match __key {
__Field::__field0 => {
if _serde::__private228::Option::is_some(&__field0) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("span"));
}
__field0 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Span>(&mut __map)?);
}
_ => {
let _ =
_serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map)?;
}
}
}
let __field0 =
match __field0 {
_serde::__private228::Some(__field0) => __field0,
_serde::__private228::None =>
_serde::__private228::de::missing_field("span")?,
};
_serde::__private228::Ok(DefaultStmt { span: __field0 })
}
}
#[doc(hidden)]
const FIELDS: &'static [&'static str] = &["span"];
_serde::Deserializer::deserialize_struct(__deserializer,
"DefaultStmt", FIELDS,
__Visitor {
marker: _serde::__private228::PhantomData::<DefaultStmt>,
lifetime: _serde::__private228::PhantomData,
})
}
}
};Deserialize)]
286pub struct DefaultStmt {
287 pub span: Span,
289}
290
291#[derive(#[automatically_derived]
impl ::core::fmt::Debug for Expr {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::debug_struct_field2_finish(f, "Expr", "span",
&self.span, "kind", &&self.kind)
}
}Debug, #[automatically_derived]
impl ::core::clone::Clone for Expr {
#[inline]
fn clone(&self) -> Expr {
Expr {
span: ::core::clone::Clone::clone(&self.span),
kind: ::core::clone::Clone::clone(&self.kind),
}
}
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for Expr {
#[inline]
fn eq(&self, other: &Expr) -> bool {
self.span == other.span && self.kind == other.kind
}
}PartialEq, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl _serde::Serialize for Expr {
fn serialize<__S>(&self, __serializer: __S)
-> _serde::__private228::Result<__S::Ok, __S::Error> where
__S: _serde::Serializer {
let mut __serde_state =
_serde::Serializer::serialize_struct(__serializer, "Expr",
false as usize + 1 + 1)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"span", &self.span)?;
_serde::ser::SerializeStruct::serialize_field(&mut __serde_state,
"kind", &self.kind)?;
_serde::ser::SerializeStruct::end(__serde_state)
}
}
};Serialize, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for Expr {
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field { __field0, __field1, __ignore, }
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"field identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
_ => _serde::__private228::Ok(__Field::__ignore),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"span" => _serde::__private228::Ok(__Field::__field0),
"kind" => _serde::__private228::Ok(__Field::__field1),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"span" => _serde::__private228::Ok(__Field::__field0),
b"kind" => _serde::__private228::Ok(__Field::__field1),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<Expr>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = Expr;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"struct Expr")
}
#[inline]
fn visit_seq<__A>(self, mut __seq: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::SeqAccess<'de> {
let __field0 =
match _serde::de::SeqAccess::next_element::<Span>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(0usize,
&"struct Expr with 2 elements")),
};
let __field1 =
match _serde::de::SeqAccess::next_element::<ExprKind>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(1usize,
&"struct Expr with 2 elements")),
};
_serde::__private228::Ok(Expr {
span: __field0,
kind: __field1,
})
}
#[inline]
fn visit_map<__A>(self, mut __map: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::MapAccess<'de> {
let mut __field0: _serde::__private228::Option<Span> =
_serde::__private228::None;
let mut __field1: _serde::__private228::Option<ExprKind> =
_serde::__private228::None;
while let _serde::__private228::Some(__key) =
_serde::de::MapAccess::next_key::<__Field>(&mut __map)? {
match __key {
__Field::__field0 => {
if _serde::__private228::Option::is_some(&__field0) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("span"));
}
__field0 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Span>(&mut __map)?);
}
__Field::__field1 => {
if _serde::__private228::Option::is_some(&__field1) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("kind"));
}
__field1 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<ExprKind>(&mut __map)?);
}
_ => {
let _ =
_serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map)?;
}
}
}
let __field0 =
match __field0 {
_serde::__private228::Some(__field0) => __field0,
_serde::__private228::None =>
_serde::__private228::de::missing_field("span")?,
};
let __field1 =
match __field1 {
_serde::__private228::Some(__field1) => __field1,
_serde::__private228::None =>
_serde::__private228::de::missing_field("kind")?,
};
_serde::__private228::Ok(Expr {
span: __field0,
kind: __field1,
})
}
}
#[doc(hidden)]
const FIELDS: &'static [&'static str] = &["span", "kind"];
_serde::Deserializer::deserialize_struct(__deserializer,
"Expr", FIELDS,
__Visitor {
marker: _serde::__private228::PhantomData::<Expr>,
lifetime: _serde::__private228::PhantomData,
})
}
}
};Deserialize)]
293pub struct Expr {
294 pub span: Span,
296 pub kind: ExprKind,
298}
299
300#[derive(#[automatically_derived]
impl ::core::fmt::Debug for ExprKind {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
match self {
ExprKind::Literal(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"Literal", &__self_0),
ExprKind::Identifier(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"Identifier", &__self_0),
ExprKind::Call { callee: __self_0, arguments: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f, "Call",
"callee", __self_0, "arguments", &__self_1),
ExprKind::FieldAccess { base: __self_0, field: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f,
"FieldAccess", "base", __self_0, "field", &__self_1),
ExprKind::Unary { op: __self_0, expr: __self_1 } =>
::core::fmt::Formatter::debug_struct_field2_finish(f, "Unary",
"op", __self_0, "expr", &__self_1),
ExprKind::Binary { op: __self_0, left: __self_1, right: __self_2 }
=>
::core::fmt::Formatter::debug_struct_field3_finish(f,
"Binary", "op", __self_0, "left", __self_1, "right",
&__self_2),
ExprKind::Conditional {
condition: __self_0, when_true: __self_1, when_false: __self_2
} =>
::core::fmt::Formatter::debug_struct_field3_finish(f,
"Conditional", "condition", __self_0, "when_true", __self_1,
"when_false", &__self_2),
ExprKind::Assignment {
op: __self_0, left: __self_1, right: __self_2 } =>
::core::fmt::Formatter::debug_struct_field3_finish(f,
"Assignment", "op", __self_0, "left", __self_1, "right",
&__self_2),
}
}
}Debug, #[automatically_derived]
impl ::core::clone::Clone for ExprKind {
#[inline]
fn clone(&self) -> ExprKind {
match self {
ExprKind::Literal(__self_0) =>
ExprKind::Literal(::core::clone::Clone::clone(__self_0)),
ExprKind::Identifier(__self_0) =>
ExprKind::Identifier(::core::clone::Clone::clone(__self_0)),
ExprKind::Call { callee: __self_0, arguments: __self_1 } =>
ExprKind::Call {
callee: ::core::clone::Clone::clone(__self_0),
arguments: ::core::clone::Clone::clone(__self_1),
},
ExprKind::FieldAccess { base: __self_0, field: __self_1 } =>
ExprKind::FieldAccess {
base: ::core::clone::Clone::clone(__self_0),
field: ::core::clone::Clone::clone(__self_1),
},
ExprKind::Unary { op: __self_0, expr: __self_1 } =>
ExprKind::Unary {
op: ::core::clone::Clone::clone(__self_0),
expr: ::core::clone::Clone::clone(__self_1),
},
ExprKind::Binary { op: __self_0, left: __self_1, right: __self_2 }
=>
ExprKind::Binary {
op: ::core::clone::Clone::clone(__self_0),
left: ::core::clone::Clone::clone(__self_1),
right: ::core::clone::Clone::clone(__self_2),
},
ExprKind::Conditional {
condition: __self_0, when_true: __self_1, when_false: __self_2
} =>
ExprKind::Conditional {
condition: ::core::clone::Clone::clone(__self_0),
when_true: ::core::clone::Clone::clone(__self_1),
when_false: ::core::clone::Clone::clone(__self_2),
},
ExprKind::Assignment {
op: __self_0, left: __self_1, right: __self_2 } =>
ExprKind::Assignment {
op: ::core::clone::Clone::clone(__self_0),
left: ::core::clone::Clone::clone(__self_1),
right: ::core::clone::Clone::clone(__self_2),
},
}
}
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for ExprKind {
#[inline]
fn eq(&self, other: &ExprKind) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr &&
match (self, other) {
(ExprKind::Literal(__self_0), ExprKind::Literal(__arg1_0)) =>
__self_0 == __arg1_0,
(ExprKind::Identifier(__self_0),
ExprKind::Identifier(__arg1_0)) => __self_0 == __arg1_0,
(ExprKind::Call { callee: __self_0, arguments: __self_1 },
ExprKind::Call { callee: __arg1_0, arguments: __arg1_1 }) =>
__self_0 == __arg1_0 && __self_1 == __arg1_1,
(ExprKind::FieldAccess { base: __self_0, field: __self_1 },
ExprKind::FieldAccess { base: __arg1_0, field: __arg1_1 })
=> __self_0 == __arg1_0 && __self_1 == __arg1_1,
(ExprKind::Unary { op: __self_0, expr: __self_1 },
ExprKind::Unary { op: __arg1_0, expr: __arg1_1 }) =>
__self_0 == __arg1_0 && __self_1 == __arg1_1,
(ExprKind::Binary {
op: __self_0, left: __self_1, right: __self_2 },
ExprKind::Binary {
op: __arg1_0, left: __arg1_1, right: __arg1_2 }) =>
__self_0 == __arg1_0 && __self_1 == __arg1_1 &&
__self_2 == __arg1_2,
(ExprKind::Conditional {
condition: __self_0,
when_true: __self_1,
when_false: __self_2 }, ExprKind::Conditional {
condition: __arg1_0,
when_true: __arg1_1,
when_false: __arg1_2 }) =>
__self_0 == __arg1_0 && __self_1 == __arg1_1 &&
__self_2 == __arg1_2,
(ExprKind::Assignment {
op: __self_0, left: __self_1, right: __self_2 },
ExprKind::Assignment {
op: __arg1_0, left: __arg1_1, right: __arg1_2 }) =>
__self_0 == __arg1_0 && __self_1 == __arg1_1 &&
__self_2 == __arg1_2,
_ => unsafe { ::core::intrinsics::unreachable() }
}
}
}PartialEq, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl _serde::Serialize for ExprKind {
fn serialize<__S>(&self, __serializer: __S)
-> _serde::__private228::Result<__S::Ok, __S::Error> where
__S: _serde::Serializer {
match *self {
ExprKind::Literal(ref __field0) =>
_serde::Serializer::serialize_newtype_variant(__serializer,
"ExprKind", 0u32, "Literal", __field0),
ExprKind::Identifier(ref __field0) =>
_serde::Serializer::serialize_newtype_variant(__serializer,
"ExprKind", 1u32, "Identifier", __field0),
ExprKind::Call { ref callee, ref arguments } => {
let mut __serde_state =
_serde::Serializer::serialize_struct_variant(__serializer,
"ExprKind", 2u32, "Call", 0 + 1 + 1)?;
_serde::ser::SerializeStructVariant::serialize_field(&mut __serde_state,
"callee", callee)?;
_serde::ser::SerializeStructVariant::serialize_field(&mut __serde_state,
"arguments", arguments)?;
_serde::ser::SerializeStructVariant::end(__serde_state)
}
ExprKind::FieldAccess { ref base, ref field } => {
let mut __serde_state =
_serde::Serializer::serialize_struct_variant(__serializer,
"ExprKind", 3u32, "FieldAccess", 0 + 1 + 1)?;
_serde::ser::SerializeStructVariant::serialize_field(&mut __serde_state,
"base", base)?;
_serde::ser::SerializeStructVariant::serialize_field(&mut __serde_state,
"field", field)?;
_serde::ser::SerializeStructVariant::end(__serde_state)
}
ExprKind::Unary { ref op, ref expr } => {
let mut __serde_state =
_serde::Serializer::serialize_struct_variant(__serializer,
"ExprKind", 4u32, "Unary", 0 + 1 + 1)?;
_serde::ser::SerializeStructVariant::serialize_field(&mut __serde_state,
"op", op)?;
_serde::ser::SerializeStructVariant::serialize_field(&mut __serde_state,
"expr", expr)?;
_serde::ser::SerializeStructVariant::end(__serde_state)
}
ExprKind::Binary { ref op, ref left, ref right } => {
let mut __serde_state =
_serde::Serializer::serialize_struct_variant(__serializer,
"ExprKind", 5u32, "Binary", 0 + 1 + 1 + 1)?;
_serde::ser::SerializeStructVariant::serialize_field(&mut __serde_state,
"op", op)?;
_serde::ser::SerializeStructVariant::serialize_field(&mut __serde_state,
"left", left)?;
_serde::ser::SerializeStructVariant::serialize_field(&mut __serde_state,
"right", right)?;
_serde::ser::SerializeStructVariant::end(__serde_state)
}
ExprKind::Conditional {
ref condition, ref when_true, ref when_false } => {
let mut __serde_state =
_serde::Serializer::serialize_struct_variant(__serializer,
"ExprKind", 6u32, "Conditional", 0 + 1 + 1 + 1)?;
_serde::ser::SerializeStructVariant::serialize_field(&mut __serde_state,
"condition", condition)?;
_serde::ser::SerializeStructVariant::serialize_field(&mut __serde_state,
"when_true", when_true)?;
_serde::ser::SerializeStructVariant::serialize_field(&mut __serde_state,
"when_false", when_false)?;
_serde::ser::SerializeStructVariant::end(__serde_state)
}
ExprKind::Assignment { ref op, ref left, ref right } => {
let mut __serde_state =
_serde::Serializer::serialize_struct_variant(__serializer,
"ExprKind", 7u32, "Assignment", 0 + 1 + 1 + 1)?;
_serde::ser::SerializeStructVariant::serialize_field(&mut __serde_state,
"op", op)?;
_serde::ser::SerializeStructVariant::serialize_field(&mut __serde_state,
"left", left)?;
_serde::ser::SerializeStructVariant::serialize_field(&mut __serde_state,
"right", right)?;
_serde::ser::SerializeStructVariant::end(__serde_state)
}
}
}
}
};Serialize, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for ExprKind {
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field {
__field0,
__field1,
__field2,
__field3,
__field4,
__field5,
__field6,
__field7,
}
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"variant identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
2u64 => _serde::__private228::Ok(__Field::__field2),
3u64 => _serde::__private228::Ok(__Field::__field3),
4u64 => _serde::__private228::Ok(__Field::__field4),
5u64 => _serde::__private228::Ok(__Field::__field5),
6u64 => _serde::__private228::Ok(__Field::__field6),
7u64 => _serde::__private228::Ok(__Field::__field7),
_ =>
_serde::__private228::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value),
&"variant index 0 <= i < 8")),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"Literal" => _serde::__private228::Ok(__Field::__field0),
"Identifier" => _serde::__private228::Ok(__Field::__field1),
"Call" => _serde::__private228::Ok(__Field::__field2),
"FieldAccess" =>
_serde::__private228::Ok(__Field::__field3),
"Unary" => _serde::__private228::Ok(__Field::__field4),
"Binary" => _serde::__private228::Ok(__Field::__field5),
"Conditional" =>
_serde::__private228::Ok(__Field::__field6),
"Assignment" => _serde::__private228::Ok(__Field::__field7),
_ => {
_serde::__private228::Err(_serde::de::Error::unknown_variant(__value,
VARIANTS))
}
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"Literal" => _serde::__private228::Ok(__Field::__field0),
b"Identifier" =>
_serde::__private228::Ok(__Field::__field1),
b"Call" => _serde::__private228::Ok(__Field::__field2),
b"FieldAccess" =>
_serde::__private228::Ok(__Field::__field3),
b"Unary" => _serde::__private228::Ok(__Field::__field4),
b"Binary" => _serde::__private228::Ok(__Field::__field5),
b"Conditional" =>
_serde::__private228::Ok(__Field::__field6),
b"Assignment" =>
_serde::__private228::Ok(__Field::__field7),
_ => {
let __value =
&_serde::__private228::from_utf8_lossy(__value);
_serde::__private228::Err(_serde::de::Error::unknown_variant(__value,
VARIANTS))
}
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<ExprKind>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = ExprKind;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"enum ExprKind")
}
fn visit_enum<__A>(self, __data: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::EnumAccess<'de> {
match _serde::de::EnumAccess::variant(__data)? {
(__Field::__field0, __variant) =>
_serde::__private228::Result::map(_serde::de::VariantAccess::newtype_variant::<Literal>(__variant),
ExprKind::Literal),
(__Field::__field1, __variant) =>
_serde::__private228::Result::map(_serde::de::VariantAccess::newtype_variant::<String>(__variant),
ExprKind::Identifier),
(__Field::__field2, __variant) => {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field { __field0, __field1, __ignore, }
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"field identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
_ => _serde::__private228::Ok(__Field::__ignore),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"callee" => _serde::__private228::Ok(__Field::__field0),
"arguments" => _serde::__private228::Ok(__Field::__field1),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"callee" => _serde::__private228::Ok(__Field::__field0),
b"arguments" => _serde::__private228::Ok(__Field::__field1),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<ExprKind>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = ExprKind;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"struct variant ExprKind::Call")
}
#[inline]
fn visit_seq<__A>(self, mut __seq: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::SeqAccess<'de> {
let __field0 =
match _serde::de::SeqAccess::next_element::<Box<Expr>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(0usize,
&"struct variant ExprKind::Call with 2 elements")),
};
let __field1 =
match _serde::de::SeqAccess::next_element::<Vec<Expr>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(1usize,
&"struct variant ExprKind::Call with 2 elements")),
};
_serde::__private228::Ok(ExprKind::Call {
callee: __field0,
arguments: __field1,
})
}
#[inline]
fn visit_map<__A>(self, mut __map: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::MapAccess<'de> {
let mut __field0: _serde::__private228::Option<Box<Expr>> =
_serde::__private228::None;
let mut __field1: _serde::__private228::Option<Vec<Expr>> =
_serde::__private228::None;
while let _serde::__private228::Some(__key) =
_serde::de::MapAccess::next_key::<__Field>(&mut __map)? {
match __key {
__Field::__field0 => {
if _serde::__private228::Option::is_some(&__field0) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("callee"));
}
__field0 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Box<Expr>>(&mut __map)?);
}
__Field::__field1 => {
if _serde::__private228::Option::is_some(&__field1) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("arguments"));
}
__field1 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Vec<Expr>>(&mut __map)?);
}
_ => {
let _ =
_serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map)?;
}
}
}
let __field0 =
match __field0 {
_serde::__private228::Some(__field0) => __field0,
_serde::__private228::None =>
_serde::__private228::de::missing_field("callee")?,
};
let __field1 =
match __field1 {
_serde::__private228::Some(__field1) => __field1,
_serde::__private228::None =>
_serde::__private228::de::missing_field("arguments")?,
};
_serde::__private228::Ok(ExprKind::Call {
callee: __field0,
arguments: __field1,
})
}
}
#[doc(hidden)]
const FIELDS: &'static [&'static str] =
&["callee", "arguments"];
_serde::de::VariantAccess::struct_variant(__variant, FIELDS,
__Visitor {
marker: _serde::__private228::PhantomData::<ExprKind>,
lifetime: _serde::__private228::PhantomData,
})
}
(__Field::__field3, __variant) => {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field { __field0, __field1, __ignore, }
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"field identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
_ => _serde::__private228::Ok(__Field::__ignore),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"base" => _serde::__private228::Ok(__Field::__field0),
"field" => _serde::__private228::Ok(__Field::__field1),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"base" => _serde::__private228::Ok(__Field::__field0),
b"field" => _serde::__private228::Ok(__Field::__field1),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<ExprKind>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = ExprKind;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"struct variant ExprKind::FieldAccess")
}
#[inline]
fn visit_seq<__A>(self, mut __seq: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::SeqAccess<'de> {
let __field0 =
match _serde::de::SeqAccess::next_element::<Box<Expr>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(0usize,
&"struct variant ExprKind::FieldAccess with 2 elements")),
};
let __field1 =
match _serde::de::SeqAccess::next_element::<String>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(1usize,
&"struct variant ExprKind::FieldAccess with 2 elements")),
};
_serde::__private228::Ok(ExprKind::FieldAccess {
base: __field0,
field: __field1,
})
}
#[inline]
fn visit_map<__A>(self, mut __map: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::MapAccess<'de> {
let mut __field0: _serde::__private228::Option<Box<Expr>> =
_serde::__private228::None;
let mut __field1: _serde::__private228::Option<String> =
_serde::__private228::None;
while let _serde::__private228::Some(__key) =
_serde::de::MapAccess::next_key::<__Field>(&mut __map)? {
match __key {
__Field::__field0 => {
if _serde::__private228::Option::is_some(&__field0) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("base"));
}
__field0 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Box<Expr>>(&mut __map)?);
}
__Field::__field1 => {
if _serde::__private228::Option::is_some(&__field1) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("field"));
}
__field1 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<String>(&mut __map)?);
}
_ => {
let _ =
_serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map)?;
}
}
}
let __field0 =
match __field0 {
_serde::__private228::Some(__field0) => __field0,
_serde::__private228::None =>
_serde::__private228::de::missing_field("base")?,
};
let __field1 =
match __field1 {
_serde::__private228::Some(__field1) => __field1,
_serde::__private228::None =>
_serde::__private228::de::missing_field("field")?,
};
_serde::__private228::Ok(ExprKind::FieldAccess {
base: __field0,
field: __field1,
})
}
}
#[doc(hidden)]
const FIELDS: &'static [&'static str] = &["base", "field"];
_serde::de::VariantAccess::struct_variant(__variant, FIELDS,
__Visitor {
marker: _serde::__private228::PhantomData::<ExprKind>,
lifetime: _serde::__private228::PhantomData,
})
}
(__Field::__field4, __variant) => {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field { __field0, __field1, __ignore, }
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"field identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
_ => _serde::__private228::Ok(__Field::__ignore),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"op" => _serde::__private228::Ok(__Field::__field0),
"expr" => _serde::__private228::Ok(__Field::__field1),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"op" => _serde::__private228::Ok(__Field::__field0),
b"expr" => _serde::__private228::Ok(__Field::__field1),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<ExprKind>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = ExprKind;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"struct variant ExprKind::Unary")
}
#[inline]
fn visit_seq<__A>(self, mut __seq: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::SeqAccess<'de> {
let __field0 =
match _serde::de::SeqAccess::next_element::<UnaryOp>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(0usize,
&"struct variant ExprKind::Unary with 2 elements")),
};
let __field1 =
match _serde::de::SeqAccess::next_element::<Box<Expr>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(1usize,
&"struct variant ExprKind::Unary with 2 elements")),
};
_serde::__private228::Ok(ExprKind::Unary {
op: __field0,
expr: __field1,
})
}
#[inline]
fn visit_map<__A>(self, mut __map: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::MapAccess<'de> {
let mut __field0: _serde::__private228::Option<UnaryOp> =
_serde::__private228::None;
let mut __field1: _serde::__private228::Option<Box<Expr>> =
_serde::__private228::None;
while let _serde::__private228::Some(__key) =
_serde::de::MapAccess::next_key::<__Field>(&mut __map)? {
match __key {
__Field::__field0 => {
if _serde::__private228::Option::is_some(&__field0) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("op"));
}
__field0 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<UnaryOp>(&mut __map)?);
}
__Field::__field1 => {
if _serde::__private228::Option::is_some(&__field1) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("expr"));
}
__field1 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Box<Expr>>(&mut __map)?);
}
_ => {
let _ =
_serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map)?;
}
}
}
let __field0 =
match __field0 {
_serde::__private228::Some(__field0) => __field0,
_serde::__private228::None =>
_serde::__private228::de::missing_field("op")?,
};
let __field1 =
match __field1 {
_serde::__private228::Some(__field1) => __field1,
_serde::__private228::None =>
_serde::__private228::de::missing_field("expr")?,
};
_serde::__private228::Ok(ExprKind::Unary {
op: __field0,
expr: __field1,
})
}
}
#[doc(hidden)]
const FIELDS: &'static [&'static str] = &["op", "expr"];
_serde::de::VariantAccess::struct_variant(__variant, FIELDS,
__Visitor {
marker: _serde::__private228::PhantomData::<ExprKind>,
lifetime: _serde::__private228::PhantomData,
})
}
(__Field::__field5, __variant) => {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field { __field0, __field1, __field2, __ignore, }
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"field identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
2u64 => _serde::__private228::Ok(__Field::__field2),
_ => _serde::__private228::Ok(__Field::__ignore),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"op" => _serde::__private228::Ok(__Field::__field0),
"left" => _serde::__private228::Ok(__Field::__field1),
"right" => _serde::__private228::Ok(__Field::__field2),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"op" => _serde::__private228::Ok(__Field::__field0),
b"left" => _serde::__private228::Ok(__Field::__field1),
b"right" => _serde::__private228::Ok(__Field::__field2),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<ExprKind>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = ExprKind;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"struct variant ExprKind::Binary")
}
#[inline]
fn visit_seq<__A>(self, mut __seq: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::SeqAccess<'de> {
let __field0 =
match _serde::de::SeqAccess::next_element::<BinaryOp>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(0usize,
&"struct variant ExprKind::Binary with 3 elements")),
};
let __field1 =
match _serde::de::SeqAccess::next_element::<Box<Expr>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(1usize,
&"struct variant ExprKind::Binary with 3 elements")),
};
let __field2 =
match _serde::de::SeqAccess::next_element::<Box<Expr>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(2usize,
&"struct variant ExprKind::Binary with 3 elements")),
};
_serde::__private228::Ok(ExprKind::Binary {
op: __field0,
left: __field1,
right: __field2,
})
}
#[inline]
fn visit_map<__A>(self, mut __map: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::MapAccess<'de> {
let mut __field0: _serde::__private228::Option<BinaryOp> =
_serde::__private228::None;
let mut __field1: _serde::__private228::Option<Box<Expr>> =
_serde::__private228::None;
let mut __field2: _serde::__private228::Option<Box<Expr>> =
_serde::__private228::None;
while let _serde::__private228::Some(__key) =
_serde::de::MapAccess::next_key::<__Field>(&mut __map)? {
match __key {
__Field::__field0 => {
if _serde::__private228::Option::is_some(&__field0) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("op"));
}
__field0 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<BinaryOp>(&mut __map)?);
}
__Field::__field1 => {
if _serde::__private228::Option::is_some(&__field1) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("left"));
}
__field1 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Box<Expr>>(&mut __map)?);
}
__Field::__field2 => {
if _serde::__private228::Option::is_some(&__field2) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("right"));
}
__field2 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Box<Expr>>(&mut __map)?);
}
_ => {
let _ =
_serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map)?;
}
}
}
let __field0 =
match __field0 {
_serde::__private228::Some(__field0) => __field0,
_serde::__private228::None =>
_serde::__private228::de::missing_field("op")?,
};
let __field1 =
match __field1 {
_serde::__private228::Some(__field1) => __field1,
_serde::__private228::None =>
_serde::__private228::de::missing_field("left")?,
};
let __field2 =
match __field2 {
_serde::__private228::Some(__field2) => __field2,
_serde::__private228::None =>
_serde::__private228::de::missing_field("right")?,
};
_serde::__private228::Ok(ExprKind::Binary {
op: __field0,
left: __field1,
right: __field2,
})
}
}
#[doc(hidden)]
const FIELDS: &'static [&'static str] =
&["op", "left", "right"];
_serde::de::VariantAccess::struct_variant(__variant, FIELDS,
__Visitor {
marker: _serde::__private228::PhantomData::<ExprKind>,
lifetime: _serde::__private228::PhantomData,
})
}
(__Field::__field6, __variant) => {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field { __field0, __field1, __field2, __ignore, }
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"field identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
2u64 => _serde::__private228::Ok(__Field::__field2),
_ => _serde::__private228::Ok(__Field::__ignore),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"condition" => _serde::__private228::Ok(__Field::__field0),
"when_true" => _serde::__private228::Ok(__Field::__field1),
"when_false" => _serde::__private228::Ok(__Field::__field2),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"condition" => _serde::__private228::Ok(__Field::__field0),
b"when_true" => _serde::__private228::Ok(__Field::__field1),
b"when_false" =>
_serde::__private228::Ok(__Field::__field2),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<ExprKind>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = ExprKind;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"struct variant ExprKind::Conditional")
}
#[inline]
fn visit_seq<__A>(self, mut __seq: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::SeqAccess<'de> {
let __field0 =
match _serde::de::SeqAccess::next_element::<Box<Expr>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(0usize,
&"struct variant ExprKind::Conditional with 3 elements")),
};
let __field1 =
match _serde::de::SeqAccess::next_element::<Box<Expr>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(1usize,
&"struct variant ExprKind::Conditional with 3 elements")),
};
let __field2 =
match _serde::de::SeqAccess::next_element::<Box<Expr>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(2usize,
&"struct variant ExprKind::Conditional with 3 elements")),
};
_serde::__private228::Ok(ExprKind::Conditional {
condition: __field0,
when_true: __field1,
when_false: __field2,
})
}
#[inline]
fn visit_map<__A>(self, mut __map: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::MapAccess<'de> {
let mut __field0: _serde::__private228::Option<Box<Expr>> =
_serde::__private228::None;
let mut __field1: _serde::__private228::Option<Box<Expr>> =
_serde::__private228::None;
let mut __field2: _serde::__private228::Option<Box<Expr>> =
_serde::__private228::None;
while let _serde::__private228::Some(__key) =
_serde::de::MapAccess::next_key::<__Field>(&mut __map)? {
match __key {
__Field::__field0 => {
if _serde::__private228::Option::is_some(&__field0) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("condition"));
}
__field0 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Box<Expr>>(&mut __map)?);
}
__Field::__field1 => {
if _serde::__private228::Option::is_some(&__field1) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("when_true"));
}
__field1 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Box<Expr>>(&mut __map)?);
}
__Field::__field2 => {
if _serde::__private228::Option::is_some(&__field2) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("when_false"));
}
__field2 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Box<Expr>>(&mut __map)?);
}
_ => {
let _ =
_serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map)?;
}
}
}
let __field0 =
match __field0 {
_serde::__private228::Some(__field0) => __field0,
_serde::__private228::None =>
_serde::__private228::de::missing_field("condition")?,
};
let __field1 =
match __field1 {
_serde::__private228::Some(__field1) => __field1,
_serde::__private228::None =>
_serde::__private228::de::missing_field("when_true")?,
};
let __field2 =
match __field2 {
_serde::__private228::Some(__field2) => __field2,
_serde::__private228::None =>
_serde::__private228::de::missing_field("when_false")?,
};
_serde::__private228::Ok(ExprKind::Conditional {
condition: __field0,
when_true: __field1,
when_false: __field2,
})
}
}
#[doc(hidden)]
const FIELDS: &'static [&'static str] =
&["condition", "when_true", "when_false"];
_serde::de::VariantAccess::struct_variant(__variant, FIELDS,
__Visitor {
marker: _serde::__private228::PhantomData::<ExprKind>,
lifetime: _serde::__private228::PhantomData,
})
}
(__Field::__field7, __variant) => {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field { __field0, __field1, __field2, __ignore, }
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"field identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
2u64 => _serde::__private228::Ok(__Field::__field2),
_ => _serde::__private228::Ok(__Field::__ignore),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"op" => _serde::__private228::Ok(__Field::__field0),
"left" => _serde::__private228::Ok(__Field::__field1),
"right" => _serde::__private228::Ok(__Field::__field2),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"op" => _serde::__private228::Ok(__Field::__field0),
b"left" => _serde::__private228::Ok(__Field::__field1),
b"right" => _serde::__private228::Ok(__Field::__field2),
_ => { _serde::__private228::Ok(__Field::__ignore) }
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<ExprKind>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = ExprKind;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"struct variant ExprKind::Assignment")
}
#[inline]
fn visit_seq<__A>(self, mut __seq: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::SeqAccess<'de> {
let __field0 =
match _serde::de::SeqAccess::next_element::<AssignmentOp>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(0usize,
&"struct variant ExprKind::Assignment with 3 elements")),
};
let __field1 =
match _serde::de::SeqAccess::next_element::<Box<Expr>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(1usize,
&"struct variant ExprKind::Assignment with 3 elements")),
};
let __field2 =
match _serde::de::SeqAccess::next_element::<Box<Expr>>(&mut __seq)?
{
_serde::__private228::Some(__value) => __value,
_serde::__private228::None =>
return _serde::__private228::Err(_serde::de::Error::invalid_length(2usize,
&"struct variant ExprKind::Assignment with 3 elements")),
};
_serde::__private228::Ok(ExprKind::Assignment {
op: __field0,
left: __field1,
right: __field2,
})
}
#[inline]
fn visit_map<__A>(self, mut __map: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::MapAccess<'de> {
let mut __field0:
_serde::__private228::Option<AssignmentOp> =
_serde::__private228::None;
let mut __field1: _serde::__private228::Option<Box<Expr>> =
_serde::__private228::None;
let mut __field2: _serde::__private228::Option<Box<Expr>> =
_serde::__private228::None;
while let _serde::__private228::Some(__key) =
_serde::de::MapAccess::next_key::<__Field>(&mut __map)? {
match __key {
__Field::__field0 => {
if _serde::__private228::Option::is_some(&__field0) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("op"));
}
__field0 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<AssignmentOp>(&mut __map)?);
}
__Field::__field1 => {
if _serde::__private228::Option::is_some(&__field1) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("left"));
}
__field1 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Box<Expr>>(&mut __map)?);
}
__Field::__field2 => {
if _serde::__private228::Option::is_some(&__field2) {
return _serde::__private228::Err(<__A::Error as
_serde::de::Error>::duplicate_field("right"));
}
__field2 =
_serde::__private228::Some(_serde::de::MapAccess::next_value::<Box<Expr>>(&mut __map)?);
}
_ => {
let _ =
_serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map)?;
}
}
}
let __field0 =
match __field0 {
_serde::__private228::Some(__field0) => __field0,
_serde::__private228::None =>
_serde::__private228::de::missing_field("op")?,
};
let __field1 =
match __field1 {
_serde::__private228::Some(__field1) => __field1,
_serde::__private228::None =>
_serde::__private228::de::missing_field("left")?,
};
let __field2 =
match __field2 {
_serde::__private228::Some(__field2) => __field2,
_serde::__private228::None =>
_serde::__private228::de::missing_field("right")?,
};
_serde::__private228::Ok(ExprKind::Assignment {
op: __field0,
left: __field1,
right: __field2,
})
}
}
#[doc(hidden)]
const FIELDS: &'static [&'static str] =
&["op", "left", "right"];
_serde::de::VariantAccess::struct_variant(__variant, FIELDS,
__Visitor {
marker: _serde::__private228::PhantomData::<ExprKind>,
lifetime: _serde::__private228::PhantomData,
})
}
}
}
}
#[doc(hidden)]
const VARIANTS: &'static [&'static str] =
&["Literal", "Identifier", "Call", "FieldAccess", "Unary",
"Binary", "Conditional", "Assignment"];
_serde::Deserializer::deserialize_enum(__deserializer,
"ExprKind", VARIANTS,
__Visitor {
marker: _serde::__private228::PhantomData::<ExprKind>,
lifetime: _serde::__private228::PhantomData,
})
}
}
};Deserialize)]
302pub enum ExprKind {
303 Literal(Literal),
305 Identifier(String),
307 Call {
309 callee: Box<Expr>,
311 arguments: Vec<Expr>,
313 },
314 FieldAccess {
316 base: Box<Expr>,
318 field: String,
320 },
321 Unary {
323 op: UnaryOp,
325 expr: Box<Expr>,
327 },
328 Binary {
330 op: BinaryOp,
332 left: Box<Expr>,
334 right: Box<Expr>,
336 },
337 Conditional {
339 condition: Box<Expr>,
341 when_true: Box<Expr>,
343 when_false: Box<Expr>,
345 },
346 Assignment {
348 op: AssignmentOp,
350 left: Box<Expr>,
352 right: Box<Expr>,
354 },
355}
356
357#[derive(#[automatically_derived]
impl ::core::fmt::Debug for UnaryOp {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
UnaryOp::Negate => "Negate",
UnaryOp::OnesComplement => "OnesComplement",
UnaryOp::BooleanNot => "BooleanNot",
UnaryOp::PreIncrement => "PreIncrement",
UnaryOp::PreDecrement => "PreDecrement",
UnaryOp::PostIncrement => "PostIncrement",
UnaryOp::PostDecrement => "PostDecrement",
})
}
}Debug, #[automatically_derived]
impl ::core::clone::Clone for UnaryOp {
#[inline]
fn clone(&self) -> UnaryOp { *self }
}Clone, #[automatically_derived]
impl ::core::marker::Copy for UnaryOp { }Copy, #[automatically_derived]
impl ::core::cmp::PartialEq for UnaryOp {
#[inline]
fn eq(&self, other: &UnaryOp) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq, #[automatically_derived]
impl ::core::cmp::Eq for UnaryOp {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {}
}Eq, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl _serde::Serialize for UnaryOp {
fn serialize<__S>(&self, __serializer: __S)
-> _serde::__private228::Result<__S::Ok, __S::Error> where
__S: _serde::Serializer {
match *self {
UnaryOp::Negate =>
_serde::Serializer::serialize_unit_variant(__serializer,
"UnaryOp", 0u32, "Negate"),
UnaryOp::OnesComplement =>
_serde::Serializer::serialize_unit_variant(__serializer,
"UnaryOp", 1u32, "OnesComplement"),
UnaryOp::BooleanNot =>
_serde::Serializer::serialize_unit_variant(__serializer,
"UnaryOp", 2u32, "BooleanNot"),
UnaryOp::PreIncrement =>
_serde::Serializer::serialize_unit_variant(__serializer,
"UnaryOp", 3u32, "PreIncrement"),
UnaryOp::PreDecrement =>
_serde::Serializer::serialize_unit_variant(__serializer,
"UnaryOp", 4u32, "PreDecrement"),
UnaryOp::PostIncrement =>
_serde::Serializer::serialize_unit_variant(__serializer,
"UnaryOp", 5u32, "PostIncrement"),
UnaryOp::PostDecrement =>
_serde::Serializer::serialize_unit_variant(__serializer,
"UnaryOp", 6u32, "PostDecrement"),
}
}
}
};Serialize, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for UnaryOp {
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field {
__field0,
__field1,
__field2,
__field3,
__field4,
__field5,
__field6,
}
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"variant identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
2u64 => _serde::__private228::Ok(__Field::__field2),
3u64 => _serde::__private228::Ok(__Field::__field3),
4u64 => _serde::__private228::Ok(__Field::__field4),
5u64 => _serde::__private228::Ok(__Field::__field5),
6u64 => _serde::__private228::Ok(__Field::__field6),
_ =>
_serde::__private228::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value),
&"variant index 0 <= i < 7")),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"Negate" => _serde::__private228::Ok(__Field::__field0),
"OnesComplement" =>
_serde::__private228::Ok(__Field::__field1),
"BooleanNot" => _serde::__private228::Ok(__Field::__field2),
"PreIncrement" =>
_serde::__private228::Ok(__Field::__field3),
"PreDecrement" =>
_serde::__private228::Ok(__Field::__field4),
"PostIncrement" =>
_serde::__private228::Ok(__Field::__field5),
"PostDecrement" =>
_serde::__private228::Ok(__Field::__field6),
_ => {
_serde::__private228::Err(_serde::de::Error::unknown_variant(__value,
VARIANTS))
}
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"Negate" => _serde::__private228::Ok(__Field::__field0),
b"OnesComplement" =>
_serde::__private228::Ok(__Field::__field1),
b"BooleanNot" =>
_serde::__private228::Ok(__Field::__field2),
b"PreIncrement" =>
_serde::__private228::Ok(__Field::__field3),
b"PreDecrement" =>
_serde::__private228::Ok(__Field::__field4),
b"PostIncrement" =>
_serde::__private228::Ok(__Field::__field5),
b"PostDecrement" =>
_serde::__private228::Ok(__Field::__field6),
_ => {
let __value =
&_serde::__private228::from_utf8_lossy(__value);
_serde::__private228::Err(_serde::de::Error::unknown_variant(__value,
VARIANTS))
}
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<UnaryOp>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = UnaryOp;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"enum UnaryOp")
}
fn visit_enum<__A>(self, __data: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::EnumAccess<'de> {
match _serde::de::EnumAccess::variant(__data)? {
(__Field::__field0, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(UnaryOp::Negate)
}
(__Field::__field1, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(UnaryOp::OnesComplement)
}
(__Field::__field2, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(UnaryOp::BooleanNot)
}
(__Field::__field3, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(UnaryOp::PreIncrement)
}
(__Field::__field4, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(UnaryOp::PreDecrement)
}
(__Field::__field5, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(UnaryOp::PostIncrement)
}
(__Field::__field6, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(UnaryOp::PostDecrement)
}
}
}
}
#[doc(hidden)]
const VARIANTS: &'static [&'static str] =
&["Negate", "OnesComplement", "BooleanNot", "PreIncrement",
"PreDecrement", "PostIncrement", "PostDecrement"];
_serde::Deserializer::deserialize_enum(__deserializer,
"UnaryOp", VARIANTS,
__Visitor {
marker: _serde::__private228::PhantomData::<UnaryOp>,
lifetime: _serde::__private228::PhantomData,
})
}
}
};Deserialize)]
359pub enum UnaryOp {
360 Negate,
362 OnesComplement,
364 BooleanNot,
366 PreIncrement,
368 PreDecrement,
370 PostIncrement,
372 PostDecrement,
374}
375
376#[derive(#[automatically_derived]
impl ::core::fmt::Debug for BinaryOp {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
BinaryOp::Multiply => "Multiply",
BinaryOp::Divide => "Divide",
BinaryOp::Modulus => "Modulus",
BinaryOp::Add => "Add",
BinaryOp::Subtract => "Subtract",
BinaryOp::ShiftLeft => "ShiftLeft",
BinaryOp::ShiftRight => "ShiftRight",
BinaryOp::UnsignedShiftRight => "UnsignedShiftRight",
BinaryOp::GreaterEqual => "GreaterEqual",
BinaryOp::GreaterThan => "GreaterThan",
BinaryOp::LessThan => "LessThan",
BinaryOp::LessEqual => "LessEqual",
BinaryOp::NotEqual => "NotEqual",
BinaryOp::EqualEqual => "EqualEqual",
BinaryOp::BooleanAnd => "BooleanAnd",
BinaryOp::ExclusiveOr => "ExclusiveOr",
BinaryOp::InclusiveOr => "InclusiveOr",
BinaryOp::LogicalAnd => "LogicalAnd",
BinaryOp::LogicalOr => "LogicalOr",
})
}
}Debug, #[automatically_derived]
impl ::core::clone::Clone for BinaryOp {
#[inline]
fn clone(&self) -> BinaryOp { *self }
}Clone, #[automatically_derived]
impl ::core::marker::Copy for BinaryOp { }Copy, #[automatically_derived]
impl ::core::cmp::PartialEq for BinaryOp {
#[inline]
fn eq(&self, other: &BinaryOp) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq, #[automatically_derived]
impl ::core::cmp::Eq for BinaryOp {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {}
}Eq, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl _serde::Serialize for BinaryOp {
fn serialize<__S>(&self, __serializer: __S)
-> _serde::__private228::Result<__S::Ok, __S::Error> where
__S: _serde::Serializer {
match *self {
BinaryOp::Multiply =>
_serde::Serializer::serialize_unit_variant(__serializer,
"BinaryOp", 0u32, "Multiply"),
BinaryOp::Divide =>
_serde::Serializer::serialize_unit_variant(__serializer,
"BinaryOp", 1u32, "Divide"),
BinaryOp::Modulus =>
_serde::Serializer::serialize_unit_variant(__serializer,
"BinaryOp", 2u32, "Modulus"),
BinaryOp::Add =>
_serde::Serializer::serialize_unit_variant(__serializer,
"BinaryOp", 3u32, "Add"),
BinaryOp::Subtract =>
_serde::Serializer::serialize_unit_variant(__serializer,
"BinaryOp", 4u32, "Subtract"),
BinaryOp::ShiftLeft =>
_serde::Serializer::serialize_unit_variant(__serializer,
"BinaryOp", 5u32, "ShiftLeft"),
BinaryOp::ShiftRight =>
_serde::Serializer::serialize_unit_variant(__serializer,
"BinaryOp", 6u32, "ShiftRight"),
BinaryOp::UnsignedShiftRight =>
_serde::Serializer::serialize_unit_variant(__serializer,
"BinaryOp", 7u32, "UnsignedShiftRight"),
BinaryOp::GreaterEqual =>
_serde::Serializer::serialize_unit_variant(__serializer,
"BinaryOp", 8u32, "GreaterEqual"),
BinaryOp::GreaterThan =>
_serde::Serializer::serialize_unit_variant(__serializer,
"BinaryOp", 9u32, "GreaterThan"),
BinaryOp::LessThan =>
_serde::Serializer::serialize_unit_variant(__serializer,
"BinaryOp", 10u32, "LessThan"),
BinaryOp::LessEqual =>
_serde::Serializer::serialize_unit_variant(__serializer,
"BinaryOp", 11u32, "LessEqual"),
BinaryOp::NotEqual =>
_serde::Serializer::serialize_unit_variant(__serializer,
"BinaryOp", 12u32, "NotEqual"),
BinaryOp::EqualEqual =>
_serde::Serializer::serialize_unit_variant(__serializer,
"BinaryOp", 13u32, "EqualEqual"),
BinaryOp::BooleanAnd =>
_serde::Serializer::serialize_unit_variant(__serializer,
"BinaryOp", 14u32, "BooleanAnd"),
BinaryOp::ExclusiveOr =>
_serde::Serializer::serialize_unit_variant(__serializer,
"BinaryOp", 15u32, "ExclusiveOr"),
BinaryOp::InclusiveOr =>
_serde::Serializer::serialize_unit_variant(__serializer,
"BinaryOp", 16u32, "InclusiveOr"),
BinaryOp::LogicalAnd =>
_serde::Serializer::serialize_unit_variant(__serializer,
"BinaryOp", 17u32, "LogicalAnd"),
BinaryOp::LogicalOr =>
_serde::Serializer::serialize_unit_variant(__serializer,
"BinaryOp", 18u32, "LogicalOr"),
}
}
}
};Serialize, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for BinaryOp {
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field {
__field0,
__field1,
__field2,
__field3,
__field4,
__field5,
__field6,
__field7,
__field8,
__field9,
__field10,
__field11,
__field12,
__field13,
__field14,
__field15,
__field16,
__field17,
__field18,
}
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"variant identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
2u64 => _serde::__private228::Ok(__Field::__field2),
3u64 => _serde::__private228::Ok(__Field::__field3),
4u64 => _serde::__private228::Ok(__Field::__field4),
5u64 => _serde::__private228::Ok(__Field::__field5),
6u64 => _serde::__private228::Ok(__Field::__field6),
7u64 => _serde::__private228::Ok(__Field::__field7),
8u64 => _serde::__private228::Ok(__Field::__field8),
9u64 => _serde::__private228::Ok(__Field::__field9),
10u64 => _serde::__private228::Ok(__Field::__field10),
11u64 => _serde::__private228::Ok(__Field::__field11),
12u64 => _serde::__private228::Ok(__Field::__field12),
13u64 => _serde::__private228::Ok(__Field::__field13),
14u64 => _serde::__private228::Ok(__Field::__field14),
15u64 => _serde::__private228::Ok(__Field::__field15),
16u64 => _serde::__private228::Ok(__Field::__field16),
17u64 => _serde::__private228::Ok(__Field::__field17),
18u64 => _serde::__private228::Ok(__Field::__field18),
_ =>
_serde::__private228::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value),
&"variant index 0 <= i < 19")),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"Multiply" => _serde::__private228::Ok(__Field::__field0),
"Divide" => _serde::__private228::Ok(__Field::__field1),
"Modulus" => _serde::__private228::Ok(__Field::__field2),
"Add" => _serde::__private228::Ok(__Field::__field3),
"Subtract" => _serde::__private228::Ok(__Field::__field4),
"ShiftLeft" => _serde::__private228::Ok(__Field::__field5),
"ShiftRight" => _serde::__private228::Ok(__Field::__field6),
"UnsignedShiftRight" =>
_serde::__private228::Ok(__Field::__field7),
"GreaterEqual" =>
_serde::__private228::Ok(__Field::__field8),
"GreaterThan" =>
_serde::__private228::Ok(__Field::__field9),
"LessThan" => _serde::__private228::Ok(__Field::__field10),
"LessEqual" => _serde::__private228::Ok(__Field::__field11),
"NotEqual" => _serde::__private228::Ok(__Field::__field12),
"EqualEqual" =>
_serde::__private228::Ok(__Field::__field13),
"BooleanAnd" =>
_serde::__private228::Ok(__Field::__field14),
"ExclusiveOr" =>
_serde::__private228::Ok(__Field::__field15),
"InclusiveOr" =>
_serde::__private228::Ok(__Field::__field16),
"LogicalAnd" =>
_serde::__private228::Ok(__Field::__field17),
"LogicalOr" => _serde::__private228::Ok(__Field::__field18),
_ => {
_serde::__private228::Err(_serde::de::Error::unknown_variant(__value,
VARIANTS))
}
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"Multiply" => _serde::__private228::Ok(__Field::__field0),
b"Divide" => _serde::__private228::Ok(__Field::__field1),
b"Modulus" => _serde::__private228::Ok(__Field::__field2),
b"Add" => _serde::__private228::Ok(__Field::__field3),
b"Subtract" => _serde::__private228::Ok(__Field::__field4),
b"ShiftLeft" => _serde::__private228::Ok(__Field::__field5),
b"ShiftRight" =>
_serde::__private228::Ok(__Field::__field6),
b"UnsignedShiftRight" =>
_serde::__private228::Ok(__Field::__field7),
b"GreaterEqual" =>
_serde::__private228::Ok(__Field::__field8),
b"GreaterThan" =>
_serde::__private228::Ok(__Field::__field9),
b"LessThan" => _serde::__private228::Ok(__Field::__field10),
b"LessEqual" =>
_serde::__private228::Ok(__Field::__field11),
b"NotEqual" => _serde::__private228::Ok(__Field::__field12),
b"EqualEqual" =>
_serde::__private228::Ok(__Field::__field13),
b"BooleanAnd" =>
_serde::__private228::Ok(__Field::__field14),
b"ExclusiveOr" =>
_serde::__private228::Ok(__Field::__field15),
b"InclusiveOr" =>
_serde::__private228::Ok(__Field::__field16),
b"LogicalAnd" =>
_serde::__private228::Ok(__Field::__field17),
b"LogicalOr" =>
_serde::__private228::Ok(__Field::__field18),
_ => {
let __value =
&_serde::__private228::from_utf8_lossy(__value);
_serde::__private228::Err(_serde::de::Error::unknown_variant(__value,
VARIANTS))
}
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<BinaryOp>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = BinaryOp;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"enum BinaryOp")
}
fn visit_enum<__A>(self, __data: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::EnumAccess<'de> {
match _serde::de::EnumAccess::variant(__data)? {
(__Field::__field0, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(BinaryOp::Multiply)
}
(__Field::__field1, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(BinaryOp::Divide)
}
(__Field::__field2, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(BinaryOp::Modulus)
}
(__Field::__field3, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(BinaryOp::Add)
}
(__Field::__field4, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(BinaryOp::Subtract)
}
(__Field::__field5, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(BinaryOp::ShiftLeft)
}
(__Field::__field6, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(BinaryOp::ShiftRight)
}
(__Field::__field7, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(BinaryOp::UnsignedShiftRight)
}
(__Field::__field8, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(BinaryOp::GreaterEqual)
}
(__Field::__field9, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(BinaryOp::GreaterThan)
}
(__Field::__field10, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(BinaryOp::LessThan)
}
(__Field::__field11, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(BinaryOp::LessEqual)
}
(__Field::__field12, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(BinaryOp::NotEqual)
}
(__Field::__field13, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(BinaryOp::EqualEqual)
}
(__Field::__field14, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(BinaryOp::BooleanAnd)
}
(__Field::__field15, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(BinaryOp::ExclusiveOr)
}
(__Field::__field16, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(BinaryOp::InclusiveOr)
}
(__Field::__field17, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(BinaryOp::LogicalAnd)
}
(__Field::__field18, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(BinaryOp::LogicalOr)
}
}
}
}
#[doc(hidden)]
const VARIANTS: &'static [&'static str] =
&["Multiply", "Divide", "Modulus", "Add", "Subtract",
"ShiftLeft", "ShiftRight", "UnsignedShiftRight",
"GreaterEqual", "GreaterThan", "LessThan", "LessEqual",
"NotEqual", "EqualEqual", "BooleanAnd", "ExclusiveOr",
"InclusiveOr", "LogicalAnd", "LogicalOr"];
_serde::Deserializer::deserialize_enum(__deserializer,
"BinaryOp", VARIANTS,
__Visitor {
marker: _serde::__private228::PhantomData::<BinaryOp>,
lifetime: _serde::__private228::PhantomData,
})
}
}
};Deserialize)]
378pub enum BinaryOp {
379 Multiply,
381 Divide,
383 Modulus,
385 Add,
387 Subtract,
389 ShiftLeft,
391 ShiftRight,
393 UnsignedShiftRight,
395 GreaterEqual,
397 GreaterThan,
399 LessThan,
401 LessEqual,
403 NotEqual,
405 EqualEqual,
407 BooleanAnd,
409 ExclusiveOr,
411 InclusiveOr,
413 LogicalAnd,
415 LogicalOr,
417}
418
419#[derive(#[automatically_derived]
impl ::core::fmt::Debug for AssignmentOp {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
AssignmentOp::Assign => "Assign",
AssignmentOp::AssignMinus => "AssignMinus",
AssignmentOp::AssignPlus => "AssignPlus",
AssignmentOp::AssignMultiply => "AssignMultiply",
AssignmentOp::AssignDivide => "AssignDivide",
AssignmentOp::AssignModulus => "AssignModulus",
AssignmentOp::AssignAnd => "AssignAnd",
AssignmentOp::AssignXor => "AssignXor",
AssignmentOp::AssignOr => "AssignOr",
AssignmentOp::AssignShiftLeft => "AssignShiftLeft",
AssignmentOp::AssignShiftRight => "AssignShiftRight",
AssignmentOp::AssignUnsignedShiftRight =>
"AssignUnsignedShiftRight",
})
}
}Debug, #[automatically_derived]
impl ::core::clone::Clone for AssignmentOp {
#[inline]
fn clone(&self) -> AssignmentOp { *self }
}Clone, #[automatically_derived]
impl ::core::marker::Copy for AssignmentOp { }Copy, #[automatically_derived]
impl ::core::cmp::PartialEq for AssignmentOp {
#[inline]
fn eq(&self, other: &AssignmentOp) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq, #[automatically_derived]
impl ::core::cmp::Eq for AssignmentOp {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {}
}Eq, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl _serde::Serialize for AssignmentOp {
fn serialize<__S>(&self, __serializer: __S)
-> _serde::__private228::Result<__S::Ok, __S::Error> where
__S: _serde::Serializer {
match *self {
AssignmentOp::Assign =>
_serde::Serializer::serialize_unit_variant(__serializer,
"AssignmentOp", 0u32, "Assign"),
AssignmentOp::AssignMinus =>
_serde::Serializer::serialize_unit_variant(__serializer,
"AssignmentOp", 1u32, "AssignMinus"),
AssignmentOp::AssignPlus =>
_serde::Serializer::serialize_unit_variant(__serializer,
"AssignmentOp", 2u32, "AssignPlus"),
AssignmentOp::AssignMultiply =>
_serde::Serializer::serialize_unit_variant(__serializer,
"AssignmentOp", 3u32, "AssignMultiply"),
AssignmentOp::AssignDivide =>
_serde::Serializer::serialize_unit_variant(__serializer,
"AssignmentOp", 4u32, "AssignDivide"),
AssignmentOp::AssignModulus =>
_serde::Serializer::serialize_unit_variant(__serializer,
"AssignmentOp", 5u32, "AssignModulus"),
AssignmentOp::AssignAnd =>
_serde::Serializer::serialize_unit_variant(__serializer,
"AssignmentOp", 6u32, "AssignAnd"),
AssignmentOp::AssignXor =>
_serde::Serializer::serialize_unit_variant(__serializer,
"AssignmentOp", 7u32, "AssignXor"),
AssignmentOp::AssignOr =>
_serde::Serializer::serialize_unit_variant(__serializer,
"AssignmentOp", 8u32, "AssignOr"),
AssignmentOp::AssignShiftLeft =>
_serde::Serializer::serialize_unit_variant(__serializer,
"AssignmentOp", 9u32, "AssignShiftLeft"),
AssignmentOp::AssignShiftRight =>
_serde::Serializer::serialize_unit_variant(__serializer,
"AssignmentOp", 10u32, "AssignShiftRight"),
AssignmentOp::AssignUnsignedShiftRight =>
_serde::Serializer::serialize_unit_variant(__serializer,
"AssignmentOp", 11u32, "AssignUnsignedShiftRight"),
}
}
}
};Serialize, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for AssignmentOp {
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field {
__field0,
__field1,
__field2,
__field3,
__field4,
__field5,
__field6,
__field7,
__field8,
__field9,
__field10,
__field11,
}
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"variant identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
2u64 => _serde::__private228::Ok(__Field::__field2),
3u64 => _serde::__private228::Ok(__Field::__field3),
4u64 => _serde::__private228::Ok(__Field::__field4),
5u64 => _serde::__private228::Ok(__Field::__field5),
6u64 => _serde::__private228::Ok(__Field::__field6),
7u64 => _serde::__private228::Ok(__Field::__field7),
8u64 => _serde::__private228::Ok(__Field::__field8),
9u64 => _serde::__private228::Ok(__Field::__field9),
10u64 => _serde::__private228::Ok(__Field::__field10),
11u64 => _serde::__private228::Ok(__Field::__field11),
_ =>
_serde::__private228::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value),
&"variant index 0 <= i < 12")),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"Assign" => _serde::__private228::Ok(__Field::__field0),
"AssignMinus" =>
_serde::__private228::Ok(__Field::__field1),
"AssignPlus" => _serde::__private228::Ok(__Field::__field2),
"AssignMultiply" =>
_serde::__private228::Ok(__Field::__field3),
"AssignDivide" =>
_serde::__private228::Ok(__Field::__field4),
"AssignModulus" =>
_serde::__private228::Ok(__Field::__field5),
"AssignAnd" => _serde::__private228::Ok(__Field::__field6),
"AssignXor" => _serde::__private228::Ok(__Field::__field7),
"AssignOr" => _serde::__private228::Ok(__Field::__field8),
"AssignShiftLeft" =>
_serde::__private228::Ok(__Field::__field9),
"AssignShiftRight" =>
_serde::__private228::Ok(__Field::__field10),
"AssignUnsignedShiftRight" =>
_serde::__private228::Ok(__Field::__field11),
_ => {
_serde::__private228::Err(_serde::de::Error::unknown_variant(__value,
VARIANTS))
}
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"Assign" => _serde::__private228::Ok(__Field::__field0),
b"AssignMinus" =>
_serde::__private228::Ok(__Field::__field1),
b"AssignPlus" =>
_serde::__private228::Ok(__Field::__field2),
b"AssignMultiply" =>
_serde::__private228::Ok(__Field::__field3),
b"AssignDivide" =>
_serde::__private228::Ok(__Field::__field4),
b"AssignModulus" =>
_serde::__private228::Ok(__Field::__field5),
b"AssignAnd" => _serde::__private228::Ok(__Field::__field6),
b"AssignXor" => _serde::__private228::Ok(__Field::__field7),
b"AssignOr" => _serde::__private228::Ok(__Field::__field8),
b"AssignShiftLeft" =>
_serde::__private228::Ok(__Field::__field9),
b"AssignShiftRight" =>
_serde::__private228::Ok(__Field::__field10),
b"AssignUnsignedShiftRight" =>
_serde::__private228::Ok(__Field::__field11),
_ => {
let __value =
&_serde::__private228::from_utf8_lossy(__value);
_serde::__private228::Err(_serde::de::Error::unknown_variant(__value,
VARIANTS))
}
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<AssignmentOp>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = AssignmentOp;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"enum AssignmentOp")
}
fn visit_enum<__A>(self, __data: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::EnumAccess<'de> {
match _serde::de::EnumAccess::variant(__data)? {
(__Field::__field0, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(AssignmentOp::Assign)
}
(__Field::__field1, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(AssignmentOp::AssignMinus)
}
(__Field::__field2, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(AssignmentOp::AssignPlus)
}
(__Field::__field3, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(AssignmentOp::AssignMultiply)
}
(__Field::__field4, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(AssignmentOp::AssignDivide)
}
(__Field::__field5, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(AssignmentOp::AssignModulus)
}
(__Field::__field6, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(AssignmentOp::AssignAnd)
}
(__Field::__field7, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(AssignmentOp::AssignXor)
}
(__Field::__field8, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(AssignmentOp::AssignOr)
}
(__Field::__field9, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(AssignmentOp::AssignShiftLeft)
}
(__Field::__field10, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(AssignmentOp::AssignShiftRight)
}
(__Field::__field11, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(AssignmentOp::AssignUnsignedShiftRight)
}
}
}
}
#[doc(hidden)]
const VARIANTS: &'static [&'static str] =
&["Assign", "AssignMinus", "AssignPlus", "AssignMultiply",
"AssignDivide", "AssignModulus", "AssignAnd", "AssignXor",
"AssignOr", "AssignShiftLeft", "AssignShiftRight",
"AssignUnsignedShiftRight"];
_serde::Deserializer::deserialize_enum(__deserializer,
"AssignmentOp", VARIANTS,
__Visitor {
marker: _serde::__private228::PhantomData::<AssignmentOp>,
lifetime: _serde::__private228::PhantomData,
})
}
}
};Deserialize)]
421pub enum AssignmentOp {
422 Assign,
424 AssignMinus,
426 AssignPlus,
428 AssignMultiply,
430 AssignDivide,
432 AssignModulus,
434 AssignAnd,
436 AssignXor,
438 AssignOr,
440 AssignShiftLeft,
442 AssignShiftRight,
444 AssignUnsignedShiftRight,
446}
447
448#[derive(#[automatically_derived]
impl ::core::fmt::Debug for Literal {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
match self {
Literal::Integer(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f,
"Integer", &__self_0),
Literal::Float(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Float",
&__self_0),
Literal::String(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "String",
&__self_0),
Literal::ObjectSelf =>
::core::fmt::Formatter::write_str(f, "ObjectSelf"),
Literal::ObjectInvalid =>
::core::fmt::Formatter::write_str(f, "ObjectInvalid"),
Literal::LocationInvalid =>
::core::fmt::Formatter::write_str(f, "LocationInvalid"),
Literal::Json(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Json",
&__self_0),
Literal::Vector(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Vector",
&__self_0),
Literal::Magic(__self_0) =>
::core::fmt::Formatter::debug_tuple_field1_finish(f, "Magic",
&__self_0),
}
}
}Debug, #[automatically_derived]
impl ::core::clone::Clone for Literal {
#[inline]
fn clone(&self) -> Literal {
match self {
Literal::Integer(__self_0) =>
Literal::Integer(::core::clone::Clone::clone(__self_0)),
Literal::Float(__self_0) =>
Literal::Float(::core::clone::Clone::clone(__self_0)),
Literal::String(__self_0) =>
Literal::String(::core::clone::Clone::clone(__self_0)),
Literal::ObjectSelf => Literal::ObjectSelf,
Literal::ObjectInvalid => Literal::ObjectInvalid,
Literal::LocationInvalid => Literal::LocationInvalid,
Literal::Json(__self_0) =>
Literal::Json(::core::clone::Clone::clone(__self_0)),
Literal::Vector(__self_0) =>
Literal::Vector(::core::clone::Clone::clone(__self_0)),
Literal::Magic(__self_0) =>
Literal::Magic(::core::clone::Clone::clone(__self_0)),
}
}
}Clone, #[automatically_derived]
impl ::core::cmp::PartialEq for Literal {
#[inline]
fn eq(&self, other: &Literal) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr &&
match (self, other) {
(Literal::Integer(__self_0), Literal::Integer(__arg1_0)) =>
__self_0 == __arg1_0,
(Literal::Float(__self_0), Literal::Float(__arg1_0)) =>
__self_0 == __arg1_0,
(Literal::String(__self_0), Literal::String(__arg1_0)) =>
__self_0 == __arg1_0,
(Literal::Json(__self_0), Literal::Json(__arg1_0)) =>
__self_0 == __arg1_0,
(Literal::Vector(__self_0), Literal::Vector(__arg1_0)) =>
__self_0 == __arg1_0,
(Literal::Magic(__self_0), Literal::Magic(__arg1_0)) =>
__self_0 == __arg1_0,
_ => true,
}
}
}PartialEq, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl _serde::Serialize for Literal {
fn serialize<__S>(&self, __serializer: __S)
-> _serde::__private228::Result<__S::Ok, __S::Error> where
__S: _serde::Serializer {
match *self {
Literal::Integer(ref __field0) =>
_serde::Serializer::serialize_newtype_variant(__serializer,
"Literal", 0u32, "Integer", __field0),
Literal::Float(ref __field0) =>
_serde::Serializer::serialize_newtype_variant(__serializer,
"Literal", 1u32, "Float", __field0),
Literal::String(ref __field0) =>
_serde::Serializer::serialize_newtype_variant(__serializer,
"Literal", 2u32, "String", __field0),
Literal::ObjectSelf =>
_serde::Serializer::serialize_unit_variant(__serializer,
"Literal", 3u32, "ObjectSelf"),
Literal::ObjectInvalid =>
_serde::Serializer::serialize_unit_variant(__serializer,
"Literal", 4u32, "ObjectInvalid"),
Literal::LocationInvalid =>
_serde::Serializer::serialize_unit_variant(__serializer,
"Literal", 5u32, "LocationInvalid"),
Literal::Json(ref __field0) =>
_serde::Serializer::serialize_newtype_variant(__serializer,
"Literal", 6u32, "Json", __field0),
Literal::Vector(ref __field0) =>
_serde::Serializer::serialize_newtype_variant(__serializer,
"Literal", 7u32, "Vector", __field0),
Literal::Magic(ref __field0) =>
_serde::Serializer::serialize_newtype_variant(__serializer,
"Literal", 8u32, "Magic", __field0),
}
}
}
};Serialize, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for Literal {
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field {
__field0,
__field1,
__field2,
__field3,
__field4,
__field5,
__field6,
__field7,
__field8,
}
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"variant identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
2u64 => _serde::__private228::Ok(__Field::__field2),
3u64 => _serde::__private228::Ok(__Field::__field3),
4u64 => _serde::__private228::Ok(__Field::__field4),
5u64 => _serde::__private228::Ok(__Field::__field5),
6u64 => _serde::__private228::Ok(__Field::__field6),
7u64 => _serde::__private228::Ok(__Field::__field7),
8u64 => _serde::__private228::Ok(__Field::__field8),
_ =>
_serde::__private228::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value),
&"variant index 0 <= i < 9")),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"Integer" => _serde::__private228::Ok(__Field::__field0),
"Float" => _serde::__private228::Ok(__Field::__field1),
"String" => _serde::__private228::Ok(__Field::__field2),
"ObjectSelf" => _serde::__private228::Ok(__Field::__field3),
"ObjectInvalid" =>
_serde::__private228::Ok(__Field::__field4),
"LocationInvalid" =>
_serde::__private228::Ok(__Field::__field5),
"Json" => _serde::__private228::Ok(__Field::__field6),
"Vector" => _serde::__private228::Ok(__Field::__field7),
"Magic" => _serde::__private228::Ok(__Field::__field8),
_ => {
_serde::__private228::Err(_serde::de::Error::unknown_variant(__value,
VARIANTS))
}
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"Integer" => _serde::__private228::Ok(__Field::__field0),
b"Float" => _serde::__private228::Ok(__Field::__field1),
b"String" => _serde::__private228::Ok(__Field::__field2),
b"ObjectSelf" =>
_serde::__private228::Ok(__Field::__field3),
b"ObjectInvalid" =>
_serde::__private228::Ok(__Field::__field4),
b"LocationInvalid" =>
_serde::__private228::Ok(__Field::__field5),
b"Json" => _serde::__private228::Ok(__Field::__field6),
b"Vector" => _serde::__private228::Ok(__Field::__field7),
b"Magic" => _serde::__private228::Ok(__Field::__field8),
_ => {
let __value =
&_serde::__private228::from_utf8_lossy(__value);
_serde::__private228::Err(_serde::de::Error::unknown_variant(__value,
VARIANTS))
}
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<Literal>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = Literal;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"enum Literal")
}
fn visit_enum<__A>(self, __data: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::EnumAccess<'de> {
match _serde::de::EnumAccess::variant(__data)? {
(__Field::__field0, __variant) =>
_serde::__private228::Result::map(_serde::de::VariantAccess::newtype_variant::<i32>(__variant),
Literal::Integer),
(__Field::__field1, __variant) =>
_serde::__private228::Result::map(_serde::de::VariantAccess::newtype_variant::<f32>(__variant),
Literal::Float),
(__Field::__field2, __variant) =>
_serde::__private228::Result::map(_serde::de::VariantAccess::newtype_variant::<String>(__variant),
Literal::String),
(__Field::__field3, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(Literal::ObjectSelf)
}
(__Field::__field4, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(Literal::ObjectInvalid)
}
(__Field::__field5, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(Literal::LocationInvalid)
}
(__Field::__field6, __variant) =>
_serde::__private228::Result::map(_serde::de::VariantAccess::newtype_variant::<String>(__variant),
Literal::Json),
(__Field::__field7, __variant) =>
_serde::__private228::Result::map(_serde::de::VariantAccess::newtype_variant::<[f32; 3]>(__variant),
Literal::Vector),
(__Field::__field8, __variant) =>
_serde::__private228::Result::map(_serde::de::VariantAccess::newtype_variant::<MagicLiteral>(__variant),
Literal::Magic),
}
}
}
#[doc(hidden)]
const VARIANTS: &'static [&'static str] =
&["Integer", "Float", "String", "ObjectSelf",
"ObjectInvalid", "LocationInvalid", "Json", "Vector",
"Magic"];
_serde::Deserializer::deserialize_enum(__deserializer,
"Literal", VARIANTS,
__Visitor {
marker: _serde::__private228::PhantomData::<Literal>,
lifetime: _serde::__private228::PhantomData,
})
}
}
};Deserialize)]
450pub enum Literal {
451 Integer(i32),
453 Float(f32),
455 String(String),
457 ObjectSelf,
459 ObjectInvalid,
461 LocationInvalid,
463 Json(String),
465 Vector([f32; 3]),
467 Magic(MagicLiteral),
469}
470
471#[derive(#[automatically_derived]
impl ::core::fmt::Debug for MagicLiteral {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
MagicLiteral::Function => "Function",
MagicLiteral::File => "File",
MagicLiteral::Line => "Line",
MagicLiteral::Date => "Date",
MagicLiteral::Time => "Time",
})
}
}Debug, #[automatically_derived]
impl ::core::clone::Clone for MagicLiteral {
#[inline]
fn clone(&self) -> MagicLiteral { *self }
}Clone, #[automatically_derived]
impl ::core::marker::Copy for MagicLiteral { }Copy, #[automatically_derived]
impl ::core::cmp::PartialEq for MagicLiteral {
#[inline]
fn eq(&self, other: &MagicLiteral) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}PartialEq, #[automatically_derived]
impl ::core::cmp::Eq for MagicLiteral {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_fields_are_eq(&self) {}
}Eq, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl _serde::Serialize for MagicLiteral {
fn serialize<__S>(&self, __serializer: __S)
-> _serde::__private228::Result<__S::Ok, __S::Error> where
__S: _serde::Serializer {
match *self {
MagicLiteral::Function =>
_serde::Serializer::serialize_unit_variant(__serializer,
"MagicLiteral", 0u32, "Function"),
MagicLiteral::File =>
_serde::Serializer::serialize_unit_variant(__serializer,
"MagicLiteral", 1u32, "File"),
MagicLiteral::Line =>
_serde::Serializer::serialize_unit_variant(__serializer,
"MagicLiteral", 2u32, "Line"),
MagicLiteral::Date =>
_serde::Serializer::serialize_unit_variant(__serializer,
"MagicLiteral", 3u32, "Date"),
MagicLiteral::Time =>
_serde::Serializer::serialize_unit_variant(__serializer,
"MagicLiteral", 4u32, "Time"),
}
}
}
};Serialize, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
{
#[allow(unused_extern_crates, clippy :: useless_attribute)]
extern crate serde as _serde;
;
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for MagicLiteral {
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
#[allow(non_camel_case_types)]
#[doc(hidden)]
enum __Field {
__field0,
__field1,
__field2,
__field3,
__field4,
}
#[doc(hidden)]
struct __FieldVisitor;
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
type Value = __Field;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"variant identifier")
}
fn visit_u64<__E>(self, __value: u64)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
0u64 => _serde::__private228::Ok(__Field::__field0),
1u64 => _serde::__private228::Ok(__Field::__field1),
2u64 => _serde::__private228::Ok(__Field::__field2),
3u64 => _serde::__private228::Ok(__Field::__field3),
4u64 => _serde::__private228::Ok(__Field::__field4),
_ =>
_serde::__private228::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value),
&"variant index 0 <= i < 5")),
}
}
fn visit_str<__E>(self, __value: &str)
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
"Function" => _serde::__private228::Ok(__Field::__field0),
"File" => _serde::__private228::Ok(__Field::__field1),
"Line" => _serde::__private228::Ok(__Field::__field2),
"Date" => _serde::__private228::Ok(__Field::__field3),
"Time" => _serde::__private228::Ok(__Field::__field4),
_ => {
_serde::__private228::Err(_serde::de::Error::unknown_variant(__value,
VARIANTS))
}
}
}
fn visit_bytes<__E>(self, __value: &[u8])
-> _serde::__private228::Result<Self::Value, __E> where
__E: _serde::de::Error {
match __value {
b"Function" => _serde::__private228::Ok(__Field::__field0),
b"File" => _serde::__private228::Ok(__Field::__field1),
b"Line" => _serde::__private228::Ok(__Field::__field2),
b"Date" => _serde::__private228::Ok(__Field::__field3),
b"Time" => _serde::__private228::Ok(__Field::__field4),
_ => {
let __value =
&_serde::__private228::from_utf8_lossy(__value);
_serde::__private228::Err(_serde::de::Error::unknown_variant(__value,
VARIANTS))
}
}
}
}
#[automatically_derived]
impl<'de> _serde::Deserialize<'de> for __Field {
#[inline]
fn deserialize<__D>(__deserializer: __D)
-> _serde::__private228::Result<Self, __D::Error> where
__D: _serde::Deserializer<'de> {
_serde::Deserializer::deserialize_identifier(__deserializer,
__FieldVisitor)
}
}
#[doc(hidden)]
struct __Visitor<'de> {
marker: _serde::__private228::PhantomData<MagicLiteral>,
lifetime: _serde::__private228::PhantomData<&'de ()>,
}
#[automatically_derived]
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
type Value = MagicLiteral;
fn expecting(&self,
__formatter: &mut _serde::__private228::Formatter)
-> _serde::__private228::fmt::Result {
_serde::__private228::Formatter::write_str(__formatter,
"enum MagicLiteral")
}
fn visit_enum<__A>(self, __data: __A)
-> _serde::__private228::Result<Self::Value, __A::Error>
where __A: _serde::de::EnumAccess<'de> {
match _serde::de::EnumAccess::variant(__data)? {
(__Field::__field0, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(MagicLiteral::Function)
}
(__Field::__field1, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(MagicLiteral::File)
}
(__Field::__field2, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(MagicLiteral::Line)
}
(__Field::__field3, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(MagicLiteral::Date)
}
(__Field::__field4, __variant) => {
_serde::de::VariantAccess::unit_variant(__variant)?;
_serde::__private228::Ok(MagicLiteral::Time)
}
}
}
}
#[doc(hidden)]
const VARIANTS: &'static [&'static str] =
&["Function", "File", "Line", "Date", "Time"];
_serde::Deserializer::deserialize_enum(__deserializer,
"MagicLiteral", VARIANTS,
__Visitor {
marker: _serde::__private228::PhantomData::<MagicLiteral>,
lifetime: _serde::__private228::PhantomData,
})
}
}
};Deserialize)]
473pub enum MagicLiteral {
474 Function,
476 File,
478 Line,
480 Date,
482 Time,
484}