You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							30158 lines
						
					
					
						
							1.7 MiB
						
					
					
				
			
		
		
	
	
							30158 lines
						
					
					
						
							1.7 MiB
						
					
					
				| #![feature(prelude_import)] | |
| //! # Elefren: API Wrapper around the Mastodon API. | |
| //! | |
| //! Most of the api is documented on [Mastodon's website](https://docs.joinmastodon.org/client/intro/) | |
| //! | |
| //! ```no_run | |
| //! # extern crate elefren; | |
| //! # fn main() { | |
| //! #    run().unwrap(); | |
| //! # } | |
| //! # fn run() -> elefren::Result<()> { | |
| //! use elefren::{helpers::cli, prelude::*}; | |
| //! | |
| //! let registration = Registration::new("https://mastodon.social") | |
| //!     .client_name("elefren_test") | |
| //!     .build()?; | |
| //! let mastodon = cli::authenticate(registration)?; | |
| //! | |
| //! println!( | |
| //!     "{:?}", | |
| //!     mastodon | |
| //!         .get_home_timeline()? | |
| //!         .items_iter() | |
| //!         .take(100) | |
| //!         .collect::<Vec<_>>() | |
| //! ); | |
| //! # Ok(()) | |
| //! # } | |
| //! ``` | |
| //! | |
| //! Elefren also supports Mastodon's Streaming API: | |
| //! | |
| //! # Example | |
| //! | |
| //! ```no_run | |
| //! # extern crate elefren; | |
| //! # use elefren::prelude::*; | |
| //! # use std::error::Error; | |
| //! use elefren::entities::event::Event; | |
| //! # fn main() -> Result<(), Box<Error>> { | |
| //! # let data = Data { | |
| //! #   base: "".into(), | |
| //! #   client_id: "".into(), | |
| //! #   client_secret: "".into(), | |
| //! #   redirect: "".into(), | |
| //! #   token: "".into(), | |
| //! # }; | |
| //! let client = Mastodon::from(data); | |
| //! for event in client.streaming_user()? { | |
| //!     match event { | |
| //!         Event::Update(ref status) => { /* .. */ }, | |
| //!         Event::Notification(ref notification) => { /* .. */ }, | |
| //!         Event::Delete(ref id) => { /* .. */ }, | |
| //!         Event::FiltersChanged => { /* .. */ }, | |
| //!     } | |
| //! } | |
| //! # Ok(()) | |
| //! # } | |
| //! ``` | |
| 
 | |
| #![deny(missing_docs, warnings, missing_debug_implementations, | |
|         missing_copy_implementations, trivial_casts, trivial_numeric_casts, | |
|         unsafe_code, unstable_features, unused_import_braces, | |
|         unused_qualifications)] | |
| #![allow(intra_doc_link_resolution_failure)] | |
| #[prelude_import] | |
| use std::prelude::v1::*; | |
| #[macro_use] | |
| extern crate std; | |
| 
 | |
| #[macro_use] | |
| extern crate log; | |
| #[macro_use] | |
| extern crate serde_derive; | |
| #[macro_use] | |
| extern crate doc_comment; | |
| extern crate hyper_old_types; | |
| extern crate isolang; | |
| #[macro_use] | |
| extern crate serde_json; | |
| extern crate chrono; | |
| extern crate reqwest; | |
| extern crate serde; | |
| extern crate serde_qs; | |
| extern crate serde_urlencoded; | |
| extern crate tap_reader; | |
| extern crate try_from; | |
| extern crate url; | |
| extern crate tungstenite; | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| use std::{borrow::Cow, | |
|           /* | |
|           io::BufRead, | |
|           */ | |
|           ops}; | |
| 
 | |
| use async_trait::async_trait; | |
| use reqwest::{Client, RequestBuilder, Response}; | |
| use tap_reader::Tap; | |
| /* | |
| use tungstenite::client::AutoStream; | |
| */ | |
| 
 | |
| use crate::entities::prelude::*; | |
| use crate::page::Page; | |
| 
 | |
| pub use crate::data::Data; | |
| pub use crate::errors::{ApiError, Error, Result}; | |
| pub use isolang::Language; | |
| pub use crate::mastodon_client::{MastodonClient, MastodonUnauthenticated}; | |
| pub use crate::registration::Registration; | |
| pub use crate::requests::{AddFilterRequest, AddPushRequest, StatusesRequest, | |
|                           UpdateCredsRequest, UpdatePushRequest}; | |
| pub use crate::status_builder::{NewStatus, StatusBuilder}; | |
| 
 | |
| /// Registering your App | |
| pub mod apps { | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
|     /* | |
|     type Stream = EventReader<WebSocket>; | |
|     */ | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
|     /* | |
|     /// returns events that are relevant to the authorized user, i.e. home | |
|     /// timeline & notifications | |
|     /// | |
|     /// # Example | |
|     /// | |
|     /// ```no_run | |
|     /// # extern crate elefren; | |
|     /// # use elefren::prelude::*; | |
|     /// # use std::error::Error; | |
|     /// use elefren::entities::event::Event; | |
|     /// # fn main() -> Result<(), Box<Error>> { | |
|     /// # let data = Data { | |
|     /// #   base: "".into(), | |
|     /// #   client_id: "".into(), | |
|     /// #   client_secret: "".into(), | |
|     /// #   redirect: "".into(), | |
|     /// #   token: "".into(), | |
|     /// # }; | |
|     /// let client = Mastodon::from(data); | |
|     /// for event in client.streaming_user()? { | |
|     ///     match event { | |
|     ///         Event::Update(ref status) => { /* .. */ }, | |
|     ///         Event::Notification(ref notification) => { /* .. */ }, | |
|     ///         Event::Delete(ref id) => { /* .. */ }, | |
|     ///         Event::FiltersChanged => { /* .. */ }, | |
|     ///     } | |
|     /// } | |
|     /// # Ok(()) | |
|     /// # } | |
|     /// ``` | |
|     fn streaming_user(&self) -> Result<Self::Stream> { | |
|         let mut url: url::Url = self.route("/api/v1/streaming").parse()?; | |
|         url.query_pairs_mut() | |
|             .append_pair("access_token", &self.token) | |
|             .append_pair("stream", "user"); | |
|         let mut url: url::Url = reqwest::get(url.as_str())?.url().as_str().parse()?; | |
|         let new_scheme = match url.scheme() { | |
|             "http" => "ws", | |
|             "https" => "wss", | |
|             x => return Err(Error::Other(format!("Bad URL scheme: {}", x))), | |
|         }; | |
|         url.set_scheme(new_scheme).map_err(|_| Error::Other("Bad URL scheme!".to_string()))?; | |
| 
 | |
|         let client = tungstenite::connect(url.as_str())?.0; | |
| 
 | |
|         Ok(EventReader(WebSocket(client))) | |
|     } | |
| 
 | |
|     /// returns all public statuses | |
|     fn streaming_public(&self) -> Result<Self::Stream> { | |
|         let mut url: url::Url = self.route("/api/v1/streaming").parse()?; | |
|         url.query_pairs_mut() | |
|             .append_pair("access_token", &self.token) | |
|             .append_pair("stream", "public"); | |
|         let mut url: url::Url = reqwest::get(url.as_str())?.url().as_str().parse()?; | |
|         let new_scheme = match url.scheme() { | |
|             "http" => "ws", | |
|             "https" => "wss", | |
|             x => return Err(Error::Other(format!("Bad URL scheme: {}", x))), | |
|         }; | |
|         url.set_scheme(new_scheme).map_err(|_| Error::Other("Bad URL scheme!".to_string()))?; | |
| 
 | |
|         let client = tungstenite::connect(url.as_str())?.0; | |
| 
 | |
|         Ok(EventReader(WebSocket(client))) | |
|     } | |
| 
 | |
|     /// Returns all local statuses | |
|     fn streaming_local(&self) -> Result<Self::Stream> { | |
|         let mut url: url::Url = self.route("/api/v1/streaming").parse()?; | |
|         url.query_pairs_mut() | |
|             .append_pair("access_token", &self.token) | |
|             .append_pair("stream", "public:local"); | |
|         let mut url: url::Url = reqwest::get(url.as_str())?.url().as_str().parse()?; | |
|         let new_scheme = match url.scheme() { | |
|             "http" => "ws", | |
|             "https" => "wss", | |
|             x => return Err(Error::Other(format!("Bad URL scheme: {}", x))), | |
|         }; | |
|         url.set_scheme(new_scheme).map_err(|_| Error::Other("Bad URL scheme!".to_string()))?; | |
| 
 | |
|         let client = tungstenite::connect(url.as_str())?.0; | |
| 
 | |
|         Ok(EventReader(WebSocket(client))) | |
|     } | |
| 
 | |
|     /// Returns all public statuses for a particular hashtag | |
|     fn streaming_public_hashtag(&self, hashtag: &str) -> Result<Self::Stream> { | |
|         let mut url: url::Url = self.route("/api/v1/streaming").parse()?; | |
|         url.query_pairs_mut() | |
|             .append_pair("access_token", &self.token) | |
|             .append_pair("stream", "hashtag") | |
|             .append_pair("tag", hashtag); | |
|         let mut url: url::Url = reqwest::get(url.as_str())?.url().as_str().parse()?; | |
|         let new_scheme = match url.scheme() { | |
|             "http" => "ws", | |
|             "https" => "wss", | |
|             x => return Err(Error::Other(format!("Bad URL scheme: {}", x))), | |
|         }; | |
|         url.set_scheme(new_scheme).map_err(|_| Error::Other("Bad URL scheme!".to_string()))?; | |
| 
 | |
|         let client = tungstenite::connect(url.as_str())?.0; | |
| 
 | |
|         Ok(EventReader(WebSocket(client))) | |
|     } | |
| 
 | |
|     /// Returns all local statuses for a particular hashtag | |
|     fn streaming_local_hashtag(&self, hashtag: &str) -> Result<Self::Stream> { | |
|         let mut url: url::Url = self.route("/api/v1/streaming").parse()?; | |
|         url.query_pairs_mut() | |
|             .append_pair("access_token", &self.token) | |
|             .append_pair("stream", "hashtag:local") | |
|             .append_pair("tag", hashtag); | |
|         let mut url: url::Url = reqwest::get(url.as_str())?.url().as_str().parse()?; | |
|         let new_scheme = match url.scheme() { | |
|             "http" => "ws", | |
|             "https" => "wss", | |
|             x => return Err(Error::Other(format!("Bad URL scheme: {}", x))), | |
|         }; | |
|         url.set_scheme(new_scheme).map_err(|_| Error::Other("Bad URL scheme!".to_string()))?; | |
| 
 | |
|         let client = tungstenite::connect(url.as_str())?.0; | |
| 
 | |
|         Ok(EventReader(WebSocket(client))) | |
|     } | |
| 
 | |
|     /// Returns statuses for a list | |
|     fn streaming_list(&self, list_id: &str) -> Result<Self::Stream> { | |
|         let mut url: url::Url = self.route("/api/v1/streaming").parse()?; | |
|         url.query_pairs_mut() | |
|             .append_pair("access_token", &self.token) | |
|             .append_pair("stream", "list") | |
|             .append_pair("list", list_id); | |
|         let mut url: url::Url = reqwest::get(url.as_str())?.url().as_str().parse()?; | |
|         let new_scheme = match url.scheme() { | |
|             "http" => "ws", | |
|             "https" => "wss", | |
|             x => return Err(Error::Other(format!("Bad URL scheme: {}", x))), | |
|         }; | |
|         url.set_scheme(new_scheme).map_err(|_| Error::Other("Bad URL scheme!".to_string()))?; | |
| 
 | |
|         let client = tungstenite::connect(url.as_str())?.0; | |
| 
 | |
|         Ok(EventReader(WebSocket(client))) | |
|     } | |
| 
 | |
|     /// Returns all direct messages | |
|     fn streaming_direct(&self) -> Result<Self::Stream> { | |
|         let mut url: url::Url = self.route("/api/v1/streaming").parse()?; | |
|         url.query_pairs_mut() | |
|             .append_pair("access_token", &self.token) | |
|             .append_pair("stream", "direct"); | |
|         let mut url: url::Url = reqwest::get(url.as_str())?.url().as_str().parse()?; | |
|         let new_scheme = match url.scheme() { | |
|             "http" => "ws", | |
|             "https" => "wss", | |
|             x => return Err(Error::Other(format!("Bad URL scheme: {}", x))), | |
|         }; | |
|         url.set_scheme(new_scheme).map_err(|_| Error::Other("Bad URL scheme!".to_string()))?; | |
| 
 | |
|         let client = tungstenite::connect(url.as_str())?.0; | |
| 
 | |
|         Ok(EventReader(WebSocket(client))) | |
|     } | |
|     */ | |
| 
 | |
|     /* | |
|     #[derive(Debug)] | |
|     /// WebSocket newtype so that EventStream can be implemented without coherency issues | |
|     pub struct WebSocket(tungstenite::protocol::WebSocket<AutoStream>); | |
| 
 | |
|     /// A type that streaming events can be read from | |
|     pub trait EventStream { | |
|         /// Read a message from this stream | |
|         fn read_message(&mut self) -> Result<String>; | |
|     } | |
| 
 | |
|     impl<R: BufRead> EventStream for R { | |
|         fn read_message(&mut self) -> Result<String> { | |
|             let mut buf = String::new(); | |
|             self.read_line(&mut buf)?; | |
|             Ok(buf) | |
|         } | |
|     } | |
| 
 | |
|     impl EventStream for WebSocket { | |
|         fn read_message(&mut self) -> Result<String> { | |
|             Ok(self.0.read_message()?.into_text()?) | |
|         } | |
|     } | |
| 
 | |
|     #[derive(Debug)] | |
|     /// Iterator that produces events from a mastodon streaming API event stream | |
|     pub struct EventReader<R: EventStream>(R); | |
|     impl<R: EventStream> Iterator for EventReader<R> { | |
|         type Item = Event; | |
| 
 | |
|         fn next(&mut self) -> Option<Self::Item> { | |
|             let mut lines = Vec::new(); | |
|             loop { | |
|                 if let Ok(line) = self.0.read_message() { | |
|                     let line = line.trim().to_string(); | |
|                     if line.starts_with(":") || line.is_empty() { | |
|                         continue; | |
|                     } | |
|                     lines.push(line); | |
|                     if let Ok(event) = self.make_event(&lines) { | |
|                         lines.clear(); | |
|                         return Some(event); | |
|                     } else { | |
|                         continue; | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|     } | |
| 
 | |
|     impl<R: EventStream> EventReader<R> { | |
|         fn make_event(&self, lines: &[String]) -> Result<Event> { | |
|             let event; | |
|             let data; | |
|             if let Some(event_line) = lines | |
|                 .iter() | |
|                 .find(|line| line.starts_with("event:")) | |
|             { | |
|                 event = event_line[6..].trim().to_string(); | |
|                 data = lines.iter().find(|line| line.starts_with("data:")).map(|x| x[5..].trim().to_string()); | |
|             } else { | |
|                 #[derive(Deserialize)] | |
|                 struct Message { | |
|                     pub event: String, | |
|                     pub payload: Option<String>, | |
|                 } | |
|                 let message = serde_json::from_str::<Message>(&lines[0])?; | |
|                 event = message.event; | |
|                 data = message.payload; | |
|             } | |
|             let event: &str = &event; | |
|             Ok(match event { | |
|                 "notification" => { | |
|                     let data = data.ok_or_else(|| { | |
|                         Error::Other("Missing `data` line for notification".to_string()) | |
|                     })?; | |
|                     let notification = serde_json::from_str::<Notification>(&data)?; | |
|                     Event::Notification(notification) | |
|                 }, | |
|                 "update" => { | |
|                     let data = | |
|                         data.ok_or_else(|| Error::Other("Missing `data` line for update".to_string()))?; | |
|                     let status = serde_json::from_str::<Status>(&data)?; | |
|                     Event::Update(status) | |
|                 }, | |
|                 "delete" => { | |
|                     let data = | |
|                         data.ok_or_else(|| Error::Other("Missing `data` line for delete".to_string()))?; | |
|                     Event::Delete(data) | |
|                 }, | |
|                 "filters_changed" => Event::FiltersChanged, | |
|                 _ => return Err(Error::Other(format!("Unknown event `{}`", event))), | |
|             }) | |
|         } | |
|     } | |
|     */ | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
|     // Convert the HTTP response body from JSON. Pass up deserialization errors | |
|     // transparently. | |
| 
 | |
|     // If deserializing into the desired type fails try again to | |
|     // see if this is an error response. | |
|     use std::borrow::Cow; | |
|     use try_from::TryInto; | |
|     use crate::errors::{Error, Result}; | |
|     use crate::scopes::Scopes; | |
|     /// Represents an application that can be registered with a mastodon instance | |
|     pub struct App { | |
|         client_name: String, | |
|         redirect_uris: String, | |
|         scopes: Scopes, | |
|         #[serde(skip_serializing_if = "Option::is_none")] | |
|         website: Option<String>, | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::clone::Clone for App { | |
|         #[inline] | |
|         fn clone(&self) -> App { | |
|             match *self { | |
|                 App { | |
|                 client_name: ref __self_0_0, | |
|                 redirect_uris: ref __self_0_1, | |
|                 scopes: ref __self_0_2, | |
|                 website: ref __self_0_3 } => | |
|                 App{client_name: ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                     redirect_uris: | |
|                         ::core::clone::Clone::clone(&(*__self_0_1)), | |
|                     scopes: ::core::clone::Clone::clone(&(*__self_0_2)), | |
|                     website: ::core::clone::Clone::clone(&(*__self_0_3)),}, | |
|             } | |
|         } | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::fmt::Debug for App { | |
|         fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result { | |
|             match *self { | |
|                 App { | |
|                 client_name: ref __self_0_0, | |
|                 redirect_uris: ref __self_0_1, | |
|                 scopes: ref __self_0_2, | |
|                 website: ref __self_0_3 } => { | |
|                     let mut debug_trait_builder = f.debug_struct("App"); | |
|                     let _ = | |
|                         debug_trait_builder.field("client_name", | |
|                                                   &&(*__self_0_0)); | |
|                     let _ = | |
|                         debug_trait_builder.field("redirect_uris", | |
|                                                   &&(*__self_0_1)); | |
|                     let _ = | |
|                         debug_trait_builder.field("scopes", &&(*__self_0_2)); | |
|                     let _ = | |
|                         debug_trait_builder.field("website", &&(*__self_0_3)); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|             } | |
|         } | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::default::Default for App { | |
|         #[inline] | |
|         fn default() -> App { | |
|             App{client_name: ::core::default::Default::default(), | |
|                 redirect_uris: ::core::default::Default::default(), | |
|                 scopes: ::core::default::Default::default(), | |
|                 website: ::core::default::Default::default(),} | |
|         } | |
|     } | |
|     #[doc(hidden)] | |
|     #[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
|     const _IMPL_SERIALIZE_FOR_App: () = | |
|         { | |
|             #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|             extern crate serde as _serde; | |
|             #[allow(unused_macros)] | |
|             macro_rules! try { | |
|                 ($ __expr : expr) => | |
|                 { | |
|                     match $ __expr | |
|                     { | |
|                         _serde :: export :: Ok(__val) => __val, _serde :: | |
|                         export :: Err(__err) => | |
|                         { return _serde :: export :: Err(__err) ; } | |
|                     } | |
|                 } | |
|             } | |
|             #[automatically_derived] | |
|             impl _serde::Serialize for App { | |
|                 fn serialize<__S>(&self, __serializer: __S) | |
|                  -> _serde::export::Result<__S::Ok, __S::Error> where | |
|                  __S: _serde::Serializer { | |
|                     let mut __serde_state = | |
|                         match _serde::Serializer::serialize_struct(__serializer, | |
|                                                                    "App", | |
|                                                                    false as | |
|                                                                        usize + | |
|                                                                        1 + 1 + | |
|                                                                        1 + | |
|                                                                        if Option::is_none(&self.website) | |
|                                                                           { | |
|                                                                            0 | |
|                                                                        } else { | |
|                                                                            1 | |
|                                                                        }) { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                     match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                         "client_name", | |
|                                                                         &self.client_name) | |
|                         { | |
|                         _serde::export::Ok(__val) => __val, | |
|                         _serde::export::Err(__err) => { | |
|                             return _serde::export::Err(__err); | |
|                         } | |
|                     }; | |
|                     match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                         "redirect_uris", | |
|                                                                         &self.redirect_uris) | |
|                         { | |
|                         _serde::export::Ok(__val) => __val, | |
|                         _serde::export::Err(__err) => { | |
|                             return _serde::export::Err(__err); | |
|                         } | |
|                     }; | |
|                     match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                         "scopes", | |
|                                                                         &self.scopes) | |
|                         { | |
|                         _serde::export::Ok(__val) => __val, | |
|                         _serde::export::Err(__err) => { | |
|                             return _serde::export::Err(__err); | |
|                         } | |
|                     }; | |
|                     if !Option::is_none(&self.website) { | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "website", | |
|                                                                             &self.website) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                     } else { | |
|                         match _serde::ser::SerializeStruct::skip_field(&mut __serde_state, | |
|                                                                        "website") | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                     } | |
|                     _serde::ser::SerializeStruct::end(__serde_state) | |
|                 } | |
|             } | |
|         }; | |
|     impl ::core::marker::StructuralPartialEq for App { } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::cmp::PartialEq for App { | |
|         #[inline] | |
|         fn eq(&self, other: &App) -> bool { | |
|             match *other { | |
|                 App { | |
|                 client_name: ref __self_1_0, | |
|                 redirect_uris: ref __self_1_1, | |
|                 scopes: ref __self_1_2, | |
|                 website: ref __self_1_3 } => | |
|                 match *self { | |
|                     App { | |
|                     client_name: ref __self_0_0, | |
|                     redirect_uris: ref __self_0_1, | |
|                     scopes: ref __self_0_2, | |
|                     website: ref __self_0_3 } => | |
|                     (*__self_0_0) == (*__self_1_0) && | |
|                         (*__self_0_1) == (*__self_1_1) && | |
|                         (*__self_0_2) == (*__self_1_2) && | |
|                         (*__self_0_3) == (*__self_1_3), | |
|                 }, | |
|             } | |
|         } | |
|         #[inline] | |
|         fn ne(&self, other: &App) -> bool { | |
|             match *other { | |
|                 App { | |
|                 client_name: ref __self_1_0, | |
|                 redirect_uris: ref __self_1_1, | |
|                 scopes: ref __self_1_2, | |
|                 website: ref __self_1_3 } => | |
|                 match *self { | |
|                     App { | |
|                     client_name: ref __self_0_0, | |
|                     redirect_uris: ref __self_0_1, | |
|                     scopes: ref __self_0_2, | |
|                     website: ref __self_0_3 } => | |
|                     (*__self_0_0) != (*__self_1_0) || | |
|                         (*__self_0_1) != (*__self_1_1) || | |
|                         (*__self_0_2) != (*__self_1_2) || | |
|                         (*__self_0_3) != (*__self_1_3), | |
|                 }, | |
|             } | |
|         } | |
|     } | |
|     impl App { | |
|         /// Get an AppBuilder object | |
|         /// | |
|         /// # Example | |
|         /// | |
|         /// ``` | |
|         /// # extern crate elefren; | |
|         /// use elefren::apps::App; | |
|         /// | |
|         /// let mut builder = App::builder(); | |
|         /// ``` | |
|         pub fn builder<'a>() -> AppBuilder<'a> { AppBuilder::new() } | |
|         /// Retrieve the list of scopes that apply to this App | |
|         /// | |
|         /// # Example | |
|         /// | |
|         /// ``` | |
|         /// # extern crate elefren; | |
|         /// # use elefren::Error; | |
|         /// use elefren::{apps::App, scopes::Scopes}; | |
|         /// | |
|         /// # fn main() -> Result<(), Error> { | |
|         /// let mut builder = App::builder(); | |
|         /// builder.client_name("elefren-test"); | |
|         /// let app = builder.build()?; | |
|         /// let scopes = app.scopes(); | |
|         /// assert_eq!(scopes, &Scopes::read_all()); | |
|         /// #   Ok(()) | |
|         /// # } | |
|         /// ``` | |
|         pub fn scopes(&self) -> &Scopes { &self.scopes } | |
|     } | |
|     /// Builder struct for defining your application. | |
|     /// ``` | |
|     /// use elefren::apps::App; | |
|     /// use std::error::Error; | |
|     /// | |
|     /// # fn main() -> Result<(), Box<Error>> { | |
|     /// let mut builder = App::builder(); | |
|     /// builder.client_name("elefren_test"); | |
|     /// let app = builder.build()?; | |
|     /// #   Ok(()) | |
|     /// # } | |
|     /// ``` | |
|     pub struct AppBuilder<'a> { | |
|         client_name: Option<Cow<'a, str>>, | |
|         redirect_uris: Option<Cow<'a, str>>, | |
|         scopes: Option<Scopes>, | |
|         website: Option<Cow<'a, str>>, | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl <'a> ::core::clone::Clone for AppBuilder<'a> { | |
|         #[inline] | |
|         fn clone(&self) -> AppBuilder<'a> { | |
|             match *self { | |
|                 AppBuilder { | |
|                 client_name: ref __self_0_0, | |
|                 redirect_uris: ref __self_0_1, | |
|                 scopes: ref __self_0_2, | |
|                 website: ref __self_0_3 } => | |
|                 AppBuilder{client_name: | |
|                                ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                            redirect_uris: | |
|                                ::core::clone::Clone::clone(&(*__self_0_1)), | |
|                            scopes: | |
|                                ::core::clone::Clone::clone(&(*__self_0_2)), | |
|                            website: | |
|                                ::core::clone::Clone::clone(&(*__self_0_3)),}, | |
|             } | |
|         } | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl <'a> ::core::fmt::Debug for AppBuilder<'a> { | |
|         fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result { | |
|             match *self { | |
|                 AppBuilder { | |
|                 client_name: ref __self_0_0, | |
|                 redirect_uris: ref __self_0_1, | |
|                 scopes: ref __self_0_2, | |
|                 website: ref __self_0_3 } => { | |
|                     let mut debug_trait_builder = | |
|                         f.debug_struct("AppBuilder"); | |
|                     let _ = | |
|                         debug_trait_builder.field("client_name", | |
|                                                   &&(*__self_0_0)); | |
|                     let _ = | |
|                         debug_trait_builder.field("redirect_uris", | |
|                                                   &&(*__self_0_1)); | |
|                     let _ = | |
|                         debug_trait_builder.field("scopes", &&(*__self_0_2)); | |
|                     let _ = | |
|                         debug_trait_builder.field("website", &&(*__self_0_3)); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|             } | |
|         } | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl <'a> ::core::default::Default for AppBuilder<'a> { | |
|         #[inline] | |
|         fn default() -> AppBuilder<'a> { | |
|             AppBuilder{client_name: ::core::default::Default::default(), | |
|                        redirect_uris: ::core::default::Default::default(), | |
|                        scopes: ::core::default::Default::default(), | |
|                        website: ::core::default::Default::default(),} | |
|         } | |
|     } | |
|     impl <'a> ::core::marker::StructuralPartialEq for AppBuilder<'a> { } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl <'a> ::core::cmp::PartialEq for AppBuilder<'a> { | |
|         #[inline] | |
|         fn eq(&self, other: &AppBuilder<'a>) -> bool { | |
|             match *other { | |
|                 AppBuilder { | |
|                 client_name: ref __self_1_0, | |
|                 redirect_uris: ref __self_1_1, | |
|                 scopes: ref __self_1_2, | |
|                 website: ref __self_1_3 } => | |
|                 match *self { | |
|                     AppBuilder { | |
|                     client_name: ref __self_0_0, | |
|                     redirect_uris: ref __self_0_1, | |
|                     scopes: ref __self_0_2, | |
|                     website: ref __self_0_3 } => | |
|                     (*__self_0_0) == (*__self_1_0) && | |
|                         (*__self_0_1) == (*__self_1_1) && | |
|                         (*__self_0_2) == (*__self_1_2) && | |
|                         (*__self_0_3) == (*__self_1_3), | |
|                 }, | |
|             } | |
|         } | |
|         #[inline] | |
|         fn ne(&self, other: &AppBuilder<'a>) -> bool { | |
|             match *other { | |
|                 AppBuilder { | |
|                 client_name: ref __self_1_0, | |
|                 redirect_uris: ref __self_1_1, | |
|                 scopes: ref __self_1_2, | |
|                 website: ref __self_1_3 } => | |
|                 match *self { | |
|                     AppBuilder { | |
|                     client_name: ref __self_0_0, | |
|                     redirect_uris: ref __self_0_1, | |
|                     scopes: ref __self_0_2, | |
|                     website: ref __self_0_3 } => | |
|                     (*__self_0_0) != (*__self_1_0) || | |
|                         (*__self_0_1) != (*__self_1_1) || | |
|                         (*__self_0_2) != (*__self_1_2) || | |
|                         (*__self_0_3) != (*__self_1_3), | |
|                 }, | |
|             } | |
|         } | |
|     } | |
|     #[doc(hidden)] | |
|     #[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
|     const _IMPL_SERIALIZE_FOR_AppBuilder: () = | |
|         { | |
|             #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|             extern crate serde as _serde; | |
|             #[allow(unused_macros)] | |
|             macro_rules! try { | |
|                 ($ __expr : expr) => | |
|                 { | |
|                     match $ __expr | |
|                     { | |
|                         _serde :: export :: Ok(__val) => __val, _serde :: | |
|                         export :: Err(__err) => | |
|                         { return _serde :: export :: Err(__err) ; } | |
|                     } | |
|                 } | |
|             } | |
|             #[automatically_derived] | |
|             impl <'a> _serde::Serialize for AppBuilder<'a> { | |
|                 fn serialize<__S>(&self, __serializer: __S) | |
|                  -> _serde::export::Result<__S::Ok, __S::Error> where | |
|                  __S: _serde::Serializer { | |
|                     let mut __serde_state = | |
|                         match _serde::Serializer::serialize_struct(__serializer, | |
|                                                                    "AppBuilder", | |
|                                                                    false as | |
|                                                                        usize + | |
|                                                                        1 + 1 + | |
|                                                                        1 + 1) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                     match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                         "client_name", | |
|                                                                         &self.client_name) | |
|                         { | |
|                         _serde::export::Ok(__val) => __val, | |
|                         _serde::export::Err(__err) => { | |
|                             return _serde::export::Err(__err); | |
|                         } | |
|                     }; | |
|                     match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                         "redirect_uris", | |
|                                                                         &self.redirect_uris) | |
|                         { | |
|                         _serde::export::Ok(__val) => __val, | |
|                         _serde::export::Err(__err) => { | |
|                             return _serde::export::Err(__err); | |
|                         } | |
|                     }; | |
|                     match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                         "scopes", | |
|                                                                         &self.scopes) | |
|                         { | |
|                         _serde::export::Ok(__val) => __val, | |
|                         _serde::export::Err(__err) => { | |
|                             return _serde::export::Err(__err); | |
|                         } | |
|                     }; | |
|                     match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                         "website", | |
|                                                                         &self.website) | |
|                         { | |
|                         _serde::export::Ok(__val) => __val, | |
|                         _serde::export::Err(__err) => { | |
|                             return _serde::export::Err(__err); | |
|                         } | |
|                     }; | |
|                     _serde::ser::SerializeStruct::end(__serde_state) | |
|                 } | |
|             } | |
|         }; | |
|     impl <'a> AppBuilder<'a> { | |
|         /// Creates a new AppBuilder object | |
|         pub fn new() -> Self { Default::default() } | |
|         /// Name of the application. Will be displayed when the user is deciding to | |
|         /// grant permission. | |
|         /// | |
|         /// In order to turn this builder into an App, this needs to be provided | |
|         pub fn client_name<I: Into<Cow<'a, str>>>(&mut self, name: I) | |
|          -> &mut Self { | |
|             self.client_name = Some(name.into()); | |
|             self | |
|         } | |
|         /// Where the user should be redirected after authorization | |
|         /// | |
|         /// If none is specified, the default is `urn:ietf:wg:oauth:2.0:oob` | |
|         pub fn redirect_uris<I: Into<Cow<'a, str>>>(&mut self, uris: I) | |
|          -> &mut Self { | |
|             self.redirect_uris = Some(uris.into()); | |
|             self | |
|         } | |
|         /// Permission scope of the application. | |
|         /// | |
|         /// IF none is specified, the default is Scopes::read_all() | |
|         pub fn scopes(&mut self, scopes: Scopes) -> &mut Self { | |
|             self.scopes = Some(scopes); | |
|             self | |
|         } | |
|         /// URL to the homepage of your application. | |
|         pub fn website<I: Into<Cow<'a, str>>>(&mut self, website: I) | |
|          -> &mut Self { | |
|             self.website = Some(website.into()); | |
|             self | |
|         } | |
|         /// Attempts to convert this build into an `App` | |
|         /// | |
|         /// Will fail if no `client_name` was provided | |
|         pub fn build(self) -> Result<App> { | |
|             Ok(App{client_name: | |
|                        self.client_name.ok_or_else(|| | |
|                                                        Error::MissingField("client_name"))?.into(), | |
|                    redirect_uris: | |
|                        self.redirect_uris.unwrap_or_else(|| | |
|                                                              "urn:ietf:wg:oauth:2.0:oob".into()).into(), | |
|                    scopes: self.scopes.unwrap_or_else(|| Scopes::read_all()), | |
|                    website: self.website.map(|s| s.into()),}) | |
|         } | |
|     } | |
|     impl TryInto<App> for App { | |
|         type Err = Error; | |
|         fn try_into(self) -> Result<App> { Ok(self) } | |
|     } | |
|     impl <'a> TryInto<App> for AppBuilder<'a> { | |
|         type Err = Error; | |
|         fn try_into(self) -> Result<App> { Ok(self.build()?) } | |
|     } | |
| } | |
| /// Contains the struct that holds the client auth data | |
| pub mod data { | |
|     use std::borrow::Cow; | |
|     /// Raw data about mastodon app. Save `Data` using `serde` to prevent needing | |
|     /// to authenticate on every run. | |
|     pub struct Data { | |
|         /// Base url of instance eg. `https://mastodon.social`. | |
|         pub base: Cow<'static, str>, | |
|         /// The client's id given by the instance. | |
|         pub client_id: Cow<'static, str>, | |
|         /// The client's secret given by the instance. | |
|         pub client_secret: Cow<'static, str>, | |
|         /// Url to redirect back to your application from the instance signup. | |
|         pub redirect: Cow<'static, str>, | |
|         /// The client's access token. | |
|         pub token: Cow<'static, str>, | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::clone::Clone for Data { | |
|         #[inline] | |
|         fn clone(&self) -> Data { | |
|             match *self { | |
|                 Data { | |
|                 base: ref __self_0_0, | |
|                 client_id: ref __self_0_1, | |
|                 client_secret: ref __self_0_2, | |
|                 redirect: ref __self_0_3, | |
|                 token: ref __self_0_4 } => | |
|                 Data{base: ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                      client_id: ::core::clone::Clone::clone(&(*__self_0_1)), | |
|                      client_secret: | |
|                          ::core::clone::Clone::clone(&(*__self_0_2)), | |
|                      redirect: ::core::clone::Clone::clone(&(*__self_0_3)), | |
|                      token: ::core::clone::Clone::clone(&(*__self_0_4)),}, | |
|             } | |
|         } | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::fmt::Debug for Data { | |
|         fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result { | |
|             match *self { | |
|                 Data { | |
|                 base: ref __self_0_0, | |
|                 client_id: ref __self_0_1, | |
|                 client_secret: ref __self_0_2, | |
|                 redirect: ref __self_0_3, | |
|                 token: ref __self_0_4 } => { | |
|                     let mut debug_trait_builder = f.debug_struct("Data"); | |
|                     let _ = | |
|                         debug_trait_builder.field("base", &&(*__self_0_0)); | |
|                     let _ = | |
|                         debug_trait_builder.field("client_id", | |
|                                                   &&(*__self_0_1)); | |
|                     let _ = | |
|                         debug_trait_builder.field("client_secret", | |
|                                                   &&(*__self_0_2)); | |
|                     let _ = | |
|                         debug_trait_builder.field("redirect", | |
|                                                   &&(*__self_0_3)); | |
|                     let _ = | |
|                         debug_trait_builder.field("token", &&(*__self_0_4)); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|             } | |
|         } | |
|     } | |
|     impl ::core::marker::StructuralPartialEq for Data { } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::cmp::PartialEq for Data { | |
|         #[inline] | |
|         fn eq(&self, other: &Data) -> bool { | |
|             match *other { | |
|                 Data { | |
|                 base: ref __self_1_0, | |
|                 client_id: ref __self_1_1, | |
|                 client_secret: ref __self_1_2, | |
|                 redirect: ref __self_1_3, | |
|                 token: ref __self_1_4 } => | |
|                 match *self { | |
|                     Data { | |
|                     base: ref __self_0_0, | |
|                     client_id: ref __self_0_1, | |
|                     client_secret: ref __self_0_2, | |
|                     redirect: ref __self_0_3, | |
|                     token: ref __self_0_4 } => | |
|                     (*__self_0_0) == (*__self_1_0) && | |
|                         (*__self_0_1) == (*__self_1_1) && | |
|                         (*__self_0_2) == (*__self_1_2) && | |
|                         (*__self_0_3) == (*__self_1_3) && | |
|                         (*__self_0_4) == (*__self_1_4), | |
|                 }, | |
|             } | |
|         } | |
|         #[inline] | |
|         fn ne(&self, other: &Data) -> bool { | |
|             match *other { | |
|                 Data { | |
|                 base: ref __self_1_0, | |
|                 client_id: ref __self_1_1, | |
|                 client_secret: ref __self_1_2, | |
|                 redirect: ref __self_1_3, | |
|                 token: ref __self_1_4 } => | |
|                 match *self { | |
|                     Data { | |
|                     base: ref __self_0_0, | |
|                     client_id: ref __self_0_1, | |
|                     client_secret: ref __self_0_2, | |
|                     redirect: ref __self_0_3, | |
|                     token: ref __self_0_4 } => | |
|                     (*__self_0_0) != (*__self_1_0) || | |
|                         (*__self_0_1) != (*__self_1_1) || | |
|                         (*__self_0_2) != (*__self_1_2) || | |
|                         (*__self_0_3) != (*__self_1_3) || | |
|                         (*__self_0_4) != (*__self_1_4), | |
|                 }, | |
|             } | |
|         } | |
|     } | |
|     #[doc(hidden)] | |
|     #[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
|     const _IMPL_DESERIALIZE_FOR_Data: () = | |
|         { | |
|             #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|             extern crate serde as _serde; | |
|             #[allow(unused_macros)] | |
|             macro_rules! try { | |
|                 ($ __expr : expr) => | |
|                 { | |
|                     match $ __expr | |
|                     { | |
|                         _serde :: export :: Ok(__val) => __val, _serde :: | |
|                         export :: Err(__err) => | |
|                         { return _serde :: export :: Err(__err) ; } | |
|                     } | |
|                 } | |
|             } | |
|             #[automatically_derived] | |
|             impl <'de> _serde::Deserialize<'de> for Data { | |
|                 fn deserialize<__D>(__deserializer: __D) | |
|                  -> _serde::export::Result<Self, __D::Error> where | |
|                  __D: _serde::Deserializer<'de> { | |
|                     #[allow(non_camel_case_types)] | |
|                     enum __Field { | |
|                         __field0, | |
|                         __field1, | |
|                         __field2, | |
|                         __field3, | |
|                         __field4, | |
|                         __ignore, | |
|                     } | |
|                     struct __FieldVisitor; | |
|                     impl <'de> _serde::de::Visitor<'de> for __FieldVisitor { | |
|                         type Value = __Field; | |
|                         fn expecting(&self, | |
|                                      __formatter: | |
|                                          &mut _serde::export::Formatter) | |
|                          -> _serde::export::fmt::Result { | |
|                             _serde::export::Formatter::write_str(__formatter, | |
|                                                                  "field identifier") | |
|                         } | |
|                         fn visit_u64<__E>(self, __value: u64) | |
|                          -> _serde::export::Result<Self::Value, __E> where | |
|                          __E: _serde::de::Error { | |
|                             match __value { | |
|                                 0u64 => _serde::export::Ok(__Field::__field0), | |
|                                 1u64 => _serde::export::Ok(__Field::__field1), | |
|                                 2u64 => _serde::export::Ok(__Field::__field2), | |
|                                 3u64 => _serde::export::Ok(__Field::__field3), | |
|                                 4u64 => _serde::export::Ok(__Field::__field4), | |
|                                 _ => | |
|                                 _serde::export::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value), | |
|                                                                                      &"field index 0 <= i < 5")), | |
|                             } | |
|                         } | |
|                         fn visit_str<__E>(self, __value: &str) | |
|                          -> _serde::export::Result<Self::Value, __E> where | |
|                          __E: _serde::de::Error { | |
|                             match __value { | |
|                                 "base" => | |
|                                 _serde::export::Ok(__Field::__field0), | |
|                                 "client_id" => | |
|                                 _serde::export::Ok(__Field::__field1), | |
|                                 "client_secret" => | |
|                                 _serde::export::Ok(__Field::__field2), | |
|                                 "redirect" => | |
|                                 _serde::export::Ok(__Field::__field3), | |
|                                 "token" => | |
|                                 _serde::export::Ok(__Field::__field4), | |
|                                 _ => { _serde::export::Ok(__Field::__ignore) } | |
|                             } | |
|                         } | |
|                         fn visit_bytes<__E>(self, __value: &[u8]) | |
|                          -> _serde::export::Result<Self::Value, __E> where | |
|                          __E: _serde::de::Error { | |
|                             match __value { | |
|                                 b"base" => | |
|                                 _serde::export::Ok(__Field::__field0), | |
|                                 b"client_id" => | |
|                                 _serde::export::Ok(__Field::__field1), | |
|                                 b"client_secret" => | |
|                                 _serde::export::Ok(__Field::__field2), | |
|                                 b"redirect" => | |
|                                 _serde::export::Ok(__Field::__field3), | |
|                                 b"token" => | |
|                                 _serde::export::Ok(__Field::__field4), | |
|                                 _ => { _serde::export::Ok(__Field::__ignore) } | |
|                             } | |
|                         } | |
|                     } | |
|                     impl <'de> _serde::Deserialize<'de> for __Field { | |
|                         #[inline] | |
|                         fn deserialize<__D>(__deserializer: __D) | |
|                          -> _serde::export::Result<Self, __D::Error> where | |
|                          __D: _serde::Deserializer<'de> { | |
|                             _serde::Deserializer::deserialize_identifier(__deserializer, | |
|                                                                          __FieldVisitor) | |
|                         } | |
|                     } | |
|                     struct __Visitor<'de> { | |
|                         marker: _serde::export::PhantomData<Data>, | |
|                         lifetime: _serde::export::PhantomData<&'de ()>, | |
|                     } | |
|                     impl <'de> _serde::de::Visitor<'de> for __Visitor<'de> { | |
|                         type Value = Data; | |
|                         fn expecting(&self, | |
|                                      __formatter: | |
|                                          &mut _serde::export::Formatter) | |
|                          -> _serde::export::fmt::Result { | |
|                             _serde::export::Formatter::write_str(__formatter, | |
|                                                                  "struct Data") | |
|                         } | |
|                         #[inline] | |
|                         fn visit_seq<__A>(self, mut __seq: __A) | |
|                          -> _serde::export::Result<Self::Value, __A::Error> | |
|                          where __A: _serde::de::SeqAccess<'de> { | |
|                             let __field0 = | |
|                                 match match _serde::de::SeqAccess::next_element::<Cow<'static, | |
|                                                                                       str>>(&mut __seq) | |
|                                           { | |
|                                           _serde::export::Ok(__val) => __val, | |
|                                           _serde::export::Err(__err) => { | |
|                                               return _serde::export::Err(__err); | |
|                                           } | |
|                                       } { | |
|                                     _serde::export::Some(__value) => __value, | |
|                                     _serde::export::None => { | |
|                                         return _serde::export::Err(_serde::de::Error::invalid_length(0usize, | |
|                                                                                                      &"struct Data with 5 elements")); | |
|                                     } | |
|                                 }; | |
|                             let __field1 = | |
|                                 match match _serde::de::SeqAccess::next_element::<Cow<'static, | |
|                                                                                       str>>(&mut __seq) | |
|                                           { | |
|                                           _serde::export::Ok(__val) => __val, | |
|                                           _serde::export::Err(__err) => { | |
|                                               return _serde::export::Err(__err); | |
|                                           } | |
|                                       } { | |
|                                     _serde::export::Some(__value) => __value, | |
|                                     _serde::export::None => { | |
|                                         return _serde::export::Err(_serde::de::Error::invalid_length(1usize, | |
|                                                                                                      &"struct Data with 5 elements")); | |
|                                     } | |
|                                 }; | |
|                             let __field2 = | |
|                                 match match _serde::de::SeqAccess::next_element::<Cow<'static, | |
|                                                                                       str>>(&mut __seq) | |
|                                           { | |
|                                           _serde::export::Ok(__val) => __val, | |
|                                           _serde::export::Err(__err) => { | |
|                                               return _serde::export::Err(__err); | |
|                                           } | |
|                                       } { | |
|                                     _serde::export::Some(__value) => __value, | |
|                                     _serde::export::None => { | |
|                                         return _serde::export::Err(_serde::de::Error::invalid_length(2usize, | |
|                                                                                                      &"struct Data with 5 elements")); | |
|                                     } | |
|                                 }; | |
|                             let __field3 = | |
|                                 match match _serde::de::SeqAccess::next_element::<Cow<'static, | |
|                                                                                       str>>(&mut __seq) | |
|                                           { | |
|                                           _serde::export::Ok(__val) => __val, | |
|                                           _serde::export::Err(__err) => { | |
|                                               return _serde::export::Err(__err); | |
|                                           } | |
|                                       } { | |
|                                     _serde::export::Some(__value) => __value, | |
|                                     _serde::export::None => { | |
|                                         return _serde::export::Err(_serde::de::Error::invalid_length(3usize, | |
|                                                                                                      &"struct Data with 5 elements")); | |
|                                     } | |
|                                 }; | |
|                             let __field4 = | |
|                                 match match _serde::de::SeqAccess::next_element::<Cow<'static, | |
|                                                                                       str>>(&mut __seq) | |
|                                           { | |
|                                           _serde::export::Ok(__val) => __val, | |
|                                           _serde::export::Err(__err) => { | |
|                                               return _serde::export::Err(__err); | |
|                                           } | |
|                                       } { | |
|                                     _serde::export::Some(__value) => __value, | |
|                                     _serde::export::None => { | |
|                                         return _serde::export::Err(_serde::de::Error::invalid_length(4usize, | |
|                                                                                                      &"struct Data with 5 elements")); | |
|                                     } | |
|                                 }; | |
|                             _serde::export::Ok(Data{base: __field0, | |
|                                                     client_id: __field1, | |
|                                                     client_secret: __field2, | |
|                                                     redirect: __field3, | |
|                                                     token: __field4,}) | |
|                         } | |
|                         #[inline] | |
|                         fn visit_map<__A>(self, mut __map: __A) | |
|                          -> _serde::export::Result<Self::Value, __A::Error> | |
|                          where __A: _serde::de::MapAccess<'de> { | |
|                             let mut __field0: | |
|                                     _serde::export::Option<Cow<'static, | |
|                                                                str>> = | |
|                                 _serde::export::None; | |
|                             let mut __field1: | |
|                                     _serde::export::Option<Cow<'static, | |
|                                                                str>> = | |
|                                 _serde::export::None; | |
|                             let mut __field2: | |
|                                     _serde::export::Option<Cow<'static, | |
|                                                                str>> = | |
|                                 _serde::export::None; | |
|                             let mut __field3: | |
|                                     _serde::export::Option<Cow<'static, | |
|                                                                str>> = | |
|                                 _serde::export::None; | |
|                             let mut __field4: | |
|                                     _serde::export::Option<Cow<'static, | |
|                                                                str>> = | |
|                                 _serde::export::None; | |
|                             while let _serde::export::Some(__key) = | |
|                                       match _serde::de::MapAccess::next_key::<__Field>(&mut __map) | |
|                                           { | |
|                                           _serde::export::Ok(__val) => __val, | |
|                                           _serde::export::Err(__err) => { | |
|                                               return _serde::export::Err(__err); | |
|                                           } | |
|                                       } { | |
|                                 match __key { | |
|                                     __Field::__field0 => { | |
|                                         if _serde::export::Option::is_some(&__field0) | |
|                                            { | |
|                                             return _serde::export::Err(<__A::Error | |
|                                                                            as | |
|                                                                            _serde::de::Error>::duplicate_field("base")); | |
|                                         } | |
|                                         __field0 = | |
|                                             _serde::export::Some(match _serde::de::MapAccess::next_value::<Cow<'static, | |
|                                                                                                                str>>(&mut __map) | |
|                                                                      { | |
|                                                                      _serde::export::Ok(__val) | |
|                                                                      => __val, | |
|                                                                      _serde::export::Err(__err) | |
|                                                                      => { | |
|                                                                          return _serde::export::Err(__err); | |
|                                                                      } | |
|                                                                  }); | |
|                                     } | |
|                                     __Field::__field1 => { | |
|                                         if _serde::export::Option::is_some(&__field1) | |
|                                            { | |
|                                             return _serde::export::Err(<__A::Error | |
|                                                                            as | |
|                                                                            _serde::de::Error>::duplicate_field("client_id")); | |
|                                         } | |
|                                         __field1 = | |
|                                             _serde::export::Some(match _serde::de::MapAccess::next_value::<Cow<'static, | |
|                                                                                                                str>>(&mut __map) | |
|                                                                      { | |
|                                                                      _serde::export::Ok(__val) | |
|                                                                      => __val, | |
|                                                                      _serde::export::Err(__err) | |
|                                                                      => { | |
|                                                                          return _serde::export::Err(__err); | |
|                                                                      } | |
|                                                                  }); | |
|                                     } | |
|                                     __Field::__field2 => { | |
|                                         if _serde::export::Option::is_some(&__field2) | |
|                                            { | |
|                                             return _serde::export::Err(<__A::Error | |
|                                                                            as | |
|                                                                            _serde::de::Error>::duplicate_field("client_secret")); | |
|                                         } | |
|                                         __field2 = | |
|                                             _serde::export::Some(match _serde::de::MapAccess::next_value::<Cow<'static, | |
|                                                                                                                str>>(&mut __map) | |
|                                                                      { | |
|                                                                      _serde::export::Ok(__val) | |
|                                                                      => __val, | |
|                                                                      _serde::export::Err(__err) | |
|                                                                      => { | |
|                                                                          return _serde::export::Err(__err); | |
|                                                                      } | |
|                                                                  }); | |
|                                     } | |
|                                     __Field::__field3 => { | |
|                                         if _serde::export::Option::is_some(&__field3) | |
|                                            { | |
|                                             return _serde::export::Err(<__A::Error | |
|                                                                            as | |
|                                                                            _serde::de::Error>::duplicate_field("redirect")); | |
|                                         } | |
|                                         __field3 = | |
|                                             _serde::export::Some(match _serde::de::MapAccess::next_value::<Cow<'static, | |
|                                                                                                                str>>(&mut __map) | |
|                                                                      { | |
|                                                                      _serde::export::Ok(__val) | |
|                                                                      => __val, | |
|                                                                      _serde::export::Err(__err) | |
|                                                                      => { | |
|                                                                          return _serde::export::Err(__err); | |
|                                                                      } | |
|                                                                  }); | |
|                                     } | |
|                                     __Field::__field4 => { | |
|                                         if _serde::export::Option::is_some(&__field4) | |
|                                            { | |
|                                             return _serde::export::Err(<__A::Error | |
|                                                                            as | |
|                                                                            _serde::de::Error>::duplicate_field("token")); | |
|                                         } | |
|                                         __field4 = | |
|                                             _serde::export::Some(match _serde::de::MapAccess::next_value::<Cow<'static, | |
|                                                                                                                str>>(&mut __map) | |
|                                                                      { | |
|                                                                      _serde::export::Ok(__val) | |
|                                                                      => __val, | |
|                                                                      _serde::export::Err(__err) | |
|                                                                      => { | |
|                                                                          return _serde::export::Err(__err); | |
|                                                                      } | |
|                                                                  }); | |
|                                     } | |
|                                     _ => { | |
|                                         let _ = | |
|                                             match _serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map) | |
|                                                 { | |
|                                                 _serde::export::Ok(__val) => | |
|                                                 __val, | |
|                                                 _serde::export::Err(__err) => | |
|                                                 { | |
|                                                     return _serde::export::Err(__err); | |
|                                                 } | |
|                                             }; | |
|                                     } | |
|                                 } | |
|                             } | |
|                             let __field0 = | |
|                                 match __field0 { | |
|                                     _serde::export::Some(__field0) => | |
|                                     __field0, | |
|                                     _serde::export::None => | |
|                                     match _serde::private::de::missing_field("base") | |
|                                         { | |
|                                         _serde::export::Ok(__val) => __val, | |
|                                         _serde::export::Err(__err) => { | |
|                                             return _serde::export::Err(__err); | |
|                                         } | |
|                                     }, | |
|                                 }; | |
|                             let __field1 = | |
|                                 match __field1 { | |
|                                     _serde::export::Some(__field1) => | |
|                                     __field1, | |
|                                     _serde::export::None => | |
|                                     match _serde::private::de::missing_field("client_id") | |
|                                         { | |
|                                         _serde::export::Ok(__val) => __val, | |
|                                         _serde::export::Err(__err) => { | |
|                                             return _serde::export::Err(__err); | |
|                                         } | |
|                                     }, | |
|                                 }; | |
|                             let __field2 = | |
|                                 match __field2 { | |
|                                     _serde::export::Some(__field2) => | |
|                                     __field2, | |
|                                     _serde::export::None => | |
|                                     match _serde::private::de::missing_field("client_secret") | |
|                                         { | |
|                                         _serde::export::Ok(__val) => __val, | |
|                                         _serde::export::Err(__err) => { | |
|                                             return _serde::export::Err(__err); | |
|                                         } | |
|                                     }, | |
|                                 }; | |
|                             let __field3 = | |
|                                 match __field3 { | |
|                                     _serde::export::Some(__field3) => | |
|                                     __field3, | |
|                                     _serde::export::None => | |
|                                     match _serde::private::de::missing_field("redirect") | |
|                                         { | |
|                                         _serde::export::Ok(__val) => __val, | |
|                                         _serde::export::Err(__err) => { | |
|                                             return _serde::export::Err(__err); | |
|                                         } | |
|                                     }, | |
|                                 }; | |
|                             let __field4 = | |
|                                 match __field4 { | |
|                                     _serde::export::Some(__field4) => | |
|                                     __field4, | |
|                                     _serde::export::None => | |
|                                     match _serde::private::de::missing_field("token") | |
|                                         { | |
|                                         _serde::export::Ok(__val) => __val, | |
|                                         _serde::export::Err(__err) => { | |
|                                             return _serde::export::Err(__err); | |
|                                         } | |
|                                     }, | |
|                                 }; | |
|                             _serde::export::Ok(Data{base: __field0, | |
|                                                     client_id: __field1, | |
|                                                     client_secret: __field2, | |
|                                                     redirect: __field3, | |
|                                                     token: __field4,}) | |
|                         } | |
|                     } | |
|                     const FIELDS: &'static [&'static str] = | |
|                         &["base", "client_id", "client_secret", "redirect", | |
|                           "token"]; | |
|                     _serde::Deserializer::deserialize_struct(__deserializer, | |
|                                                              "Data", FIELDS, | |
|                                                              __Visitor{marker: | |
|                                                                            _serde::export::PhantomData::<Data>, | |
|                                                                        lifetime: | |
|                                                                            _serde::export::PhantomData,}) | |
|                 } | |
|             } | |
|         }; | |
|     #[doc(hidden)] | |
|     #[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
|     const _IMPL_SERIALIZE_FOR_Data: () = | |
|         { | |
|             #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|             extern crate serde as _serde; | |
|             #[allow(unused_macros)] | |
|             macro_rules! try { | |
|                 ($ __expr : expr) => | |
|                 { | |
|                     match $ __expr | |
|                     { | |
|                         _serde :: export :: Ok(__val) => __val, _serde :: | |
|                         export :: Err(__err) => | |
|                         { return _serde :: export :: Err(__err) ; } | |
|                     } | |
|                 } | |
|             } | |
|             #[automatically_derived] | |
|             impl _serde::Serialize for Data { | |
|                 fn serialize<__S>(&self, __serializer: __S) | |
|                  -> _serde::export::Result<__S::Ok, __S::Error> where | |
|                  __S: _serde::Serializer { | |
|                     let mut __serde_state = | |
|                         match _serde::Serializer::serialize_struct(__serializer, | |
|                                                                    "Data", | |
|                                                                    false as | |
|                                                                        usize + | |
|                                                                        1 + 1 + | |
|                                                                        1 + 1 + | |
|                                                                        1) { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                     match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                         "base", | |
|                                                                         &self.base) | |
|                         { | |
|                         _serde::export::Ok(__val) => __val, | |
|                         _serde::export::Err(__err) => { | |
|                             return _serde::export::Err(__err); | |
|                         } | |
|                     }; | |
|                     match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                         "client_id", | |
|                                                                         &self.client_id) | |
|                         { | |
|                         _serde::export::Ok(__val) => __val, | |
|                         _serde::export::Err(__err) => { | |
|                             return _serde::export::Err(__err); | |
|                         } | |
|                     }; | |
|                     match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                         "client_secret", | |
|                                                                         &self.client_secret) | |
|                         { | |
|                         _serde::export::Ok(__val) => __val, | |
|                         _serde::export::Err(__err) => { | |
|                             return _serde::export::Err(__err); | |
|                         } | |
|                     }; | |
|                     match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                         "redirect", | |
|                                                                         &self.redirect) | |
|                         { | |
|                         _serde::export::Ok(__val) => __val, | |
|                         _serde::export::Err(__err) => { | |
|                             return _serde::export::Err(__err); | |
|                         } | |
|                     }; | |
|                     match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                         "token", | |
|                                                                         &self.token) | |
|                         { | |
|                         _serde::export::Ok(__val) => __val, | |
|                         _serde::export::Err(__err) => { | |
|                             return _serde::export::Err(__err); | |
|                         } | |
|                     }; | |
|                     _serde::ser::SerializeStruct::end(__serde_state) | |
|                 } | |
|             } | |
|         }; | |
| } | |
| /// Entities returned from the API | |
| pub mod entities { | |
|     /// Data structures for ser/de of account-related resources | |
|     pub mod account { | |
|         //! A module containing everything relating to a account returned from the api. | |
|         use chrono::prelude::*; | |
|         use serde::de::{self, Deserialize, Deserializer, Unexpected}; | |
|         use crate::status_builder; | |
|         use std::path::PathBuf; | |
|         /// A struct representing an Account. | |
|         pub struct Account { | |
|             /// Equals `username` for local users, includes `@domain` for remote ones. | |
|             pub acct: String, | |
|             /// URL to the avatar image | |
|             pub avatar: String, | |
|             /// URL to the avatar static image (gif) | |
|             pub avatar_static: String, | |
|             /// The time the account was created. | |
|             pub created_at: DateTime<Utc>, | |
|             /// The account's display name. | |
|             pub display_name: String, | |
|             /// The number of followers for the account. | |
|             pub followers_count: u64, | |
|             /// The number of accounts the given account is following. | |
|             pub following_count: u64, | |
|             /// URL to the header image. | |
|             pub header: String, | |
|             /// URL to the header static image (gif). | |
|             pub header_static: String, | |
|             /// The ID of the account. | |
|             pub id: String, | |
|             /// Boolean for when the account cannot be followed without waiting for | |
|             /// approval first. | |
|             pub locked: bool, | |
|             /// Biography of user. | |
|             pub note: String, | |
|             /// The number of statuses the account has made. | |
|             pub statuses_count: u64, | |
|             /// URL of the user's profile page (can be remote). | |
|             pub url: String, | |
|             /// The username of the account. | |
|             pub username: String, | |
|             /// An extra attribute given from `verify_credentials` giving defaults about | |
|             /// a user | |
|             pub source: Option<Source>, | |
|             /// If the owner decided to switch accounts, new account is in | |
|             /// this attribute | |
|             pub moved: Option<Box<Account>>, | |
|             /// List of profile metadata fields | |
|             pub fields: Option<Vec<MetadataField>>, | |
|             /// Boolean indicating whether this account is a bot or not | |
|             pub bot: Option<bool>, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for Account { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match *self { | |
|                     Account { | |
|                     acct: ref __self_0_0, | |
|                     avatar: ref __self_0_1, | |
|                     avatar_static: ref __self_0_2, | |
|                     created_at: ref __self_0_3, | |
|                     display_name: ref __self_0_4, | |
|                     followers_count: ref __self_0_5, | |
|                     following_count: ref __self_0_6, | |
|                     header: ref __self_0_7, | |
|                     header_static: ref __self_0_8, | |
|                     id: ref __self_0_9, | |
|                     locked: ref __self_0_10, | |
|                     note: ref __self_0_11, | |
|                     statuses_count: ref __self_0_12, | |
|                     url: ref __self_0_13, | |
|                     username: ref __self_0_14, | |
|                     source: ref __self_0_15, | |
|                     moved: ref __self_0_16, | |
|                     fields: ref __self_0_17, | |
|                     bot: ref __self_0_18 } => { | |
|                         let mut debug_trait_builder = | |
|                             f.debug_struct("Account"); | |
|                         let _ = | |
|                             debug_trait_builder.field("acct", | |
|                                                       &&(*__self_0_0)); | |
|                         let _ = | |
|                             debug_trait_builder.field("avatar", | |
|                                                       &&(*__self_0_1)); | |
|                         let _ = | |
|                             debug_trait_builder.field("avatar_static", | |
|                                                       &&(*__self_0_2)); | |
|                         let _ = | |
|                             debug_trait_builder.field("created_at", | |
|                                                       &&(*__self_0_3)); | |
|                         let _ = | |
|                             debug_trait_builder.field("display_name", | |
|                                                       &&(*__self_0_4)); | |
|                         let _ = | |
|                             debug_trait_builder.field("followers_count", | |
|                                                       &&(*__self_0_5)); | |
|                         let _ = | |
|                             debug_trait_builder.field("following_count", | |
|                                                       &&(*__self_0_6)); | |
|                         let _ = | |
|                             debug_trait_builder.field("header", | |
|                                                       &&(*__self_0_7)); | |
|                         let _ = | |
|                             debug_trait_builder.field("header_static", | |
|                                                       &&(*__self_0_8)); | |
|                         let _ = | |
|                             debug_trait_builder.field("id", &&(*__self_0_9)); | |
|                         let _ = | |
|                             debug_trait_builder.field("locked", | |
|                                                       &&(*__self_0_10)); | |
|                         let _ = | |
|                             debug_trait_builder.field("note", | |
|                                                       &&(*__self_0_11)); | |
|                         let _ = | |
|                             debug_trait_builder.field("statuses_count", | |
|                                                       &&(*__self_0_12)); | |
|                         let _ = | |
|                             debug_trait_builder.field("url", | |
|                                                       &&(*__self_0_13)); | |
|                         let _ = | |
|                             debug_trait_builder.field("username", | |
|                                                       &&(*__self_0_14)); | |
|                         let _ = | |
|                             debug_trait_builder.field("source", | |
|                                                       &&(*__self_0_15)); | |
|                         let _ = | |
|                             debug_trait_builder.field("moved", | |
|                                                       &&(*__self_0_16)); | |
|                         let _ = | |
|                             debug_trait_builder.field("fields", | |
|                                                       &&(*__self_0_17)); | |
|                         let _ = | |
|                             debug_trait_builder.field("bot", | |
|                                                       &&(*__self_0_18)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for Account { | |
|             #[inline] | |
|             fn clone(&self) -> Account { | |
|                 match *self { | |
|                     Account { | |
|                     acct: ref __self_0_0, | |
|                     avatar: ref __self_0_1, | |
|                     avatar_static: ref __self_0_2, | |
|                     created_at: ref __self_0_3, | |
|                     display_name: ref __self_0_4, | |
|                     followers_count: ref __self_0_5, | |
|                     following_count: ref __self_0_6, | |
|                     header: ref __self_0_7, | |
|                     header_static: ref __self_0_8, | |
|                     id: ref __self_0_9, | |
|                     locked: ref __self_0_10, | |
|                     note: ref __self_0_11, | |
|                     statuses_count: ref __self_0_12, | |
|                     url: ref __self_0_13, | |
|                     username: ref __self_0_14, | |
|                     source: ref __self_0_15, | |
|                     moved: ref __self_0_16, | |
|                     fields: ref __self_0_17, | |
|                     bot: ref __self_0_18 } => | |
|                     Account{acct: ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                             avatar: | |
|                                 ::core::clone::Clone::clone(&(*__self_0_1)), | |
|                             avatar_static: | |
|                                 ::core::clone::Clone::clone(&(*__self_0_2)), | |
|                             created_at: | |
|                                 ::core::clone::Clone::clone(&(*__self_0_3)), | |
|                             display_name: | |
|                                 ::core::clone::Clone::clone(&(*__self_0_4)), | |
|                             followers_count: | |
|                                 ::core::clone::Clone::clone(&(*__self_0_5)), | |
|                             following_count: | |
|                                 ::core::clone::Clone::clone(&(*__self_0_6)), | |
|                             header: | |
|                                 ::core::clone::Clone::clone(&(*__self_0_7)), | |
|                             header_static: | |
|                                 ::core::clone::Clone::clone(&(*__self_0_8)), | |
|                             id: ::core::clone::Clone::clone(&(*__self_0_9)), | |
|                             locked: | |
|                                 ::core::clone::Clone::clone(&(*__self_0_10)), | |
|                             note: | |
|                                 ::core::clone::Clone::clone(&(*__self_0_11)), | |
|                             statuses_count: | |
|                                 ::core::clone::Clone::clone(&(*__self_0_12)), | |
|                             url: ::core::clone::Clone::clone(&(*__self_0_13)), | |
|                             username: | |
|                                 ::core::clone::Clone::clone(&(*__self_0_14)), | |
|                             source: | |
|                                 ::core::clone::Clone::clone(&(*__self_0_15)), | |
|                             moved: | |
|                                 ::core::clone::Clone::clone(&(*__self_0_16)), | |
|                             fields: | |
|                                 ::core::clone::Clone::clone(&(*__self_0_17)), | |
|                             bot: | |
|                                 ::core::clone::Clone::clone(&(*__self_0_18)),}, | |
|                 } | |
|             } | |
|         } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_DESERIALIZE_FOR_Account: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl <'de> _serde::Deserialize<'de> for Account { | |
|                     fn deserialize<__D>(__deserializer: __D) | |
|                      -> _serde::export::Result<Self, __D::Error> where | |
|                      __D: _serde::Deserializer<'de> { | |
|                         #[allow(non_camel_case_types)] | |
|                         enum __Field { | |
|                             __field0, | |
|                             __field1, | |
|                             __field2, | |
|                             __field3, | |
|                             __field4, | |
|                             __field5, | |
|                             __field6, | |
|                             __field7, | |
|                             __field8, | |
|                             __field9, | |
|                             __field10, | |
|                             __field11, | |
|                             __field12, | |
|                             __field13, | |
|                             __field14, | |
|                             __field15, | |
|                             __field16, | |
|                             __field17, | |
|                             __field18, | |
|                             __ignore, | |
|                         } | |
|                         struct __FieldVisitor; | |
|                         impl <'de> _serde::de::Visitor<'de> for __FieldVisitor | |
|                          { | |
|                             type Value = __Field; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "field identifier") | |
|                             } | |
|                             fn visit_u64<__E>(self, __value: u64) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     0u64 => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     1u64 => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     2u64 => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     3u64 => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     4u64 => | |
|                                     _serde::export::Ok(__Field::__field4), | |
|                                     5u64 => | |
|                                     _serde::export::Ok(__Field::__field5), | |
|                                     6u64 => | |
|                                     _serde::export::Ok(__Field::__field6), | |
|                                     7u64 => | |
|                                     _serde::export::Ok(__Field::__field7), | |
|                                     8u64 => | |
|                                     _serde::export::Ok(__Field::__field8), | |
|                                     9u64 => | |
|                                     _serde::export::Ok(__Field::__field9), | |
|                                     10u64 => | |
|                                     _serde::export::Ok(__Field::__field10), | |
|                                     11u64 => | |
|                                     _serde::export::Ok(__Field::__field11), | |
|                                     12u64 => | |
|                                     _serde::export::Ok(__Field::__field12), | |
|                                     13u64 => | |
|                                     _serde::export::Ok(__Field::__field13), | |
|                                     14u64 => | |
|                                     _serde::export::Ok(__Field::__field14), | |
|                                     15u64 => | |
|                                     _serde::export::Ok(__Field::__field15), | |
|                                     16u64 => | |
|                                     _serde::export::Ok(__Field::__field16), | |
|                                     17u64 => | |
|                                     _serde::export::Ok(__Field::__field17), | |
|                                     18u64 => | |
|                                     _serde::export::Ok(__Field::__field18), | |
|                                     _ => | |
|                                     _serde::export::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value), | |
|                                                                                          &"field index 0 <= i < 19")), | |
|                                 } | |
|                             } | |
|                             fn visit_str<__E>(self, __value: &str) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     "acct" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     "avatar" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     "avatar_static" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     "created_at" => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     "display_name" => | |
|                                     _serde::export::Ok(__Field::__field4), | |
|                                     "followers_count" => | |
|                                     _serde::export::Ok(__Field::__field5), | |
|                                     "following_count" => | |
|                                     _serde::export::Ok(__Field::__field6), | |
|                                     "header" => | |
|                                     _serde::export::Ok(__Field::__field7), | |
|                                     "header_static" => | |
|                                     _serde::export::Ok(__Field::__field8), | |
|                                     "id" => | |
|                                     _serde::export::Ok(__Field::__field9), | |
|                                     "locked" => | |
|                                     _serde::export::Ok(__Field::__field10), | |
|                                     "note" => | |
|                                     _serde::export::Ok(__Field::__field11), | |
|                                     "statuses_count" => | |
|                                     _serde::export::Ok(__Field::__field12), | |
|                                     "url" => | |
|                                     _serde::export::Ok(__Field::__field13), | |
|                                     "username" => | |
|                                     _serde::export::Ok(__Field::__field14), | |
|                                     "source" => | |
|                                     _serde::export::Ok(__Field::__field15), | |
|                                     "moved" => | |
|                                     _serde::export::Ok(__Field::__field16), | |
|                                     "fields" => | |
|                                     _serde::export::Ok(__Field::__field17), | |
|                                     "bot" => | |
|                                     _serde::export::Ok(__Field::__field18), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                             fn visit_bytes<__E>(self, __value: &[u8]) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     b"acct" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     b"avatar" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     b"avatar_static" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     b"created_at" => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     b"display_name" => | |
|                                     _serde::export::Ok(__Field::__field4), | |
|                                     b"followers_count" => | |
|                                     _serde::export::Ok(__Field::__field5), | |
|                                     b"following_count" => | |
|                                     _serde::export::Ok(__Field::__field6), | |
|                                     b"header" => | |
|                                     _serde::export::Ok(__Field::__field7), | |
|                                     b"header_static" => | |
|                                     _serde::export::Ok(__Field::__field8), | |
|                                     b"id" => | |
|                                     _serde::export::Ok(__Field::__field9), | |
|                                     b"locked" => | |
|                                     _serde::export::Ok(__Field::__field10), | |
|                                     b"note" => | |
|                                     _serde::export::Ok(__Field::__field11), | |
|                                     b"statuses_count" => | |
|                                     _serde::export::Ok(__Field::__field12), | |
|                                     b"url" => | |
|                                     _serde::export::Ok(__Field::__field13), | |
|                                     b"username" => | |
|                                     _serde::export::Ok(__Field::__field14), | |
|                                     b"source" => | |
|                                     _serde::export::Ok(__Field::__field15), | |
|                                     b"moved" => | |
|                                     _serde::export::Ok(__Field::__field16), | |
|                                     b"fields" => | |
|                                     _serde::export::Ok(__Field::__field17), | |
|                                     b"bot" => | |
|                                     _serde::export::Ok(__Field::__field18), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                         } | |
|                         impl <'de> _serde::Deserialize<'de> for __Field { | |
|                             #[inline] | |
|                             fn deserialize<__D>(__deserializer: __D) | |
|                              -> _serde::export::Result<Self, __D::Error> where | |
|                              __D: _serde::Deserializer<'de> { | |
|                                 _serde::Deserializer::deserialize_identifier(__deserializer, | |
|                                                                              __FieldVisitor) | |
|                             } | |
|                         } | |
|                         struct __Visitor<'de> { | |
|                             marker: _serde::export::PhantomData<Account>, | |
|                             lifetime: _serde::export::PhantomData<&'de ()>, | |
|                         } | |
|                         impl <'de> _serde::de::Visitor<'de> for __Visitor<'de> | |
|                          { | |
|                             type Value = Account; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "struct Account") | |
|                             } | |
|                             #[inline] | |
|                             fn visit_seq<__A>(self, mut __seq: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::SeqAccess<'de> { | |
|                                 let __field0 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(0usize, | |
|                                                                                                          &"struct Account with 19 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(1usize, | |
|                                                                                                          &"struct Account with 19 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field2 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(2usize, | |
|                                                                                                          &"struct Account with 19 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field3 = | |
|                                     match match _serde::de::SeqAccess::next_element::<DateTime<Utc>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(3usize, | |
|                                                                                                          &"struct Account with 19 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field4 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(4usize, | |
|                                                                                                          &"struct Account with 19 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field5 = | |
|                                     match match _serde::de::SeqAccess::next_element::<u64>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(5usize, | |
|                                                                                                          &"struct Account with 19 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field6 = | |
|                                     match match _serde::de::SeqAccess::next_element::<u64>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(6usize, | |
|                                                                                                          &"struct Account with 19 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field7 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(7usize, | |
|                                                                                                          &"struct Account with 19 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field8 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(8usize, | |
|                                                                                                          &"struct Account with 19 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field9 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(9usize, | |
|                                                                                                          &"struct Account with 19 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field10 = | |
|                                     match match _serde::de::SeqAccess::next_element::<bool>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(10usize, | |
|                                                                                                          &"struct Account with 19 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field11 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(11usize, | |
|                                                                                                          &"struct Account with 19 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field12 = | |
|                                     match match _serde::de::SeqAccess::next_element::<u64>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(12usize, | |
|                                                                                                          &"struct Account with 19 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field13 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(13usize, | |
|                                                                                                          &"struct Account with 19 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field14 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(14usize, | |
|                                                                                                          &"struct Account with 19 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field15 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<Source>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(15usize, | |
|                                                                                                          &"struct Account with 19 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field16 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<Box<Account>>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(16usize, | |
|                                                                                                          &"struct Account with 19 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field17 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<Vec<MetadataField>>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(17usize, | |
|                                                                                                          &"struct Account with 19 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field18 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(18usize, | |
|                                                                                                          &"struct Account with 19 elements")); | |
|                                         } | |
|                                     }; | |
|                                 _serde::export::Ok(Account{acct: __field0, | |
|                                                            avatar: __field1, | |
|                                                            avatar_static: | |
|                                                                __field2, | |
|                                                            created_at: | |
|                                                                __field3, | |
|                                                            display_name: | |
|                                                                __field4, | |
|                                                            followers_count: | |
|                                                                __field5, | |
|                                                            following_count: | |
|                                                                __field6, | |
|                                                            header: __field7, | |
|                                                            header_static: | |
|                                                                __field8, | |
|                                                            id: __field9, | |
|                                                            locked: __field10, | |
|                                                            note: __field11, | |
|                                                            statuses_count: | |
|                                                                __field12, | |
|                                                            url: __field13, | |
|                                                            username: | |
|                                                                __field14, | |
|                                                            source: __field15, | |
|                                                            moved: __field16, | |
|                                                            fields: __field17, | |
|                                                            bot: __field18,}) | |
|                             } | |
|                             #[inline] | |
|                             fn visit_map<__A>(self, mut __map: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::MapAccess<'de> { | |
|                                 let mut __field0: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field1: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field2: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field3: | |
|                                         _serde::export::Option<DateTime<Utc>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field4: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field5: | |
|                                         _serde::export::Option<u64> = | |
|                                     _serde::export::None; | |
|                                 let mut __field6: | |
|                                         _serde::export::Option<u64> = | |
|                                     _serde::export::None; | |
|                                 let mut __field7: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field8: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field9: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field10: | |
|                                         _serde::export::Option<bool> = | |
|                                     _serde::export::None; | |
|                                 let mut __field11: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field12: | |
|                                         _serde::export::Option<u64> = | |
|                                     _serde::export::None; | |
|                                 let mut __field13: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field14: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field15: | |
|                                         _serde::export::Option<Option<Source>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field16: | |
|                                         _serde::export::Option<Option<Box<Account>>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field17: | |
|                                         _serde::export::Option<Option<Vec<MetadataField>>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field18: | |
|                                         _serde::export::Option<Option<bool>> = | |
|                                     _serde::export::None; | |
|                                 while let _serde::export::Some(__key) = | |
|                                           match _serde::de::MapAccess::next_key::<__Field>(&mut __map) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                     match __key { | |
|                                         __Field::__field0 => { | |
|                                             if _serde::export::Option::is_some(&__field0) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("acct")); | |
|                                             } | |
|                                             __field0 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field1 => { | |
|                                             if _serde::export::Option::is_some(&__field1) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("avatar")); | |
|                                             } | |
|                                             __field1 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field2 => { | |
|                                             if _serde::export::Option::is_some(&__field2) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("avatar_static")); | |
|                                             } | |
|                                             __field2 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field3 => { | |
|                                             if _serde::export::Option::is_some(&__field3) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("created_at")); | |
|                                             } | |
|                                             __field3 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<DateTime<Utc>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field4 => { | |
|                                             if _serde::export::Option::is_some(&__field4) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("display_name")); | |
|                                             } | |
|                                             __field4 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field5 => { | |
|                                             if _serde::export::Option::is_some(&__field5) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("followers_count")); | |
|                                             } | |
|                                             __field5 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<u64>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field6 => { | |
|                                             if _serde::export::Option::is_some(&__field6) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("following_count")); | |
|                                             } | |
|                                             __field6 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<u64>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field7 => { | |
|                                             if _serde::export::Option::is_some(&__field7) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("header")); | |
|                                             } | |
|                                             __field7 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field8 => { | |
|                                             if _serde::export::Option::is_some(&__field8) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("header_static")); | |
|                                             } | |
|                                             __field8 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field9 => { | |
|                                             if _serde::export::Option::is_some(&__field9) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("id")); | |
|                                             } | |
|                                             __field9 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field10 => { | |
|                                             if _serde::export::Option::is_some(&__field10) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("locked")); | |
|                                             } | |
|                                             __field10 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<bool>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field11 => { | |
|                                             if _serde::export::Option::is_some(&__field11) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("note")); | |
|                                             } | |
|                                             __field11 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field12 => { | |
|                                             if _serde::export::Option::is_some(&__field12) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("statuses_count")); | |
|                                             } | |
|                                             __field12 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<u64>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field13 => { | |
|                                             if _serde::export::Option::is_some(&__field13) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("url")); | |
|                                             } | |
|                                             __field13 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field14 => { | |
|                                             if _serde::export::Option::is_some(&__field14) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("username")); | |
|                                             } | |
|                                             __field14 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field15 => { | |
|                                             if _serde::export::Option::is_some(&__field15) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("source")); | |
|                                             } | |
|                                             __field15 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<Source>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field16 => { | |
|                                             if _serde::export::Option::is_some(&__field16) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("moved")); | |
|                                             } | |
|                                             __field16 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<Box<Account>>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field17 => { | |
|                                             if _serde::export::Option::is_some(&__field17) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("fields")); | |
|                                             } | |
|                                             __field17 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<Vec<MetadataField>>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field18 => { | |
|                                             if _serde::export::Option::is_some(&__field18) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("bot")); | |
|                                             } | |
|                                             __field18 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<bool>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         _ => { | |
|                                             let _ = | |
|                                                 match _serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map) | |
|                                                     { | |
|                                                     _serde::export::Ok(__val) | |
|                                                     => __val, | |
|                                                     _serde::export::Err(__err) | |
|                                                     => { | |
|                                                         return _serde::export::Err(__err); | |
|                                                     } | |
|                                                 }; | |
|                                         } | |
|                                     } | |
|                                 } | |
|                                 let __field0 = | |
|                                     match __field0 { | |
|                                         _serde::export::Some(__field0) => | |
|                                         __field0, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("acct") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match __field1 { | |
|                                         _serde::export::Some(__field1) => | |
|                                         __field1, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("avatar") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field2 = | |
|                                     match __field2 { | |
|                                         _serde::export::Some(__field2) => | |
|                                         __field2, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("avatar_static") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field3 = | |
|                                     match __field3 { | |
|                                         _serde::export::Some(__field3) => | |
|                                         __field3, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("created_at") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field4 = | |
|                                     match __field4 { | |
|                                         _serde::export::Some(__field4) => | |
|                                         __field4, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("display_name") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field5 = | |
|                                     match __field5 { | |
|                                         _serde::export::Some(__field5) => | |
|                                         __field5, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("followers_count") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field6 = | |
|                                     match __field6 { | |
|                                         _serde::export::Some(__field6) => | |
|                                         __field6, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("following_count") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field7 = | |
|                                     match __field7 { | |
|                                         _serde::export::Some(__field7) => | |
|                                         __field7, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("header") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field8 = | |
|                                     match __field8 { | |
|                                         _serde::export::Some(__field8) => | |
|                                         __field8, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("header_static") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field9 = | |
|                                     match __field9 { | |
|                                         _serde::export::Some(__field9) => | |
|                                         __field9, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("id") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field10 = | |
|                                     match __field10 { | |
|                                         _serde::export::Some(__field10) => | |
|                                         __field10, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("locked") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field11 = | |
|                                     match __field11 { | |
|                                         _serde::export::Some(__field11) => | |
|                                         __field11, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("note") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field12 = | |
|                                     match __field12 { | |
|                                         _serde::export::Some(__field12) => | |
|                                         __field12, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("statuses_count") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field13 = | |
|                                     match __field13 { | |
|                                         _serde::export::Some(__field13) => | |
|                                         __field13, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("url") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field14 = | |
|                                     match __field14 { | |
|                                         _serde::export::Some(__field14) => | |
|                                         __field14, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("username") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field15 = | |
|                                     match __field15 { | |
|                                         _serde::export::Some(__field15) => | |
|                                         __field15, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("source") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field16 = | |
|                                     match __field16 { | |
|                                         _serde::export::Some(__field16) => | |
|                                         __field16, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("moved") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field17 = | |
|                                     match __field17 { | |
|                                         _serde::export::Some(__field17) => | |
|                                         __field17, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("fields") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field18 = | |
|                                     match __field18 { | |
|                                         _serde::export::Some(__field18) => | |
|                                         __field18, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("bot") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 _serde::export::Ok(Account{acct: __field0, | |
|                                                            avatar: __field1, | |
|                                                            avatar_static: | |
|                                                                __field2, | |
|                                                            created_at: | |
|                                                                __field3, | |
|                                                            display_name: | |
|                                                                __field4, | |
|                                                            followers_count: | |
|                                                                __field5, | |
|                                                            following_count: | |
|                                                                __field6, | |
|                                                            header: __field7, | |
|                                                            header_static: | |
|                                                                __field8, | |
|                                                            id: __field9, | |
|                                                            locked: __field10, | |
|                                                            note: __field11, | |
|                                                            statuses_count: | |
|                                                                __field12, | |
|                                                            url: __field13, | |
|                                                            username: | |
|                                                                __field14, | |
|                                                            source: __field15, | |
|                                                            moved: __field16, | |
|                                                            fields: __field17, | |
|                                                            bot: __field18,}) | |
|                             } | |
|                         } | |
|                         const FIELDS: &'static [&'static str] = | |
|                             &["acct", "avatar", "avatar_static", "created_at", | |
|                               "display_name", "followers_count", | |
|                               "following_count", "header", "header_static", | |
|                               "id", "locked", "note", "statuses_count", "url", | |
|                               "username", "source", "moved", "fields", "bot"]; | |
|                         _serde::Deserializer::deserialize_struct(__deserializer, | |
|                                                                  "Account", | |
|                                                                  FIELDS, | |
|                                                                  __Visitor{marker: | |
|                                                                                _serde::export::PhantomData::<Account>, | |
|                                                                            lifetime: | |
|                                                                                _serde::export::PhantomData,}) | |
|                     } | |
|                 } | |
|             }; | |
|         impl ::core::marker::StructuralPartialEq for Account { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for Account { | |
|             #[inline] | |
|             fn eq(&self, other: &Account) -> bool { | |
|                 match *other { | |
|                     Account { | |
|                     acct: ref __self_1_0, | |
|                     avatar: ref __self_1_1, | |
|                     avatar_static: ref __self_1_2, | |
|                     created_at: ref __self_1_3, | |
|                     display_name: ref __self_1_4, | |
|                     followers_count: ref __self_1_5, | |
|                     following_count: ref __self_1_6, | |
|                     header: ref __self_1_7, | |
|                     header_static: ref __self_1_8, | |
|                     id: ref __self_1_9, | |
|                     locked: ref __self_1_10, | |
|                     note: ref __self_1_11, | |
|                     statuses_count: ref __self_1_12, | |
|                     url: ref __self_1_13, | |
|                     username: ref __self_1_14, | |
|                     source: ref __self_1_15, | |
|                     moved: ref __self_1_16, | |
|                     fields: ref __self_1_17, | |
|                     bot: ref __self_1_18 } => | |
|                     match *self { | |
|                         Account { | |
|                         acct: ref __self_0_0, | |
|                         avatar: ref __self_0_1, | |
|                         avatar_static: ref __self_0_2, | |
|                         created_at: ref __self_0_3, | |
|                         display_name: ref __self_0_4, | |
|                         followers_count: ref __self_0_5, | |
|                         following_count: ref __self_0_6, | |
|                         header: ref __self_0_7, | |
|                         header_static: ref __self_0_8, | |
|                         id: ref __self_0_9, | |
|                         locked: ref __self_0_10, | |
|                         note: ref __self_0_11, | |
|                         statuses_count: ref __self_0_12, | |
|                         url: ref __self_0_13, | |
|                         username: ref __self_0_14, | |
|                         source: ref __self_0_15, | |
|                         moved: ref __self_0_16, | |
|                         fields: ref __self_0_17, | |
|                         bot: ref __self_0_18 } => | |
|                         (*__self_0_0) == (*__self_1_0) && | |
|                             (*__self_0_1) == (*__self_1_1) && | |
|                             (*__self_0_2) == (*__self_1_2) && | |
|                             (*__self_0_3) == (*__self_1_3) && | |
|                             (*__self_0_4) == (*__self_1_4) && | |
|                             (*__self_0_5) == (*__self_1_5) && | |
|                             (*__self_0_6) == (*__self_1_6) && | |
|                             (*__self_0_7) == (*__self_1_7) && | |
|                             (*__self_0_8) == (*__self_1_8) && | |
|                             (*__self_0_9) == (*__self_1_9) && | |
|                             (*__self_0_10) == (*__self_1_10) && | |
|                             (*__self_0_11) == (*__self_1_11) && | |
|                             (*__self_0_12) == (*__self_1_12) && | |
|                             (*__self_0_13) == (*__self_1_13) && | |
|                             (*__self_0_14) == (*__self_1_14) && | |
|                             (*__self_0_15) == (*__self_1_15) && | |
|                             (*__self_0_16) == (*__self_1_16) && | |
|                             (*__self_0_17) == (*__self_1_17) && | |
|                             (*__self_0_18) == (*__self_1_18), | |
|                     }, | |
|                 } | |
|             } | |
|             #[inline] | |
|             fn ne(&self, other: &Account) -> bool { | |
|                 match *other { | |
|                     Account { | |
|                     acct: ref __self_1_0, | |
|                     avatar: ref __self_1_1, | |
|                     avatar_static: ref __self_1_2, | |
|                     created_at: ref __self_1_3, | |
|                     display_name: ref __self_1_4, | |
|                     followers_count: ref __self_1_5, | |
|                     following_count: ref __self_1_6, | |
|                     header: ref __self_1_7, | |
|                     header_static: ref __self_1_8, | |
|                     id: ref __self_1_9, | |
|                     locked: ref __self_1_10, | |
|                     note: ref __self_1_11, | |
|                     statuses_count: ref __self_1_12, | |
|                     url: ref __self_1_13, | |
|                     username: ref __self_1_14, | |
|                     source: ref __self_1_15, | |
|                     moved: ref __self_1_16, | |
|                     fields: ref __self_1_17, | |
|                     bot: ref __self_1_18 } => | |
|                     match *self { | |
|                         Account { | |
|                         acct: ref __self_0_0, | |
|                         avatar: ref __self_0_1, | |
|                         avatar_static: ref __self_0_2, | |
|                         created_at: ref __self_0_3, | |
|                         display_name: ref __self_0_4, | |
|                         followers_count: ref __self_0_5, | |
|                         following_count: ref __self_0_6, | |
|                         header: ref __self_0_7, | |
|                         header_static: ref __self_0_8, | |
|                         id: ref __self_0_9, | |
|                         locked: ref __self_0_10, | |
|                         note: ref __self_0_11, | |
|                         statuses_count: ref __self_0_12, | |
|                         url: ref __self_0_13, | |
|                         username: ref __self_0_14, | |
|                         source: ref __self_0_15, | |
|                         moved: ref __self_0_16, | |
|                         fields: ref __self_0_17, | |
|                         bot: ref __self_0_18 } => | |
|                         (*__self_0_0) != (*__self_1_0) || | |
|                             (*__self_0_1) != (*__self_1_1) || | |
|                             (*__self_0_2) != (*__self_1_2) || | |
|                             (*__self_0_3) != (*__self_1_3) || | |
|                             (*__self_0_4) != (*__self_1_4) || | |
|                             (*__self_0_5) != (*__self_1_5) || | |
|                             (*__self_0_6) != (*__self_1_6) || | |
|                             (*__self_0_7) != (*__self_1_7) || | |
|                             (*__self_0_8) != (*__self_1_8) || | |
|                             (*__self_0_9) != (*__self_1_9) || | |
|                             (*__self_0_10) != (*__self_1_10) || | |
|                             (*__self_0_11) != (*__self_1_11) || | |
|                             (*__self_0_12) != (*__self_1_12) || | |
|                             (*__self_0_13) != (*__self_1_13) || | |
|                             (*__self_0_14) != (*__self_1_14) || | |
|                             (*__self_0_15) != (*__self_1_15) || | |
|                             (*__self_0_16) != (*__self_1_16) || | |
|                             (*__self_0_17) != (*__self_1_17) || | |
|                             (*__self_0_18) != (*__self_1_18), | |
|                     }, | |
|                 } | |
|             } | |
|         } | |
|         /// A single name: value pair from a user's profile | |
|         pub struct MetadataField { | |
|             /// name part of metadata | |
|             pub name: String, | |
|             /// value part of metadata | |
|             pub value: String, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for MetadataField { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match *self { | |
|                     MetadataField { | |
|                     name: ref __self_0_0, value: ref __self_0_1 } => { | |
|                         let mut debug_trait_builder = | |
|                             f.debug_struct("MetadataField"); | |
|                         let _ = | |
|                             debug_trait_builder.field("name", | |
|                                                       &&(*__self_0_0)); | |
|                         let _ = | |
|                             debug_trait_builder.field("value", | |
|                                                       &&(*__self_0_1)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for MetadataField { | |
|             #[inline] | |
|             fn clone(&self) -> MetadataField { | |
|                 match *self { | |
|                     MetadataField { | |
|                     name: ref __self_0_0, value: ref __self_0_1 } => | |
|                     MetadataField{name: | |
|                                       ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                                   value: | |
|                                       ::core::clone::Clone::clone(&(*__self_0_1)),}, | |
|                 } | |
|             } | |
|         } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_SERIALIZE_FOR_MetadataField: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl _serde::Serialize for MetadataField { | |
|                     fn serialize<__S>(&self, __serializer: __S) | |
|                      -> _serde::export::Result<__S::Ok, __S::Error> where | |
|                      __S: _serde::Serializer { | |
|                         let mut __serde_state = | |
|                             match _serde::Serializer::serialize_struct(__serializer, | |
|                                                                        "MetadataField", | |
|                                                                        false | |
|                                                                            as | |
|                                                                            usize | |
|                                                                            + 1 | |
|                                                                            + | |
|                                                                            1) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "name", | |
|                                                                             &self.name) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "value", | |
|                                                                             &self.value) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                         _serde::ser::SerializeStruct::end(__serde_state) | |
|                     } | |
|                 } | |
|             }; | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_DESERIALIZE_FOR_MetadataField: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl <'de> _serde::Deserialize<'de> for MetadataField { | |
|                     fn deserialize<__D>(__deserializer: __D) | |
|                      -> _serde::export::Result<Self, __D::Error> where | |
|                      __D: _serde::Deserializer<'de> { | |
|                         #[allow(non_camel_case_types)] | |
|                         enum __Field { __field0, __field1, __ignore, } | |
|                         struct __FieldVisitor; | |
|                         impl <'de> _serde::de::Visitor<'de> for __FieldVisitor | |
|                          { | |
|                             type Value = __Field; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "field identifier") | |
|                             } | |
|                             fn visit_u64<__E>(self, __value: u64) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     0u64 => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     1u64 => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     _ => | |
|                                     _serde::export::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value), | |
|                                                                                          &"field index 0 <= i < 2")), | |
|                                 } | |
|                             } | |
|                             fn visit_str<__E>(self, __value: &str) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     "name" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     "value" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                             fn visit_bytes<__E>(self, __value: &[u8]) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     b"name" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     b"value" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                         } | |
|                         impl <'de> _serde::Deserialize<'de> for __Field { | |
|                             #[inline] | |
|                             fn deserialize<__D>(__deserializer: __D) | |
|                              -> _serde::export::Result<Self, __D::Error> where | |
|                              __D: _serde::Deserializer<'de> { | |
|                                 _serde::Deserializer::deserialize_identifier(__deserializer, | |
|                                                                              __FieldVisitor) | |
|                             } | |
|                         } | |
|                         struct __Visitor<'de> { | |
|                             marker: _serde::export::PhantomData<MetadataField>, | |
|                             lifetime: _serde::export::PhantomData<&'de ()>, | |
|                         } | |
|                         impl <'de> _serde::de::Visitor<'de> for __Visitor<'de> | |
|                          { | |
|                             type Value = MetadataField; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "struct MetadataField") | |
|                             } | |
|                             #[inline] | |
|                             fn visit_seq<__A>(self, mut __seq: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::SeqAccess<'de> { | |
|                                 let __field0 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(0usize, | |
|                                                                                                          &"struct MetadataField with 2 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(1usize, | |
|                                                                                                          &"struct MetadataField with 2 elements")); | |
|                                         } | |
|                                     }; | |
|                                 _serde::export::Ok(MetadataField{name: | |
|                                                                      __field0, | |
|                                                                  value: | |
|                                                                      __field1,}) | |
|                             } | |
|                             #[inline] | |
|                             fn visit_map<__A>(self, mut __map: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::MapAccess<'de> { | |
|                                 let mut __field0: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field1: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 while let _serde::export::Some(__key) = | |
|                                           match _serde::de::MapAccess::next_key::<__Field>(&mut __map) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                     match __key { | |
|                                         __Field::__field0 => { | |
|                                             if _serde::export::Option::is_some(&__field0) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("name")); | |
|                                             } | |
|                                             __field0 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field1 => { | |
|                                             if _serde::export::Option::is_some(&__field1) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("value")); | |
|                                             } | |
|                                             __field1 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         _ => { | |
|                                             let _ = | |
|                                                 match _serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map) | |
|                                                     { | |
|                                                     _serde::export::Ok(__val) | |
|                                                     => __val, | |
|                                                     _serde::export::Err(__err) | |
|                                                     => { | |
|                                                         return _serde::export::Err(__err); | |
|                                                     } | |
|                                                 }; | |
|                                         } | |
|                                     } | |
|                                 } | |
|                                 let __field0 = | |
|                                     match __field0 { | |
|                                         _serde::export::Some(__field0) => | |
|                                         __field0, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("name") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match __field1 { | |
|                                         _serde::export::Some(__field1) => | |
|                                         __field1, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("value") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 _serde::export::Ok(MetadataField{name: | |
|                                                                      __field0, | |
|                                                                  value: | |
|                                                                      __field1,}) | |
|                             } | |
|                         } | |
|                         const FIELDS: &'static [&'static str] = | |
|                             &["name", "value"]; | |
|                         _serde::Deserializer::deserialize_struct(__deserializer, | |
|                                                                  "MetadataField", | |
|                                                                  FIELDS, | |
|                                                                  __Visitor{marker: | |
|                                                                                _serde::export::PhantomData::<MetadataField>, | |
|                                                                            lifetime: | |
|                                                                                _serde::export::PhantomData,}) | |
|                     } | |
|                 } | |
|             }; | |
|         impl ::core::marker::StructuralPartialEq for MetadataField { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for MetadataField { | |
|             #[inline] | |
|             fn eq(&self, other: &MetadataField) -> bool { | |
|                 match *other { | |
|                     MetadataField { | |
|                     name: ref __self_1_0, value: ref __self_1_1 } => | |
|                     match *self { | |
|                         MetadataField { | |
|                         name: ref __self_0_0, value: ref __self_0_1 } => | |
|                         (*__self_0_0) == (*__self_1_0) && | |
|                             (*__self_0_1) == (*__self_1_1), | |
|                     }, | |
|                 } | |
|             } | |
|             #[inline] | |
|             fn ne(&self, other: &MetadataField) -> bool { | |
|                 match *other { | |
|                     MetadataField { | |
|                     name: ref __self_1_0, value: ref __self_1_1 } => | |
|                     match *self { | |
|                         MetadataField { | |
|                         name: ref __self_0_0, value: ref __self_0_1 } => | |
|                         (*__self_0_0) != (*__self_1_0) || | |
|                             (*__self_0_1) != (*__self_1_1), | |
|                     }, | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::default::Default for MetadataField { | |
|             #[inline] | |
|             fn default() -> MetadataField { | |
|                 MetadataField{name: ::core::default::Default::default(), | |
|                               value: ::core::default::Default::default(),} | |
|             } | |
|         } | |
|         impl MetadataField { | |
|             pub(crate) fn new(name: &str, value: &str) -> MetadataField { | |
|                 MetadataField{name: name.into(), value: value.into(),} | |
|             } | |
|         } | |
|         /// An extra object given from `verify_credentials` giving defaults about a user | |
|         pub struct Source { | |
|             privacy: Option<status_builder::Visibility>, | |
|             #[serde(deserialize_with = "string_or_bool")] | |
|             sensitive: bool, | |
|             note: Option<String>, | |
|             fields: Option<Vec<MetadataField>>, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for Source { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match *self { | |
|                     Source { | |
|                     privacy: ref __self_0_0, | |
|                     sensitive: ref __self_0_1, | |
|                     note: ref __self_0_2, | |
|                     fields: ref __self_0_3 } => { | |
|                         let mut debug_trait_builder = | |
|                             f.debug_struct("Source"); | |
|                         let _ = | |
|                             debug_trait_builder.field("privacy", | |
|                                                       &&(*__self_0_0)); | |
|                         let _ = | |
|                             debug_trait_builder.field("sensitive", | |
|                                                       &&(*__self_0_1)); | |
|                         let _ = | |
|                             debug_trait_builder.field("note", | |
|                                                       &&(*__self_0_2)); | |
|                         let _ = | |
|                             debug_trait_builder.field("fields", | |
|                                                       &&(*__self_0_3)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for Source { | |
|             #[inline] | |
|             fn clone(&self) -> Source { | |
|                 match *self { | |
|                     Source { | |
|                     privacy: ref __self_0_0, | |
|                     sensitive: ref __self_0_1, | |
|                     note: ref __self_0_2, | |
|                     fields: ref __self_0_3 } => | |
|                     Source{privacy: | |
|                                ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                            sensitive: | |
|                                ::core::clone::Clone::clone(&(*__self_0_1)), | |
|                            note: ::core::clone::Clone::clone(&(*__self_0_2)), | |
|                            fields: | |
|                                ::core::clone::Clone::clone(&(*__self_0_3)),}, | |
|                 } | |
|             } | |
|         } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_DESERIALIZE_FOR_Source: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl <'de> _serde::Deserialize<'de> for Source { | |
|                     fn deserialize<__D>(__deserializer: __D) | |
|                      -> _serde::export::Result<Self, __D::Error> where | |
|                      __D: _serde::Deserializer<'de> { | |
|                         #[allow(non_camel_case_types)] | |
|                         enum __Field { | |
|                             __field0, | |
|                             __field1, | |
|                             __field2, | |
|                             __field3, | |
|                             __ignore, | |
|                         } | |
|                         struct __FieldVisitor; | |
|                         impl <'de> _serde::de::Visitor<'de> for __FieldVisitor | |
|                          { | |
|                             type Value = __Field; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "field identifier") | |
|                             } | |
|                             fn visit_u64<__E>(self, __value: u64) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     0u64 => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     1u64 => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     2u64 => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     3u64 => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     _ => | |
|                                     _serde::export::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value), | |
|                                                                                          &"field index 0 <= i < 4")), | |
|                                 } | |
|                             } | |
|                             fn visit_str<__E>(self, __value: &str) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     "privacy" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     "sensitive" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     "note" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     "fields" => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                             fn visit_bytes<__E>(self, __value: &[u8]) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     b"privacy" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     b"sensitive" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     b"note" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     b"fields" => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                         } | |
|                         impl <'de> _serde::Deserialize<'de> for __Field { | |
|                             #[inline] | |
|                             fn deserialize<__D>(__deserializer: __D) | |
|                              -> _serde::export::Result<Self, __D::Error> where | |
|                              __D: _serde::Deserializer<'de> { | |
|                                 _serde::Deserializer::deserialize_identifier(__deserializer, | |
|                                                                              __FieldVisitor) | |
|                             } | |
|                         } | |
|                         struct __Visitor<'de> { | |
|                             marker: _serde::export::PhantomData<Source>, | |
|                             lifetime: _serde::export::PhantomData<&'de ()>, | |
|                         } | |
|                         impl <'de> _serde::de::Visitor<'de> for __Visitor<'de> | |
|                          { | |
|                             type Value = Source; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "struct Source") | |
|                             } | |
|                             #[inline] | |
|                             fn visit_seq<__A>(self, mut __seq: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::SeqAccess<'de> { | |
|                                 let __field0 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<status_builder::Visibility>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(0usize, | |
|                                                                                                          &"struct Source with 4 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match { | |
|                                               struct __DeserializeWith<'de> { | |
|                                                   value: bool, | |
|                                                   phantom: _serde::export::PhantomData<Source>, | |
|                                                   lifetime: _serde::export::PhantomData<&'de ()>, | |
|                                               } | |
|                                               impl <'de> | |
|                                                _serde::Deserialize<'de> for | |
|                                                __DeserializeWith<'de> { | |
|                                                   fn deserialize<__D>(__deserializer: | |
|                                                                           __D) | |
|                                                    -> | |
|                                                        _serde::export::Result<Self, | |
|                                                                               __D::Error> | |
|                                                    where | |
|                                                    __D: _serde::Deserializer<'de> { | |
|                                                       _serde::export::Ok(__DeserializeWith{value: | |
|                                                                                                match string_or_bool(__deserializer) | |
|                                                                                                    { | |
|                                                                                                    _serde::export::Ok(__val) | |
|                                                                                                    => | |
|                                                                                                    __val, | |
|                                                                                                    _serde::export::Err(__err) | |
|                                                                                                    => | |
|                                                                                                    { | |
|                                                                                                        return _serde::export::Err(__err); | |
|                                                                                                    } | |
|                                                                                                }, | |
|                                                                                            phantom: | |
|                                                                                                _serde::export::PhantomData, | |
|                                                                                            lifetime: | |
|                                                                                                _serde::export::PhantomData,}) | |
|                                                   } | |
|                                               } | |
|                                               _serde::export::Option::map(match _serde::de::SeqAccess::next_element::<__DeserializeWith<'de>>(&mut __seq) | |
|                                                                               { | |
|                                                                               _serde::export::Ok(__val) | |
|                                                                               => | |
|                                                                               __val, | |
|                                                                               _serde::export::Err(__err) | |
|                                                                               => | |
|                                                                               { | |
|                                                                                   return _serde::export::Err(__err); | |
|                                                                               } | |
|                                                                           }, | |
|                                                                           |__wrap| | |
|                                                                               __wrap.value) | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(1usize, | |
|                                                                                                          &"struct Source with 4 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field2 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<String>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(2usize, | |
|                                                                                                          &"struct Source with 4 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field3 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<Vec<MetadataField>>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(3usize, | |
|                                                                                                          &"struct Source with 4 elements")); | |
|                                         } | |
|                                     }; | |
|                                 _serde::export::Ok(Source{privacy: __field0, | |
|                                                           sensitive: __field1, | |
|                                                           note: __field2, | |
|                                                           fields: __field3,}) | |
|                             } | |
|                             #[inline] | |
|                             fn visit_map<__A>(self, mut __map: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::MapAccess<'de> { | |
|                                 let mut __field0: | |
|                                         _serde::export::Option<Option<status_builder::Visibility>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field1: | |
|                                         _serde::export::Option<bool> = | |
|                                     _serde::export::None; | |
|                                 let mut __field2: | |
|                                         _serde::export::Option<Option<String>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field3: | |
|                                         _serde::export::Option<Option<Vec<MetadataField>>> = | |
|                                     _serde::export::None; | |
|                                 while let _serde::export::Some(__key) = | |
|                                           match _serde::de::MapAccess::next_key::<__Field>(&mut __map) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                     match __key { | |
|                                         __Field::__field0 => { | |
|                                             if _serde::export::Option::is_some(&__field0) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("privacy")); | |
|                                             } | |
|                                             __field0 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<status_builder::Visibility>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field1 => { | |
|                                             if _serde::export::Option::is_some(&__field1) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("sensitive")); | |
|                                             } | |
|                                             __field1 = | |
|                                                 _serde::export::Some({ | |
|                                                                          struct __DeserializeWith<'de> { | |
|                                                                              value: bool, | |
|                                                                              phantom: _serde::export::PhantomData<Source>, | |
|                                                                              lifetime: _serde::export::PhantomData<&'de ()>, | |
|                                                                          } | |
|                                                                          impl <'de> | |
|                                                                           _serde::Deserialize<'de> | |
|                                                                           for | |
|                                                                           __DeserializeWith<'de> | |
|                                                                           { | |
|                                                                              fn deserialize<__D>(__deserializer: | |
|                                                                                                      __D) | |
|                                                                               -> | |
|                                                                                   _serde::export::Result<Self, | |
|                                                                                                          __D::Error> | |
|                                                                               where | |
|                                                                               __D: _serde::Deserializer<'de> { | |
|                                                                                  _serde::export::Ok(__DeserializeWith{value: | |
|                                                                                                                           match string_or_bool(__deserializer) | |
|                                                                                                                               { | |
|                                                                                                                               _serde::export::Ok(__val) | |
|                                                                                                                               => | |
|                                                                                                                               __val, | |
|                                                                                                                               _serde::export::Err(__err) | |
|                                                                                                                               => | |
|                                                                                                                               { | |
|                                                                                                                                   return _serde::export::Err(__err); | |
|                                                                                                                               } | |
|                                                                                                                           }, | |
|                                                                                                                       phantom: | |
|                                                                                                                           _serde::export::PhantomData, | |
|                                                                                                                       lifetime: | |
|                                                                                                                           _serde::export::PhantomData,}) | |
|                                                                              } | |
|                                                                          } | |
|                                                                          match _serde::de::MapAccess::next_value::<__DeserializeWith<'de>>(&mut __map) | |
|                                                                              { | |
|                                                                              _serde::export::Ok(__wrapper) | |
|                                                                              => | |
|                                                                              __wrapper.value, | |
|                                                                              _serde::export::Err(__err) | |
|                                                                              => | |
|                                                                              { | |
|                                                                                  return _serde::export::Err(__err); | |
|                                                                              } | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field2 => { | |
|                                             if _serde::export::Option::is_some(&__field2) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("note")); | |
|                                             } | |
|                                             __field2 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<String>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field3 => { | |
|                                             if _serde::export::Option::is_some(&__field3) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("fields")); | |
|                                             } | |
|                                             __field3 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<Vec<MetadataField>>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         _ => { | |
|                                             let _ = | |
|                                                 match _serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map) | |
|                                                     { | |
|                                                     _serde::export::Ok(__val) | |
|                                                     => __val, | |
|                                                     _serde::export::Err(__err) | |
|                                                     => { | |
|                                                         return _serde::export::Err(__err); | |
|                                                     } | |
|                                                 }; | |
|                                         } | |
|                                     } | |
|                                 } | |
|                                 let __field0 = | |
|                                     match __field0 { | |
|                                         _serde::export::Some(__field0) => | |
|                                         __field0, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("privacy") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match __field1 { | |
|                                         _serde::export::Some(__field1) => | |
|                                         __field1, | |
|                                         _serde::export::None => | |
|                                         return _serde::export::Err(<__A::Error | |
|                                                                        as | |
|                                                                        _serde::de::Error>::missing_field("sensitive")), | |
|                                     }; | |
|                                 let __field2 = | |
|                                     match __field2 { | |
|                                         _serde::export::Some(__field2) => | |
|                                         __field2, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("note") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field3 = | |
|                                     match __field3 { | |
|                                         _serde::export::Some(__field3) => | |
|                                         __field3, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("fields") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 _serde::export::Ok(Source{privacy: __field0, | |
|                                                           sensitive: __field1, | |
|                                                           note: __field2, | |
|                                                           fields: __field3,}) | |
|                             } | |
|                         } | |
|                         const FIELDS: &'static [&'static str] = | |
|                             &["privacy", "sensitive", "note", "fields"]; | |
|                         _serde::Deserializer::deserialize_struct(__deserializer, | |
|                                                                  "Source", | |
|                                                                  FIELDS, | |
|                                                                  __Visitor{marker: | |
|                                                                                _serde::export::PhantomData::<Source>, | |
|                                                                            lifetime: | |
|                                                                                _serde::export::PhantomData,}) | |
|                     } | |
|                 } | |
|             }; | |
|         impl ::core::marker::StructuralPartialEq for Source { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for Source { | |
|             #[inline] | |
|             fn eq(&self, other: &Source) -> bool { | |
|                 match *other { | |
|                     Source { | |
|                     privacy: ref __self_1_0, | |
|                     sensitive: ref __self_1_1, | |
|                     note: ref __self_1_2, | |
|                     fields: ref __self_1_3 } => | |
|                     match *self { | |
|                         Source { | |
|                         privacy: ref __self_0_0, | |
|                         sensitive: ref __self_0_1, | |
|                         note: ref __self_0_2, | |
|                         fields: ref __self_0_3 } => | |
|                         (*__self_0_0) == (*__self_1_0) && | |
|                             (*__self_0_1) == (*__self_1_1) && | |
|                             (*__self_0_2) == (*__self_1_2) && | |
|                             (*__self_0_3) == (*__self_1_3), | |
|                     }, | |
|                 } | |
|             } | |
|             #[inline] | |
|             fn ne(&self, other: &Source) -> bool { | |
|                 match *other { | |
|                     Source { | |
|                     privacy: ref __self_1_0, | |
|                     sensitive: ref __self_1_1, | |
|                     note: ref __self_1_2, | |
|                     fields: ref __self_1_3 } => | |
|                     match *self { | |
|                         Source { | |
|                         privacy: ref __self_0_0, | |
|                         sensitive: ref __self_0_1, | |
|                         note: ref __self_0_2, | |
|                         fields: ref __self_0_3 } => | |
|                         (*__self_0_0) != (*__self_1_0) || | |
|                             (*__self_0_1) != (*__self_1_1) || | |
|                             (*__self_0_2) != (*__self_1_2) || | |
|                             (*__self_0_3) != (*__self_1_3), | |
|                     }, | |
|                 } | |
|             } | |
|         } | |
|         fn string_or_bool<'de, D: Deserializer<'de>>(val: D) | |
|          -> ::std::result::Result<bool, D::Error> { | |
|             #[serde(untagged)] | |
|             pub enum BoolOrString { Bool(bool), Str(String), } | |
|             #[automatically_derived] | |
|             #[allow(unused_qualifications)] | |
|             impl ::core::clone::Clone for BoolOrString { | |
|                 #[inline] | |
|                 fn clone(&self) -> BoolOrString { | |
|                     match (&*self,) { | |
|                         (&BoolOrString::Bool(ref __self_0),) => | |
|                         BoolOrString::Bool(::core::clone::Clone::clone(&(*__self_0))), | |
|                         (&BoolOrString::Str(ref __self_0),) => | |
|                         BoolOrString::Str(::core::clone::Clone::clone(&(*__self_0))), | |
|                     } | |
|                 } | |
|             } | |
|             #[automatically_derived] | |
|             #[allow(unused_qualifications)] | |
|             impl ::core::fmt::Debug for BoolOrString { | |
|                 fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|                  -> ::core::fmt::Result { | |
|                     match (&*self,) { | |
|                         (&BoolOrString::Bool(ref __self_0),) => { | |
|                             let mut debug_trait_builder = | |
|                                 f.debug_tuple("Bool"); | |
|                             let _ = debug_trait_builder.field(&&(*__self_0)); | |
|                             debug_trait_builder.finish() | |
|                         } | |
|                         (&BoolOrString::Str(ref __self_0),) => { | |
|                             let mut debug_trait_builder = | |
|                                 f.debug_tuple("Str"); | |
|                             let _ = debug_trait_builder.field(&&(*__self_0)); | |
|                             debug_trait_builder.finish() | |
|                         } | |
|                     } | |
|                 } | |
|             } | |
|             #[doc(hidden)] | |
|             #[allow(non_upper_case_globals, unused_attributes, | |
|                     unused_qualifications)] | |
|             const _IMPL_DESERIALIZE_FOR_BoolOrString: () = | |
|                 { | |
|                     #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                     extern crate serde as _serde; | |
|                     #[allow(unused_macros)] | |
|                     macro_rules! try { | |
|                         ($ __expr : expr) => | |
|                         { | |
|                             match $ __expr | |
|                             { | |
|                                 _serde :: export :: Ok(__val) => __val, _serde | |
|                                 :: export :: Err(__err) => | |
|                                 { return _serde :: export :: Err(__err) ; } | |
|                             } | |
|                         } | |
|                     } | |
|                     #[automatically_derived] | |
|                     impl <'de> _serde::Deserialize<'de> for BoolOrString { | |
|                         fn deserialize<__D>(__deserializer: __D) | |
|                          -> _serde::export::Result<Self, __D::Error> where | |
|                          __D: _serde::Deserializer<'de> { | |
|                             let __content = | |
|                                 match <_serde::private::de::Content as | |
|                                           _serde::Deserialize>::deserialize(__deserializer) | |
|                                     { | |
|                                     _serde::export::Ok(__val) => __val, | |
|                                     _serde::export::Err(__err) => { | |
|                                         return _serde::export::Err(__err); | |
|                                     } | |
|                                 }; | |
|                             if let _serde::export::Ok(__ok) = | |
|                                    _serde::export::Result::map(<bool as | |
|                                                                    _serde::Deserialize>::deserialize(_serde::private::de::ContentRefDeserializer::<__D::Error>::new(&__content)), | |
|                                                                BoolOrString::Bool) | |
|                                { | |
|                                 return _serde::export::Ok(__ok); | |
|                             } | |
|                             if let _serde::export::Ok(__ok) = | |
|                                    _serde::export::Result::map(<String as | |
|                                                                    _serde::Deserialize>::deserialize(_serde::private::de::ContentRefDeserializer::<__D::Error>::new(&__content)), | |
|                                                                BoolOrString::Str) | |
|                                { | |
|                                 return _serde::export::Ok(__ok); | |
|                             } | |
|                             _serde::export::Err(_serde::de::Error::custom("data did not match any variant of untagged enum BoolOrString")) | |
|                         } | |
|                     } | |
|                 }; | |
|             impl ::core::marker::StructuralPartialEq for BoolOrString { } | |
|             #[automatically_derived] | |
|             #[allow(unused_qualifications)] | |
|             impl ::core::cmp::PartialEq for BoolOrString { | |
|                 #[inline] | |
|                 fn eq(&self, other: &BoolOrString) -> bool { | |
|                     { | |
|                         let __self_vi = | |
|                             unsafe { | |
|                                 ::core::intrinsics::discriminant_value(&*self) | |
|                             }; | |
|                         let __arg_1_vi = | |
|                             unsafe { | |
|                                 ::core::intrinsics::discriminant_value(&*other) | |
|                             }; | |
|                         if true && __self_vi == __arg_1_vi { | |
|                             match (&*self, &*other) { | |
|                                 (&BoolOrString::Bool(ref __self_0), | |
|                                  &BoolOrString::Bool(ref __arg_1_0)) => | |
|                                 (*__self_0) == (*__arg_1_0), | |
|                                 (&BoolOrString::Str(ref __self_0), | |
|                                  &BoolOrString::Str(ref __arg_1_0)) => | |
|                                 (*__self_0) == (*__arg_1_0), | |
|                                 _ => unsafe { | |
|                                     ::core::intrinsics::unreachable() | |
|                                 } | |
|                             } | |
|                         } else { false } | |
|                     } | |
|                 } | |
|                 #[inline] | |
|                 fn ne(&self, other: &BoolOrString) -> bool { | |
|                     { | |
|                         let __self_vi = | |
|                             unsafe { | |
|                                 ::core::intrinsics::discriminant_value(&*self) | |
|                             }; | |
|                         let __arg_1_vi = | |
|                             unsafe { | |
|                                 ::core::intrinsics::discriminant_value(&*other) | |
|                             }; | |
|                         if true && __self_vi == __arg_1_vi { | |
|                             match (&*self, &*other) { | |
|                                 (&BoolOrString::Bool(ref __self_0), | |
|                                  &BoolOrString::Bool(ref __arg_1_0)) => | |
|                                 (*__self_0) != (*__arg_1_0), | |
|                                 (&BoolOrString::Str(ref __self_0), | |
|                                  &BoolOrString::Str(ref __arg_1_0)) => | |
|                                 (*__self_0) != (*__arg_1_0), | |
|                                 _ => unsafe { | |
|                                     ::core::intrinsics::unreachable() | |
|                                 } | |
|                             } | |
|                         } else { true } | |
|                     } | |
|                 } | |
|             } | |
|             Ok(match BoolOrString::deserialize(val)? { | |
|                    BoolOrString::Bool(b) => b, | |
|                    BoolOrString::Str(ref s) => { | |
|                        if s == "true" { | |
|                            true | |
|                        } else if s == "false" { | |
|                            false | |
|                        } else { | |
|                            return Err(de::Error::invalid_value(Unexpected::Str(s), | |
|                                                                &"true or false")); | |
|                        } | |
|                    } | |
|                }) | |
|         } | |
|         pub(crate) struct UpdateSource { | |
|             #[serde(skip_serializing_if = "Option::is_none")] | |
|             pub(crate) privacy: Option<status_builder::Visibility>, | |
|             #[serde(skip_serializing_if = "Option::is_none")] | |
|             pub(crate) sensitive: Option<bool>, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for UpdateSource { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match *self { | |
|                     UpdateSource { | |
|                     privacy: ref __self_0_0, sensitive: ref __self_0_1 } => { | |
|                         let mut debug_trait_builder = | |
|                             f.debug_struct("UpdateSource"); | |
|                         let _ = | |
|                             debug_trait_builder.field("privacy", | |
|                                                       &&(*__self_0_0)); | |
|                         let _ = | |
|                             debug_trait_builder.field("sensitive", | |
|                                                       &&(*__self_0_1)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::default::Default for UpdateSource { | |
|             #[inline] | |
|             fn default() -> UpdateSource { | |
|                 UpdateSource{privacy: ::core::default::Default::default(), | |
|                              sensitive: ::core::default::Default::default(),} | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for UpdateSource { | |
|             #[inline] | |
|             fn clone(&self) -> UpdateSource { | |
|                 match *self { | |
|                     UpdateSource { | |
|                     privacy: ref __self_0_0, sensitive: ref __self_0_1 } => | |
|                     UpdateSource{privacy: | |
|                                      ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                                  sensitive: | |
|                                      ::core::clone::Clone::clone(&(*__self_0_1)),}, | |
|                 } | |
|             } | |
|         } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_SERIALIZE_FOR_UpdateSource: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl _serde::Serialize for UpdateSource { | |
|                     fn serialize<__S>(&self, __serializer: __S) | |
|                      -> _serde::export::Result<__S::Ok, __S::Error> where | |
|                      __S: _serde::Serializer { | |
|                         let mut __serde_state = | |
|                             match _serde::Serializer::serialize_struct(__serializer, | |
|                                                                        "UpdateSource", | |
|                                                                        false | |
|                                                                            as | |
|                                                                            usize | |
|                                                                            + | |
|                                                                            if Option::is_none(&self.privacy) | |
|                                                                               { | |
|                                                                                0 | |
|                                                                            } else { | |
|                                                                                1 | |
|                                                                            } + | |
|                                                                            if Option::is_none(&self.sensitive) | |
|                                                                               { | |
|                                                                                0 | |
|                                                                            } else { | |
|                                                                                1 | |
|                                                                            }) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         if !Option::is_none(&self.privacy) { | |
|                             match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                                 "privacy", | |
|                                                                                 &self.privacy) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         } else { | |
|                             match _serde::ser::SerializeStruct::skip_field(&mut __serde_state, | |
|                                                                            "privacy") | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         } | |
|                         if !Option::is_none(&self.sensitive) { | |
|                             match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                                 "sensitive", | |
|                                                                                 &self.sensitive) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         } else { | |
|                             match _serde::ser::SerializeStruct::skip_field(&mut __serde_state, | |
|                                                                            "sensitive") | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         } | |
|                         _serde::ser::SerializeStruct::end(__serde_state) | |
|                     } | |
|                 } | |
|             }; | |
|         impl ::core::marker::StructuralPartialEq for UpdateSource { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for UpdateSource { | |
|             #[inline] | |
|             fn eq(&self, other: &UpdateSource) -> bool { | |
|                 match *other { | |
|                     UpdateSource { | |
|                     privacy: ref __self_1_0, sensitive: ref __self_1_1 } => | |
|                     match *self { | |
|                         UpdateSource { | |
|                         privacy: ref __self_0_0, sensitive: ref __self_0_1 } | |
|                         => | |
|                         (*__self_0_0) == (*__self_1_0) && | |
|                             (*__self_0_1) == (*__self_1_1), | |
|                     }, | |
|                 } | |
|             } | |
|             #[inline] | |
|             fn ne(&self, other: &UpdateSource) -> bool { | |
|                 match *other { | |
|                     UpdateSource { | |
|                     privacy: ref __self_1_0, sensitive: ref __self_1_1 } => | |
|                     match *self { | |
|                         UpdateSource { | |
|                         privacy: ref __self_0_0, sensitive: ref __self_0_1 } | |
|                         => | |
|                         (*__self_0_0) != (*__self_1_0) || | |
|                             (*__self_0_1) != (*__self_1_1), | |
|                     }, | |
|                 } | |
|             } | |
|         } | |
|         pub(crate) struct Credentials { | |
|             #[serde(skip_serializing_if = "Option::is_none")] | |
|             pub(crate) display_name: Option<String>, | |
|             #[serde(skip_serializing_if = "Option::is_none")] | |
|             pub(crate) note: Option<String>, | |
|             #[serde(skip_serializing_if = "Option::is_none")] | |
|             pub(crate) avatar: Option<PathBuf>, | |
|             #[serde(skip_serializing_if = "Option::is_none")] | |
|             pub(crate) header: Option<PathBuf>, | |
|             #[serde(skip_serializing_if = "Option::is_none")] | |
|             pub(crate) source: Option<UpdateSource>, | |
|             #[serde(serialize_with = "fields_attributes_ser::ser")] | |
|             pub(crate) fields_attributes: Vec<MetadataField>, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for Credentials { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match *self { | |
|                     Credentials { | |
|                     display_name: ref __self_0_0, | |
|                     note: ref __self_0_1, | |
|                     avatar: ref __self_0_2, | |
|                     header: ref __self_0_3, | |
|                     source: ref __self_0_4, | |
|                     fields_attributes: ref __self_0_5 } => { | |
|                         let mut debug_trait_builder = | |
|                             f.debug_struct("Credentials"); | |
|                         let _ = | |
|                             debug_trait_builder.field("display_name", | |
|                                                       &&(*__self_0_0)); | |
|                         let _ = | |
|                             debug_trait_builder.field("note", | |
|                                                       &&(*__self_0_1)); | |
|                         let _ = | |
|                             debug_trait_builder.field("avatar", | |
|                                                       &&(*__self_0_2)); | |
|                         let _ = | |
|                             debug_trait_builder.field("header", | |
|                                                       &&(*__self_0_3)); | |
|                         let _ = | |
|                             debug_trait_builder.field("source", | |
|                                                       &&(*__self_0_4)); | |
|                         let _ = | |
|                             debug_trait_builder.field("fields_attributes", | |
|                                                       &&(*__self_0_5)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::default::Default for Credentials { | |
|             #[inline] | |
|             fn default() -> Credentials { | |
|                 Credentials{display_name: ::core::default::Default::default(), | |
|                             note: ::core::default::Default::default(), | |
|                             avatar: ::core::default::Default::default(), | |
|                             header: ::core::default::Default::default(), | |
|                             source: ::core::default::Default::default(), | |
|                             fields_attributes: | |
|                                 ::core::default::Default::default(),} | |
|             } | |
|         } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_SERIALIZE_FOR_Credentials: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl _serde::Serialize for Credentials { | |
|                     fn serialize<__S>(&self, __serializer: __S) | |
|                      -> _serde::export::Result<__S::Ok, __S::Error> where | |
|                      __S: _serde::Serializer { | |
|                         let mut __serde_state = | |
|                             match _serde::Serializer::serialize_struct(__serializer, | |
|                                                                        "Credentials", | |
|                                                                        false | |
|                                                                            as | |
|                                                                            usize | |
|                                                                            + | |
|                                                                            if Option::is_none(&self.display_name) | |
|                                                                               { | |
|                                                                                0 | |
|                                                                            } else { | |
|                                                                                1 | |
|                                                                            } + | |
|                                                                            if Option::is_none(&self.note) | |
|                                                                               { | |
|                                                                                0 | |
|                                                                            } else { | |
|                                                                                1 | |
|                                                                            } + | |
|                                                                            if Option::is_none(&self.avatar) | |
|                                                                               { | |
|                                                                                0 | |
|                                                                            } else { | |
|                                                                                1 | |
|                                                                            } + | |
|                                                                            if Option::is_none(&self.header) | |
|                                                                               { | |
|                                                                                0 | |
|                                                                            } else { | |
|                                                                                1 | |
|                                                                            } + | |
|                                                                            if Option::is_none(&self.source) | |
|                                                                               { | |
|                                                                                0 | |
|                                                                            } else { | |
|                                                                                1 | |
|                                                                            } + | |
|                                                                            1) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         if !Option::is_none(&self.display_name) { | |
|                             match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                                 "display_name", | |
|                                                                                 &self.display_name) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         } else { | |
|                             match _serde::ser::SerializeStruct::skip_field(&mut __serde_state, | |
|                                                                            "display_name") | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         } | |
|                         if !Option::is_none(&self.note) { | |
|                             match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                                 "note", | |
|                                                                                 &self.note) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         } else { | |
|                             match _serde::ser::SerializeStruct::skip_field(&mut __serde_state, | |
|                                                                            "note") | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         } | |
|                         if !Option::is_none(&self.avatar) { | |
|                             match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                                 "avatar", | |
|                                                                                 &self.avatar) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         } else { | |
|                             match _serde::ser::SerializeStruct::skip_field(&mut __serde_state, | |
|                                                                            "avatar") | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         } | |
|                         if !Option::is_none(&self.header) { | |
|                             match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                                 "header", | |
|                                                                                 &self.header) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         } else { | |
|                             match _serde::ser::SerializeStruct::skip_field(&mut __serde_state, | |
|                                                                            "header") | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         } | |
|                         if !Option::is_none(&self.source) { | |
|                             match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                                 "source", | |
|                                                                                 &self.source) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         } else { | |
|                             match _serde::ser::SerializeStruct::skip_field(&mut __serde_state, | |
|                                                                            "source") | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         } | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "fields_attributes", | |
|                                                                             { | |
|                                                                                 struct __SerializeWith<'__a> { | |
|                                                                                     values: (&'__a Vec<MetadataField>,), | |
|                                                                                     phantom: _serde::export::PhantomData<Credentials>, | |
|                                                                                 } | |
|                                                                                 impl <'__a> | |
|                                                                                  _serde::Serialize | |
|                                                                                  for | |
|                                                                                  __SerializeWith<'__a> | |
|                                                                                  { | |
|                                                                                     fn serialize<__S>(&self, | |
|                                                                                                       __s: | |
|                                                                                                           __S) | |
|                                                                                      -> | |
|                                                                                          _serde::export::Result<__S::Ok, | |
|                                                                                                                 __S::Error> | |
|                                                                                      where | |
|                                                                                      __S: _serde::Serializer { | |
|                                                                                         fields_attributes_ser::ser(self.values.0, | |
|                                                                                                                    __s) | |
|                                                                                     } | |
|                                                                                 } | |
|                                                                                 &__SerializeWith{values: | |
|                                                                                                      (&self.fields_attributes,), | |
|                                                                                                  phantom: | |
|                                                                                                      _serde::export::PhantomData::<Credentials>,} | |
|                                                                             }) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                         _serde::ser::SerializeStruct::end(__serde_state) | |
|                     } | |
|                 } | |
|             }; | |
|         impl ::core::marker::StructuralPartialEq for Credentials { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for Credentials { | |
|             #[inline] | |
|             fn eq(&self, other: &Credentials) -> bool { | |
|                 match *other { | |
|                     Credentials { | |
|                     display_name: ref __self_1_0, | |
|                     note: ref __self_1_1, | |
|                     avatar: ref __self_1_2, | |
|                     header: ref __self_1_3, | |
|                     source: ref __self_1_4, | |
|                     fields_attributes: ref __self_1_5 } => | |
|                     match *self { | |
|                         Credentials { | |
|                         display_name: ref __self_0_0, | |
|                         note: ref __self_0_1, | |
|                         avatar: ref __self_0_2, | |
|                         header: ref __self_0_3, | |
|                         source: ref __self_0_4, | |
|                         fields_attributes: ref __self_0_5 } => | |
|                         (*__self_0_0) == (*__self_1_0) && | |
|                             (*__self_0_1) == (*__self_1_1) && | |
|                             (*__self_0_2) == (*__self_1_2) && | |
|                             (*__self_0_3) == (*__self_1_3) && | |
|                             (*__self_0_4) == (*__self_1_4) && | |
|                             (*__self_0_5) == (*__self_1_5), | |
|                     }, | |
|                 } | |
|             } | |
|             #[inline] | |
|             fn ne(&self, other: &Credentials) -> bool { | |
|                 match *other { | |
|                     Credentials { | |
|                     display_name: ref __self_1_0, | |
|                     note: ref __self_1_1, | |
|                     avatar: ref __self_1_2, | |
|                     header: ref __self_1_3, | |
|                     source: ref __self_1_4, | |
|                     fields_attributes: ref __self_1_5 } => | |
|                     match *self { | |
|                         Credentials { | |
|                         display_name: ref __self_0_0, | |
|                         note: ref __self_0_1, | |
|                         avatar: ref __self_0_2, | |
|                         header: ref __self_0_3, | |
|                         source: ref __self_0_4, | |
|                         fields_attributes: ref __self_0_5 } => | |
|                         (*__self_0_0) != (*__self_1_0) || | |
|                             (*__self_0_1) != (*__self_1_1) || | |
|                             (*__self_0_2) != (*__self_1_2) || | |
|                             (*__self_0_3) != (*__self_1_3) || | |
|                             (*__self_0_4) != (*__self_1_4) || | |
|                             (*__self_0_5) != (*__self_1_5), | |
|                     }, | |
|                 } | |
|             } | |
|         } | |
|         mod fields_attributes_ser { | |
|             use super::*; | |
|             use serde::ser::{SerializeMap, Serializer}; | |
|             pub(crate) fn ser<S>(attrs: &Vec<MetadataField>, serializer: S) | |
|              -> Result<S::Ok, S::Error> where S: Serializer { | |
|                 let mut map = serializer.serialize_map(Some(attrs.len()))?; | |
|                 for (i, field) in attrs.iter().enumerate() { | |
|                     map.serialize_entry(&i, &field)?; | |
|                 } | |
|                 map.end() | |
|             } | |
|         } | |
|     } | |
|     /// Data structures for ser/de of attachment-related resources | |
|     pub mod attachment { | |
|         //! Module containing everything related to media attachements. | |
|         /// A struct representing a media attachment. | |
|         pub struct Attachment { | |
|             /// ID of the attachment. | |
|             pub id: String, | |
|             /// The media type of an attachment. | |
|             #[serde(rename = "type")] | |
|             pub media_type: MediaType, | |
|             /// URL of the locally hosted version of the image. | |
|             pub url: String, | |
|             /// For remote images, the remote URL of the original image. | |
|             pub remote_url: Option<String>, | |
|             /// URL of the preview image. | |
|             pub preview_url: String, | |
|             /// Shorter URL for the image, for insertion into text | |
|             /// (only present on local images) | |
|             pub text_url: Option<String>, | |
|             /// Meta information about the attachment. | |
|             pub meta: Option<Meta>, | |
|             /// Noop will be removed. | |
|             pub description: Option<String>, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for Attachment { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match *self { | |
|                     Attachment { | |
|                     id: ref __self_0_0, | |
|                     media_type: ref __self_0_1, | |
|                     url: ref __self_0_2, | |
|                     remote_url: ref __self_0_3, | |
|                     preview_url: ref __self_0_4, | |
|                     text_url: ref __self_0_5, | |
|                     meta: ref __self_0_6, | |
|                     description: ref __self_0_7 } => { | |
|                         let mut debug_trait_builder = | |
|                             f.debug_struct("Attachment"); | |
|                         let _ = | |
|                             debug_trait_builder.field("id", &&(*__self_0_0)); | |
|                         let _ = | |
|                             debug_trait_builder.field("media_type", | |
|                                                       &&(*__self_0_1)); | |
|                         let _ = | |
|                             debug_trait_builder.field("url", &&(*__self_0_2)); | |
|                         let _ = | |
|                             debug_trait_builder.field("remote_url", | |
|                                                       &&(*__self_0_3)); | |
|                         let _ = | |
|                             debug_trait_builder.field("preview_url", | |
|                                                       &&(*__self_0_4)); | |
|                         let _ = | |
|                             debug_trait_builder.field("text_url", | |
|                                                       &&(*__self_0_5)); | |
|                         let _ = | |
|                             debug_trait_builder.field("meta", | |
|                                                       &&(*__self_0_6)); | |
|                         let _ = | |
|                             debug_trait_builder.field("description", | |
|                                                       &&(*__self_0_7)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for Attachment { | |
|             #[inline] | |
|             fn clone(&self) -> Attachment { | |
|                 match *self { | |
|                     Attachment { | |
|                     id: ref __self_0_0, | |
|                     media_type: ref __self_0_1, | |
|                     url: ref __self_0_2, | |
|                     remote_url: ref __self_0_3, | |
|                     preview_url: ref __self_0_4, | |
|                     text_url: ref __self_0_5, | |
|                     meta: ref __self_0_6, | |
|                     description: ref __self_0_7 } => | |
|                     Attachment{id: | |
|                                    ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                                media_type: | |
|                                    ::core::clone::Clone::clone(&(*__self_0_1)), | |
|                                url: | |
|                                    ::core::clone::Clone::clone(&(*__self_0_2)), | |
|                                remote_url: | |
|                                    ::core::clone::Clone::clone(&(*__self_0_3)), | |
|                                preview_url: | |
|                                    ::core::clone::Clone::clone(&(*__self_0_4)), | |
|                                text_url: | |
|                                    ::core::clone::Clone::clone(&(*__self_0_5)), | |
|                                meta: | |
|                                    ::core::clone::Clone::clone(&(*__self_0_6)), | |
|                                description: | |
|                                    ::core::clone::Clone::clone(&(*__self_0_7)),}, | |
|                 } | |
|             } | |
|         } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_DESERIALIZE_FOR_Attachment: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl <'de> _serde::Deserialize<'de> for Attachment { | |
|                     fn deserialize<__D>(__deserializer: __D) | |
|                      -> _serde::export::Result<Self, __D::Error> where | |
|                      __D: _serde::Deserializer<'de> { | |
|                         #[allow(non_camel_case_types)] | |
|                         enum __Field { | |
|                             __field0, | |
|                             __field1, | |
|                             __field2, | |
|                             __field3, | |
|                             __field4, | |
|                             __field5, | |
|                             __field6, | |
|                             __field7, | |
|                             __ignore, | |
|                         } | |
|                         struct __FieldVisitor; | |
|                         impl <'de> _serde::de::Visitor<'de> for __FieldVisitor | |
|                          { | |
|                             type Value = __Field; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "field identifier") | |
|                             } | |
|                             fn visit_u64<__E>(self, __value: u64) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     0u64 => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     1u64 => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     2u64 => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     3u64 => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     4u64 => | |
|                                     _serde::export::Ok(__Field::__field4), | |
|                                     5u64 => | |
|                                     _serde::export::Ok(__Field::__field5), | |
|                                     6u64 => | |
|                                     _serde::export::Ok(__Field::__field6), | |
|                                     7u64 => | |
|                                     _serde::export::Ok(__Field::__field7), | |
|                                     _ => | |
|                                     _serde::export::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value), | |
|                                                                                          &"field index 0 <= i < 8")), | |
|                                 } | |
|                             } | |
|                             fn visit_str<__E>(self, __value: &str) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     "id" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     "type" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     "url" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     "remote_url" => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     "preview_url" => | |
|                                     _serde::export::Ok(__Field::__field4), | |
|                                     "text_url" => | |
|                                     _serde::export::Ok(__Field::__field5), | |
|                                     "meta" => | |
|                                     _serde::export::Ok(__Field::__field6), | |
|                                     "description" => | |
|                                     _serde::export::Ok(__Field::__field7), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                             fn visit_bytes<__E>(self, __value: &[u8]) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     b"id" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     b"type" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     b"url" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     b"remote_url" => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     b"preview_url" => | |
|                                     _serde::export::Ok(__Field::__field4), | |
|                                     b"text_url" => | |
|                                     _serde::export::Ok(__Field::__field5), | |
|                                     b"meta" => | |
|                                     _serde::export::Ok(__Field::__field6), | |
|                                     b"description" => | |
|                                     _serde::export::Ok(__Field::__field7), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                         } | |
|                         impl <'de> _serde::Deserialize<'de> for __Field { | |
|                             #[inline] | |
|                             fn deserialize<__D>(__deserializer: __D) | |
|                              -> _serde::export::Result<Self, __D::Error> where | |
|                              __D: _serde::Deserializer<'de> { | |
|                                 _serde::Deserializer::deserialize_identifier(__deserializer, | |
|                                                                              __FieldVisitor) | |
|                             } | |
|                         } | |
|                         struct __Visitor<'de> { | |
|                             marker: _serde::export::PhantomData<Attachment>, | |
|                             lifetime: _serde::export::PhantomData<&'de ()>, | |
|                         } | |
|                         impl <'de> _serde::de::Visitor<'de> for __Visitor<'de> | |
|                          { | |
|                             type Value = Attachment; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "struct Attachment") | |
|                             } | |
|                             #[inline] | |
|                             fn visit_seq<__A>(self, mut __seq: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::SeqAccess<'de> { | |
|                                 let __field0 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(0usize, | |
|                                                                                                          &"struct Attachment with 8 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match match _serde::de::SeqAccess::next_element::<MediaType>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(1usize, | |
|                                                                                                          &"struct Attachment with 8 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field2 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(2usize, | |
|                                                                                                          &"struct Attachment with 8 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field3 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<String>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(3usize, | |
|                                                                                                          &"struct Attachment with 8 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field4 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(4usize, | |
|                                                                                                          &"struct Attachment with 8 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field5 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<String>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(5usize, | |
|                                                                                                          &"struct Attachment with 8 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field6 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<Meta>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(6usize, | |
|                                                                                                          &"struct Attachment with 8 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field7 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<String>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(7usize, | |
|                                                                                                          &"struct Attachment with 8 elements")); | |
|                                         } | |
|                                     }; | |
|                                 _serde::export::Ok(Attachment{id: __field0, | |
|                                                               media_type: | |
|                                                                   __field1, | |
|                                                               url: __field2, | |
|                                                               remote_url: | |
|                                                                   __field3, | |
|                                                               preview_url: | |
|                                                                   __field4, | |
|                                                               text_url: | |
|                                                                   __field5, | |
|                                                               meta: __field6, | |
|                                                               description: | |
|                                                                   __field7,}) | |
|                             } | |
|                             #[inline] | |
|                             fn visit_map<__A>(self, mut __map: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::MapAccess<'de> { | |
|                                 let mut __field0: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field1: | |
|                                         _serde::export::Option<MediaType> = | |
|                                     _serde::export::None; | |
|                                 let mut __field2: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field3: | |
|                                         _serde::export::Option<Option<String>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field4: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field5: | |
|                                         _serde::export::Option<Option<String>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field6: | |
|                                         _serde::export::Option<Option<Meta>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field7: | |
|                                         _serde::export::Option<Option<String>> = | |
|                                     _serde::export::None; | |
|                                 while let _serde::export::Some(__key) = | |
|                                           match _serde::de::MapAccess::next_key::<__Field>(&mut __map) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                     match __key { | |
|                                         __Field::__field0 => { | |
|                                             if _serde::export::Option::is_some(&__field0) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("id")); | |
|                                             } | |
|                                             __field0 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field1 => { | |
|                                             if _serde::export::Option::is_some(&__field1) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("type")); | |
|                                             } | |
|                                             __field1 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<MediaType>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field2 => { | |
|                                             if _serde::export::Option::is_some(&__field2) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("url")); | |
|                                             } | |
|                                             __field2 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field3 => { | |
|                                             if _serde::export::Option::is_some(&__field3) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("remote_url")); | |
|                                             } | |
|                                             __field3 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<String>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field4 => { | |
|                                             if _serde::export::Option::is_some(&__field4) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("preview_url")); | |
|                                             } | |
|                                             __field4 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field5 => { | |
|                                             if _serde::export::Option::is_some(&__field5) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("text_url")); | |
|                                             } | |
|                                             __field5 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<String>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field6 => { | |
|                                             if _serde::export::Option::is_some(&__field6) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("meta")); | |
|                                             } | |
|                                             __field6 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<Meta>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field7 => { | |
|                                             if _serde::export::Option::is_some(&__field7) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("description")); | |
|                                             } | |
|                                             __field7 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<String>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         _ => { | |
|                                             let _ = | |
|                                                 match _serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map) | |
|                                                     { | |
|                                                     _serde::export::Ok(__val) | |
|                                                     => __val, | |
|                                                     _serde::export::Err(__err) | |
|                                                     => { | |
|                                                         return _serde::export::Err(__err); | |
|                                                     } | |
|                                                 }; | |
|                                         } | |
|                                     } | |
|                                 } | |
|                                 let __field0 = | |
|                                     match __field0 { | |
|                                         _serde::export::Some(__field0) => | |
|                                         __field0, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("id") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match __field1 { | |
|                                         _serde::export::Some(__field1) => | |
|                                         __field1, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("type") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field2 = | |
|                                     match __field2 { | |
|                                         _serde::export::Some(__field2) => | |
|                                         __field2, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("url") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field3 = | |
|                                     match __field3 { | |
|                                         _serde::export::Some(__field3) => | |
|                                         __field3, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("remote_url") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field4 = | |
|                                     match __field4 { | |
|                                         _serde::export::Some(__field4) => | |
|                                         __field4, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("preview_url") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field5 = | |
|                                     match __field5 { | |
|                                         _serde::export::Some(__field5) => | |
|                                         __field5, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("text_url") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field6 = | |
|                                     match __field6 { | |
|                                         _serde::export::Some(__field6) => | |
|                                         __field6, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("meta") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field7 = | |
|                                     match __field7 { | |
|                                         _serde::export::Some(__field7) => | |
|                                         __field7, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("description") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 _serde::export::Ok(Attachment{id: __field0, | |
|                                                               media_type: | |
|                                                                   __field1, | |
|                                                               url: __field2, | |
|                                                               remote_url: | |
|                                                                   __field3, | |
|                                                               preview_url: | |
|                                                                   __field4, | |
|                                                               text_url: | |
|                                                                   __field5, | |
|                                                               meta: __field6, | |
|                                                               description: | |
|                                                                   __field7,}) | |
|                             } | |
|                         } | |
|                         const FIELDS: &'static [&'static str] = | |
|                             &["id", "type", "url", "remote_url", | |
|                               "preview_url", "text_url", "meta", | |
|                               "description"]; | |
|                         _serde::Deserializer::deserialize_struct(__deserializer, | |
|                                                                  "Attachment", | |
|                                                                  FIELDS, | |
|                                                                  __Visitor{marker: | |
|                                                                                _serde::export::PhantomData::<Attachment>, | |
|                                                                            lifetime: | |
|                                                                                _serde::export::PhantomData,}) | |
|                     } | |
|                 } | |
|             }; | |
|         impl ::core::marker::StructuralPartialEq for Attachment { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for Attachment { | |
|             #[inline] | |
|             fn eq(&self, other: &Attachment) -> bool { | |
|                 match *other { | |
|                     Attachment { | |
|                     id: ref __self_1_0, | |
|                     media_type: ref __self_1_1, | |
|                     url: ref __self_1_2, | |
|                     remote_url: ref __self_1_3, | |
|                     preview_url: ref __self_1_4, | |
|                     text_url: ref __self_1_5, | |
|                     meta: ref __self_1_6, | |
|                     description: ref __self_1_7 } => | |
|                     match *self { | |
|                         Attachment { | |
|                         id: ref __self_0_0, | |
|                         media_type: ref __self_0_1, | |
|                         url: ref __self_0_2, | |
|                         remote_url: ref __self_0_3, | |
|                         preview_url: ref __self_0_4, | |
|                         text_url: ref __self_0_5, | |
|                         meta: ref __self_0_6, | |
|                         description: ref __self_0_7 } => | |
|                         (*__self_0_0) == (*__self_1_0) && | |
|                             (*__self_0_1) == (*__self_1_1) && | |
|                             (*__self_0_2) == (*__self_1_2) && | |
|                             (*__self_0_3) == (*__self_1_3) && | |
|                             (*__self_0_4) == (*__self_1_4) && | |
|                             (*__self_0_5) == (*__self_1_5) && | |
|                             (*__self_0_6) == (*__self_1_6) && | |
|                             (*__self_0_7) == (*__self_1_7), | |
|                     }, | |
|                 } | |
|             } | |
|             #[inline] | |
|             fn ne(&self, other: &Attachment) -> bool { | |
|                 match *other { | |
|                     Attachment { | |
|                     id: ref __self_1_0, | |
|                     media_type: ref __self_1_1, | |
|                     url: ref __self_1_2, | |
|                     remote_url: ref __self_1_3, | |
|                     preview_url: ref __self_1_4, | |
|                     text_url: ref __self_1_5, | |
|                     meta: ref __self_1_6, | |
|                     description: ref __self_1_7 } => | |
|                     match *self { | |
|                         Attachment { | |
|                         id: ref __self_0_0, | |
|                         media_type: ref __self_0_1, | |
|                         url: ref __self_0_2, | |
|                         remote_url: ref __self_0_3, | |
|                         preview_url: ref __self_0_4, | |
|                         text_url: ref __self_0_5, | |
|                         meta: ref __self_0_6, | |
|                         description: ref __self_0_7 } => | |
|                         (*__self_0_0) != (*__self_1_0) || | |
|                             (*__self_0_1) != (*__self_1_1) || | |
|                             (*__self_0_2) != (*__self_1_2) || | |
|                             (*__self_0_3) != (*__self_1_3) || | |
|                             (*__self_0_4) != (*__self_1_4) || | |
|                             (*__self_0_5) != (*__self_1_5) || | |
|                             (*__self_0_6) != (*__self_1_6) || | |
|                             (*__self_0_7) != (*__self_1_7), | |
|                     }, | |
|                 } | |
|             } | |
|         } | |
|         /// Information about the attachment itself. | |
|         pub struct Meta { | |
|             /// Original version. | |
|             pub original: Option<ImageDetails>, | |
|             /// Smaller version. | |
|             pub small: Option<ImageDetails>, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for Meta { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match *self { | |
|                     Meta { original: ref __self_0_0, small: ref __self_0_1 } | |
|                     => { | |
|                         let mut debug_trait_builder = f.debug_struct("Meta"); | |
|                         let _ = | |
|                             debug_trait_builder.field("original", | |
|                                                       &&(*__self_0_0)); | |
|                         let _ = | |
|                             debug_trait_builder.field("small", | |
|                                                       &&(*__self_0_1)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_DESERIALIZE_FOR_Meta: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl <'de> _serde::Deserialize<'de> for Meta { | |
|                     fn deserialize<__D>(__deserializer: __D) | |
|                      -> _serde::export::Result<Self, __D::Error> where | |
|                      __D: _serde::Deserializer<'de> { | |
|                         #[allow(non_camel_case_types)] | |
|                         enum __Field { __field0, __field1, __ignore, } | |
|                         struct __FieldVisitor; | |
|                         impl <'de> _serde::de::Visitor<'de> for __FieldVisitor | |
|                          { | |
|                             type Value = __Field; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "field identifier") | |
|                             } | |
|                             fn visit_u64<__E>(self, __value: u64) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     0u64 => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     1u64 => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     _ => | |
|                                     _serde::export::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value), | |
|                                                                                          &"field index 0 <= i < 2")), | |
|                                 } | |
|                             } | |
|                             fn visit_str<__E>(self, __value: &str) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     "original" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     "small" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                             fn visit_bytes<__E>(self, __value: &[u8]) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     b"original" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     b"small" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                         } | |
|                         impl <'de> _serde::Deserialize<'de> for __Field { | |
|                             #[inline] | |
|                             fn deserialize<__D>(__deserializer: __D) | |
|                              -> _serde::export::Result<Self, __D::Error> where | |
|                              __D: _serde::Deserializer<'de> { | |
|                                 _serde::Deserializer::deserialize_identifier(__deserializer, | |
|                                                                              __FieldVisitor) | |
|                             } | |
|                         } | |
|                         struct __Visitor<'de> { | |
|                             marker: _serde::export::PhantomData<Meta>, | |
|                             lifetime: _serde::export::PhantomData<&'de ()>, | |
|                         } | |
|                         impl <'de> _serde::de::Visitor<'de> for __Visitor<'de> | |
|                          { | |
|                             type Value = Meta; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "struct Meta") | |
|                             } | |
|                             #[inline] | |
|                             fn visit_seq<__A>(self, mut __seq: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::SeqAccess<'de> { | |
|                                 let __field0 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<ImageDetails>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(0usize, | |
|                                                                                                          &"struct Meta with 2 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<ImageDetails>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(1usize, | |
|                                                                                                          &"struct Meta with 2 elements")); | |
|                                         } | |
|                                     }; | |
|                                 _serde::export::Ok(Meta{original: __field0, | |
|                                                         small: __field1,}) | |
|                             } | |
|                             #[inline] | |
|                             fn visit_map<__A>(self, mut __map: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::MapAccess<'de> { | |
|                                 let mut __field0: | |
|                                         _serde::export::Option<Option<ImageDetails>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field1: | |
|                                         _serde::export::Option<Option<ImageDetails>> = | |
|                                     _serde::export::None; | |
|                                 while let _serde::export::Some(__key) = | |
|                                           match _serde::de::MapAccess::next_key::<__Field>(&mut __map) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                     match __key { | |
|                                         __Field::__field0 => { | |
|                                             if _serde::export::Option::is_some(&__field0) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("original")); | |
|                                             } | |
|                                             __field0 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<ImageDetails>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field1 => { | |
|                                             if _serde::export::Option::is_some(&__field1) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("small")); | |
|                                             } | |
|                                             __field1 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<ImageDetails>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         _ => { | |
|                                             let _ = | |
|                                                 match _serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map) | |
|                                                     { | |
|                                                     _serde::export::Ok(__val) | |
|                                                     => __val, | |
|                                                     _serde::export::Err(__err) | |
|                                                     => { | |
|                                                         return _serde::export::Err(__err); | |
|                                                     } | |
|                                                 }; | |
|                                         } | |
|                                     } | |
|                                 } | |
|                                 let __field0 = | |
|                                     match __field0 { | |
|                                         _serde::export::Some(__field0) => | |
|                                         __field0, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("original") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match __field1 { | |
|                                         _serde::export::Some(__field1) => | |
|                                         __field1, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("small") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 _serde::export::Ok(Meta{original: __field0, | |
|                                                         small: __field1,}) | |
|                             } | |
|                         } | |
|                         const FIELDS: &'static [&'static str] = | |
|                             &["original", "small"]; | |
|                         _serde::Deserializer::deserialize_struct(__deserializer, | |
|                                                                  "Meta", | |
|                                                                  FIELDS, | |
|                                                                  __Visitor{marker: | |
|                                                                                _serde::export::PhantomData::<Meta>, | |
|                                                                            lifetime: | |
|                                                                                _serde::export::PhantomData,}) | |
|                     } | |
|                 } | |
|             }; | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for Meta { | |
|             #[inline] | |
|             fn clone(&self) -> Meta { | |
|                 match *self { | |
|                     Meta { original: ref __self_0_0, small: ref __self_0_1 } | |
|                     => | |
|                     Meta{original: | |
|                              ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                          small: ::core::clone::Clone::clone(&(*__self_0_1)),}, | |
|                 } | |
|             } | |
|         } | |
|         impl ::core::marker::StructuralPartialEq for Meta { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for Meta { | |
|             #[inline] | |
|             fn eq(&self, other: &Meta) -> bool { | |
|                 match *other { | |
|                     Meta { original: ref __self_1_0, small: ref __self_1_1 } | |
|                     => | |
|                     match *self { | |
|                         Meta { original: ref __self_0_0, small: ref __self_0_1 | |
|                         } => | |
|                         (*__self_0_0) == (*__self_1_0) && | |
|                             (*__self_0_1) == (*__self_1_1), | |
|                     }, | |
|                 } | |
|             } | |
|             #[inline] | |
|             fn ne(&self, other: &Meta) -> bool { | |
|                 match *other { | |
|                     Meta { original: ref __self_1_0, small: ref __self_1_1 } | |
|                     => | |
|                     match *self { | |
|                         Meta { original: ref __self_0_0, small: ref __self_0_1 | |
|                         } => | |
|                         (*__self_0_0) != (*__self_1_0) || | |
|                             (*__self_0_1) != (*__self_1_1), | |
|                     }, | |
|                 } | |
|             } | |
|         } | |
|         /// Dimensions of an attachement. | |
|         pub struct ImageDetails { | |
|             /// width of attachment. | |
|             width: u64, | |
|             /// height of attachment. | |
|             height: u64, | |
|             /// A string of `widthxheight`. | |
|             size: Option<String>, | |
|             /// The aspect ratio of the attachment. | |
|             aspect: Option<f64>, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for ImageDetails { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match *self { | |
|                     ImageDetails { | |
|                     width: ref __self_0_0, | |
|                     height: ref __self_0_1, | |
|                     size: ref __self_0_2, | |
|                     aspect: ref __self_0_3 } => { | |
|                         let mut debug_trait_builder = | |
|                             f.debug_struct("ImageDetails"); | |
|                         let _ = | |
|                             debug_trait_builder.field("width", | |
|                                                       &&(*__self_0_0)); | |
|                         let _ = | |
|                             debug_trait_builder.field("height", | |
|                                                       &&(*__self_0_1)); | |
|                         let _ = | |
|                             debug_trait_builder.field("size", | |
|                                                       &&(*__self_0_2)); | |
|                         let _ = | |
|                             debug_trait_builder.field("aspect", | |
|                                                       &&(*__self_0_3)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_DESERIALIZE_FOR_ImageDetails: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl <'de> _serde::Deserialize<'de> for ImageDetails { | |
|                     fn deserialize<__D>(__deserializer: __D) | |
|                      -> _serde::export::Result<Self, __D::Error> where | |
|                      __D: _serde::Deserializer<'de> { | |
|                         #[allow(non_camel_case_types)] | |
|                         enum __Field { | |
|                             __field0, | |
|                             __field1, | |
|                             __field2, | |
|                             __field3, | |
|                             __ignore, | |
|                         } | |
|                         struct __FieldVisitor; | |
|                         impl <'de> _serde::de::Visitor<'de> for __FieldVisitor | |
|                          { | |
|                             type Value = __Field; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "field identifier") | |
|                             } | |
|                             fn visit_u64<__E>(self, __value: u64) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     0u64 => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     1u64 => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     2u64 => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     3u64 => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     _ => | |
|                                     _serde::export::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value), | |
|                                                                                          &"field index 0 <= i < 4")), | |
|                                 } | |
|                             } | |
|                             fn visit_str<__E>(self, __value: &str) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     "width" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     "height" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     "size" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     "aspect" => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                             fn visit_bytes<__E>(self, __value: &[u8]) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     b"width" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     b"height" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     b"size" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     b"aspect" => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                         } | |
|                         impl <'de> _serde::Deserialize<'de> for __Field { | |
|                             #[inline] | |
|                             fn deserialize<__D>(__deserializer: __D) | |
|                              -> _serde::export::Result<Self, __D::Error> where | |
|                              __D: _serde::Deserializer<'de> { | |
|                                 _serde::Deserializer::deserialize_identifier(__deserializer, | |
|                                                                              __FieldVisitor) | |
|                             } | |
|                         } | |
|                         struct __Visitor<'de> { | |
|                             marker: _serde::export::PhantomData<ImageDetails>, | |
|                             lifetime: _serde::export::PhantomData<&'de ()>, | |
|                         } | |
|                         impl <'de> _serde::de::Visitor<'de> for __Visitor<'de> | |
|                          { | |
|                             type Value = ImageDetails; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "struct ImageDetails") | |
|                             } | |
|                             #[inline] | |
|                             fn visit_seq<__A>(self, mut __seq: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::SeqAccess<'de> { | |
|                                 let __field0 = | |
|                                     match match _serde::de::SeqAccess::next_element::<u64>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(0usize, | |
|                                                                                                          &"struct ImageDetails with 4 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match match _serde::de::SeqAccess::next_element::<u64>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(1usize, | |
|                                                                                                          &"struct ImageDetails with 4 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field2 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<String>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(2usize, | |
|                                                                                                          &"struct ImageDetails with 4 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field3 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<f64>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(3usize, | |
|                                                                                                          &"struct ImageDetails with 4 elements")); | |
|                                         } | |
|                                     }; | |
|                                 _serde::export::Ok(ImageDetails{width: | |
|                                                                     __field0, | |
|                                                                 height: | |
|                                                                     __field1, | |
|                                                                 size: | |
|                                                                     __field2, | |
|                                                                 aspect: | |
|                                                                     __field3,}) | |
|                             } | |
|                             #[inline] | |
|                             fn visit_map<__A>(self, mut __map: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::MapAccess<'de> { | |
|                                 let mut __field0: | |
|                                         _serde::export::Option<u64> = | |
|                                     _serde::export::None; | |
|                                 let mut __field1: | |
|                                         _serde::export::Option<u64> = | |
|                                     _serde::export::None; | |
|                                 let mut __field2: | |
|                                         _serde::export::Option<Option<String>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field3: | |
|                                         _serde::export::Option<Option<f64>> = | |
|                                     _serde::export::None; | |
|                                 while let _serde::export::Some(__key) = | |
|                                           match _serde::de::MapAccess::next_key::<__Field>(&mut __map) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                     match __key { | |
|                                         __Field::__field0 => { | |
|                                             if _serde::export::Option::is_some(&__field0) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("width")); | |
|                                             } | |
|                                             __field0 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<u64>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field1 => { | |
|                                             if _serde::export::Option::is_some(&__field1) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("height")); | |
|                                             } | |
|                                             __field1 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<u64>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field2 => { | |
|                                             if _serde::export::Option::is_some(&__field2) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("size")); | |
|                                             } | |
|                                             __field2 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<String>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field3 => { | |
|                                             if _serde::export::Option::is_some(&__field3) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("aspect")); | |
|                                             } | |
|                                             __field3 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<f64>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         _ => { | |
|                                             let _ = | |
|                                                 match _serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map) | |
|                                                     { | |
|                                                     _serde::export::Ok(__val) | |
|                                                     => __val, | |
|                                                     _serde::export::Err(__err) | |
|                                                     => { | |
|                                                         return _serde::export::Err(__err); | |
|                                                     } | |
|                                                 }; | |
|                                         } | |
|                                     } | |
|                                 } | |
|                                 let __field0 = | |
|                                     match __field0 { | |
|                                         _serde::export::Some(__field0) => | |
|                                         __field0, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("width") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match __field1 { | |
|                                         _serde::export::Some(__field1) => | |
|                                         __field1, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("height") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field2 = | |
|                                     match __field2 { | |
|                                         _serde::export::Some(__field2) => | |
|                                         __field2, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("size") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field3 = | |
|                                     match __field3 { | |
|                                         _serde::export::Some(__field3) => | |
|                                         __field3, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("aspect") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 _serde::export::Ok(ImageDetails{width: | |
|                                                                     __field0, | |
|                                                                 height: | |
|                                                                     __field1, | |
|                                                                 size: | |
|                                                                     __field2, | |
|                                                                 aspect: | |
|                                                                     __field3,}) | |
|                             } | |
|                         } | |
|                         const FIELDS: &'static [&'static str] = | |
|                             &["width", "height", "size", "aspect"]; | |
|                         _serde::Deserializer::deserialize_struct(__deserializer, | |
|                                                                  "ImageDetails", | |
|                                                                  FIELDS, | |
|                                                                  __Visitor{marker: | |
|                                                                                _serde::export::PhantomData::<ImageDetails>, | |
|                                                                            lifetime: | |
|                                                                                _serde::export::PhantomData,}) | |
|                     } | |
|                 } | |
|             }; | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for ImageDetails { | |
|             #[inline] | |
|             fn clone(&self) -> ImageDetails { | |
|                 match *self { | |
|                     ImageDetails { | |
|                     width: ref __self_0_0, | |
|                     height: ref __self_0_1, | |
|                     size: ref __self_0_2, | |
|                     aspect: ref __self_0_3 } => | |
|                     ImageDetails{width: | |
|                                      ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                                  height: | |
|                                      ::core::clone::Clone::clone(&(*__self_0_1)), | |
|                                  size: | |
|                                      ::core::clone::Clone::clone(&(*__self_0_2)), | |
|                                  aspect: | |
|                                      ::core::clone::Clone::clone(&(*__self_0_3)),}, | |
|                 } | |
|             } | |
|         } | |
|         impl ::core::marker::StructuralPartialEq for ImageDetails { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for ImageDetails { | |
|             #[inline] | |
|             fn eq(&self, other: &ImageDetails) -> bool { | |
|                 match *other { | |
|                     ImageDetails { | |
|                     width: ref __self_1_0, | |
|                     height: ref __self_1_1, | |
|                     size: ref __self_1_2, | |
|                     aspect: ref __self_1_3 } => | |
|                     match *self { | |
|                         ImageDetails { | |
|                         width: ref __self_0_0, | |
|                         height: ref __self_0_1, | |
|                         size: ref __self_0_2, | |
|                         aspect: ref __self_0_3 } => | |
|                         (*__self_0_0) == (*__self_1_0) && | |
|                             (*__self_0_1) == (*__self_1_1) && | |
|                             (*__self_0_2) == (*__self_1_2) && | |
|                             (*__self_0_3) == (*__self_1_3), | |
|                     }, | |
|                 } | |
|             } | |
|             #[inline] | |
|             fn ne(&self, other: &ImageDetails) -> bool { | |
|                 match *other { | |
|                     ImageDetails { | |
|                     width: ref __self_1_0, | |
|                     height: ref __self_1_1, | |
|                     size: ref __self_1_2, | |
|                     aspect: ref __self_1_3 } => | |
|                     match *self { | |
|                         ImageDetails { | |
|                         width: ref __self_0_0, | |
|                         height: ref __self_0_1, | |
|                         size: ref __self_0_2, | |
|                         aspect: ref __self_0_3 } => | |
|                         (*__self_0_0) != (*__self_1_0) || | |
|                             (*__self_0_1) != (*__self_1_1) || | |
|                             (*__self_0_2) != (*__self_1_2) || | |
|                             (*__self_0_3) != (*__self_1_3), | |
|                     }, | |
|                 } | |
|             } | |
|         } | |
|         /// The type of media attachment. | |
|         pub enum MediaType { | |
| 
 | |
|             /// An image. | |
|             #[serde(rename = "image")] | |
|             Image, | |
| 
 | |
|             /// A video file. | |
|             #[serde(rename = "video")] | |
|             Video, | |
| 
 | |
|             /// A gifv format file. | |
|             #[serde(rename = "gifv")] | |
|             Gifv, | |
| 
 | |
|             /// Unknown format. | |
|             #[serde(rename = "unknown")] | |
|             Unknown, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for MediaType { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match (&*self,) { | |
|                     (&MediaType::Image,) => { | |
|                         let mut debug_trait_builder = f.debug_tuple("Image"); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                     (&MediaType::Video,) => { | |
|                         let mut debug_trait_builder = f.debug_tuple("Video"); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                     (&MediaType::Gifv,) => { | |
|                         let mut debug_trait_builder = f.debug_tuple("Gifv"); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                     (&MediaType::Unknown,) => { | |
|                         let mut debug_trait_builder = | |
|                             f.debug_tuple("Unknown"); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_DESERIALIZE_FOR_MediaType: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl <'de> _serde::Deserialize<'de> for MediaType { | |
|                     fn deserialize<__D>(__deserializer: __D) | |
|                      -> _serde::export::Result<Self, __D::Error> where | |
|                      __D: _serde::Deserializer<'de> { | |
|                         #[allow(non_camel_case_types)] | |
|                         enum __Field { | |
|                             __field0, | |
|                             __field1, | |
|                             __field2, | |
|                             __field3, | |
|                         } | |
|                         struct __FieldVisitor; | |
|                         impl <'de> _serde::de::Visitor<'de> for __FieldVisitor | |
|                          { | |
|                             type Value = __Field; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "variant identifier") | |
|                             } | |
|                             fn visit_u64<__E>(self, __value: u64) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     0u64 => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     1u64 => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     2u64 => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     3u64 => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     _ => | |
|                                     _serde::export::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value), | |
|                                                                                          &"variant index 0 <= i < 4")), | |
|                                 } | |
|                             } | |
|                             fn visit_str<__E>(self, __value: &str) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     "image" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     "video" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     "gifv" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     "unknown" => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     _ => { | |
|                                         _serde::export::Err(_serde::de::Error::unknown_variant(__value, | |
|                                                                                                VARIANTS)) | |
|                                     } | |
|                                 } | |
|                             } | |
|                             fn visit_bytes<__E>(self, __value: &[u8]) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     b"image" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     b"video" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     b"gifv" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     b"unknown" => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     _ => { | |
|                                         let __value = | |
|                                             &_serde::export::from_utf8_lossy(__value); | |
|                                         _serde::export::Err(_serde::de::Error::unknown_variant(__value, | |
|                                                                                                VARIANTS)) | |
|                                     } | |
|                                 } | |
|                             } | |
|                         } | |
|                         impl <'de> _serde::Deserialize<'de> for __Field { | |
|                             #[inline] | |
|                             fn deserialize<__D>(__deserializer: __D) | |
|                              -> _serde::export::Result<Self, __D::Error> where | |
|                              __D: _serde::Deserializer<'de> { | |
|                                 _serde::Deserializer::deserialize_identifier(__deserializer, | |
|                                                                              __FieldVisitor) | |
|                             } | |
|                         } | |
|                         struct __Visitor<'de> { | |
|                             marker: _serde::export::PhantomData<MediaType>, | |
|                             lifetime: _serde::export::PhantomData<&'de ()>, | |
|                         } | |
|                         impl <'de> _serde::de::Visitor<'de> for __Visitor<'de> | |
|                          { | |
|                             type Value = MediaType; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "enum MediaType") | |
|                             } | |
|                             fn visit_enum<__A>(self, __data: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::EnumAccess<'de> { | |
|                                 match match _serde::de::EnumAccess::variant(__data) | |
|                                           { | |
|                                           _serde::export::Ok(__val) => __val, | |
|                                           _serde::export::Err(__err) => { | |
|                                               return _serde::export::Err(__err); | |
|                                           } | |
|                                       } { | |
|                                     (__Field::__field0, __variant) => { | |
|                                         match _serde::de::VariantAccess::unit_variant(__variant) | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }; | |
|                                         _serde::export::Ok(MediaType::Image) | |
|                                     } | |
|                                     (__Field::__field1, __variant) => { | |
|                                         match _serde::de::VariantAccess::unit_variant(__variant) | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }; | |
|                                         _serde::export::Ok(MediaType::Video) | |
|                                     } | |
|                                     (__Field::__field2, __variant) => { | |
|                                         match _serde::de::VariantAccess::unit_variant(__variant) | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }; | |
|                                         _serde::export::Ok(MediaType::Gifv) | |
|                                     } | |
|                                     (__Field::__field3, __variant) => { | |
|                                         match _serde::de::VariantAccess::unit_variant(__variant) | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }; | |
|                                         _serde::export::Ok(MediaType::Unknown) | |
|                                     } | |
|                                 } | |
|                             } | |
|                         } | |
|                         const VARIANTS: &'static [&'static str] = | |
|                             &["image", "video", "gifv", "unknown"]; | |
|                         _serde::Deserializer::deserialize_enum(__deserializer, | |
|                                                                "MediaType", | |
|                                                                VARIANTS, | |
|                                                                __Visitor{marker: | |
|                                                                              _serde::export::PhantomData::<MediaType>, | |
|                                                                          lifetime: | |
|                                                                              _serde::export::PhantomData,}) | |
|                     } | |
|                 } | |
|             }; | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for MediaType { | |
|             #[inline] | |
|             fn clone(&self) -> MediaType { { *self } } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::marker::Copy for MediaType { } | |
|         impl ::core::marker::StructuralPartialEq for MediaType { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for MediaType { | |
|             #[inline] | |
|             fn eq(&self, other: &MediaType) -> bool { | |
|                 { | |
|                     let __self_vi = | |
|                         unsafe { | |
|                             ::core::intrinsics::discriminant_value(&*self) | |
|                         }; | |
|                     let __arg_1_vi = | |
|                         unsafe { | |
|                             ::core::intrinsics::discriminant_value(&*other) | |
|                         }; | |
|                     if true && __self_vi == __arg_1_vi { | |
|                         match (&*self, &*other) { _ => true, } | |
|                     } else { false } | |
|                 } | |
|             } | |
|         } | |
|     } | |
|     /// Data structures for ser/de of card-related resources | |
|     pub mod card { | |
|         //! Module representing cards of statuses. | |
|         /// A card of a status. | |
|         pub struct Card { | |
|             /// The url associated with the card. | |
|             pub url: String, | |
|             /// The title of the card. | |
|             pub title: String, | |
|             /// The card description. | |
|             pub description: String, | |
|             /// The image associated with the card, if any. | |
|             pub image: Option<String>, | |
|             /// OEmbed data | |
|             author_name: Option<String>, | |
|             /// OEmbed data | |
|             author_url: Option<String>, | |
|             /// OEmbed data | |
|             provider_name: Option<String>, | |
|             /// OEmbed data | |
|             provider_url: Option<String>, | |
|             /// OEmbed data | |
|             html: Option<String>, | |
|             /// OEmbed data | |
|             width: Option<u64>, | |
|             /// OEmbed data | |
|             height: Option<u64>, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for Card { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match *self { | |
|                     Card { | |
|                     url: ref __self_0_0, | |
|                     title: ref __self_0_1, | |
|                     description: ref __self_0_2, | |
|                     image: ref __self_0_3, | |
|                     author_name: ref __self_0_4, | |
|                     author_url: ref __self_0_5, | |
|                     provider_name: ref __self_0_6, | |
|                     provider_url: ref __self_0_7, | |
|                     html: ref __self_0_8, | |
|                     width: ref __self_0_9, | |
|                     height: ref __self_0_10 } => { | |
|                         let mut debug_trait_builder = f.debug_struct("Card"); | |
|                         let _ = | |
|                             debug_trait_builder.field("url", &&(*__self_0_0)); | |
|                         let _ = | |
|                             debug_trait_builder.field("title", | |
|                                                       &&(*__self_0_1)); | |
|                         let _ = | |
|                             debug_trait_builder.field("description", | |
|                                                       &&(*__self_0_2)); | |
|                         let _ = | |
|                             debug_trait_builder.field("image", | |
|                                                       &&(*__self_0_3)); | |
|                         let _ = | |
|                             debug_trait_builder.field("author_name", | |
|                                                       &&(*__self_0_4)); | |
|                         let _ = | |
|                             debug_trait_builder.field("author_url", | |
|                                                       &&(*__self_0_5)); | |
|                         let _ = | |
|                             debug_trait_builder.field("provider_name", | |
|                                                       &&(*__self_0_6)); | |
|                         let _ = | |
|                             debug_trait_builder.field("provider_url", | |
|                                                       &&(*__self_0_7)); | |
|                         let _ = | |
|                             debug_trait_builder.field("html", | |
|                                                       &&(*__self_0_8)); | |
|                         let _ = | |
|                             debug_trait_builder.field("width", | |
|                                                       &&(*__self_0_9)); | |
|                         let _ = | |
|                             debug_trait_builder.field("height", | |
|                                                       &&(*__self_0_10)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for Card { | |
|             #[inline] | |
|             fn clone(&self) -> Card { | |
|                 match *self { | |
|                     Card { | |
|                     url: ref __self_0_0, | |
|                     title: ref __self_0_1, | |
|                     description: ref __self_0_2, | |
|                     image: ref __self_0_3, | |
|                     author_name: ref __self_0_4, | |
|                     author_url: ref __self_0_5, | |
|                     provider_name: ref __self_0_6, | |
|                     provider_url: ref __self_0_7, | |
|                     html: ref __self_0_8, | |
|                     width: ref __self_0_9, | |
|                     height: ref __self_0_10 } => | |
|                     Card{url: ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                          title: ::core::clone::Clone::clone(&(*__self_0_1)), | |
|                          description: | |
|                              ::core::clone::Clone::clone(&(*__self_0_2)), | |
|                          image: ::core::clone::Clone::clone(&(*__self_0_3)), | |
|                          author_name: | |
|                              ::core::clone::Clone::clone(&(*__self_0_4)), | |
|                          author_url: | |
|                              ::core::clone::Clone::clone(&(*__self_0_5)), | |
|                          provider_name: | |
|                              ::core::clone::Clone::clone(&(*__self_0_6)), | |
|                          provider_url: | |
|                              ::core::clone::Clone::clone(&(*__self_0_7)), | |
|                          html: ::core::clone::Clone::clone(&(*__self_0_8)), | |
|                          width: ::core::clone::Clone::clone(&(*__self_0_9)), | |
|                          height: | |
|                              ::core::clone::Clone::clone(&(*__self_0_10)),}, | |
|                 } | |
|             } | |
|         } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_DESERIALIZE_FOR_Card: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl <'de> _serde::Deserialize<'de> for Card { | |
|                     fn deserialize<__D>(__deserializer: __D) | |
|                      -> _serde::export::Result<Self, __D::Error> where | |
|                      __D: _serde::Deserializer<'de> { | |
|                         #[allow(non_camel_case_types)] | |
|                         enum __Field { | |
|                             __field0, | |
|                             __field1, | |
|                             __field2, | |
|                             __field3, | |
|                             __field4, | |
|                             __field5, | |
|                             __field6, | |
|                             __field7, | |
|                             __field8, | |
|                             __field9, | |
|                             __field10, | |
|                             __ignore, | |
|                         } | |
|                         struct __FieldVisitor; | |
|                         impl <'de> _serde::de::Visitor<'de> for __FieldVisitor | |
|                          { | |
|                             type Value = __Field; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "field identifier") | |
|                             } | |
|                             fn visit_u64<__E>(self, __value: u64) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     0u64 => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     1u64 => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     2u64 => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     3u64 => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     4u64 => | |
|                                     _serde::export::Ok(__Field::__field4), | |
|                                     5u64 => | |
|                                     _serde::export::Ok(__Field::__field5), | |
|                                     6u64 => | |
|                                     _serde::export::Ok(__Field::__field6), | |
|                                     7u64 => | |
|                                     _serde::export::Ok(__Field::__field7), | |
|                                     8u64 => | |
|                                     _serde::export::Ok(__Field::__field8), | |
|                                     9u64 => | |
|                                     _serde::export::Ok(__Field::__field9), | |
|                                     10u64 => | |
|                                     _serde::export::Ok(__Field::__field10), | |
|                                     _ => | |
|                                     _serde::export::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value), | |
|                                                                                          &"field index 0 <= i < 11")), | |
|                                 } | |
|                             } | |
|                             fn visit_str<__E>(self, __value: &str) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     "url" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     "title" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     "description" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     "image" => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     "author_name" => | |
|                                     _serde::export::Ok(__Field::__field4), | |
|                                     "author_url" => | |
|                                     _serde::export::Ok(__Field::__field5), | |
|                                     "provider_name" => | |
|                                     _serde::export::Ok(__Field::__field6), | |
|                                     "provider_url" => | |
|                                     _serde::export::Ok(__Field::__field7), | |
|                                     "html" => | |
|                                     _serde::export::Ok(__Field::__field8), | |
|                                     "width" => | |
|                                     _serde::export::Ok(__Field::__field9), | |
|                                     "height" => | |
|                                     _serde::export::Ok(__Field::__field10), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                             fn visit_bytes<__E>(self, __value: &[u8]) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     b"url" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     b"title" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     b"description" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     b"image" => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     b"author_name" => | |
|                                     _serde::export::Ok(__Field::__field4), | |
|                                     b"author_url" => | |
|                                     _serde::export::Ok(__Field::__field5), | |
|                                     b"provider_name" => | |
|                                     _serde::export::Ok(__Field::__field6), | |
|                                     b"provider_url" => | |
|                                     _serde::export::Ok(__Field::__field7), | |
|                                     b"html" => | |
|                                     _serde::export::Ok(__Field::__field8), | |
|                                     b"width" => | |
|                                     _serde::export::Ok(__Field::__field9), | |
|                                     b"height" => | |
|                                     _serde::export::Ok(__Field::__field10), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                         } | |
|                         impl <'de> _serde::Deserialize<'de> for __Field { | |
|                             #[inline] | |
|                             fn deserialize<__D>(__deserializer: __D) | |
|                              -> _serde::export::Result<Self, __D::Error> where | |
|                              __D: _serde::Deserializer<'de> { | |
|                                 _serde::Deserializer::deserialize_identifier(__deserializer, | |
|                                                                              __FieldVisitor) | |
|                             } | |
|                         } | |
|                         struct __Visitor<'de> { | |
|                             marker: _serde::export::PhantomData<Card>, | |
|                             lifetime: _serde::export::PhantomData<&'de ()>, | |
|                         } | |
|                         impl <'de> _serde::de::Visitor<'de> for __Visitor<'de> | |
|                          { | |
|                             type Value = Card; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "struct Card") | |
|                             } | |
|                             #[inline] | |
|                             fn visit_seq<__A>(self, mut __seq: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::SeqAccess<'de> { | |
|                                 let __field0 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(0usize, | |
|                                                                                                          &"struct Card with 11 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(1usize, | |
|                                                                                                          &"struct Card with 11 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field2 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(2usize, | |
|                                                                                                          &"struct Card with 11 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field3 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<String>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(3usize, | |
|                                                                                                          &"struct Card with 11 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field4 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<String>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(4usize, | |
|                                                                                                          &"struct Card with 11 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field5 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<String>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(5usize, | |
|                                                                                                          &"struct Card with 11 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field6 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<String>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(6usize, | |
|                                                                                                          &"struct Card with 11 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field7 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<String>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(7usize, | |
|                                                                                                          &"struct Card with 11 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field8 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<String>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(8usize, | |
|                                                                                                          &"struct Card with 11 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field9 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<u64>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(9usize, | |
|                                                                                                          &"struct Card with 11 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field10 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<u64>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(10usize, | |
|                                                                                                          &"struct Card with 11 elements")); | |
|                                         } | |
|                                     }; | |
|                                 _serde::export::Ok(Card{url: __field0, | |
|                                                         title: __field1, | |
|                                                         description: __field2, | |
|                                                         image: __field3, | |
|                                                         author_name: __field4, | |
|                                                         author_url: __field5, | |
|                                                         provider_name: | |
|                                                             __field6, | |
|                                                         provider_url: | |
|                                                             __field7, | |
|                                                         html: __field8, | |
|                                                         width: __field9, | |
|                                                         height: __field10,}) | |
|                             } | |
|                             #[inline] | |
|                             fn visit_map<__A>(self, mut __map: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::MapAccess<'de> { | |
|                                 let mut __field0: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field1: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field2: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field3: | |
|                                         _serde::export::Option<Option<String>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field4: | |
|                                         _serde::export::Option<Option<String>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field5: | |
|                                         _serde::export::Option<Option<String>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field6: | |
|                                         _serde::export::Option<Option<String>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field7: | |
|                                         _serde::export::Option<Option<String>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field8: | |
|                                         _serde::export::Option<Option<String>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field9: | |
|                                         _serde::export::Option<Option<u64>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field10: | |
|                                         _serde::export::Option<Option<u64>> = | |
|                                     _serde::export::None; | |
|                                 while let _serde::export::Some(__key) = | |
|                                           match _serde::de::MapAccess::next_key::<__Field>(&mut __map) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                     match __key { | |
|                                         __Field::__field0 => { | |
|                                             if _serde::export::Option::is_some(&__field0) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("url")); | |
|                                             } | |
|                                             __field0 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field1 => { | |
|                                             if _serde::export::Option::is_some(&__field1) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("title")); | |
|                                             } | |
|                                             __field1 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field2 => { | |
|                                             if _serde::export::Option::is_some(&__field2) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("description")); | |
|                                             } | |
|                                             __field2 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field3 => { | |
|                                             if _serde::export::Option::is_some(&__field3) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("image")); | |
|                                             } | |
|                                             __field3 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<String>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field4 => { | |
|                                             if _serde::export::Option::is_some(&__field4) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("author_name")); | |
|                                             } | |
|                                             __field4 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<String>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field5 => { | |
|                                             if _serde::export::Option::is_some(&__field5) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("author_url")); | |
|                                             } | |
|                                             __field5 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<String>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field6 => { | |
|                                             if _serde::export::Option::is_some(&__field6) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("provider_name")); | |
|                                             } | |
|                                             __field6 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<String>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field7 => { | |
|                                             if _serde::export::Option::is_some(&__field7) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("provider_url")); | |
|                                             } | |
|                                             __field7 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<String>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field8 => { | |
|                                             if _serde::export::Option::is_some(&__field8) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("html")); | |
|                                             } | |
|                                             __field8 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<String>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field9 => { | |
|                                             if _serde::export::Option::is_some(&__field9) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("width")); | |
|                                             } | |
|                                             __field9 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<u64>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field10 => { | |
|                                             if _serde::export::Option::is_some(&__field10) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("height")); | |
|                                             } | |
|                                             __field10 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<u64>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         _ => { | |
|                                             let _ = | |
|                                                 match _serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map) | |
|                                                     { | |
|                                                     _serde::export::Ok(__val) | |
|                                                     => __val, | |
|                                                     _serde::export::Err(__err) | |
|                                                     => { | |
|                                                         return _serde::export::Err(__err); | |
|                                                     } | |
|                                                 }; | |
|                                         } | |
|                                     } | |
|                                 } | |
|                                 let __field0 = | |
|                                     match __field0 { | |
|                                         _serde::export::Some(__field0) => | |
|                                         __field0, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("url") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match __field1 { | |
|                                         _serde::export::Some(__field1) => | |
|                                         __field1, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("title") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field2 = | |
|                                     match __field2 { | |
|                                         _serde::export::Some(__field2) => | |
|                                         __field2, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("description") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field3 = | |
|                                     match __field3 { | |
|                                         _serde::export::Some(__field3) => | |
|                                         __field3, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("image") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field4 = | |
|                                     match __field4 { | |
|                                         _serde::export::Some(__field4) => | |
|                                         __field4, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("author_name") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field5 = | |
|                                     match __field5 { | |
|                                         _serde::export::Some(__field5) => | |
|                                         __field5, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("author_url") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field6 = | |
|                                     match __field6 { | |
|                                         _serde::export::Some(__field6) => | |
|                                         __field6, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("provider_name") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field7 = | |
|                                     match __field7 { | |
|                                         _serde::export::Some(__field7) => | |
|                                         __field7, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("provider_url") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field8 = | |
|                                     match __field8 { | |
|                                         _serde::export::Some(__field8) => | |
|                                         __field8, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("html") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field9 = | |
|                                     match __field9 { | |
|                                         _serde::export::Some(__field9) => | |
|                                         __field9, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("width") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field10 = | |
|                                     match __field10 { | |
|                                         _serde::export::Some(__field10) => | |
|                                         __field10, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("height") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 _serde::export::Ok(Card{url: __field0, | |
|                                                         title: __field1, | |
|                                                         description: __field2, | |
|                                                         image: __field3, | |
|                                                         author_name: __field4, | |
|                                                         author_url: __field5, | |
|                                                         provider_name: | |
|                                                             __field6, | |
|                                                         provider_url: | |
|                                                             __field7, | |
|                                                         html: __field8, | |
|                                                         width: __field9, | |
|                                                         height: __field10,}) | |
|                             } | |
|                         } | |
|                         const FIELDS: &'static [&'static str] = | |
|                             &["url", "title", "description", "image", | |
|                               "author_name", "author_url", "provider_name", | |
|                               "provider_url", "html", "width", "height"]; | |
|                         _serde::Deserializer::deserialize_struct(__deserializer, | |
|                                                                  "Card", | |
|                                                                  FIELDS, | |
|                                                                  __Visitor{marker: | |
|                                                                                _serde::export::PhantomData::<Card>, | |
|                                                                            lifetime: | |
|                                                                                _serde::export::PhantomData,}) | |
|                     } | |
|                 } | |
|             }; | |
|         impl ::core::marker::StructuralPartialEq for Card { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for Card { | |
|             #[inline] | |
|             fn eq(&self, other: &Card) -> bool { | |
|                 match *other { | |
|                     Card { | |
|                     url: ref __self_1_0, | |
|                     title: ref __self_1_1, | |
|                     description: ref __self_1_2, | |
|                     image: ref __self_1_3, | |
|                     author_name: ref __self_1_4, | |
|                     author_url: ref __self_1_5, | |
|                     provider_name: ref __self_1_6, | |
|                     provider_url: ref __self_1_7, | |
|                     html: ref __self_1_8, | |
|                     width: ref __self_1_9, | |
|                     height: ref __self_1_10 } => | |
|                     match *self { | |
|                         Card { | |
|                         url: ref __self_0_0, | |
|                         title: ref __self_0_1, | |
|                         description: ref __self_0_2, | |
|                         image: ref __self_0_3, | |
|                         author_name: ref __self_0_4, | |
|                         author_url: ref __self_0_5, | |
|                         provider_name: ref __self_0_6, | |
|                         provider_url: ref __self_0_7, | |
|                         html: ref __self_0_8, | |
|                         width: ref __self_0_9, | |
|                         height: ref __self_0_10 } => | |
|                         (*__self_0_0) == (*__self_1_0) && | |
|                             (*__self_0_1) == (*__self_1_1) && | |
|                             (*__self_0_2) == (*__self_1_2) && | |
|                             (*__self_0_3) == (*__self_1_3) && | |
|                             (*__self_0_4) == (*__self_1_4) && | |
|                             (*__self_0_5) == (*__self_1_5) && | |
|                             (*__self_0_6) == (*__self_1_6) && | |
|                             (*__self_0_7) == (*__self_1_7) && | |
|                             (*__self_0_8) == (*__self_1_8) && | |
|                             (*__self_0_9) == (*__self_1_9) && | |
|                             (*__self_0_10) == (*__self_1_10), | |
|                     }, | |
|                 } | |
|             } | |
|             #[inline] | |
|             fn ne(&self, other: &Card) -> bool { | |
|                 match *other { | |
|                     Card { | |
|                     url: ref __self_1_0, | |
|                     title: ref __self_1_1, | |
|                     description: ref __self_1_2, | |
|                     image: ref __self_1_3, | |
|                     author_name: ref __self_1_4, | |
|                     author_url: ref __self_1_5, | |
|                     provider_name: ref __self_1_6, | |
|                     provider_url: ref __self_1_7, | |
|                     html: ref __self_1_8, | |
|                     width: ref __self_1_9, | |
|                     height: ref __self_1_10 } => | |
|                     match *self { | |
|                         Card { | |
|                         url: ref __self_0_0, | |
|                         title: ref __self_0_1, | |
|                         description: ref __self_0_2, | |
|                         image: ref __self_0_3, | |
|                         author_name: ref __self_0_4, | |
|                         author_url: ref __self_0_5, | |
|                         provider_name: ref __self_0_6, | |
|                         provider_url: ref __self_0_7, | |
|                         html: ref __self_0_8, | |
|                         width: ref __self_0_9, | |
|                         height: ref __self_0_10 } => | |
|                         (*__self_0_0) != (*__self_1_0) || | |
|                             (*__self_0_1) != (*__self_1_1) || | |
|                             (*__self_0_2) != (*__self_1_2) || | |
|                             (*__self_0_3) != (*__self_1_3) || | |
|                             (*__self_0_4) != (*__self_1_4) || | |
|                             (*__self_0_5) != (*__self_1_5) || | |
|                             (*__self_0_6) != (*__self_1_6) || | |
|                             (*__self_0_7) != (*__self_1_7) || | |
|                             (*__self_0_8) != (*__self_1_8) || | |
|                             (*__self_0_9) != (*__self_1_9) || | |
|                             (*__self_0_10) != (*__self_1_10), | |
|                     }, | |
|                 } | |
|             } | |
|         } | |
|     } | |
|     /// Data structures for ser/de of contetx-related resources | |
|     pub mod context { | |
|         //! A module about contexts of statuses. | |
|         use super::status::Status; | |
|         /// A context of a status returning a list of statuses it replied to and | |
|         /// statuses replied to it. | |
|         pub struct Context { | |
|             /// Statuses that were replied to. | |
|             pub ancestors: Vec<Status>, | |
|             /// Statuses that replied to this status. | |
|             pub descendants: Vec<Status>, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for Context { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match *self { | |
|                     Context { | |
|                     ancestors: ref __self_0_0, descendants: ref __self_0_1 } | |
|                     => { | |
|                         let mut debug_trait_builder = | |
|                             f.debug_struct("Context"); | |
|                         let _ = | |
|                             debug_trait_builder.field("ancestors", | |
|                                                       &&(*__self_0_0)); | |
|                         let _ = | |
|                             debug_trait_builder.field("descendants", | |
|                                                       &&(*__self_0_1)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for Context { | |
|             #[inline] | |
|             fn clone(&self) -> Context { | |
|                 match *self { | |
|                     Context { | |
|                     ancestors: ref __self_0_0, descendants: ref __self_0_1 } | |
|                     => | |
|                     Context{ancestors: | |
|                                 ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                             descendants: | |
|                                 ::core::clone::Clone::clone(&(*__self_0_1)),}, | |
|                 } | |
|             } | |
|         } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_DESERIALIZE_FOR_Context: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl <'de> _serde::Deserialize<'de> for Context { | |
|                     fn deserialize<__D>(__deserializer: __D) | |
|                      -> _serde::export::Result<Self, __D::Error> where | |
|                      __D: _serde::Deserializer<'de> { | |
|                         #[allow(non_camel_case_types)] | |
|                         enum __Field { __field0, __field1, __ignore, } | |
|                         struct __FieldVisitor; | |
|                         impl <'de> _serde::de::Visitor<'de> for __FieldVisitor | |
|                          { | |
|                             type Value = __Field; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "field identifier") | |
|                             } | |
|                             fn visit_u64<__E>(self, __value: u64) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     0u64 => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     1u64 => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     _ => | |
|                                     _serde::export::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value), | |
|                                                                                          &"field index 0 <= i < 2")), | |
|                                 } | |
|                             } | |
|                             fn visit_str<__E>(self, __value: &str) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     "ancestors" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     "descendants" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                             fn visit_bytes<__E>(self, __value: &[u8]) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     b"ancestors" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     b"descendants" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                         } | |
|                         impl <'de> _serde::Deserialize<'de> for __Field { | |
|                             #[inline] | |
|                             fn deserialize<__D>(__deserializer: __D) | |
|                              -> _serde::export::Result<Self, __D::Error> where | |
|                              __D: _serde::Deserializer<'de> { | |
|                                 _serde::Deserializer::deserialize_identifier(__deserializer, | |
|                                                                              __FieldVisitor) | |
|                             } | |
|                         } | |
|                         struct __Visitor<'de> { | |
|                             marker: _serde::export::PhantomData<Context>, | |
|                             lifetime: _serde::export::PhantomData<&'de ()>, | |
|                         } | |
|                         impl <'de> _serde::de::Visitor<'de> for __Visitor<'de> | |
|                          { | |
|                             type Value = Context; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "struct Context") | |
|                             } | |
|                             #[inline] | |
|                             fn visit_seq<__A>(self, mut __seq: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::SeqAccess<'de> { | |
|                                 let __field0 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Vec<Status>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(0usize, | |
|                                                                                                          &"struct Context with 2 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Vec<Status>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(1usize, | |
|                                                                                                          &"struct Context with 2 elements")); | |
|                                         } | |
|                                     }; | |
|                                 _serde::export::Ok(Context{ancestors: | |
|                                                                __field0, | |
|                                                            descendants: | |
|                                                                __field1,}) | |
|                             } | |
|                             #[inline] | |
|                             fn visit_map<__A>(self, mut __map: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::MapAccess<'de> { | |
|                                 let mut __field0: | |
|                                         _serde::export::Option<Vec<Status>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field1: | |
|                                         _serde::export::Option<Vec<Status>> = | |
|                                     _serde::export::None; | |
|                                 while let _serde::export::Some(__key) = | |
|                                           match _serde::de::MapAccess::next_key::<__Field>(&mut __map) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                     match __key { | |
|                                         __Field::__field0 => { | |
|                                             if _serde::export::Option::is_some(&__field0) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("ancestors")); | |
|                                             } | |
|                                             __field0 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Vec<Status>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field1 => { | |
|                                             if _serde::export::Option::is_some(&__field1) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("descendants")); | |
|                                             } | |
|                                             __field1 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Vec<Status>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         _ => { | |
|                                             let _ = | |
|                                                 match _serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map) | |
|                                                     { | |
|                                                     _serde::export::Ok(__val) | |
|                                                     => __val, | |
|                                                     _serde::export::Err(__err) | |
|                                                     => { | |
|                                                         return _serde::export::Err(__err); | |
|                                                     } | |
|                                                 }; | |
|                                         } | |
|                                     } | |
|                                 } | |
|                                 let __field0 = | |
|                                     match __field0 { | |
|                                         _serde::export::Some(__field0) => | |
|                                         __field0, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("ancestors") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match __field1 { | |
|                                         _serde::export::Some(__field1) => | |
|                                         __field1, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("descendants") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 _serde::export::Ok(Context{ancestors: | |
|                                                                __field0, | |
|                                                            descendants: | |
|                                                                __field1,}) | |
|                             } | |
|                         } | |
|                         const FIELDS: &'static [&'static str] = | |
|                             &["ancestors", "descendants"]; | |
|                         _serde::Deserializer::deserialize_struct(__deserializer, | |
|                                                                  "Context", | |
|                                                                  FIELDS, | |
|                                                                  __Visitor{marker: | |
|                                                                                _serde::export::PhantomData::<Context>, | |
|                                                                            lifetime: | |
|                                                                                _serde::export::PhantomData,}) | |
|                     } | |
|                 } | |
|             }; | |
|         impl ::core::marker::StructuralPartialEq for Context { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for Context { | |
|             #[inline] | |
|             fn eq(&self, other: &Context) -> bool { | |
|                 match *other { | |
|                     Context { | |
|                     ancestors: ref __self_1_0, descendants: ref __self_1_1 } | |
|                     => | |
|                     match *self { | |
|                         Context { | |
|                         ancestors: ref __self_0_0, descendants: ref __self_0_1 | |
|                         } => | |
|                         (*__self_0_0) == (*__self_1_0) && | |
|                             (*__self_0_1) == (*__self_1_1), | |
|                     }, | |
|                 } | |
|             } | |
|             #[inline] | |
|             fn ne(&self, other: &Context) -> bool { | |
|                 match *other { | |
|                     Context { | |
|                     ancestors: ref __self_1_0, descendants: ref __self_1_1 } | |
|                     => | |
|                     match *self { | |
|                         Context { | |
|                         ancestors: ref __self_0_0, descendants: ref __self_0_1 | |
|                         } => | |
|                         (*__self_0_0) != (*__self_1_0) || | |
|                             (*__self_0_1) != (*__self_1_1), | |
|                     }, | |
|                 } | |
|             } | |
|         } | |
|     } | |
|     /// Data structures for ser/de of streaming events | |
|     pub mod event { | |
|         use crate::entities::{notification::Notification, status::Status}; | |
|         /// Events that come from the /streaming/user API call | |
|         pub enum Event { | |
| 
 | |
|             /// Update event | |
|             Update(Status), | |
| 
 | |
|             /// Notification event | |
|             Notification(Notification), | |
| 
 | |
|             /// Delete event | |
|             Delete(String), | |
| 
 | |
|             /// FiltersChanged event | |
|             FiltersChanged, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for Event { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match (&*self,) { | |
|                     (&Event::Update(ref __self_0),) => { | |
|                         let mut debug_trait_builder = f.debug_tuple("Update"); | |
|                         let _ = debug_trait_builder.field(&&(*__self_0)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                     (&Event::Notification(ref __self_0),) => { | |
|                         let mut debug_trait_builder = | |
|                             f.debug_tuple("Notification"); | |
|                         let _ = debug_trait_builder.field(&&(*__self_0)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                     (&Event::Delete(ref __self_0),) => { | |
|                         let mut debug_trait_builder = f.debug_tuple("Delete"); | |
|                         let _ = debug_trait_builder.field(&&(*__self_0)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                     (&Event::FiltersChanged,) => { | |
|                         let mut debug_trait_builder = | |
|                             f.debug_tuple("FiltersChanged"); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for Event { | |
|             #[inline] | |
|             fn clone(&self) -> Event { | |
|                 match (&*self,) { | |
|                     (&Event::Update(ref __self_0),) => | |
|                     Event::Update(::core::clone::Clone::clone(&(*__self_0))), | |
|                     (&Event::Notification(ref __self_0),) => | |
|                     Event::Notification(::core::clone::Clone::clone(&(*__self_0))), | |
|                     (&Event::Delete(ref __self_0),) => | |
|                     Event::Delete(::core::clone::Clone::clone(&(*__self_0))), | |
|                     (&Event::FiltersChanged,) => Event::FiltersChanged, | |
|                 } | |
|             } | |
|         } | |
|     } | |
|     /// Data structures for ser/de of filter-related resources | |
|     pub mod filter { | |
|         /// Represents a single Filter | |
|         pub struct Filter { | |
|             id: String, | |
|             phrase: String, | |
|             context: Vec<FilterContext>, | |
|             expires_at: Option<String>, | |
|             irreversible: bool, | |
|             whole_word: bool, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for Filter { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match *self { | |
|                     Filter { | |
|                     id: ref __self_0_0, | |
|                     phrase: ref __self_0_1, | |
|                     context: ref __self_0_2, | |
|                     expires_at: ref __self_0_3, | |
|                     irreversible: ref __self_0_4, | |
|                     whole_word: ref __self_0_5 } => { | |
|                         let mut debug_trait_builder = | |
|                             f.debug_struct("Filter"); | |
|                         let _ = | |
|                             debug_trait_builder.field("id", &&(*__self_0_0)); | |
|                         let _ = | |
|                             debug_trait_builder.field("phrase", | |
|                                                       &&(*__self_0_1)); | |
|                         let _ = | |
|                             debug_trait_builder.field("context", | |
|                                                       &&(*__self_0_2)); | |
|                         let _ = | |
|                             debug_trait_builder.field("expires_at", | |
|                                                       &&(*__self_0_3)); | |
|                         let _ = | |
|                             debug_trait_builder.field("irreversible", | |
|                                                       &&(*__self_0_4)); | |
|                         let _ = | |
|                             debug_trait_builder.field("whole_word", | |
|                                                       &&(*__self_0_5)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for Filter { | |
|             #[inline] | |
|             fn clone(&self) -> Filter { | |
|                 match *self { | |
|                     Filter { | |
|                     id: ref __self_0_0, | |
|                     phrase: ref __self_0_1, | |
|                     context: ref __self_0_2, | |
|                     expires_at: ref __self_0_3, | |
|                     irreversible: ref __self_0_4, | |
|                     whole_word: ref __self_0_5 } => | |
|                     Filter{id: ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                            phrase: | |
|                                ::core::clone::Clone::clone(&(*__self_0_1)), | |
|                            context: | |
|                                ::core::clone::Clone::clone(&(*__self_0_2)), | |
|                            expires_at: | |
|                                ::core::clone::Clone::clone(&(*__self_0_3)), | |
|                            irreversible: | |
|                                ::core::clone::Clone::clone(&(*__self_0_4)), | |
|                            whole_word: | |
|                                ::core::clone::Clone::clone(&(*__self_0_5)),}, | |
|                 } | |
|             } | |
|         } | |
|         impl ::core::marker::StructuralPartialEq for Filter { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for Filter { | |
|             #[inline] | |
|             fn eq(&self, other: &Filter) -> bool { | |
|                 match *other { | |
|                     Filter { | |
|                     id: ref __self_1_0, | |
|                     phrase: ref __self_1_1, | |
|                     context: ref __self_1_2, | |
|                     expires_at: ref __self_1_3, | |
|                     irreversible: ref __self_1_4, | |
|                     whole_word: ref __self_1_5 } => | |
|                     match *self { | |
|                         Filter { | |
|                         id: ref __self_0_0, | |
|                         phrase: ref __self_0_1, | |
|                         context: ref __self_0_2, | |
|                         expires_at: ref __self_0_3, | |
|                         irreversible: ref __self_0_4, | |
|                         whole_word: ref __self_0_5 } => | |
|                         (*__self_0_0) == (*__self_1_0) && | |
|                             (*__self_0_1) == (*__self_1_1) && | |
|                             (*__self_0_2) == (*__self_1_2) && | |
|                             (*__self_0_3) == (*__self_1_3) && | |
|                             (*__self_0_4) == (*__self_1_4) && | |
|                             (*__self_0_5) == (*__self_1_5), | |
|                     }, | |
|                 } | |
|             } | |
|             #[inline] | |
|             fn ne(&self, other: &Filter) -> bool { | |
|                 match *other { | |
|                     Filter { | |
|                     id: ref __self_1_0, | |
|                     phrase: ref __self_1_1, | |
|                     context: ref __self_1_2, | |
|                     expires_at: ref __self_1_3, | |
|                     irreversible: ref __self_1_4, | |
|                     whole_word: ref __self_1_5 } => | |
|                     match *self { | |
|                         Filter { | |
|                         id: ref __self_0_0, | |
|                         phrase: ref __self_0_1, | |
|                         context: ref __self_0_2, | |
|                         expires_at: ref __self_0_3, | |
|                         irreversible: ref __self_0_4, | |
|                         whole_word: ref __self_0_5 } => | |
|                         (*__self_0_0) != (*__self_1_0) || | |
|                             (*__self_0_1) != (*__self_1_1) || | |
|                             (*__self_0_2) != (*__self_1_2) || | |
|                             (*__self_0_3) != (*__self_1_3) || | |
|                             (*__self_0_4) != (*__self_1_4) || | |
|                             (*__self_0_5) != (*__self_1_5), | |
|                     }, | |
|                 } | |
|             } | |
|         } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_SERIALIZE_FOR_Filter: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl _serde::Serialize for Filter { | |
|                     fn serialize<__S>(&self, __serializer: __S) | |
|                      -> _serde::export::Result<__S::Ok, __S::Error> where | |
|                      __S: _serde::Serializer { | |
|                         let mut __serde_state = | |
|                             match _serde::Serializer::serialize_struct(__serializer, | |
|                                                                        "Filter", | |
|                                                                        false | |
|                                                                            as | |
|                                                                            usize | |
|                                                                            + 1 | |
|                                                                            + 1 | |
|                                                                            + 1 | |
|                                                                            + 1 | |
|                                                                            + 1 | |
|                                                                            + | |
|                                                                            1) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "id", | |
|                                                                             &self.id) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "phrase", | |
|                                                                             &self.phrase) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "context", | |
|                                                                             &self.context) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "expires_at", | |
|                                                                             &self.expires_at) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "irreversible", | |
|                                                                             &self.irreversible) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "whole_word", | |
|                                                                             &self.whole_word) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                         _serde::ser::SerializeStruct::end(__serde_state) | |
|                     } | |
|                 } | |
|             }; | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_DESERIALIZE_FOR_Filter: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl <'de> _serde::Deserialize<'de> for Filter { | |
|                     fn deserialize<__D>(__deserializer: __D) | |
|                      -> _serde::export::Result<Self, __D::Error> where | |
|                      __D: _serde::Deserializer<'de> { | |
|                         #[allow(non_camel_case_types)] | |
|                         enum __Field { | |
|                             __field0, | |
|                             __field1, | |
|                             __field2, | |
|                             __field3, | |
|                             __field4, | |
|                             __field5, | |
|                             __ignore, | |
|                         } | |
|                         struct __FieldVisitor; | |
|                         impl <'de> _serde::de::Visitor<'de> for __FieldVisitor | |
|                          { | |
|                             type Value = __Field; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "field identifier") | |
|                             } | |
|                             fn visit_u64<__E>(self, __value: u64) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     0u64 => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     1u64 => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     2u64 => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     3u64 => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     4u64 => | |
|                                     _serde::export::Ok(__Field::__field4), | |
|                                     5u64 => | |
|                                     _serde::export::Ok(__Field::__field5), | |
|                                     _ => | |
|                                     _serde::export::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value), | |
|                                                                                          &"field index 0 <= i < 6")), | |
|                                 } | |
|                             } | |
|                             fn visit_str<__E>(self, __value: &str) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     "id" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     "phrase" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     "context" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     "expires_at" => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     "irreversible" => | |
|                                     _serde::export::Ok(__Field::__field4), | |
|                                     "whole_word" => | |
|                                     _serde::export::Ok(__Field::__field5), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                             fn visit_bytes<__E>(self, __value: &[u8]) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     b"id" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     b"phrase" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     b"context" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     b"expires_at" => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     b"irreversible" => | |
|                                     _serde::export::Ok(__Field::__field4), | |
|                                     b"whole_word" => | |
|                                     _serde::export::Ok(__Field::__field5), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                         } | |
|                         impl <'de> _serde::Deserialize<'de> for __Field { | |
|                             #[inline] | |
|                             fn deserialize<__D>(__deserializer: __D) | |
|                              -> _serde::export::Result<Self, __D::Error> where | |
|                              __D: _serde::Deserializer<'de> { | |
|                                 _serde::Deserializer::deserialize_identifier(__deserializer, | |
|                                                                              __FieldVisitor) | |
|                             } | |
|                         } | |
|                         struct __Visitor<'de> { | |
|                             marker: _serde::export::PhantomData<Filter>, | |
|                             lifetime: _serde::export::PhantomData<&'de ()>, | |
|                         } | |
|                         impl <'de> _serde::de::Visitor<'de> for __Visitor<'de> | |
|                          { | |
|                             type Value = Filter; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "struct Filter") | |
|                             } | |
|                             #[inline] | |
|                             fn visit_seq<__A>(self, mut __seq: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::SeqAccess<'de> { | |
|                                 let __field0 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(0usize, | |
|                                                                                                          &"struct Filter with 6 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(1usize, | |
|                                                                                                          &"struct Filter with 6 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field2 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Vec<FilterContext>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(2usize, | |
|                                                                                                          &"struct Filter with 6 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field3 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<String>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(3usize, | |
|                                                                                                          &"struct Filter with 6 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field4 = | |
|                                     match match _serde::de::SeqAccess::next_element::<bool>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(4usize, | |
|                                                                                                          &"struct Filter with 6 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field5 = | |
|                                     match match _serde::de::SeqAccess::next_element::<bool>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(5usize, | |
|                                                                                                          &"struct Filter with 6 elements")); | |
|                                         } | |
|                                     }; | |
|                                 _serde::export::Ok(Filter{id: __field0, | |
|                                                           phrase: __field1, | |
|                                                           context: __field2, | |
|                                                           expires_at: | |
|                                                               __field3, | |
|                                                           irreversible: | |
|                                                               __field4, | |
|                                                           whole_word: | |
|                                                               __field5,}) | |
|                             } | |
|                             #[inline] | |
|                             fn visit_map<__A>(self, mut __map: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::MapAccess<'de> { | |
|                                 let mut __field0: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field1: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field2: | |
|                                         _serde::export::Option<Vec<FilterContext>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field3: | |
|                                         _serde::export::Option<Option<String>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field4: | |
|                                         _serde::export::Option<bool> = | |
|                                     _serde::export::None; | |
|                                 let mut __field5: | |
|                                         _serde::export::Option<bool> = | |
|                                     _serde::export::None; | |
|                                 while let _serde::export::Some(__key) = | |
|                                           match _serde::de::MapAccess::next_key::<__Field>(&mut __map) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                     match __key { | |
|                                         __Field::__field0 => { | |
|                                             if _serde::export::Option::is_some(&__field0) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("id")); | |
|                                             } | |
|                                             __field0 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field1 => { | |
|                                             if _serde::export::Option::is_some(&__field1) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("phrase")); | |
|                                             } | |
|                                             __field1 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field2 => { | |
|                                             if _serde::export::Option::is_some(&__field2) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("context")); | |
|                                             } | |
|                                             __field2 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Vec<FilterContext>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field3 => { | |
|                                             if _serde::export::Option::is_some(&__field3) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("expires_at")); | |
|                                             } | |
|                                             __field3 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<String>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field4 => { | |
|                                             if _serde::export::Option::is_some(&__field4) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("irreversible")); | |
|                                             } | |
|                                             __field4 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<bool>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field5 => { | |
|                                             if _serde::export::Option::is_some(&__field5) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("whole_word")); | |
|                                             } | |
|                                             __field5 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<bool>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         _ => { | |
|                                             let _ = | |
|                                                 match _serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map) | |
|                                                     { | |
|                                                     _serde::export::Ok(__val) | |
|                                                     => __val, | |
|                                                     _serde::export::Err(__err) | |
|                                                     => { | |
|                                                         return _serde::export::Err(__err); | |
|                                                     } | |
|                                                 }; | |
|                                         } | |
|                                     } | |
|                                 } | |
|                                 let __field0 = | |
|                                     match __field0 { | |
|                                         _serde::export::Some(__field0) => | |
|                                         __field0, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("id") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match __field1 { | |
|                                         _serde::export::Some(__field1) => | |
|                                         __field1, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("phrase") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field2 = | |
|                                     match __field2 { | |
|                                         _serde::export::Some(__field2) => | |
|                                         __field2, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("context") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field3 = | |
|                                     match __field3 { | |
|                                         _serde::export::Some(__field3) => | |
|                                         __field3, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("expires_at") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field4 = | |
|                                     match __field4 { | |
|                                         _serde::export::Some(__field4) => | |
|                                         __field4, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("irreversible") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field5 = | |
|                                     match __field5 { | |
|                                         _serde::export::Some(__field5) => | |
|                                         __field5, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("whole_word") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 _serde::export::Ok(Filter{id: __field0, | |
|                                                           phrase: __field1, | |
|                                                           context: __field2, | |
|                                                           expires_at: | |
|                                                               __field3, | |
|                                                           irreversible: | |
|                                                               __field4, | |
|                                                           whole_word: | |
|                                                               __field5,}) | |
|                             } | |
|                         } | |
|                         const FIELDS: &'static [&'static str] = | |
|                             &["id", "phrase", "context", "expires_at", | |
|                               "irreversible", "whole_word"]; | |
|                         _serde::Deserializer::deserialize_struct(__deserializer, | |
|                                                                  "Filter", | |
|                                                                  FIELDS, | |
|                                                                  __Visitor{marker: | |
|                                                                                _serde::export::PhantomData::<Filter>, | |
|                                                                            lifetime: | |
|                                                                                _serde::export::PhantomData,}) | |
|                     } | |
|                 } | |
|             }; | |
|         /// Represents the various types of Filter contexts | |
|         pub enum FilterContext { | |
| 
 | |
|             /// Represents the "home" context | |
|             #[serde(rename = "home")] | |
|             Home, | |
| 
 | |
|             /// Represents the "notifications" context | |
|             #[serde(rename = "notifications")] | |
|             Notifications, | |
| 
 | |
|             /// Represents the "public" context | |
|             #[serde(rename = "public")] | |
|             Public, | |
| 
 | |
|             /// Represents the "thread" context | |
|             #[serde(rename = "thread")] | |
|             Thread, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for FilterContext { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match (&*self,) { | |
|                     (&FilterContext::Home,) => { | |
|                         let mut debug_trait_builder = f.debug_tuple("Home"); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                     (&FilterContext::Notifications,) => { | |
|                         let mut debug_trait_builder = | |
|                             f.debug_tuple("Notifications"); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                     (&FilterContext::Public,) => { | |
|                         let mut debug_trait_builder = f.debug_tuple("Public"); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                     (&FilterContext::Thread,) => { | |
|                         let mut debug_trait_builder = f.debug_tuple("Thread"); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for FilterContext { | |
|             #[inline] | |
|             fn clone(&self) -> FilterContext { { *self } } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::marker::Copy for FilterContext { } | |
|         impl ::core::marker::StructuralPartialEq for FilterContext { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for FilterContext { | |
|             #[inline] | |
|             fn eq(&self, other: &FilterContext) -> bool { | |
|                 { | |
|                     let __self_vi = | |
|                         unsafe { | |
|                             ::core::intrinsics::discriminant_value(&*self) | |
|                         }; | |
|                     let __arg_1_vi = | |
|                         unsafe { | |
|                             ::core::intrinsics::discriminant_value(&*other) | |
|                         }; | |
|                     if true && __self_vi == __arg_1_vi { | |
|                         match (&*self, &*other) { _ => true, } | |
|                     } else { false } | |
|                 } | |
|             } | |
|         } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_SERIALIZE_FOR_FilterContext: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl _serde::Serialize for FilterContext { | |
|                     fn serialize<__S>(&self, __serializer: __S) | |
|                      -> _serde::export::Result<__S::Ok, __S::Error> where | |
|                      __S: _serde::Serializer { | |
|                         match *self { | |
|                             FilterContext::Home => | |
|                             _serde::Serializer::serialize_unit_variant(__serializer, | |
|                                                                        "FilterContext", | |
|                                                                        0u32, | |
|                                                                        "home"), | |
|                             FilterContext::Notifications => | |
|                             _serde::Serializer::serialize_unit_variant(__serializer, | |
|                                                                        "FilterContext", | |
|                                                                        1u32, | |
|                                                                        "notifications"), | |
|                             FilterContext::Public => | |
|                             _serde::Serializer::serialize_unit_variant(__serializer, | |
|                                                                        "FilterContext", | |
|                                                                        2u32, | |
|                                                                        "public"), | |
|                             FilterContext::Thread => | |
|                             _serde::Serializer::serialize_unit_variant(__serializer, | |
|                                                                        "FilterContext", | |
|                                                                        3u32, | |
|                                                                        "thread"), | |
|                         } | |
|                     } | |
|                 } | |
|             }; | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_DESERIALIZE_FOR_FilterContext: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl <'de> _serde::Deserialize<'de> for FilterContext { | |
|                     fn deserialize<__D>(__deserializer: __D) | |
|                      -> _serde::export::Result<Self, __D::Error> where | |
|                      __D: _serde::Deserializer<'de> { | |
|                         #[allow(non_camel_case_types)] | |
|                         enum __Field { | |
|                             __field0, | |
|                             __field1, | |
|                             __field2, | |
|                             __field3, | |
|                         } | |
|                         struct __FieldVisitor; | |
|                         impl <'de> _serde::de::Visitor<'de> for __FieldVisitor | |
|                          { | |
|                             type Value = __Field; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "variant identifier") | |
|                             } | |
|                             fn visit_u64<__E>(self, __value: u64) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     0u64 => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     1u64 => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     2u64 => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     3u64 => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     _ => | |
|                                     _serde::export::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value), | |
|                                                                                          &"variant index 0 <= i < 4")), | |
|                                 } | |
|                             } | |
|                             fn visit_str<__E>(self, __value: &str) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     "home" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     "notifications" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     "public" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     "thread" => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     _ => { | |
|                                         _serde::export::Err(_serde::de::Error::unknown_variant(__value, | |
|                                                                                                VARIANTS)) | |
|                                     } | |
|                                 } | |
|                             } | |
|                             fn visit_bytes<__E>(self, __value: &[u8]) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     b"home" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     b"notifications" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     b"public" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     b"thread" => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     _ => { | |
|                                         let __value = | |
|                                             &_serde::export::from_utf8_lossy(__value); | |
|                                         _serde::export::Err(_serde::de::Error::unknown_variant(__value, | |
|                                                                                                VARIANTS)) | |
|                                     } | |
|                                 } | |
|                             } | |
|                         } | |
|                         impl <'de> _serde::Deserialize<'de> for __Field { | |
|                             #[inline] | |
|                             fn deserialize<__D>(__deserializer: __D) | |
|                              -> _serde::export::Result<Self, __D::Error> where | |
|                              __D: _serde::Deserializer<'de> { | |
|                                 _serde::Deserializer::deserialize_identifier(__deserializer, | |
|                                                                              __FieldVisitor) | |
|                             } | |
|                         } | |
|                         struct __Visitor<'de> { | |
|                             marker: _serde::export::PhantomData<FilterContext>, | |
|                             lifetime: _serde::export::PhantomData<&'de ()>, | |
|                         } | |
|                         impl <'de> _serde::de::Visitor<'de> for __Visitor<'de> | |
|                          { | |
|                             type Value = FilterContext; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "enum FilterContext") | |
|                             } | |
|                             fn visit_enum<__A>(self, __data: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::EnumAccess<'de> { | |
|                                 match match _serde::de::EnumAccess::variant(__data) | |
|                                           { | |
|                                           _serde::export::Ok(__val) => __val, | |
|                                           _serde::export::Err(__err) => { | |
|                                               return _serde::export::Err(__err); | |
|                                           } | |
|                                       } { | |
|                                     (__Field::__field0, __variant) => { | |
|                                         match _serde::de::VariantAccess::unit_variant(__variant) | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }; | |
|                                         _serde::export::Ok(FilterContext::Home) | |
|                                     } | |
|                                     (__Field::__field1, __variant) => { | |
|                                         match _serde::de::VariantAccess::unit_variant(__variant) | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }; | |
|                                         _serde::export::Ok(FilterContext::Notifications) | |
|                                     } | |
|                                     (__Field::__field2, __variant) => { | |
|                                         match _serde::de::VariantAccess::unit_variant(__variant) | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }; | |
|                                         _serde::export::Ok(FilterContext::Public) | |
|                                     } | |
|                                     (__Field::__field3, __variant) => { | |
|                                         match _serde::de::VariantAccess::unit_variant(__variant) | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }; | |
|                                         _serde::export::Ok(FilterContext::Thread) | |
|                                     } | |
|                                 } | |
|                             } | |
|                         } | |
|                         const VARIANTS: &'static [&'static str] = | |
|                             &["home", "notifications", "public", "thread"]; | |
|                         _serde::Deserializer::deserialize_enum(__deserializer, | |
|                                                                "FilterContext", | |
|                                                                VARIANTS, | |
|                                                                __Visitor{marker: | |
|                                                                              _serde::export::PhantomData::<FilterContext>, | |
|                                                                          lifetime: | |
|                                                                              _serde::export::PhantomData,}) | |
|                     } | |
|                 } | |
|             }; | |
|     } | |
|     /// Data structures for ser/de of instance-related resources | |
|     pub mod instance { | |
|         //! Module containing everything related to an instance. | |
|         use super::account::Account; | |
|         /// A struct containing info of an instance. | |
|         pub struct Instance { | |
|             /// URI of the current instance | |
|             pub uri: String, | |
|             /// The instance's title. | |
|             pub title: String, | |
|             /// A description for the instance. | |
|             pub description: String, | |
|             /// An email address which can be used to contact the | |
|             /// instance administrator. | |
|             pub email: String, | |
|             /// The Mastodon version used by instance. | |
|             pub version: String, | |
|             /// Urls to the streaming api. | |
|             pub urls: Option<StreamingApi>, | |
|             /// Stats about the instance. | |
|             pub stats: Option<Stats>, | |
|             /// Thumbnail of the server image. | |
|             pub thumbnail: Option<String>, | |
|             /// List of languages used on the server. | |
|             pub languages: Option<Vec<String>>, | |
|             /// Contact account for the server. | |
|             pub contact_account: Option<Account>, | |
|             /// The maximum number of characters allowed in a status | |
|             pub max_toot_chars: Option<u32>, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for Instance { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match *self { | |
|                     Instance { | |
|                     uri: ref __self_0_0, | |
|                     title: ref __self_0_1, | |
|                     description: ref __self_0_2, | |
|                     email: ref __self_0_3, | |
|                     version: ref __self_0_4, | |
|                     urls: ref __self_0_5, | |
|                     stats: ref __self_0_6, | |
|                     thumbnail: ref __self_0_7, | |
|                     languages: ref __self_0_8, | |
|                     contact_account: ref __self_0_9, | |
|                     max_toot_chars: ref __self_0_10 } => { | |
|                         let mut debug_trait_builder = | |
|                             f.debug_struct("Instance"); | |
|                         let _ = | |
|                             debug_trait_builder.field("uri", &&(*__self_0_0)); | |
|                         let _ = | |
|                             debug_trait_builder.field("title", | |
|                                                       &&(*__self_0_1)); | |
|                         let _ = | |
|                             debug_trait_builder.field("description", | |
|                                                       &&(*__self_0_2)); | |
|                         let _ = | |
|                             debug_trait_builder.field("email", | |
|                                                       &&(*__self_0_3)); | |
|                         let _ = | |
|                             debug_trait_builder.field("version", | |
|                                                       &&(*__self_0_4)); | |
|                         let _ = | |
|                             debug_trait_builder.field("urls", | |
|                                                       &&(*__self_0_5)); | |
|                         let _ = | |
|                             debug_trait_builder.field("stats", | |
|                                                       &&(*__self_0_6)); | |
|                         let _ = | |
|                             debug_trait_builder.field("thumbnail", | |
|                                                       &&(*__self_0_7)); | |
|                         let _ = | |
|                             debug_trait_builder.field("languages", | |
|                                                       &&(*__self_0_8)); | |
|                         let _ = | |
|                             debug_trait_builder.field("contact_account", | |
|                                                       &&(*__self_0_9)); | |
|                         let _ = | |
|                             debug_trait_builder.field("max_toot_chars", | |
|                                                       &&(*__self_0_10)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for Instance { | |
|             #[inline] | |
|             fn clone(&self) -> Instance { | |
|                 match *self { | |
|                     Instance { | |
|                     uri: ref __self_0_0, | |
|                     title: ref __self_0_1, | |
|                     description: ref __self_0_2, | |
|                     email: ref __self_0_3, | |
|                     version: ref __self_0_4, | |
|                     urls: ref __self_0_5, | |
|                     stats: ref __self_0_6, | |
|                     thumbnail: ref __self_0_7, | |
|                     languages: ref __self_0_8, | |
|                     contact_account: ref __self_0_9, | |
|                     max_toot_chars: ref __self_0_10 } => | |
|                     Instance{uri: ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                              title: | |
|                                  ::core::clone::Clone::clone(&(*__self_0_1)), | |
|                              description: | |
|                                  ::core::clone::Clone::clone(&(*__self_0_2)), | |
|                              email: | |
|                                  ::core::clone::Clone::clone(&(*__self_0_3)), | |
|                              version: | |
|                                  ::core::clone::Clone::clone(&(*__self_0_4)), | |
|                              urls: | |
|                                  ::core::clone::Clone::clone(&(*__self_0_5)), | |
|                              stats: | |
|                                  ::core::clone::Clone::clone(&(*__self_0_6)), | |
|                              thumbnail: | |
|                                  ::core::clone::Clone::clone(&(*__self_0_7)), | |
|                              languages: | |
|                                  ::core::clone::Clone::clone(&(*__self_0_8)), | |
|                              contact_account: | |
|                                  ::core::clone::Clone::clone(&(*__self_0_9)), | |
|                              max_toot_chars: | |
|                                  ::core::clone::Clone::clone(&(*__self_0_10)),}, | |
|                 } | |
|             } | |
|         } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_DESERIALIZE_FOR_Instance: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl <'de> _serde::Deserialize<'de> for Instance { | |
|                     fn deserialize<__D>(__deserializer: __D) | |
|                      -> _serde::export::Result<Self, __D::Error> where | |
|                      __D: _serde::Deserializer<'de> { | |
|                         #[allow(non_camel_case_types)] | |
|                         enum __Field { | |
|                             __field0, | |
|                             __field1, | |
|                             __field2, | |
|                             __field3, | |
|                             __field4, | |
|                             __field5, | |
|                             __field6, | |
|                             __field7, | |
|                             __field8, | |
|                             __field9, | |
|                             __field10, | |
|                             __ignore, | |
|                         } | |
|                         struct __FieldVisitor; | |
|                         impl <'de> _serde::de::Visitor<'de> for __FieldVisitor | |
|                          { | |
|                             type Value = __Field; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "field identifier") | |
|                             } | |
|                             fn visit_u64<__E>(self, __value: u64) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     0u64 => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     1u64 => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     2u64 => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     3u64 => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     4u64 => | |
|                                     _serde::export::Ok(__Field::__field4), | |
|                                     5u64 => | |
|                                     _serde::export::Ok(__Field::__field5), | |
|                                     6u64 => | |
|                                     _serde::export::Ok(__Field::__field6), | |
|                                     7u64 => | |
|                                     _serde::export::Ok(__Field::__field7), | |
|                                     8u64 => | |
|                                     _serde::export::Ok(__Field::__field8), | |
|                                     9u64 => | |
|                                     _serde::export::Ok(__Field::__field9), | |
|                                     10u64 => | |
|                                     _serde::export::Ok(__Field::__field10), | |
|                                     _ => | |
|                                     _serde::export::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value), | |
|                                                                                          &"field index 0 <= i < 11")), | |
|                                 } | |
|                             } | |
|                             fn visit_str<__E>(self, __value: &str) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     "uri" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     "title" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     "description" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     "email" => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     "version" => | |
|                                     _serde::export::Ok(__Field::__field4), | |
|                                     "urls" => | |
|                                     _serde::export::Ok(__Field::__field5), | |
|                                     "stats" => | |
|                                     _serde::export::Ok(__Field::__field6), | |
|                                     "thumbnail" => | |
|                                     _serde::export::Ok(__Field::__field7), | |
|                                     "languages" => | |
|                                     _serde::export::Ok(__Field::__field8), | |
|                                     "contact_account" => | |
|                                     _serde::export::Ok(__Field::__field9), | |
|                                     "max_toot_chars" => | |
|                                     _serde::export::Ok(__Field::__field10), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                             fn visit_bytes<__E>(self, __value: &[u8]) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     b"uri" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     b"title" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     b"description" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     b"email" => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     b"version" => | |
|                                     _serde::export::Ok(__Field::__field4), | |
|                                     b"urls" => | |
|                                     _serde::export::Ok(__Field::__field5), | |
|                                     b"stats" => | |
|                                     _serde::export::Ok(__Field::__field6), | |
|                                     b"thumbnail" => | |
|                                     _serde::export::Ok(__Field::__field7), | |
|                                     b"languages" => | |
|                                     _serde::export::Ok(__Field::__field8), | |
|                                     b"contact_account" => | |
|                                     _serde::export::Ok(__Field::__field9), | |
|                                     b"max_toot_chars" => | |
|                                     _serde::export::Ok(__Field::__field10), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                         } | |
|                         impl <'de> _serde::Deserialize<'de> for __Field { | |
|                             #[inline] | |
|                             fn deserialize<__D>(__deserializer: __D) | |
|                              -> _serde::export::Result<Self, __D::Error> where | |
|                              __D: _serde::Deserializer<'de> { | |
|                                 _serde::Deserializer::deserialize_identifier(__deserializer, | |
|                                                                              __FieldVisitor) | |
|                             } | |
|                         } | |
|                         struct __Visitor<'de> { | |
|                             marker: _serde::export::PhantomData<Instance>, | |
|                             lifetime: _serde::export::PhantomData<&'de ()>, | |
|                         } | |
|                         impl <'de> _serde::de::Visitor<'de> for __Visitor<'de> | |
|                          { | |
|                             type Value = Instance; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "struct Instance") | |
|                             } | |
|                             #[inline] | |
|                             fn visit_seq<__A>(self, mut __seq: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::SeqAccess<'de> { | |
|                                 let __field0 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(0usize, | |
|                                                                                                          &"struct Instance with 11 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(1usize, | |
|                                                                                                          &"struct Instance with 11 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field2 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(2usize, | |
|                                                                                                          &"struct Instance with 11 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field3 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(3usize, | |
|                                                                                                          &"struct Instance with 11 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field4 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(4usize, | |
|                                                                                                          &"struct Instance with 11 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field5 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<StreamingApi>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(5usize, | |
|                                                                                                          &"struct Instance with 11 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field6 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<Stats>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(6usize, | |
|                                                                                                          &"struct Instance with 11 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field7 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<String>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(7usize, | |
|                                                                                                          &"struct Instance with 11 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field8 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<Vec<String>>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(8usize, | |
|                                                                                                          &"struct Instance with 11 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field9 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<Account>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(9usize, | |
|                                                                                                          &"struct Instance with 11 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field10 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<u32>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(10usize, | |
|                                                                                                          &"struct Instance with 11 elements")); | |
|                                         } | |
|                                     }; | |
|                                 _serde::export::Ok(Instance{uri: __field0, | |
|                                                             title: __field1, | |
|                                                             description: | |
|                                                                 __field2, | |
|                                                             email: __field3, | |
|                                                             version: __field4, | |
|                                                             urls: __field5, | |
|                                                             stats: __field6, | |
|                                                             thumbnail: | |
|                                                                 __field7, | |
|                                                             languages: | |
|                                                                 __field8, | |
|                                                             contact_account: | |
|                                                                 __field9, | |
|                                                             max_toot_chars: | |
|                                                                 __field10,}) | |
|                             } | |
|                             #[inline] | |
|                             fn visit_map<__A>(self, mut __map: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::MapAccess<'de> { | |
|                                 let mut __field0: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field1: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field2: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field3: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field4: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field5: | |
|                                         _serde::export::Option<Option<StreamingApi>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field6: | |
|                                         _serde::export::Option<Option<Stats>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field7: | |
|                                         _serde::export::Option<Option<String>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field8: | |
|                                         _serde::export::Option<Option<Vec<String>>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field9: | |
|                                         _serde::export::Option<Option<Account>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field10: | |
|                                         _serde::export::Option<Option<u32>> = | |
|                                     _serde::export::None; | |
|                                 while let _serde::export::Some(__key) = | |
|                                           match _serde::de::MapAccess::next_key::<__Field>(&mut __map) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                     match __key { | |
|                                         __Field::__field0 => { | |
|                                             if _serde::export::Option::is_some(&__field0) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("uri")); | |
|                                             } | |
|                                             __field0 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field1 => { | |
|                                             if _serde::export::Option::is_some(&__field1) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("title")); | |
|                                             } | |
|                                             __field1 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field2 => { | |
|                                             if _serde::export::Option::is_some(&__field2) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("description")); | |
|                                             } | |
|                                             __field2 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field3 => { | |
|                                             if _serde::export::Option::is_some(&__field3) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("email")); | |
|                                             } | |
|                                             __field3 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field4 => { | |
|                                             if _serde::export::Option::is_some(&__field4) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("version")); | |
|                                             } | |
|                                             __field4 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field5 => { | |
|                                             if _serde::export::Option::is_some(&__field5) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("urls")); | |
|                                             } | |
|                                             __field5 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<StreamingApi>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field6 => { | |
|                                             if _serde::export::Option::is_some(&__field6) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("stats")); | |
|                                             } | |
|                                             __field6 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<Stats>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field7 => { | |
|                                             if _serde::export::Option::is_some(&__field7) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("thumbnail")); | |
|                                             } | |
|                                             __field7 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<String>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field8 => { | |
|                                             if _serde::export::Option::is_some(&__field8) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("languages")); | |
|                                             } | |
|                                             __field8 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<Vec<String>>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field9 => { | |
|                                             if _serde::export::Option::is_some(&__field9) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("contact_account")); | |
|                                             } | |
|                                             __field9 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<Account>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field10 => { | |
|                                             if _serde::export::Option::is_some(&__field10) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("max_toot_chars")); | |
|                                             } | |
|                                             __field10 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<u32>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         _ => { | |
|                                             let _ = | |
|                                                 match _serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map) | |
|                                                     { | |
|                                                     _serde::export::Ok(__val) | |
|                                                     => __val, | |
|                                                     _serde::export::Err(__err) | |
|                                                     => { | |
|                                                         return _serde::export::Err(__err); | |
|                                                     } | |
|                                                 }; | |
|                                         } | |
|                                     } | |
|                                 } | |
|                                 let __field0 = | |
|                                     match __field0 { | |
|                                         _serde::export::Some(__field0) => | |
|                                         __field0, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("uri") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match __field1 { | |
|                                         _serde::export::Some(__field1) => | |
|                                         __field1, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("title") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field2 = | |
|                                     match __field2 { | |
|                                         _serde::export::Some(__field2) => | |
|                                         __field2, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("description") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field3 = | |
|                                     match __field3 { | |
|                                         _serde::export::Some(__field3) => | |
|                                         __field3, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("email") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field4 = | |
|                                     match __field4 { | |
|                                         _serde::export::Some(__field4) => | |
|                                         __field4, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("version") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field5 = | |
|                                     match __field5 { | |
|                                         _serde::export::Some(__field5) => | |
|                                         __field5, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("urls") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field6 = | |
|                                     match __field6 { | |
|                                         _serde::export::Some(__field6) => | |
|                                         __field6, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("stats") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field7 = | |
|                                     match __field7 { | |
|                                         _serde::export::Some(__field7) => | |
|                                         __field7, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("thumbnail") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field8 = | |
|                                     match __field8 { | |
|                                         _serde::export::Some(__field8) => | |
|                                         __field8, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("languages") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field9 = | |
|                                     match __field9 { | |
|                                         _serde::export::Some(__field9) => | |
|                                         __field9, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("contact_account") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field10 = | |
|                                     match __field10 { | |
|                                         _serde::export::Some(__field10) => | |
|                                         __field10, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("max_toot_chars") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 _serde::export::Ok(Instance{uri: __field0, | |
|                                                             title: __field1, | |
|                                                             description: | |
|                                                                 __field2, | |
|                                                             email: __field3, | |
|                                                             version: __field4, | |
|                                                             urls: __field5, | |
|                                                             stats: __field6, | |
|                                                             thumbnail: | |
|                                                                 __field7, | |
|                                                             languages: | |
|                                                                 __field8, | |
|                                                             contact_account: | |
|                                                                 __field9, | |
|                                                             max_toot_chars: | |
|                                                                 __field10,}) | |
|                             } | |
|                         } | |
|                         const FIELDS: &'static [&'static str] = | |
|                             &["uri", "title", "description", "email", | |
|                               "version", "urls", "stats", "thumbnail", | |
|                               "languages", "contact_account", | |
|                               "max_toot_chars"]; | |
|                         _serde::Deserializer::deserialize_struct(__deserializer, | |
|                                                                  "Instance", | |
|                                                                  FIELDS, | |
|                                                                  __Visitor{marker: | |
|                                                                                _serde::export::PhantomData::<Instance>, | |
|                                                                            lifetime: | |
|                                                                                _serde::export::PhantomData,}) | |
|                     } | |
|                 } | |
|             }; | |
|         impl ::core::marker::StructuralPartialEq for Instance { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for Instance { | |
|             #[inline] | |
|             fn eq(&self, other: &Instance) -> bool { | |
|                 match *other { | |
|                     Instance { | |
|                     uri: ref __self_1_0, | |
|                     title: ref __self_1_1, | |
|                     description: ref __self_1_2, | |
|                     email: ref __self_1_3, | |
|                     version: ref __self_1_4, | |
|                     urls: ref __self_1_5, | |
|                     stats: ref __self_1_6, | |
|                     thumbnail: ref __self_1_7, | |
|                     languages: ref __self_1_8, | |
|                     contact_account: ref __self_1_9, | |
|                     max_toot_chars: ref __self_1_10 } => | |
|                     match *self { | |
|                         Instance { | |
|                         uri: ref __self_0_0, | |
|                         title: ref __self_0_1, | |
|                         description: ref __self_0_2, | |
|                         email: ref __self_0_3, | |
|                         version: ref __self_0_4, | |
|                         urls: ref __self_0_5, | |
|                         stats: ref __self_0_6, | |
|                         thumbnail: ref __self_0_7, | |
|                         languages: ref __self_0_8, | |
|                         contact_account: ref __self_0_9, | |
|                         max_toot_chars: ref __self_0_10 } => | |
|                         (*__self_0_0) == (*__self_1_0) && | |
|                             (*__self_0_1) == (*__self_1_1) && | |
|                             (*__self_0_2) == (*__self_1_2) && | |
|                             (*__self_0_3) == (*__self_1_3) && | |
|                             (*__self_0_4) == (*__self_1_4) && | |
|                             (*__self_0_5) == (*__self_1_5) && | |
|                             (*__self_0_6) == (*__self_1_6) && | |
|                             (*__self_0_7) == (*__self_1_7) && | |
|                             (*__self_0_8) == (*__self_1_8) && | |
|                             (*__self_0_9) == (*__self_1_9) && | |
|                             (*__self_0_10) == (*__self_1_10), | |
|                     }, | |
|                 } | |
|             } | |
|             #[inline] | |
|             fn ne(&self, other: &Instance) -> bool { | |
|                 match *other { | |
|                     Instance { | |
|                     uri: ref __self_1_0, | |
|                     title: ref __self_1_1, | |
|                     description: ref __self_1_2, | |
|                     email: ref __self_1_3, | |
|                     version: ref __self_1_4, | |
|                     urls: ref __self_1_5, | |
|                     stats: ref __self_1_6, | |
|                     thumbnail: ref __self_1_7, | |
|                     languages: ref __self_1_8, | |
|                     contact_account: ref __self_1_9, | |
|                     max_toot_chars: ref __self_1_10 } => | |
|                     match *self { | |
|                         Instance { | |
|                         uri: ref __self_0_0, | |
|                         title: ref __self_0_1, | |
|                         description: ref __self_0_2, | |
|                         email: ref __self_0_3, | |
|                         version: ref __self_0_4, | |
|                         urls: ref __self_0_5, | |
|                         stats: ref __self_0_6, | |
|                         thumbnail: ref __self_0_7, | |
|                         languages: ref __self_0_8, | |
|                         contact_account: ref __self_0_9, | |
|                         max_toot_chars: ref __self_0_10 } => | |
|                         (*__self_0_0) != (*__self_1_0) || | |
|                             (*__self_0_1) != (*__self_1_1) || | |
|                             (*__self_0_2) != (*__self_1_2) || | |
|                             (*__self_0_3) != (*__self_1_3) || | |
|                             (*__self_0_4) != (*__self_1_4) || | |
|                             (*__self_0_5) != (*__self_1_5) || | |
|                             (*__self_0_6) != (*__self_1_6) || | |
|                             (*__self_0_7) != (*__self_1_7) || | |
|                             (*__self_0_8) != (*__self_1_8) || | |
|                             (*__self_0_9) != (*__self_1_9) || | |
|                             (*__self_0_10) != (*__self_1_10), | |
|                     }, | |
|                 } | |
|             } | |
|         } | |
|         /// Object containing url for streaming api. | |
|         pub struct StreamingApi { | |
|             /// Url for streaming API, typically a `wss://` url. | |
|             pub streaming_api: String, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for StreamingApi { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match *self { | |
|                     StreamingApi { streaming_api: ref __self_0_0 } => { | |
|                         let mut debug_trait_builder = | |
|                             f.debug_struct("StreamingApi"); | |
|                         let _ = | |
|                             debug_trait_builder.field("streaming_api", | |
|                                                       &&(*__self_0_0)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for StreamingApi { | |
|             #[inline] | |
|             fn clone(&self) -> StreamingApi { | |
|                 match *self { | |
|                     StreamingApi { streaming_api: ref __self_0_0 } => | |
|                     StreamingApi{streaming_api: | |
|                                      ::core::clone::Clone::clone(&(*__self_0_0)),}, | |
|                 } | |
|             } | |
|         } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_DESERIALIZE_FOR_StreamingApi: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl <'de> _serde::Deserialize<'de> for StreamingApi { | |
|                     fn deserialize<__D>(__deserializer: __D) | |
|                      -> _serde::export::Result<Self, __D::Error> where | |
|                      __D: _serde::Deserializer<'de> { | |
|                         #[allow(non_camel_case_types)] | |
|                         enum __Field { __field0, __ignore, } | |
|                         struct __FieldVisitor; | |
|                         impl <'de> _serde::de::Visitor<'de> for __FieldVisitor | |
|                          { | |
|                             type Value = __Field; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "field identifier") | |
|                             } | |
|                             fn visit_u64<__E>(self, __value: u64) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     0u64 => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     _ => | |
|                                     _serde::export::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value), | |
|                                                                                          &"field index 0 <= i < 1")), | |
|                                 } | |
|                             } | |
|                             fn visit_str<__E>(self, __value: &str) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     "streaming_api" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                             fn visit_bytes<__E>(self, __value: &[u8]) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     b"streaming_api" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                         } | |
|                         impl <'de> _serde::Deserialize<'de> for __Field { | |
|                             #[inline] | |
|                             fn deserialize<__D>(__deserializer: __D) | |
|                              -> _serde::export::Result<Self, __D::Error> where | |
|                              __D: _serde::Deserializer<'de> { | |
|                                 _serde::Deserializer::deserialize_identifier(__deserializer, | |
|                                                                              __FieldVisitor) | |
|                             } | |
|                         } | |
|                         struct __Visitor<'de> { | |
|                             marker: _serde::export::PhantomData<StreamingApi>, | |
|                             lifetime: _serde::export::PhantomData<&'de ()>, | |
|                         } | |
|                         impl <'de> _serde::de::Visitor<'de> for __Visitor<'de> | |
|                          { | |
|                             type Value = StreamingApi; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "struct StreamingApi") | |
|                             } | |
|                             #[inline] | |
|                             fn visit_seq<__A>(self, mut __seq: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::SeqAccess<'de> { | |
|                                 let __field0 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(0usize, | |
|                                                                                                          &"struct StreamingApi with 1 element")); | |
|                                         } | |
|                                     }; | |
|                                 _serde::export::Ok(StreamingApi{streaming_api: | |
|                                                                     __field0,}) | |
|                             } | |
|                             #[inline] | |
|                             fn visit_map<__A>(self, mut __map: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::MapAccess<'de> { | |
|                                 let mut __field0: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 while let _serde::export::Some(__key) = | |
|                                           match _serde::de::MapAccess::next_key::<__Field>(&mut __map) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                     match __key { | |
|                                         __Field::__field0 => { | |
|                                             if _serde::export::Option::is_some(&__field0) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("streaming_api")); | |
|                                             } | |
|                                             __field0 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         _ => { | |
|                                             let _ = | |
|                                                 match _serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map) | |
|                                                     { | |
|                                                     _serde::export::Ok(__val) | |
|                                                     => __val, | |
|                                                     _serde::export::Err(__err) | |
|                                                     => { | |
|                                                         return _serde::export::Err(__err); | |
|                                                     } | |
|                                                 }; | |
|                                         } | |
|                                     } | |
|                                 } | |
|                                 let __field0 = | |
|                                     match __field0 { | |
|                                         _serde::export::Some(__field0) => | |
|                                         __field0, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("streaming_api") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 _serde::export::Ok(StreamingApi{streaming_api: | |
|                                                                     __field0,}) | |
|                             } | |
|                         } | |
|                         const FIELDS: &'static [&'static str] = | |
|                             &["streaming_api"]; | |
|                         _serde::Deserializer::deserialize_struct(__deserializer, | |
|                                                                  "StreamingApi", | |
|                                                                  FIELDS, | |
|                                                                  __Visitor{marker: | |
|                                                                                _serde::export::PhantomData::<StreamingApi>, | |
|                                                                            lifetime: | |
|                                                                                _serde::export::PhantomData,}) | |
|                     } | |
|                 } | |
|             }; | |
|         impl ::core::marker::StructuralPartialEq for StreamingApi { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for StreamingApi { | |
|             #[inline] | |
|             fn eq(&self, other: &StreamingApi) -> bool { | |
|                 match *other { | |
|                     StreamingApi { streaming_api: ref __self_1_0 } => | |
|                     match *self { | |
|                         StreamingApi { streaming_api: ref __self_0_0 } => | |
|                         (*__self_0_0) == (*__self_1_0), | |
|                     }, | |
|                 } | |
|             } | |
|             #[inline] | |
|             fn ne(&self, other: &StreamingApi) -> bool { | |
|                 match *other { | |
|                     StreamingApi { streaming_api: ref __self_1_0 } => | |
|                     match *self { | |
|                         StreamingApi { streaming_api: ref __self_0_0 } => | |
|                         (*__self_0_0) != (*__self_1_0), | |
|                     }, | |
|                 } | |
|             } | |
|         } | |
|         /// Statistics about the Mastodon instance. | |
|         pub struct Stats { | |
|             user_count: u64, | |
|             status_count: u64, | |
|             domain_count: u64, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for Stats { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match *self { | |
|                     Stats { | |
|                     user_count: ref __self_0_0, | |
|                     status_count: ref __self_0_1, | |
|                     domain_count: ref __self_0_2 } => { | |
|                         let mut debug_trait_builder = f.debug_struct("Stats"); | |
|                         let _ = | |
|                             debug_trait_builder.field("user_count", | |
|                                                       &&(*__self_0_0)); | |
|                         let _ = | |
|                             debug_trait_builder.field("status_count", | |
|                                                       &&(*__self_0_1)); | |
|                         let _ = | |
|                             debug_trait_builder.field("domain_count", | |
|                                                       &&(*__self_0_2)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for Stats { | |
|             #[inline] | |
|             fn clone(&self) -> Stats { | |
|                 { | |
|                     let _: ::core::clone::AssertParamIsClone<u64>; | |
|                     let _: ::core::clone::AssertParamIsClone<u64>; | |
|                     let _: ::core::clone::AssertParamIsClone<u64>; | |
|                     *self | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::marker::Copy for Stats { } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_DESERIALIZE_FOR_Stats: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl <'de> _serde::Deserialize<'de> for Stats { | |
|                     fn deserialize<__D>(__deserializer: __D) | |
|                      -> _serde::export::Result<Self, __D::Error> where | |
|                      __D: _serde::Deserializer<'de> { | |
|                         #[allow(non_camel_case_types)] | |
|                         enum __Field { | |
|                             __field0, | |
|                             __field1, | |
|                             __field2, | |
|                             __ignore, | |
|                         } | |
|                         struct __FieldVisitor; | |
|                         impl <'de> _serde::de::Visitor<'de> for __FieldVisitor | |
|                          { | |
|                             type Value = __Field; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "field identifier") | |
|                             } | |
|                             fn visit_u64<__E>(self, __value: u64) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     0u64 => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     1u64 => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     2u64 => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     _ => | |
|                                     _serde::export::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value), | |
|                                                                                          &"field index 0 <= i < 3")), | |
|                                 } | |
|                             } | |
|                             fn visit_str<__E>(self, __value: &str) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     "user_count" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     "status_count" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     "domain_count" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                             fn visit_bytes<__E>(self, __value: &[u8]) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     b"user_count" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     b"status_count" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     b"domain_count" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                         } | |
|                         impl <'de> _serde::Deserialize<'de> for __Field { | |
|                             #[inline] | |
|                             fn deserialize<__D>(__deserializer: __D) | |
|                              -> _serde::export::Result<Self, __D::Error> where | |
|                              __D: _serde::Deserializer<'de> { | |
|                                 _serde::Deserializer::deserialize_identifier(__deserializer, | |
|                                                                              __FieldVisitor) | |
|                             } | |
|                         } | |
|                         struct __Visitor<'de> { | |
|                             marker: _serde::export::PhantomData<Stats>, | |
|                             lifetime: _serde::export::PhantomData<&'de ()>, | |
|                         } | |
|                         impl <'de> _serde::de::Visitor<'de> for __Visitor<'de> | |
|                          { | |
|                             type Value = Stats; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "struct Stats") | |
|                             } | |
|                             #[inline] | |
|                             fn visit_seq<__A>(self, mut __seq: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::SeqAccess<'de> { | |
|                                 let __field0 = | |
|                                     match match _serde::de::SeqAccess::next_element::<u64>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(0usize, | |
|                                                                                                          &"struct Stats with 3 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match match _serde::de::SeqAccess::next_element::<u64>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(1usize, | |
|                                                                                                          &"struct Stats with 3 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field2 = | |
|                                     match match _serde::de::SeqAccess::next_element::<u64>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(2usize, | |
|                                                                                                          &"struct Stats with 3 elements")); | |
|                                         } | |
|                                     }; | |
|                                 _serde::export::Ok(Stats{user_count: __field0, | |
|                                                          status_count: | |
|                                                              __field1, | |
|                                                          domain_count: | |
|                                                              __field2,}) | |
|                             } | |
|                             #[inline] | |
|                             fn visit_map<__A>(self, mut __map: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::MapAccess<'de> { | |
|                                 let mut __field0: | |
|                                         _serde::export::Option<u64> = | |
|                                     _serde::export::None; | |
|                                 let mut __field1: | |
|                                         _serde::export::Option<u64> = | |
|                                     _serde::export::None; | |
|                                 let mut __field2: | |
|                                         _serde::export::Option<u64> = | |
|                                     _serde::export::None; | |
|                                 while let _serde::export::Some(__key) = | |
|                                           match _serde::de::MapAccess::next_key::<__Field>(&mut __map) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                     match __key { | |
|                                         __Field::__field0 => { | |
|                                             if _serde::export::Option::is_some(&__field0) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("user_count")); | |
|                                             } | |
|                                             __field0 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<u64>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field1 => { | |
|                                             if _serde::export::Option::is_some(&__field1) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("status_count")); | |
|                                             } | |
|                                             __field1 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<u64>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field2 => { | |
|                                             if _serde::export::Option::is_some(&__field2) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("domain_count")); | |
|                                             } | |
|                                             __field2 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<u64>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         _ => { | |
|                                             let _ = | |
|                                                 match _serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map) | |
|                                                     { | |
|                                                     _serde::export::Ok(__val) | |
|                                                     => __val, | |
|                                                     _serde::export::Err(__err) | |
|                                                     => { | |
|                                                         return _serde::export::Err(__err); | |
|                                                     } | |
|                                                 }; | |
|                                         } | |
|                                     } | |
|                                 } | |
|                                 let __field0 = | |
|                                     match __field0 { | |
|                                         _serde::export::Some(__field0) => | |
|                                         __field0, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("user_count") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match __field1 { | |
|                                         _serde::export::Some(__field1) => | |
|                                         __field1, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("status_count") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field2 = | |
|                                     match __field2 { | |
|                                         _serde::export::Some(__field2) => | |
|                                         __field2, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("domain_count") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 _serde::export::Ok(Stats{user_count: __field0, | |
|                                                          status_count: | |
|                                                              __field1, | |
|                                                          domain_count: | |
|                                                              __field2,}) | |
|                             } | |
|                         } | |
|                         const FIELDS: &'static [&'static str] = | |
|                             &["user_count", "status_count", "domain_count"]; | |
|                         _serde::Deserializer::deserialize_struct(__deserializer, | |
|                                                                  "Stats", | |
|                                                                  FIELDS, | |
|                                                                  __Visitor{marker: | |
|                                                                                _serde::export::PhantomData::<Stats>, | |
|                                                                            lifetime: | |
|                                                                                _serde::export::PhantomData,}) | |
|                     } | |
|                 } | |
|             }; | |
|         impl ::core::marker::StructuralPartialEq for Stats { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for Stats { | |
|             #[inline] | |
|             fn eq(&self, other: &Stats) -> bool { | |
|                 match *other { | |
|                     Stats { | |
|                     user_count: ref __self_1_0, | |
|                     status_count: ref __self_1_1, | |
|                     domain_count: ref __self_1_2 } => | |
|                     match *self { | |
|                         Stats { | |
|                         user_count: ref __self_0_0, | |
|                         status_count: ref __self_0_1, | |
|                         domain_count: ref __self_0_2 } => | |
|                         (*__self_0_0) == (*__self_1_0) && | |
|                             (*__self_0_1) == (*__self_1_1) && | |
|                             (*__self_0_2) == (*__self_1_2), | |
|                     }, | |
|                 } | |
|             } | |
|             #[inline] | |
|             fn ne(&self, other: &Stats) -> bool { | |
|                 match *other { | |
|                     Stats { | |
|                     user_count: ref __self_1_0, | |
|                     status_count: ref __self_1_1, | |
|                     domain_count: ref __self_1_2 } => | |
|                     match *self { | |
|                         Stats { | |
|                         user_count: ref __self_0_0, | |
|                         status_count: ref __self_0_1, | |
|                         domain_count: ref __self_0_2 } => | |
|                         (*__self_0_0) != (*__self_1_0) || | |
|                             (*__self_0_1) != (*__self_1_1) || | |
|                             (*__self_0_2) != (*__self_1_2), | |
|                     }, | |
|                 } | |
|             } | |
|         } | |
|     } | |
|     /// Data structures for ser/de of list-related resources | |
|     pub mod list { | |
|         /// Used for ser/de of list resources | |
|         pub struct List { | |
|             id: String, | |
|             title: String, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for List { | |
|             #[inline] | |
|             fn clone(&self) -> List { | |
|                 match *self { | |
|                     List { id: ref __self_0_0, title: ref __self_0_1 } => | |
|                     List{id: ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                          title: ::core::clone::Clone::clone(&(*__self_0_1)),}, | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for List { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match *self { | |
|                     List { id: ref __self_0_0, title: ref __self_0_1 } => { | |
|                         let mut debug_trait_builder = f.debug_struct("List"); | |
|                         let _ = | |
|                             debug_trait_builder.field("id", &&(*__self_0_0)); | |
|                         let _ = | |
|                             debug_trait_builder.field("title", | |
|                                                       &&(*__self_0_1)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_DESERIALIZE_FOR_List: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl <'de> _serde::Deserialize<'de> for List { | |
|                     fn deserialize<__D>(__deserializer: __D) | |
|                      -> _serde::export::Result<Self, __D::Error> where | |
|                      __D: _serde::Deserializer<'de> { | |
|                         #[allow(non_camel_case_types)] | |
|                         enum __Field { __field0, __field1, __ignore, } | |
|                         struct __FieldVisitor; | |
|                         impl <'de> _serde::de::Visitor<'de> for __FieldVisitor | |
|                          { | |
|                             type Value = __Field; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "field identifier") | |
|                             } | |
|                             fn visit_u64<__E>(self, __value: u64) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     0u64 => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     1u64 => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     _ => | |
|                                     _serde::export::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value), | |
|                                                                                          &"field index 0 <= i < 2")), | |
|                                 } | |
|                             } | |
|                             fn visit_str<__E>(self, __value: &str) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     "id" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     "title" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                             fn visit_bytes<__E>(self, __value: &[u8]) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     b"id" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     b"title" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                         } | |
|                         impl <'de> _serde::Deserialize<'de> for __Field { | |
|                             #[inline] | |
|                             fn deserialize<__D>(__deserializer: __D) | |
|                              -> _serde::export::Result<Self, __D::Error> where | |
|                              __D: _serde::Deserializer<'de> { | |
|                                 _serde::Deserializer::deserialize_identifier(__deserializer, | |
|                                                                              __FieldVisitor) | |
|                             } | |
|                         } | |
|                         struct __Visitor<'de> { | |
|                             marker: _serde::export::PhantomData<List>, | |
|                             lifetime: _serde::export::PhantomData<&'de ()>, | |
|                         } | |
|                         impl <'de> _serde::de::Visitor<'de> for __Visitor<'de> | |
|                          { | |
|                             type Value = List; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "struct List") | |
|                             } | |
|                             #[inline] | |
|                             fn visit_seq<__A>(self, mut __seq: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::SeqAccess<'de> { | |
|                                 let __field0 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(0usize, | |
|                                                                                                          &"struct List with 2 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(1usize, | |
|                                                                                                          &"struct List with 2 elements")); | |
|                                         } | |
|                                     }; | |
|                                 _serde::export::Ok(List{id: __field0, | |
|                                                         title: __field1,}) | |
|                             } | |
|                             #[inline] | |
|                             fn visit_map<__A>(self, mut __map: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::MapAccess<'de> { | |
|                                 let mut __field0: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field1: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 while let _serde::export::Some(__key) = | |
|                                           match _serde::de::MapAccess::next_key::<__Field>(&mut __map) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                     match __key { | |
|                                         __Field::__field0 => { | |
|                                             if _serde::export::Option::is_some(&__field0) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("id")); | |
|                                             } | |
|                                             __field0 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field1 => { | |
|                                             if _serde::export::Option::is_some(&__field1) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("title")); | |
|                                             } | |
|                                             __field1 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         _ => { | |
|                                             let _ = | |
|                                                 match _serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map) | |
|                                                     { | |
|                                                     _serde::export::Ok(__val) | |
|                                                     => __val, | |
|                                                     _serde::export::Err(__err) | |
|                                                     => { | |
|                                                         return _serde::export::Err(__err); | |
|                                                     } | |
|                                                 }; | |
|                                         } | |
|                                     } | |
|                                 } | |
|                                 let __field0 = | |
|                                     match __field0 { | |
|                                         _serde::export::Some(__field0) => | |
|                                         __field0, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("id") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match __field1 { | |
|                                         _serde::export::Some(__field1) => | |
|                                         __field1, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("title") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 _serde::export::Ok(List{id: __field0, | |
|                                                         title: __field1,}) | |
|                             } | |
|                         } | |
|                         const FIELDS: &'static [&'static str] = | |
|                             &["id", "title"]; | |
|                         _serde::Deserializer::deserialize_struct(__deserializer, | |
|                                                                  "List", | |
|                                                                  FIELDS, | |
|                                                                  __Visitor{marker: | |
|                                                                                _serde::export::PhantomData::<List>, | |
|                                                                            lifetime: | |
|                                                                                _serde::export::PhantomData,}) | |
|                     } | |
|                 } | |
|             }; | |
|         impl ::core::marker::StructuralPartialEq for List { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for List { | |
|             #[inline] | |
|             fn eq(&self, other: &List) -> bool { | |
|                 match *other { | |
|                     List { id: ref __self_1_0, title: ref __self_1_1 } => | |
|                     match *self { | |
|                         List { id: ref __self_0_0, title: ref __self_0_1 } => | |
|                         (*__self_0_0) == (*__self_1_0) && | |
|                             (*__self_0_1) == (*__self_1_1), | |
|                     }, | |
|                 } | |
|             } | |
|             #[inline] | |
|             fn ne(&self, other: &List) -> bool { | |
|                 match *other { | |
|                     List { id: ref __self_1_0, title: ref __self_1_1 } => | |
|                     match *self { | |
|                         List { id: ref __self_0_0, title: ref __self_0_1 } => | |
|                         (*__self_0_0) != (*__self_1_0) || | |
|                             (*__self_0_1) != (*__self_1_1), | |
|                     }, | |
|                 } | |
|             } | |
|         } | |
|     } | |
|     /// Data structures for ser/de of mention-related resources | |
|     pub mod mention { | |
|         /// Represents a `mention` used in a status | |
|         pub struct Mention { | |
|             /// URL of user's profile (can be remote) | |
|             pub url: String, | |
|             /// The username of the account | |
|             pub username: String, | |
|             /// Equals username for local users, includes `@domain` for remote ones | |
|             pub acct: String, | |
|             /// Account ID | |
|             pub id: String, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for Mention { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match *self { | |
|                     Mention { | |
|                     url: ref __self_0_0, | |
|                     username: ref __self_0_1, | |
|                     acct: ref __self_0_2, | |
|                     id: ref __self_0_3 } => { | |
|                         let mut debug_trait_builder = | |
|                             f.debug_struct("Mention"); | |
|                         let _ = | |
|                             debug_trait_builder.field("url", &&(*__self_0_0)); | |
|                         let _ = | |
|                             debug_trait_builder.field("username", | |
|                                                       &&(*__self_0_1)); | |
|                         let _ = | |
|                             debug_trait_builder.field("acct", | |
|                                                       &&(*__self_0_2)); | |
|                         let _ = | |
|                             debug_trait_builder.field("id", &&(*__self_0_3)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for Mention { | |
|             #[inline] | |
|             fn clone(&self) -> Mention { | |
|                 match *self { | |
|                     Mention { | |
|                     url: ref __self_0_0, | |
|                     username: ref __self_0_1, | |
|                     acct: ref __self_0_2, | |
|                     id: ref __self_0_3 } => | |
|                     Mention{url: ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                             username: | |
|                                 ::core::clone::Clone::clone(&(*__self_0_1)), | |
|                             acct: ::core::clone::Clone::clone(&(*__self_0_2)), | |
|                             id: ::core::clone::Clone::clone(&(*__self_0_3)),}, | |
|                 } | |
|             } | |
|         } | |
|         impl ::core::marker::StructuralPartialEq for Mention { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for Mention { | |
|             #[inline] | |
|             fn eq(&self, other: &Mention) -> bool { | |
|                 match *other { | |
|                     Mention { | |
|                     url: ref __self_1_0, | |
|                     username: ref __self_1_1, | |
|                     acct: ref __self_1_2, | |
|                     id: ref __self_1_3 } => | |
|                     match *self { | |
|                         Mention { | |
|                         url: ref __self_0_0, | |
|                         username: ref __self_0_1, | |
|                         acct: ref __self_0_2, | |
|                         id: ref __self_0_3 } => | |
|                         (*__self_0_0) == (*__self_1_0) && | |
|                             (*__self_0_1) == (*__self_1_1) && | |
|                             (*__self_0_2) == (*__self_1_2) && | |
|                             (*__self_0_3) == (*__self_1_3), | |
|                     }, | |
|                 } | |
|             } | |
|             #[inline] | |
|             fn ne(&self, other: &Mention) -> bool { | |
|                 match *other { | |
|                     Mention { | |
|                     url: ref __self_1_0, | |
|                     username: ref __self_1_1, | |
|                     acct: ref __self_1_2, | |
|                     id: ref __self_1_3 } => | |
|                     match *self { | |
|                         Mention { | |
|                         url: ref __self_0_0, | |
|                         username: ref __self_0_1, | |
|                         acct: ref __self_0_2, | |
|                         id: ref __self_0_3 } => | |
|                         (*__self_0_0) != (*__self_1_0) || | |
|                             (*__self_0_1) != (*__self_1_1) || | |
|                             (*__self_0_2) != (*__self_1_2) || | |
|                             (*__self_0_3) != (*__self_1_3), | |
|                     }, | |
|                 } | |
|             } | |
|         } | |
|     } | |
|     /// Data structures for ser/de of notification-related resources | |
|     pub mod notification { | |
|         //! Module containing all info about notifications. | |
|         use super::{account::Account, status::Status}; | |
|         use chrono::prelude::*; | |
|         /// A struct containing info about a notification. | |
|         pub struct Notification { | |
|             /// The notification ID. | |
|             pub id: String, | |
|             /// The type of notification. | |
|             #[serde(rename = "type")] | |
|             pub notification_type: NotificationType, | |
|             /// The time the notification was created. | |
|             pub created_at: DateTime<Utc>, | |
|             /// The Account sending the notification to the user. | |
|             pub account: Account, | |
|             /// The Status associated with the notification, if applicable. | |
|             pub status: Option<Status>, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for Notification { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match *self { | |
|                     Notification { | |
|                     id: ref __self_0_0, | |
|                     notification_type: ref __self_0_1, | |
|                     created_at: ref __self_0_2, | |
|                     account: ref __self_0_3, | |
|                     status: ref __self_0_4 } => { | |
|                         let mut debug_trait_builder = | |
|                             f.debug_struct("Notification"); | |
|                         let _ = | |
|                             debug_trait_builder.field("id", &&(*__self_0_0)); | |
|                         let _ = | |
|                             debug_trait_builder.field("notification_type", | |
|                                                       &&(*__self_0_1)); | |
|                         let _ = | |
|                             debug_trait_builder.field("created_at", | |
|                                                       &&(*__self_0_2)); | |
|                         let _ = | |
|                             debug_trait_builder.field("account", | |
|                                                       &&(*__self_0_3)); | |
|                         let _ = | |
|                             debug_trait_builder.field("status", | |
|                                                       &&(*__self_0_4)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for Notification { | |
|             #[inline] | |
|             fn clone(&self) -> Notification { | |
|                 match *self { | |
|                     Notification { | |
|                     id: ref __self_0_0, | |
|                     notification_type: ref __self_0_1, | |
|                     created_at: ref __self_0_2, | |
|                     account: ref __self_0_3, | |
|                     status: ref __self_0_4 } => | |
|                     Notification{id: | |
|                                      ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                                  notification_type: | |
|                                      ::core::clone::Clone::clone(&(*__self_0_1)), | |
|                                  created_at: | |
|                                      ::core::clone::Clone::clone(&(*__self_0_2)), | |
|                                  account: | |
|                                      ::core::clone::Clone::clone(&(*__self_0_3)), | |
|                                  status: | |
|                                      ::core::clone::Clone::clone(&(*__self_0_4)),}, | |
|                 } | |
|             } | |
|         } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_DESERIALIZE_FOR_Notification: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl <'de> _serde::Deserialize<'de> for Notification { | |
|                     fn deserialize<__D>(__deserializer: __D) | |
|                      -> _serde::export::Result<Self, __D::Error> where | |
|                      __D: _serde::Deserializer<'de> { | |
|                         #[allow(non_camel_case_types)] | |
|                         enum __Field { | |
|                             __field0, | |
|                             __field1, | |
|                             __field2, | |
|                             __field3, | |
|                             __field4, | |
|                             __ignore, | |
|                         } | |
|                         struct __FieldVisitor; | |
|                         impl <'de> _serde::de::Visitor<'de> for __FieldVisitor | |
|                          { | |
|                             type Value = __Field; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "field identifier") | |
|                             } | |
|                             fn visit_u64<__E>(self, __value: u64) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     0u64 => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     1u64 => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     2u64 => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     3u64 => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     4u64 => | |
|                                     _serde::export::Ok(__Field::__field4), | |
|                                     _ => | |
|                                     _serde::export::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value), | |
|                                                                                          &"field index 0 <= i < 5")), | |
|                                 } | |
|                             } | |
|                             fn visit_str<__E>(self, __value: &str) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     "id" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     "type" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     "created_at" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     "account" => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     "status" => | |
|                                     _serde::export::Ok(__Field::__field4), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                             fn visit_bytes<__E>(self, __value: &[u8]) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     b"id" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     b"type" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     b"created_at" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     b"account" => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     b"status" => | |
|                                     _serde::export::Ok(__Field::__field4), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                         } | |
|                         impl <'de> _serde::Deserialize<'de> for __Field { | |
|                             #[inline] | |
|                             fn deserialize<__D>(__deserializer: __D) | |
|                              -> _serde::export::Result<Self, __D::Error> where | |
|                              __D: _serde::Deserializer<'de> { | |
|                                 _serde::Deserializer::deserialize_identifier(__deserializer, | |
|                                                                              __FieldVisitor) | |
|                             } | |
|                         } | |
|                         struct __Visitor<'de> { | |
|                             marker: _serde::export::PhantomData<Notification>, | |
|                             lifetime: _serde::export::PhantomData<&'de ()>, | |
|                         } | |
|                         impl <'de> _serde::de::Visitor<'de> for __Visitor<'de> | |
|                          { | |
|                             type Value = Notification; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "struct Notification") | |
|                             } | |
|                             #[inline] | |
|                             fn visit_seq<__A>(self, mut __seq: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::SeqAccess<'de> { | |
|                                 let __field0 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(0usize, | |
|                                                                                                          &"struct Notification with 5 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match match _serde::de::SeqAccess::next_element::<NotificationType>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(1usize, | |
|                                                                                                          &"struct Notification with 5 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field2 = | |
|                                     match match _serde::de::SeqAccess::next_element::<DateTime<Utc>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(2usize, | |
|                                                                                                          &"struct Notification with 5 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field3 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Account>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(3usize, | |
|                                                                                                          &"struct Notification with 5 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field4 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<Status>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(4usize, | |
|                                                                                                          &"struct Notification with 5 elements")); | |
|                                         } | |
|                                     }; | |
|                                 _serde::export::Ok(Notification{id: __field0, | |
|                                                                 notification_type: | |
|                                                                     __field1, | |
|                                                                 created_at: | |
|                                                                     __field2, | |
|                                                                 account: | |
|                                                                     __field3, | |
|                                                                 status: | |
|                                                                     __field4,}) | |
|                             } | |
|                             #[inline] | |
|                             fn visit_map<__A>(self, mut __map: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::MapAccess<'de> { | |
|                                 let mut __field0: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field1: | |
|                                         _serde::export::Option<NotificationType> = | |
|                                     _serde::export::None; | |
|                                 let mut __field2: | |
|                                         _serde::export::Option<DateTime<Utc>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field3: | |
|                                         _serde::export::Option<Account> = | |
|                                     _serde::export::None; | |
|                                 let mut __field4: | |
|                                         _serde::export::Option<Option<Status>> = | |
|                                     _serde::export::None; | |
|                                 while let _serde::export::Some(__key) = | |
|                                           match _serde::de::MapAccess::next_key::<__Field>(&mut __map) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                     match __key { | |
|                                         __Field::__field0 => { | |
|                                             if _serde::export::Option::is_some(&__field0) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("id")); | |
|                                             } | |
|                                             __field0 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field1 => { | |
|                                             if _serde::export::Option::is_some(&__field1) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("type")); | |
|                                             } | |
|                                             __field1 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<NotificationType>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field2 => { | |
|                                             if _serde::export::Option::is_some(&__field2) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("created_at")); | |
|                                             } | |
|                                             __field2 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<DateTime<Utc>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field3 => { | |
|                                             if _serde::export::Option::is_some(&__field3) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("account")); | |
|                                             } | |
|                                             __field3 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Account>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field4 => { | |
|                                             if _serde::export::Option::is_some(&__field4) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("status")); | |
|                                             } | |
|                                             __field4 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<Status>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         _ => { | |
|                                             let _ = | |
|                                                 match _serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map) | |
|                                                     { | |
|                                                     _serde::export::Ok(__val) | |
|                                                     => __val, | |
|                                                     _serde::export::Err(__err) | |
|                                                     => { | |
|                                                         return _serde::export::Err(__err); | |
|                                                     } | |
|                                                 }; | |
|                                         } | |
|                                     } | |
|                                 } | |
|                                 let __field0 = | |
|                                     match __field0 { | |
|                                         _serde::export::Some(__field0) => | |
|                                         __field0, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("id") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match __field1 { | |
|                                         _serde::export::Some(__field1) => | |
|                                         __field1, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("type") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field2 = | |
|                                     match __field2 { | |
|                                         _serde::export::Some(__field2) => | |
|                                         __field2, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("created_at") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field3 = | |
|                                     match __field3 { | |
|                                         _serde::export::Some(__field3) => | |
|                                         __field3, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("account") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field4 = | |
|                                     match __field4 { | |
|                                         _serde::export::Some(__field4) => | |
|                                         __field4, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("status") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 _serde::export::Ok(Notification{id: __field0, | |
|                                                                 notification_type: | |
|                                                                     __field1, | |
|                                                                 created_at: | |
|                                                                     __field2, | |
|                                                                 account: | |
|                                                                     __field3, | |
|                                                                 status: | |
|                                                                     __field4,}) | |
|                             } | |
|                         } | |
|                         const FIELDS: &'static [&'static str] = | |
|                             &["id", "type", "created_at", "account", | |
|                               "status"]; | |
|                         _serde::Deserializer::deserialize_struct(__deserializer, | |
|                                                                  "Notification", | |
|                                                                  FIELDS, | |
|                                                                  __Visitor{marker: | |
|                                                                                _serde::export::PhantomData::<Notification>, | |
|                                                                            lifetime: | |
|                                                                                _serde::export::PhantomData,}) | |
|                     } | |
|                 } | |
|             }; | |
|         impl ::core::marker::StructuralPartialEq for Notification { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for Notification { | |
|             #[inline] | |
|             fn eq(&self, other: &Notification) -> bool { | |
|                 match *other { | |
|                     Notification { | |
|                     id: ref __self_1_0, | |
|                     notification_type: ref __self_1_1, | |
|                     created_at: ref __self_1_2, | |
|                     account: ref __self_1_3, | |
|                     status: ref __self_1_4 } => | |
|                     match *self { | |
|                         Notification { | |
|                         id: ref __self_0_0, | |
|                         notification_type: ref __self_0_1, | |
|                         created_at: ref __self_0_2, | |
|                         account: ref __self_0_3, | |
|                         status: ref __self_0_4 } => | |
|                         (*__self_0_0) == (*__self_1_0) && | |
|                             (*__self_0_1) == (*__self_1_1) && | |
|                             (*__self_0_2) == (*__self_1_2) && | |
|                             (*__self_0_3) == (*__self_1_3) && | |
|                             (*__self_0_4) == (*__self_1_4), | |
|                     }, | |
|                 } | |
|             } | |
|             #[inline] | |
|             fn ne(&self, other: &Notification) -> bool { | |
|                 match *other { | |
|                     Notification { | |
|                     id: ref __self_1_0, | |
|                     notification_type: ref __self_1_1, | |
|                     created_at: ref __self_1_2, | |
|                     account: ref __self_1_3, | |
|                     status: ref __self_1_4 } => | |
|                     match *self { | |
|                         Notification { | |
|                         id: ref __self_0_0, | |
|                         notification_type: ref __self_0_1, | |
|                         created_at: ref __self_0_2, | |
|                         account: ref __self_0_3, | |
|                         status: ref __self_0_4 } => | |
|                         (*__self_0_0) != (*__self_1_0) || | |
|                             (*__self_0_1) != (*__self_1_1) || | |
|                             (*__self_0_2) != (*__self_1_2) || | |
|                             (*__self_0_3) != (*__self_1_3) || | |
|                             (*__self_0_4) != (*__self_1_4), | |
|                     }, | |
|                 } | |
|             } | |
|         } | |
|         /// The type of notification. | |
|         #[serde(rename_all = "lowercase")] | |
|         pub enum NotificationType { | |
| 
 | |
|             /// Someone mentioned the application client in another status. | |
|             Mention, | |
| 
 | |
|             /// Someone reblogged one of the application client's statuses. | |
|             Reblog, | |
| 
 | |
|             /// Someone favourited one of the application client's statuses. | |
|             Favourite, | |
| 
 | |
|             /// Someone followed the application client. | |
|             Follow, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for NotificationType { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match (&*self,) { | |
|                     (&NotificationType::Mention,) => { | |
|                         let mut debug_trait_builder = | |
|                             f.debug_tuple("Mention"); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                     (&NotificationType::Reblog,) => { | |
|                         let mut debug_trait_builder = f.debug_tuple("Reblog"); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                     (&NotificationType::Favourite,) => { | |
|                         let mut debug_trait_builder = | |
|                             f.debug_tuple("Favourite"); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                     (&NotificationType::Follow,) => { | |
|                         let mut debug_trait_builder = f.debug_tuple("Follow"); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for NotificationType { | |
|             #[inline] | |
|             fn clone(&self) -> NotificationType { { *self } } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::marker::Copy for NotificationType { } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_DESERIALIZE_FOR_NotificationType: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl <'de> _serde::Deserialize<'de> for NotificationType { | |
|                     fn deserialize<__D>(__deserializer: __D) | |
|                      -> _serde::export::Result<Self, __D::Error> where | |
|                      __D: _serde::Deserializer<'de> { | |
|                         #[allow(non_camel_case_types)] | |
|                         enum __Field { | |
|                             __field0, | |
|                             __field1, | |
|                             __field2, | |
|                             __field3, | |
|                         } | |
|                         struct __FieldVisitor; | |
|                         impl <'de> _serde::de::Visitor<'de> for __FieldVisitor | |
|                          { | |
|                             type Value = __Field; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "variant identifier") | |
|                             } | |
|                             fn visit_u64<__E>(self, __value: u64) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     0u64 => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     1u64 => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     2u64 => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     3u64 => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     _ => | |
|                                     _serde::export::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value), | |
|                                                                                          &"variant index 0 <= i < 4")), | |
|                                 } | |
|                             } | |
|                             fn visit_str<__E>(self, __value: &str) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     "mention" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     "reblog" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     "favourite" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     "follow" => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     _ => { | |
|                                         _serde::export::Err(_serde::de::Error::unknown_variant(__value, | |
|                                                                                                VARIANTS)) | |
|                                     } | |
|                                 } | |
|                             } | |
|                             fn visit_bytes<__E>(self, __value: &[u8]) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     b"mention" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     b"reblog" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     b"favourite" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     b"follow" => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     _ => { | |
|                                         let __value = | |
|                                             &_serde::export::from_utf8_lossy(__value); | |
|                                         _serde::export::Err(_serde::de::Error::unknown_variant(__value, | |
|                                                                                                VARIANTS)) | |
|                                     } | |
|                                 } | |
|                             } | |
|                         } | |
|                         impl <'de> _serde::Deserialize<'de> for __Field { | |
|                             #[inline] | |
|                             fn deserialize<__D>(__deserializer: __D) | |
|                              -> _serde::export::Result<Self, __D::Error> where | |
|                              __D: _serde::Deserializer<'de> { | |
|                                 _serde::Deserializer::deserialize_identifier(__deserializer, | |
|                                                                              __FieldVisitor) | |
|                             } | |
|                         } | |
|                         struct __Visitor<'de> { | |
|                             marker: _serde::export::PhantomData<NotificationType>, | |
|                             lifetime: _serde::export::PhantomData<&'de ()>, | |
|                         } | |
|                         impl <'de> _serde::de::Visitor<'de> for __Visitor<'de> | |
|                          { | |
|                             type Value = NotificationType; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "enum NotificationType") | |
|                             } | |
|                             fn visit_enum<__A>(self, __data: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::EnumAccess<'de> { | |
|                                 match match _serde::de::EnumAccess::variant(__data) | |
|                                           { | |
|                                           _serde::export::Ok(__val) => __val, | |
|                                           _serde::export::Err(__err) => { | |
|                                               return _serde::export::Err(__err); | |
|                                           } | |
|                                       } { | |
|                                     (__Field::__field0, __variant) => { | |
|                                         match _serde::de::VariantAccess::unit_variant(__variant) | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }; | |
|                                         _serde::export::Ok(NotificationType::Mention) | |
|                                     } | |
|                                     (__Field::__field1, __variant) => { | |
|                                         match _serde::de::VariantAccess::unit_variant(__variant) | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }; | |
|                                         _serde::export::Ok(NotificationType::Reblog) | |
|                                     } | |
|                                     (__Field::__field2, __variant) => { | |
|                                         match _serde::de::VariantAccess::unit_variant(__variant) | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }; | |
|                                         _serde::export::Ok(NotificationType::Favourite) | |
|                                     } | |
|                                     (__Field::__field3, __variant) => { | |
|                                         match _serde::de::VariantAccess::unit_variant(__variant) | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }; | |
|                                         _serde::export::Ok(NotificationType::Follow) | |
|                                     } | |
|                                 } | |
|                             } | |
|                         } | |
|                         const VARIANTS: &'static [&'static str] = | |
|                             &["mention", "reblog", "favourite", "follow"]; | |
|                         _serde::Deserializer::deserialize_enum(__deserializer, | |
|                                                                "NotificationType", | |
|                                                                VARIANTS, | |
|                                                                __Visitor{marker: | |
|                                                                              _serde::export::PhantomData::<NotificationType>, | |
|                                                                          lifetime: | |
|                                                                              _serde::export::PhantomData,}) | |
|                     } | |
|                 } | |
|             }; | |
|         impl ::core::marker::StructuralPartialEq for NotificationType { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for NotificationType { | |
|             #[inline] | |
|             fn eq(&self, other: &NotificationType) -> bool { | |
|                 { | |
|                     let __self_vi = | |
|                         unsafe { | |
|                             ::core::intrinsics::discriminant_value(&*self) | |
|                         }; | |
|                     let __arg_1_vi = | |
|                         unsafe { | |
|                             ::core::intrinsics::discriminant_value(&*other) | |
|                         }; | |
|                     if true && __self_vi == __arg_1_vi { | |
|                         match (&*self, &*other) { _ => true, } | |
|                     } else { false } | |
|                 } | |
|             } | |
|         } | |
|     } | |
|     /// Data structures for ser/de of push-subscription-related resources | |
|     pub mod push { | |
|         /// Represents the `alerts` key of the `Subscription` object | |
|         pub struct Alerts { | |
|             /// flag for follow alerts | |
|             pub follow: Option<bool>, | |
|             /// flag for favourite alerts | |
|             pub favourite: Option<bool>, | |
|             /// flag for reblog alerts | |
|             pub reblog: Option<bool>, | |
|             /// flag for mention alerts | |
|             pub mention: Option<bool>, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for Alerts { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match *self { | |
|                     Alerts { | |
|                     follow: ref __self_0_0, | |
|                     favourite: ref __self_0_1, | |
|                     reblog: ref __self_0_2, | |
|                     mention: ref __self_0_3 } => { | |
|                         let mut debug_trait_builder = | |
|                             f.debug_struct("Alerts"); | |
|                         let _ = | |
|                             debug_trait_builder.field("follow", | |
|                                                       &&(*__self_0_0)); | |
|                         let _ = | |
|                             debug_trait_builder.field("favourite", | |
|                                                       &&(*__self_0_1)); | |
|                         let _ = | |
|                             debug_trait_builder.field("reblog", | |
|                                                       &&(*__self_0_2)); | |
|                         let _ = | |
|                             debug_trait_builder.field("mention", | |
|                                                       &&(*__self_0_3)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for Alerts { | |
|             #[inline] | |
|             fn clone(&self) -> Alerts { | |
|                 { | |
|                     let _: ::core::clone::AssertParamIsClone<Option<bool>>; | |
|                     let _: ::core::clone::AssertParamIsClone<Option<bool>>; | |
|                     let _: ::core::clone::AssertParamIsClone<Option<bool>>; | |
|                     let _: ::core::clone::AssertParamIsClone<Option<bool>>; | |
|                     *self | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::marker::Copy for Alerts { } | |
|         impl ::core::marker::StructuralPartialEq for Alerts { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for Alerts { | |
|             #[inline] | |
|             fn eq(&self, other: &Alerts) -> bool { | |
|                 match *other { | |
|                     Alerts { | |
|                     follow: ref __self_1_0, | |
|                     favourite: ref __self_1_1, | |
|                     reblog: ref __self_1_2, | |
|                     mention: ref __self_1_3 } => | |
|                     match *self { | |
|                         Alerts { | |
|                         follow: ref __self_0_0, | |
|                         favourite: ref __self_0_1, | |
|                         reblog: ref __self_0_2, | |
|                         mention: ref __self_0_3 } => | |
|                         (*__self_0_0) == (*__self_1_0) && | |
|                             (*__self_0_1) == (*__self_1_1) && | |
|                             (*__self_0_2) == (*__self_1_2) && | |
|                             (*__self_0_3) == (*__self_1_3), | |
|                     }, | |
|                 } | |
|             } | |
|             #[inline] | |
|             fn ne(&self, other: &Alerts) -> bool { | |
|                 match *other { | |
|                     Alerts { | |
|                     follow: ref __self_1_0, | |
|                     favourite: ref __self_1_1, | |
|                     reblog: ref __self_1_2, | |
|                     mention: ref __self_1_3 } => | |
|                     match *self { | |
|                         Alerts { | |
|                         follow: ref __self_0_0, | |
|                         favourite: ref __self_0_1, | |
|                         reblog: ref __self_0_2, | |
|                         mention: ref __self_0_3 } => | |
|                         (*__self_0_0) != (*__self_1_0) || | |
|                             (*__self_0_1) != (*__self_1_1) || | |
|                             (*__self_0_2) != (*__self_1_2) || | |
|                             (*__self_0_3) != (*__self_1_3), | |
|                     }, | |
|                 } | |
|             } | |
|         } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_SERIALIZE_FOR_Alerts: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl _serde::Serialize for Alerts { | |
|                     fn serialize<__S>(&self, __serializer: __S) | |
|                      -> _serde::export::Result<__S::Ok, __S::Error> where | |
|                      __S: _serde::Serializer { | |
|                         let mut __serde_state = | |
|                             match _serde::Serializer::serialize_struct(__serializer, | |
|                                                                        "Alerts", | |
|                                                                        false | |
|                                                                            as | |
|                                                                            usize | |
|                                                                            + 1 | |
|                                                                            + 1 | |
|                                                                            + 1 | |
|                                                                            + | |
|                                                                            1) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "follow", | |
|                                                                             &self.follow) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "favourite", | |
|                                                                             &self.favourite) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "reblog", | |
|                                                                             &self.reblog) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "mention", | |
|                                                                             &self.mention) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                         _serde::ser::SerializeStruct::end(__serde_state) | |
|                     } | |
|                 } | |
|             }; | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_DESERIALIZE_FOR_Alerts: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl <'de> _serde::Deserialize<'de> for Alerts { | |
|                     fn deserialize<__D>(__deserializer: __D) | |
|                      -> _serde::export::Result<Self, __D::Error> where | |
|                      __D: _serde::Deserializer<'de> { | |
|                         #[allow(non_camel_case_types)] | |
|                         enum __Field { | |
|                             __field0, | |
|                             __field1, | |
|                             __field2, | |
|                             __field3, | |
|                             __ignore, | |
|                         } | |
|                         struct __FieldVisitor; | |
|                         impl <'de> _serde::de::Visitor<'de> for __FieldVisitor | |
|                          { | |
|                             type Value = __Field; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "field identifier") | |
|                             } | |
|                             fn visit_u64<__E>(self, __value: u64) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     0u64 => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     1u64 => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     2u64 => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     3u64 => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     _ => | |
|                                     _serde::export::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value), | |
|                                                                                          &"field index 0 <= i < 4")), | |
|                                 } | |
|                             } | |
|                             fn visit_str<__E>(self, __value: &str) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     "follow" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     "favourite" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     "reblog" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     "mention" => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                             fn visit_bytes<__E>(self, __value: &[u8]) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     b"follow" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     b"favourite" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     b"reblog" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     b"mention" => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                         } | |
|                         impl <'de> _serde::Deserialize<'de> for __Field { | |
|                             #[inline] | |
|                             fn deserialize<__D>(__deserializer: __D) | |
|                              -> _serde::export::Result<Self, __D::Error> where | |
|                              __D: _serde::Deserializer<'de> { | |
|                                 _serde::Deserializer::deserialize_identifier(__deserializer, | |
|                                                                              __FieldVisitor) | |
|                             } | |
|                         } | |
|                         struct __Visitor<'de> { | |
|                             marker: _serde::export::PhantomData<Alerts>, | |
|                             lifetime: _serde::export::PhantomData<&'de ()>, | |
|                         } | |
|                         impl <'de> _serde::de::Visitor<'de> for __Visitor<'de> | |
|                          { | |
|                             type Value = Alerts; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "struct Alerts") | |
|                             } | |
|                             #[inline] | |
|                             fn visit_seq<__A>(self, mut __seq: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::SeqAccess<'de> { | |
|                                 let __field0 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(0usize, | |
|                                                                                                          &"struct Alerts with 4 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(1usize, | |
|                                                                                                          &"struct Alerts with 4 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field2 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(2usize, | |
|                                                                                                          &"struct Alerts with 4 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field3 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(3usize, | |
|                                                                                                          &"struct Alerts with 4 elements")); | |
|                                         } | |
|                                     }; | |
|                                 _serde::export::Ok(Alerts{follow: __field0, | |
|                                                           favourite: __field1, | |
|                                                           reblog: __field2, | |
|                                                           mention: __field3,}) | |
|                             } | |
|                             #[inline] | |
|                             fn visit_map<__A>(self, mut __map: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::MapAccess<'de> { | |
|                                 let mut __field0: | |
|                                         _serde::export::Option<Option<bool>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field1: | |
|                                         _serde::export::Option<Option<bool>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field2: | |
|                                         _serde::export::Option<Option<bool>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field3: | |
|                                         _serde::export::Option<Option<bool>> = | |
|                                     _serde::export::None; | |
|                                 while let _serde::export::Some(__key) = | |
|                                           match _serde::de::MapAccess::next_key::<__Field>(&mut __map) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                     match __key { | |
|                                         __Field::__field0 => { | |
|                                             if _serde::export::Option::is_some(&__field0) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("follow")); | |
|                                             } | |
|                                             __field0 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<bool>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field1 => { | |
|                                             if _serde::export::Option::is_some(&__field1) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("favourite")); | |
|                                             } | |
|                                             __field1 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<bool>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field2 => { | |
|                                             if _serde::export::Option::is_some(&__field2) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("reblog")); | |
|                                             } | |
|                                             __field2 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<bool>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field3 => { | |
|                                             if _serde::export::Option::is_some(&__field3) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("mention")); | |
|                                             } | |
|                                             __field3 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<bool>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         _ => { | |
|                                             let _ = | |
|                                                 match _serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map) | |
|                                                     { | |
|                                                     _serde::export::Ok(__val) | |
|                                                     => __val, | |
|                                                     _serde::export::Err(__err) | |
|                                                     => { | |
|                                                         return _serde::export::Err(__err); | |
|                                                     } | |
|                                                 }; | |
|                                         } | |
|                                     } | |
|                                 } | |
|                                 let __field0 = | |
|                                     match __field0 { | |
|                                         _serde::export::Some(__field0) => | |
|                                         __field0, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("follow") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match __field1 { | |
|                                         _serde::export::Some(__field1) => | |
|                                         __field1, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("favourite") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field2 = | |
|                                     match __field2 { | |
|                                         _serde::export::Some(__field2) => | |
|                                         __field2, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("reblog") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field3 = | |
|                                     match __field3 { | |
|                                         _serde::export::Some(__field3) => | |
|                                         __field3, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("mention") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 _serde::export::Ok(Alerts{follow: __field0, | |
|                                                           favourite: __field1, | |
|                                                           reblog: __field2, | |
|                                                           mention: __field3,}) | |
|                             } | |
|                         } | |
|                         const FIELDS: &'static [&'static str] = | |
|                             &["follow", "favourite", "reblog", "mention"]; | |
|                         _serde::Deserializer::deserialize_struct(__deserializer, | |
|                                                                  "Alerts", | |
|                                                                  FIELDS, | |
|                                                                  __Visitor{marker: | |
|                                                                                _serde::export::PhantomData::<Alerts>, | |
|                                                                            lifetime: | |
|                                                                                _serde::export::PhantomData,}) | |
|                     } | |
|                 } | |
|             }; | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::default::Default for Alerts { | |
|             #[inline] | |
|             fn default() -> Alerts { | |
|                 Alerts{follow: ::core::default::Default::default(), | |
|                        favourite: ::core::default::Default::default(), | |
|                        reblog: ::core::default::Default::default(), | |
|                        mention: ::core::default::Default::default(),} | |
|             } | |
|         } | |
|         /// Represents a new Push subscription | |
|         pub struct Subscription { | |
|             /// The `id` of the subscription | |
|             pub id: String, | |
|             /// The endpoint of the subscription | |
|             pub endpoint: String, | |
|             /// The server key of the subscription | |
|             pub server_key: String, | |
|             /// The status of the alerts for this subscription | |
|             pub alerts: Option<Alerts>, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for Subscription { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match *self { | |
|                     Subscription { | |
|                     id: ref __self_0_0, | |
|                     endpoint: ref __self_0_1, | |
|                     server_key: ref __self_0_2, | |
|                     alerts: ref __self_0_3 } => { | |
|                         let mut debug_trait_builder = | |
|                             f.debug_struct("Subscription"); | |
|                         let _ = | |
|                             debug_trait_builder.field("id", &&(*__self_0_0)); | |
|                         let _ = | |
|                             debug_trait_builder.field("endpoint", | |
|                                                       &&(*__self_0_1)); | |
|                         let _ = | |
|                             debug_trait_builder.field("server_key", | |
|                                                       &&(*__self_0_2)); | |
|                         let _ = | |
|                             debug_trait_builder.field("alerts", | |
|                                                       &&(*__self_0_3)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for Subscription { | |
|             #[inline] | |
|             fn clone(&self) -> Subscription { | |
|                 match *self { | |
|                     Subscription { | |
|                     id: ref __self_0_0, | |
|                     endpoint: ref __self_0_1, | |
|                     server_key: ref __self_0_2, | |
|                     alerts: ref __self_0_3 } => | |
|                     Subscription{id: | |
|                                      ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                                  endpoint: | |
|                                      ::core::clone::Clone::clone(&(*__self_0_1)), | |
|                                  server_key: | |
|                                      ::core::clone::Clone::clone(&(*__self_0_2)), | |
|                                  alerts: | |
|                                      ::core::clone::Clone::clone(&(*__self_0_3)),}, | |
|                 } | |
|             } | |
|         } | |
|         impl ::core::marker::StructuralPartialEq for Subscription { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for Subscription { | |
|             #[inline] | |
|             fn eq(&self, other: &Subscription) -> bool { | |
|                 match *other { | |
|                     Subscription { | |
|                     id: ref __self_1_0, | |
|                     endpoint: ref __self_1_1, | |
|                     server_key: ref __self_1_2, | |
|                     alerts: ref __self_1_3 } => | |
|                     match *self { | |
|                         Subscription { | |
|                         id: ref __self_0_0, | |
|                         endpoint: ref __self_0_1, | |
|                         server_key: ref __self_0_2, | |
|                         alerts: ref __self_0_3 } => | |
|                         (*__self_0_0) == (*__self_1_0) && | |
|                             (*__self_0_1) == (*__self_1_1) && | |
|                             (*__self_0_2) == (*__self_1_2) && | |
|                             (*__self_0_3) == (*__self_1_3), | |
|                     }, | |
|                 } | |
|             } | |
|             #[inline] | |
|             fn ne(&self, other: &Subscription) -> bool { | |
|                 match *other { | |
|                     Subscription { | |
|                     id: ref __self_1_0, | |
|                     endpoint: ref __self_1_1, | |
|                     server_key: ref __self_1_2, | |
|                     alerts: ref __self_1_3 } => | |
|                     match *self { | |
|                         Subscription { | |
|                         id: ref __self_0_0, | |
|                         endpoint: ref __self_0_1, | |
|                         server_key: ref __self_0_2, | |
|                         alerts: ref __self_0_3 } => | |
|                         (*__self_0_0) != (*__self_1_0) || | |
|                             (*__self_0_1) != (*__self_1_1) || | |
|                             (*__self_0_2) != (*__self_1_2) || | |
|                             (*__self_0_3) != (*__self_1_3), | |
|                     }, | |
|                 } | |
|             } | |
|         } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_DESERIALIZE_FOR_Subscription: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl <'de> _serde::Deserialize<'de> for Subscription { | |
|                     fn deserialize<__D>(__deserializer: __D) | |
|                      -> _serde::export::Result<Self, __D::Error> where | |
|                      __D: _serde::Deserializer<'de> { | |
|                         #[allow(non_camel_case_types)] | |
|                         enum __Field { | |
|                             __field0, | |
|                             __field1, | |
|                             __field2, | |
|                             __field3, | |
|                             __ignore, | |
|                         } | |
|                         struct __FieldVisitor; | |
|                         impl <'de> _serde::de::Visitor<'de> for __FieldVisitor | |
|                          { | |
|                             type Value = __Field; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "field identifier") | |
|                             } | |
|                             fn visit_u64<__E>(self, __value: u64) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     0u64 => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     1u64 => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     2u64 => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     3u64 => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     _ => | |
|                                     _serde::export::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value), | |
|                                                                                          &"field index 0 <= i < 4")), | |
|                                 } | |
|                             } | |
|                             fn visit_str<__E>(self, __value: &str) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     "id" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     "endpoint" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     "server_key" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     "alerts" => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                             fn visit_bytes<__E>(self, __value: &[u8]) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     b"id" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     b"endpoint" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     b"server_key" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     b"alerts" => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                         } | |
|                         impl <'de> _serde::Deserialize<'de> for __Field { | |
|                             #[inline] | |
|                             fn deserialize<__D>(__deserializer: __D) | |
|                              -> _serde::export::Result<Self, __D::Error> where | |
|                              __D: _serde::Deserializer<'de> { | |
|                                 _serde::Deserializer::deserialize_identifier(__deserializer, | |
|                                                                              __FieldVisitor) | |
|                             } | |
|                         } | |
|                         struct __Visitor<'de> { | |
|                             marker: _serde::export::PhantomData<Subscription>, | |
|                             lifetime: _serde::export::PhantomData<&'de ()>, | |
|                         } | |
|                         impl <'de> _serde::de::Visitor<'de> for __Visitor<'de> | |
|                          { | |
|                             type Value = Subscription; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "struct Subscription") | |
|                             } | |
|                             #[inline] | |
|                             fn visit_seq<__A>(self, mut __seq: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::SeqAccess<'de> { | |
|                                 let __field0 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(0usize, | |
|                                                                                                          &"struct Subscription with 4 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(1usize, | |
|                                                                                                          &"struct Subscription with 4 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field2 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(2usize, | |
|                                                                                                          &"struct Subscription with 4 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field3 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<Alerts>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(3usize, | |
|                                                                                                          &"struct Subscription with 4 elements")); | |
|                                         } | |
|                                     }; | |
|                                 _serde::export::Ok(Subscription{id: __field0, | |
|                                                                 endpoint: | |
|                                                                     __field1, | |
|                                                                 server_key: | |
|                                                                     __field2, | |
|                                                                 alerts: | |
|                                                                     __field3,}) | |
|                             } | |
|                             #[inline] | |
|                             fn visit_map<__A>(self, mut __map: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::MapAccess<'de> { | |
|                                 let mut __field0: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field1: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field2: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field3: | |
|                                         _serde::export::Option<Option<Alerts>> = | |
|                                     _serde::export::None; | |
|                                 while let _serde::export::Some(__key) = | |
|                                           match _serde::de::MapAccess::next_key::<__Field>(&mut __map) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                     match __key { | |
|                                         __Field::__field0 => { | |
|                                             if _serde::export::Option::is_some(&__field0) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("id")); | |
|                                             } | |
|                                             __field0 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field1 => { | |
|                                             if _serde::export::Option::is_some(&__field1) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("endpoint")); | |
|                                             } | |
|                                             __field1 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field2 => { | |
|                                             if _serde::export::Option::is_some(&__field2) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("server_key")); | |
|                                             } | |
|                                             __field2 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field3 => { | |
|                                             if _serde::export::Option::is_some(&__field3) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("alerts")); | |
|                                             } | |
|                                             __field3 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<Alerts>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         _ => { | |
|                                             let _ = | |
|                                                 match _serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map) | |
|                                                     { | |
|                                                     _serde::export::Ok(__val) | |
|                                                     => __val, | |
|                                                     _serde::export::Err(__err) | |
|                                                     => { | |
|                                                         return _serde::export::Err(__err); | |
|                                                     } | |
|                                                 }; | |
|                                         } | |
|                                     } | |
|                                 } | |
|                                 let __field0 = | |
|                                     match __field0 { | |
|                                         _serde::export::Some(__field0) => | |
|                                         __field0, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("id") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match __field1 { | |
|                                         _serde::export::Some(__field1) => | |
|                                         __field1, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("endpoint") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field2 = | |
|                                     match __field2 { | |
|                                         _serde::export::Some(__field2) => | |
|                                         __field2, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("server_key") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field3 = | |
|                                     match __field3 { | |
|                                         _serde::export::Some(__field3) => | |
|                                         __field3, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("alerts") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 _serde::export::Ok(Subscription{id: __field0, | |
|                                                                 endpoint: | |
|                                                                     __field1, | |
|                                                                 server_key: | |
|                                                                     __field2, | |
|                                                                 alerts: | |
|                                                                     __field3,}) | |
|                             } | |
|                         } | |
|                         const FIELDS: &'static [&'static str] = | |
|                             &["id", "endpoint", "server_key", "alerts"]; | |
|                         _serde::Deserializer::deserialize_struct(__deserializer, | |
|                                                                  "Subscription", | |
|                                                                  FIELDS, | |
|                                                                  __Visitor{marker: | |
|                                                                                _serde::export::PhantomData::<Subscription>, | |
|                                                                            lifetime: | |
|                                                                                _serde::export::PhantomData,}) | |
|                     } | |
|                 } | |
|             }; | |
|         pub(crate) mod add_subscription { | |
|             use super::Alerts; | |
|             pub(crate) struct Form { | |
|                 pub(crate) subscription: Subscription, | |
|                 pub(crate) data: Option<Data>, | |
|             } | |
|             #[automatically_derived] | |
|             #[allow(unused_qualifications)] | |
|             impl ::core::fmt::Debug for Form { | |
|                 fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|                  -> ::core::fmt::Result { | |
|                     match *self { | |
|                         Form { | |
|                         subscription: ref __self_0_0, data: ref __self_0_1 } | |
|                         => { | |
|                             let mut debug_trait_builder = | |
|                                 f.debug_struct("Form"); | |
|                             let _ = | |
|                                 debug_trait_builder.field("subscription", | |
|                                                           &&(*__self_0_0)); | |
|                             let _ = | |
|                                 debug_trait_builder.field("data", | |
|                                                           &&(*__self_0_1)); | |
|                             debug_trait_builder.finish() | |
|                         } | |
|                     } | |
|                 } | |
|             } | |
|             #[automatically_derived] | |
|             #[allow(unused_qualifications)] | |
|             impl ::core::clone::Clone for Form { | |
|                 #[inline] | |
|                 fn clone(&self) -> Form { | |
|                     match *self { | |
|                         Form { | |
|                         subscription: ref __self_0_0, data: ref __self_0_1 } | |
|                         => | |
|                         Form{subscription: | |
|                                  ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                              data: | |
|                                  ::core::clone::Clone::clone(&(*__self_0_1)),}, | |
|                     } | |
|                 } | |
|             } | |
|             impl ::core::marker::StructuralPartialEq for Form { } | |
|             #[automatically_derived] | |
|             #[allow(unused_qualifications)] | |
|             impl ::core::cmp::PartialEq for Form { | |
|                 #[inline] | |
|                 fn eq(&self, other: &Form) -> bool { | |
|                     match *other { | |
|                         Form { | |
|                         subscription: ref __self_1_0, data: ref __self_1_1 } | |
|                         => | |
|                         match *self { | |
|                             Form { | |
|                             subscription: ref __self_0_0, data: ref __self_0_1 | |
|                             } => | |
|                             (*__self_0_0) == (*__self_1_0) && | |
|                                 (*__self_0_1) == (*__self_1_1), | |
|                         }, | |
|                     } | |
|                 } | |
|                 #[inline] | |
|                 fn ne(&self, other: &Form) -> bool { | |
|                     match *other { | |
|                         Form { | |
|                         subscription: ref __self_1_0, data: ref __self_1_1 } | |
|                         => | |
|                         match *self { | |
|                             Form { | |
|                             subscription: ref __self_0_0, data: ref __self_0_1 | |
|                             } => | |
|                             (*__self_0_0) != (*__self_1_0) || | |
|                                 (*__self_0_1) != (*__self_1_1), | |
|                         }, | |
|                     } | |
|                 } | |
|             } | |
|             #[doc(hidden)] | |
|             #[allow(non_upper_case_globals, unused_attributes, | |
|                     unused_qualifications)] | |
|             const _IMPL_SERIALIZE_FOR_Form: () = | |
|                 { | |
|                     #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                     extern crate serde as _serde; | |
|                     #[allow(unused_macros)] | |
|                     macro_rules! try { | |
|                         ($ __expr : expr) => | |
|                         { | |
|                             match $ __expr | |
|                             { | |
|                                 _serde :: export :: Ok(__val) => __val, _serde | |
|                                 :: export :: Err(__err) => | |
|                                 { return _serde :: export :: Err(__err) ; } | |
|                             } | |
|                         } | |
|                     } | |
|                     #[automatically_derived] | |
|                     impl _serde::Serialize for Form { | |
|                         fn serialize<__S>(&self, __serializer: __S) | |
|                          -> _serde::export::Result<__S::Ok, __S::Error> where | |
|                          __S: _serde::Serializer { | |
|                             let mut __serde_state = | |
|                                 match _serde::Serializer::serialize_struct(__serializer, | |
|                                                                            "Form", | |
|                                                                            false | |
|                                                                                as | |
|                                                                                usize | |
|                                                                                + | |
|                                                                                1 | |
|                                                                                + | |
|                                                                                1) | |
|                                     { | |
|                                     _serde::export::Ok(__val) => __val, | |
|                                     _serde::export::Err(__err) => { | |
|                                         return _serde::export::Err(__err); | |
|                                     } | |
|                                 }; | |
|                             match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                                 "subscription", | |
|                                                                                 &self.subscription) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                             match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                                 "data", | |
|                                                                                 &self.data) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                             _serde::ser::SerializeStruct::end(__serde_state) | |
|                         } | |
|                     } | |
|                 }; | |
|             #[automatically_derived] | |
|             #[allow(unused_qualifications)] | |
|             impl ::core::default::Default for Form { | |
|                 #[inline] | |
|                 fn default() -> Form { | |
|                     Form{subscription: ::core::default::Default::default(), | |
|                          data: ::core::default::Default::default(),} | |
|                 } | |
|             } | |
|             pub(crate) struct Subscription { | |
|                 pub(crate) endpoint: String, | |
|                 pub(crate) keys: Keys, | |
|             } | |
|             #[automatically_derived] | |
|             #[allow(unused_qualifications)] | |
|             impl ::core::fmt::Debug for Subscription { | |
|                 fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|                  -> ::core::fmt::Result { | |
|                     match *self { | |
|                         Subscription { | |
|                         endpoint: ref __self_0_0, keys: ref __self_0_1 } => { | |
|                             let mut debug_trait_builder = | |
|                                 f.debug_struct("Subscription"); | |
|                             let _ = | |
|                                 debug_trait_builder.field("endpoint", | |
|                                                           &&(*__self_0_0)); | |
|                             let _ = | |
|                                 debug_trait_builder.field("keys", | |
|                                                           &&(*__self_0_1)); | |
|                             debug_trait_builder.finish() | |
|                         } | |
|                     } | |
|                 } | |
|             } | |
|             #[automatically_derived] | |
|             #[allow(unused_qualifications)] | |
|             impl ::core::clone::Clone for Subscription { | |
|                 #[inline] | |
|                 fn clone(&self) -> Subscription { | |
|                     match *self { | |
|                         Subscription { | |
|                         endpoint: ref __self_0_0, keys: ref __self_0_1 } => | |
|                         Subscription{endpoint: | |
|                                          ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                                      keys: | |
|                                          ::core::clone::Clone::clone(&(*__self_0_1)),}, | |
|                     } | |
|                 } | |
|             } | |
|             impl ::core::marker::StructuralPartialEq for Subscription { } | |
|             #[automatically_derived] | |
|             #[allow(unused_qualifications)] | |
|             impl ::core::cmp::PartialEq for Subscription { | |
|                 #[inline] | |
|                 fn eq(&self, other: &Subscription) -> bool { | |
|                     match *other { | |
|                         Subscription { | |
|                         endpoint: ref __self_1_0, keys: ref __self_1_1 } => | |
|                         match *self { | |
|                             Subscription { | |
|                             endpoint: ref __self_0_0, keys: ref __self_0_1 } | |
|                             => | |
|                             (*__self_0_0) == (*__self_1_0) && | |
|                                 (*__self_0_1) == (*__self_1_1), | |
|                         }, | |
|                     } | |
|                 } | |
|                 #[inline] | |
|                 fn ne(&self, other: &Subscription) -> bool { | |
|                     match *other { | |
|                         Subscription { | |
|                         endpoint: ref __self_1_0, keys: ref __self_1_1 } => | |
|                         match *self { | |
|                             Subscription { | |
|                             endpoint: ref __self_0_0, keys: ref __self_0_1 } | |
|                             => | |
|                             (*__self_0_0) != (*__self_1_0) || | |
|                                 (*__self_0_1) != (*__self_1_1), | |
|                         }, | |
|                     } | |
|                 } | |
|             } | |
|             #[doc(hidden)] | |
|             #[allow(non_upper_case_globals, unused_attributes, | |
|                     unused_qualifications)] | |
|             const _IMPL_SERIALIZE_FOR_Subscription: () = | |
|                 { | |
|                     #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                     extern crate serde as _serde; | |
|                     #[allow(unused_macros)] | |
|                     macro_rules! try { | |
|                         ($ __expr : expr) => | |
|                         { | |
|                             match $ __expr | |
|                             { | |
|                                 _serde :: export :: Ok(__val) => __val, _serde | |
|                                 :: export :: Err(__err) => | |
|                                 { return _serde :: export :: Err(__err) ; } | |
|                             } | |
|                         } | |
|                     } | |
|                     #[automatically_derived] | |
|                     impl _serde::Serialize for Subscription { | |
|                         fn serialize<__S>(&self, __serializer: __S) | |
|                          -> _serde::export::Result<__S::Ok, __S::Error> where | |
|                          __S: _serde::Serializer { | |
|                             let mut __serde_state = | |
|                                 match _serde::Serializer::serialize_struct(__serializer, | |
|                                                                            "Subscription", | |
|                                                                            false | |
|                                                                                as | |
|                                                                                usize | |
|                                                                                + | |
|                                                                                1 | |
|                                                                                + | |
|                                                                                1) | |
|                                     { | |
|                                     _serde::export::Ok(__val) => __val, | |
|                                     _serde::export::Err(__err) => { | |
|                                         return _serde::export::Err(__err); | |
|                                     } | |
|                                 }; | |
|                             match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                                 "endpoint", | |
|                                                                                 &self.endpoint) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                             match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                                 "keys", | |
|                                                                                 &self.keys) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                             _serde::ser::SerializeStruct::end(__serde_state) | |
|                         } | |
|                     } | |
|                 }; | |
|             #[automatically_derived] | |
|             #[allow(unused_qualifications)] | |
|             impl ::core::default::Default for Subscription { | |
|                 #[inline] | |
|                 fn default() -> Subscription { | |
|                     Subscription{endpoint: | |
|                                      ::core::default::Default::default(), | |
|                                  keys: ::core::default::Default::default(),} | |
|                 } | |
|             } | |
|             pub(crate) struct Keys { | |
|                 pub(crate) p256dh: String, | |
|                 pub(crate) auth: String, | |
|             } | |
|             #[automatically_derived] | |
|             #[allow(unused_qualifications)] | |
|             impl ::core::fmt::Debug for Keys { | |
|                 fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|                  -> ::core::fmt::Result { | |
|                     match *self { | |
|                         Keys { p256dh: ref __self_0_0, auth: ref __self_0_1 } | |
|                         => { | |
|                             let mut debug_trait_builder = | |
|                                 f.debug_struct("Keys"); | |
|                             let _ = | |
|                                 debug_trait_builder.field("p256dh", | |
|                                                           &&(*__self_0_0)); | |
|                             let _ = | |
|                                 debug_trait_builder.field("auth", | |
|                                                           &&(*__self_0_1)); | |
|                             debug_trait_builder.finish() | |
|                         } | |
|                     } | |
|                 } | |
|             } | |
|             #[automatically_derived] | |
|             #[allow(unused_qualifications)] | |
|             impl ::core::clone::Clone for Keys { | |
|                 #[inline] | |
|                 fn clone(&self) -> Keys { | |
|                     match *self { | |
|                         Keys { p256dh: ref __self_0_0, auth: ref __self_0_1 } | |
|                         => | |
|                         Keys{p256dh: | |
|                                  ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                              auth: | |
|                                  ::core::clone::Clone::clone(&(*__self_0_1)),}, | |
|                     } | |
|                 } | |
|             } | |
|             impl ::core::marker::StructuralPartialEq for Keys { } | |
|             #[automatically_derived] | |
|             #[allow(unused_qualifications)] | |
|             impl ::core::cmp::PartialEq for Keys { | |
|                 #[inline] | |
|                 fn eq(&self, other: &Keys) -> bool { | |
|                     match *other { | |
|                         Keys { p256dh: ref __self_1_0, auth: ref __self_1_1 } | |
|                         => | |
|                         match *self { | |
|                             Keys { | |
|                             p256dh: ref __self_0_0, auth: ref __self_0_1 } => | |
|                             (*__self_0_0) == (*__self_1_0) && | |
|                                 (*__self_0_1) == (*__self_1_1), | |
|                         }, | |
|                     } | |
|                 } | |
|                 #[inline] | |
|                 fn ne(&self, other: &Keys) -> bool { | |
|                     match *other { | |
|                         Keys { p256dh: ref __self_1_0, auth: ref __self_1_1 } | |
|                         => | |
|                         match *self { | |
|                             Keys { | |
|                             p256dh: ref __self_0_0, auth: ref __self_0_1 } => | |
|                             (*__self_0_0) != (*__self_1_0) || | |
|                                 (*__self_0_1) != (*__self_1_1), | |
|                         }, | |
|                     } | |
|                 } | |
|             } | |
|             #[doc(hidden)] | |
|             #[allow(non_upper_case_globals, unused_attributes, | |
|                     unused_qualifications)] | |
|             const _IMPL_SERIALIZE_FOR_Keys: () = | |
|                 { | |
|                     #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                     extern crate serde as _serde; | |
|                     #[allow(unused_macros)] | |
|                     macro_rules! try { | |
|                         ($ __expr : expr) => | |
|                         { | |
|                             match $ __expr | |
|                             { | |
|                                 _serde :: export :: Ok(__val) => __val, _serde | |
|                                 :: export :: Err(__err) => | |
|                                 { return _serde :: export :: Err(__err) ; } | |
|                             } | |
|                         } | |
|                     } | |
|                     #[automatically_derived] | |
|                     impl _serde::Serialize for Keys { | |
|                         fn serialize<__S>(&self, __serializer: __S) | |
|                          -> _serde::export::Result<__S::Ok, __S::Error> where | |
|                          __S: _serde::Serializer { | |
|                             let mut __serde_state = | |
|                                 match _serde::Serializer::serialize_struct(__serializer, | |
|                                                                            "Keys", | |
|                                                                            false | |
|                                                                                as | |
|                                                                                usize | |
|                                                                                + | |
|                                                                                1 | |
|                                                                                + | |
|                                                                                1) | |
|                                     { | |
|                                     _serde::export::Ok(__val) => __val, | |
|                                     _serde::export::Err(__err) => { | |
|                                         return _serde::export::Err(__err); | |
|                                     } | |
|                                 }; | |
|                             match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                                 "p256dh", | |
|                                                                                 &self.p256dh) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                             match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                                 "auth", | |
|                                                                                 &self.auth) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                             _serde::ser::SerializeStruct::end(__serde_state) | |
|                         } | |
|                     } | |
|                 }; | |
|             #[automatically_derived] | |
|             #[allow(unused_qualifications)] | |
|             impl ::core::default::Default for Keys { | |
|                 #[inline] | |
|                 fn default() -> Keys { | |
|                     Keys{p256dh: ::core::default::Default::default(), | |
|                          auth: ::core::default::Default::default(),} | |
|                 } | |
|             } | |
|             pub(crate) struct Data { | |
|                 pub(crate) alerts: Option<Alerts>, | |
|             } | |
|             #[automatically_derived] | |
|             #[allow(unused_qualifications)] | |
|             impl ::core::fmt::Debug for Data { | |
|                 fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|                  -> ::core::fmt::Result { | |
|                     match *self { | |
|                         Data { alerts: ref __self_0_0 } => { | |
|                             let mut debug_trait_builder = | |
|                                 f.debug_struct("Data"); | |
|                             let _ = | |
|                                 debug_trait_builder.field("alerts", | |
|                                                           &&(*__self_0_0)); | |
|                             debug_trait_builder.finish() | |
|                         } | |
|                     } | |
|                 } | |
|             } | |
|             #[automatically_derived] | |
|             #[allow(unused_qualifications)] | |
|             impl ::core::clone::Clone for Data { | |
|                 #[inline] | |
|                 fn clone(&self) -> Data { | |
|                     match *self { | |
|                         Data { alerts: ref __self_0_0 } => | |
|                         Data{alerts: | |
|                                  ::core::clone::Clone::clone(&(*__self_0_0)),}, | |
|                     } | |
|                 } | |
|             } | |
|             impl ::core::marker::StructuralPartialEq for Data { } | |
|             #[automatically_derived] | |
|             #[allow(unused_qualifications)] | |
|             impl ::core::cmp::PartialEq for Data { | |
|                 #[inline] | |
|                 fn eq(&self, other: &Data) -> bool { | |
|                     match *other { | |
|                         Data { alerts: ref __self_1_0 } => | |
|                         match *self { | |
|                             Data { alerts: ref __self_0_0 } => | |
|                             (*__self_0_0) == (*__self_1_0), | |
|                         }, | |
|                     } | |
|                 } | |
|                 #[inline] | |
|                 fn ne(&self, other: &Data) -> bool { | |
|                     match *other { | |
|                         Data { alerts: ref __self_1_0 } => | |
|                         match *self { | |
|                             Data { alerts: ref __self_0_0 } => | |
|                             (*__self_0_0) != (*__self_1_0), | |
|                         }, | |
|                     } | |
|                 } | |
|             } | |
|             #[doc(hidden)] | |
|             #[allow(non_upper_case_globals, unused_attributes, | |
|                     unused_qualifications)] | |
|             const _IMPL_SERIALIZE_FOR_Data: () = | |
|                 { | |
|                     #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                     extern crate serde as _serde; | |
|                     #[allow(unused_macros)] | |
|                     macro_rules! try { | |
|                         ($ __expr : expr) => | |
|                         { | |
|                             match $ __expr | |
|                             { | |
|                                 _serde :: export :: Ok(__val) => __val, _serde | |
|                                 :: export :: Err(__err) => | |
|                                 { return _serde :: export :: Err(__err) ; } | |
|                             } | |
|                         } | |
|                     } | |
|                     #[automatically_derived] | |
|                     impl _serde::Serialize for Data { | |
|                         fn serialize<__S>(&self, __serializer: __S) | |
|                          -> _serde::export::Result<__S::Ok, __S::Error> where | |
|                          __S: _serde::Serializer { | |
|                             let mut __serde_state = | |
|                                 match _serde::Serializer::serialize_struct(__serializer, | |
|                                                                            "Data", | |
|                                                                            false | |
|                                                                                as | |
|                                                                                usize | |
|                                                                                + | |
|                                                                                1) | |
|                                     { | |
|                                     _serde::export::Ok(__val) => __val, | |
|                                     _serde::export::Err(__err) => { | |
|                                         return _serde::export::Err(__err); | |
|                                     } | |
|                                 }; | |
|                             match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                                 "alerts", | |
|                                                                                 &self.alerts) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                             _serde::ser::SerializeStruct::end(__serde_state) | |
|                         } | |
|                     } | |
|                 }; | |
|             #[automatically_derived] | |
|             #[allow(unused_qualifications)] | |
|             impl ::core::default::Default for Data { | |
|                 #[inline] | |
|                 fn default() -> Data { | |
|                     Data{alerts: ::core::default::Default::default(),} | |
|                 } | |
|             } | |
|         } | |
|         pub(crate) mod update_data { | |
|             use super::Alerts; | |
|             pub(crate) struct Data { | |
|                 pub(crate) alerts: Option<Alerts>, | |
|             } | |
|             #[automatically_derived] | |
|             #[allow(unused_qualifications)] | |
|             impl ::core::fmt::Debug for Data { | |
|                 fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|                  -> ::core::fmt::Result { | |
|                     match *self { | |
|                         Data { alerts: ref __self_0_0 } => { | |
|                             let mut debug_trait_builder = | |
|                                 f.debug_struct("Data"); | |
|                             let _ = | |
|                                 debug_trait_builder.field("alerts", | |
|                                                           &&(*__self_0_0)); | |
|                             debug_trait_builder.finish() | |
|                         } | |
|                     } | |
|                 } | |
|             } | |
|             #[automatically_derived] | |
|             #[allow(unused_qualifications)] | |
|             impl ::core::clone::Clone for Data { | |
|                 #[inline] | |
|                 fn clone(&self) -> Data { | |
|                     match *self { | |
|                         Data { alerts: ref __self_0_0 } => | |
|                         Data{alerts: | |
|                                  ::core::clone::Clone::clone(&(*__self_0_0)),}, | |
|                     } | |
|                 } | |
|             } | |
|             impl ::core::marker::StructuralPartialEq for Data { } | |
|             #[automatically_derived] | |
|             #[allow(unused_qualifications)] | |
|             impl ::core::cmp::PartialEq for Data { | |
|                 #[inline] | |
|                 fn eq(&self, other: &Data) -> bool { | |
|                     match *other { | |
|                         Data { alerts: ref __self_1_0 } => | |
|                         match *self { | |
|                             Data { alerts: ref __self_0_0 } => | |
|                             (*__self_0_0) == (*__self_1_0), | |
|                         }, | |
|                     } | |
|                 } | |
|                 #[inline] | |
|                 fn ne(&self, other: &Data) -> bool { | |
|                     match *other { | |
|                         Data { alerts: ref __self_1_0 } => | |
|                         match *self { | |
|                             Data { alerts: ref __self_0_0 } => | |
|                             (*__self_0_0) != (*__self_1_0), | |
|                         }, | |
|                     } | |
|                 } | |
|             } | |
|             #[doc(hidden)] | |
|             #[allow(non_upper_case_globals, unused_attributes, | |
|                     unused_qualifications)] | |
|             const _IMPL_SERIALIZE_FOR_Data: () = | |
|                 { | |
|                     #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                     extern crate serde as _serde; | |
|                     #[allow(unused_macros)] | |
|                     macro_rules! try { | |
|                         ($ __expr : expr) => | |
|                         { | |
|                             match $ __expr | |
|                             { | |
|                                 _serde :: export :: Ok(__val) => __val, _serde | |
|                                 :: export :: Err(__err) => | |
|                                 { return _serde :: export :: Err(__err) ; } | |
|                             } | |
|                         } | |
|                     } | |
|                     #[automatically_derived] | |
|                     impl _serde::Serialize for Data { | |
|                         fn serialize<__S>(&self, __serializer: __S) | |
|                          -> _serde::export::Result<__S::Ok, __S::Error> where | |
|                          __S: _serde::Serializer { | |
|                             let mut __serde_state = | |
|                                 match _serde::Serializer::serialize_struct(__serializer, | |
|                                                                            "Data", | |
|                                                                            false | |
|                                                                                as | |
|                                                                                usize | |
|                                                                                + | |
|                                                                                1) | |
|                                     { | |
|                                     _serde::export::Ok(__val) => __val, | |
|                                     _serde::export::Err(__err) => { | |
|                                         return _serde::export::Err(__err); | |
|                                     } | |
|                                 }; | |
|                             match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                                 "alerts", | |
|                                                                                 &self.alerts) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                             _serde::ser::SerializeStruct::end(__serde_state) | |
|                         } | |
|                     } | |
|                 }; | |
|             #[automatically_derived] | |
|             #[allow(unused_qualifications)] | |
|             impl ::core::default::Default for Data { | |
|                 #[inline] | |
|                 fn default() -> Data { | |
|                     Data{alerts: ::core::default::Default::default(),} | |
|                 } | |
|             } | |
|             pub(crate) struct Form { | |
|                 pub(crate) id: String, | |
|                 pub(crate) data: Data, | |
|             } | |
|             #[automatically_derived] | |
|             #[allow(unused_qualifications)] | |
|             impl ::core::fmt::Debug for Form { | |
|                 fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|                  -> ::core::fmt::Result { | |
|                     match *self { | |
|                         Form { id: ref __self_0_0, data: ref __self_0_1 } => { | |
|                             let mut debug_trait_builder = | |
|                                 f.debug_struct("Form"); | |
|                             let _ = | |
|                                 debug_trait_builder.field("id", | |
|                                                           &&(*__self_0_0)); | |
|                             let _ = | |
|                                 debug_trait_builder.field("data", | |
|                                                           &&(*__self_0_1)); | |
|                             debug_trait_builder.finish() | |
|                         } | |
|                     } | |
|                 } | |
|             } | |
|             #[automatically_derived] | |
|             #[allow(unused_qualifications)] | |
|             impl ::core::clone::Clone for Form { | |
|                 #[inline] | |
|                 fn clone(&self) -> Form { | |
|                     match *self { | |
|                         Form { id: ref __self_0_0, data: ref __self_0_1 } => | |
|                         Form{id: ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                              data: | |
|                                  ::core::clone::Clone::clone(&(*__self_0_1)),}, | |
|                     } | |
|                 } | |
|             } | |
|             impl ::core::marker::StructuralPartialEq for Form { } | |
|             #[automatically_derived] | |
|             #[allow(unused_qualifications)] | |
|             impl ::core::cmp::PartialEq for Form { | |
|                 #[inline] | |
|                 fn eq(&self, other: &Form) -> bool { | |
|                     match *other { | |
|                         Form { id: ref __self_1_0, data: ref __self_1_1 } => | |
|                         match *self { | |
|                             Form { id: ref __self_0_0, data: ref __self_0_1 } | |
|                             => | |
|                             (*__self_0_0) == (*__self_1_0) && | |
|                                 (*__self_0_1) == (*__self_1_1), | |
|                         }, | |
|                     } | |
|                 } | |
|                 #[inline] | |
|                 fn ne(&self, other: &Form) -> bool { | |
|                     match *other { | |
|                         Form { id: ref __self_1_0, data: ref __self_1_1 } => | |
|                         match *self { | |
|                             Form { id: ref __self_0_0, data: ref __self_0_1 } | |
|                             => | |
|                             (*__self_0_0) != (*__self_1_0) || | |
|                                 (*__self_0_1) != (*__self_1_1), | |
|                         }, | |
|                     } | |
|                 } | |
|             } | |
|             #[doc(hidden)] | |
|             #[allow(non_upper_case_globals, unused_attributes, | |
|                     unused_qualifications)] | |
|             const _IMPL_SERIALIZE_FOR_Form: () = | |
|                 { | |
|                     #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                     extern crate serde as _serde; | |
|                     #[allow(unused_macros)] | |
|                     macro_rules! try { | |
|                         ($ __expr : expr) => | |
|                         { | |
|                             match $ __expr | |
|                             { | |
|                                 _serde :: export :: Ok(__val) => __val, _serde | |
|                                 :: export :: Err(__err) => | |
|                                 { return _serde :: export :: Err(__err) ; } | |
|                             } | |
|                         } | |
|                     } | |
|                     #[automatically_derived] | |
|                     impl _serde::Serialize for Form { | |
|                         fn serialize<__S>(&self, __serializer: __S) | |
|                          -> _serde::export::Result<__S::Ok, __S::Error> where | |
|                          __S: _serde::Serializer { | |
|                             let mut __serde_state = | |
|                                 match _serde::Serializer::serialize_struct(__serializer, | |
|                                                                            "Form", | |
|                                                                            false | |
|                                                                                as | |
|                                                                                usize | |
|                                                                                + | |
|                                                                                1 | |
|                                                                                + | |
|                                                                                1) | |
|                                     { | |
|                                     _serde::export::Ok(__val) => __val, | |
|                                     _serde::export::Err(__err) => { | |
|                                         return _serde::export::Err(__err); | |
|                                     } | |
|                                 }; | |
|                             match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                                 "id", | |
|                                                                                 &self.id) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                             match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                                 "data", | |
|                                                                                 &self.data) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                             _serde::ser::SerializeStruct::end(__serde_state) | |
|                         } | |
|                     } | |
|                 }; | |
|             #[automatically_derived] | |
|             #[allow(unused_qualifications)] | |
|             impl ::core::default::Default for Form { | |
|                 #[inline] | |
|                 fn default() -> Form { | |
|                     Form{id: ::core::default::Default::default(), | |
|                          data: ::core::default::Default::default(),} | |
|                 } | |
|             } | |
|         } | |
|     } | |
|     /// Data structures for ser/de of relationship-related resources | |
|     pub mod relationship { | |
|         //! module containing everything relating to a relationship with | |
|         //! another account. | |
|         /// A struct containing information about a relationship with another account. | |
|         pub struct Relationship { | |
|             /// Target account id | |
|             pub id: String, | |
|             /// Whether the application client follows the account. | |
|             pub following: bool, | |
|             /// Whether the account follows the application client. | |
|             pub followed_by: bool, | |
|             /// Whether the application client blocks the account. | |
|             pub blocking: bool, | |
|             /// Whether the application client blocks the account. | |
|             pub muting: bool, | |
|             /// Whether the application client has requested to follow the account. | |
|             pub requested: bool, | |
|             /// Whether the user is also muting notifications | |
|             pub muting_notifications: bool, | |
|             /// Whether the user is currently blocking the accounts's domain | |
|             pub domain_blocking: bool, | |
|             /// Whether the user's reblogs will show up in the home timeline | |
|             pub showing_reblogs: bool, | |
|             /// Whether the user is currently endorsing the account | |
|             /// | |
|             /// This field is not techincally nullable with mastodon >= 2.5.0, but | |
|             /// making it `Option<bool>` here means we shouldn't get deser errors when | |
|             /// making calls to pleroma or mastodon<2.5.0 instances | |
|             pub endorsed: Option<bool>, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for Relationship { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match *self { | |
|                     Relationship { | |
|                     id: ref __self_0_0, | |
|                     following: ref __self_0_1, | |
|                     followed_by: ref __self_0_2, | |
|                     blocking: ref __self_0_3, | |
|                     muting: ref __self_0_4, | |
|                     requested: ref __self_0_5, | |
|                     muting_notifications: ref __self_0_6, | |
|                     domain_blocking: ref __self_0_7, | |
|                     showing_reblogs: ref __self_0_8, | |
|                     endorsed: ref __self_0_9 } => { | |
|                         let mut debug_trait_builder = | |
|                             f.debug_struct("Relationship"); | |
|                         let _ = | |
|                             debug_trait_builder.field("id", &&(*__self_0_0)); | |
|                         let _ = | |
|                             debug_trait_builder.field("following", | |
|                                                       &&(*__self_0_1)); | |
|                         let _ = | |
|                             debug_trait_builder.field("followed_by", | |
|                                                       &&(*__self_0_2)); | |
|                         let _ = | |
|                             debug_trait_builder.field("blocking", | |
|                                                       &&(*__self_0_3)); | |
|                         let _ = | |
|                             debug_trait_builder.field("muting", | |
|                                                       &&(*__self_0_4)); | |
|                         let _ = | |
|                             debug_trait_builder.field("requested", | |
|                                                       &&(*__self_0_5)); | |
|                         let _ = | |
|                             debug_trait_builder.field("muting_notifications", | |
|                                                       &&(*__self_0_6)); | |
|                         let _ = | |
|                             debug_trait_builder.field("domain_blocking", | |
|                                                       &&(*__self_0_7)); | |
|                         let _ = | |
|                             debug_trait_builder.field("showing_reblogs", | |
|                                                       &&(*__self_0_8)); | |
|                         let _ = | |
|                             debug_trait_builder.field("endorsed", | |
|                                                       &&(*__self_0_9)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for Relationship { | |
|             #[inline] | |
|             fn clone(&self) -> Relationship { | |
|                 match *self { | |
|                     Relationship { | |
|                     id: ref __self_0_0, | |
|                     following: ref __self_0_1, | |
|                     followed_by: ref __self_0_2, | |
|                     blocking: ref __self_0_3, | |
|                     muting: ref __self_0_4, | |
|                     requested: ref __self_0_5, | |
|                     muting_notifications: ref __self_0_6, | |
|                     domain_blocking: ref __self_0_7, | |
|                     showing_reblogs: ref __self_0_8, | |
|                     endorsed: ref __self_0_9 } => | |
|                     Relationship{id: | |
|                                      ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                                  following: | |
|                                      ::core::clone::Clone::clone(&(*__self_0_1)), | |
|                                  followed_by: | |
|                                      ::core::clone::Clone::clone(&(*__self_0_2)), | |
|                                  blocking: | |
|                                      ::core::clone::Clone::clone(&(*__self_0_3)), | |
|                                  muting: | |
|                                      ::core::clone::Clone::clone(&(*__self_0_4)), | |
|                                  requested: | |
|                                      ::core::clone::Clone::clone(&(*__self_0_5)), | |
|                                  muting_notifications: | |
|                                      ::core::clone::Clone::clone(&(*__self_0_6)), | |
|                                  domain_blocking: | |
|                                      ::core::clone::Clone::clone(&(*__self_0_7)), | |
|                                  showing_reblogs: | |
|                                      ::core::clone::Clone::clone(&(*__self_0_8)), | |
|                                  endorsed: | |
|                                      ::core::clone::Clone::clone(&(*__self_0_9)),}, | |
|                 } | |
|             } | |
|         } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_DESERIALIZE_FOR_Relationship: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl <'de> _serde::Deserialize<'de> for Relationship { | |
|                     fn deserialize<__D>(__deserializer: __D) | |
|                      -> _serde::export::Result<Self, __D::Error> where | |
|                      __D: _serde::Deserializer<'de> { | |
|                         #[allow(non_camel_case_types)] | |
|                         enum __Field { | |
|                             __field0, | |
|                             __field1, | |
|                             __field2, | |
|                             __field3, | |
|                             __field4, | |
|                             __field5, | |
|                             __field6, | |
|                             __field7, | |
|                             __field8, | |
|                             __field9, | |
|                             __ignore, | |
|                         } | |
|                         struct __FieldVisitor; | |
|                         impl <'de> _serde::de::Visitor<'de> for __FieldVisitor | |
|                          { | |
|                             type Value = __Field; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "field identifier") | |
|                             } | |
|                             fn visit_u64<__E>(self, __value: u64) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     0u64 => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     1u64 => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     2u64 => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     3u64 => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     4u64 => | |
|                                     _serde::export::Ok(__Field::__field4), | |
|                                     5u64 => | |
|                                     _serde::export::Ok(__Field::__field5), | |
|                                     6u64 => | |
|                                     _serde::export::Ok(__Field::__field6), | |
|                                     7u64 => | |
|                                     _serde::export::Ok(__Field::__field7), | |
|                                     8u64 => | |
|                                     _serde::export::Ok(__Field::__field8), | |
|                                     9u64 => | |
|                                     _serde::export::Ok(__Field::__field9), | |
|                                     _ => | |
|                                     _serde::export::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value), | |
|                                                                                          &"field index 0 <= i < 10")), | |
|                                 } | |
|                             } | |
|                             fn visit_str<__E>(self, __value: &str) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     "id" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     "following" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     "followed_by" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     "blocking" => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     "muting" => | |
|                                     _serde::export::Ok(__Field::__field4), | |
|                                     "requested" => | |
|                                     _serde::export::Ok(__Field::__field5), | |
|                                     "muting_notifications" => | |
|                                     _serde::export::Ok(__Field::__field6), | |
|                                     "domain_blocking" => | |
|                                     _serde::export::Ok(__Field::__field7), | |
|                                     "showing_reblogs" => | |
|                                     _serde::export::Ok(__Field::__field8), | |
|                                     "endorsed" => | |
|                                     _serde::export::Ok(__Field::__field9), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                             fn visit_bytes<__E>(self, __value: &[u8]) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     b"id" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     b"following" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     b"followed_by" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     b"blocking" => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     b"muting" => | |
|                                     _serde::export::Ok(__Field::__field4), | |
|                                     b"requested" => | |
|                                     _serde::export::Ok(__Field::__field5), | |
|                                     b"muting_notifications" => | |
|                                     _serde::export::Ok(__Field::__field6), | |
|                                     b"domain_blocking" => | |
|                                     _serde::export::Ok(__Field::__field7), | |
|                                     b"showing_reblogs" => | |
|                                     _serde::export::Ok(__Field::__field8), | |
|                                     b"endorsed" => | |
|                                     _serde::export::Ok(__Field::__field9), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                         } | |
|                         impl <'de> _serde::Deserialize<'de> for __Field { | |
|                             #[inline] | |
|                             fn deserialize<__D>(__deserializer: __D) | |
|                              -> _serde::export::Result<Self, __D::Error> where | |
|                              __D: _serde::Deserializer<'de> { | |
|                                 _serde::Deserializer::deserialize_identifier(__deserializer, | |
|                                                                              __FieldVisitor) | |
|                             } | |
|                         } | |
|                         struct __Visitor<'de> { | |
|                             marker: _serde::export::PhantomData<Relationship>, | |
|                             lifetime: _serde::export::PhantomData<&'de ()>, | |
|                         } | |
|                         impl <'de> _serde::de::Visitor<'de> for __Visitor<'de> | |
|                          { | |
|                             type Value = Relationship; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "struct Relationship") | |
|                             } | |
|                             #[inline] | |
|                             fn visit_seq<__A>(self, mut __seq: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::SeqAccess<'de> { | |
|                                 let __field0 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(0usize, | |
|                                                                                                          &"struct Relationship with 10 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match match _serde::de::SeqAccess::next_element::<bool>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(1usize, | |
|                                                                                                          &"struct Relationship with 10 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field2 = | |
|                                     match match _serde::de::SeqAccess::next_element::<bool>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(2usize, | |
|                                                                                                          &"struct Relationship with 10 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field3 = | |
|                                     match match _serde::de::SeqAccess::next_element::<bool>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(3usize, | |
|                                                                                                          &"struct Relationship with 10 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field4 = | |
|                                     match match _serde::de::SeqAccess::next_element::<bool>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(4usize, | |
|                                                                                                          &"struct Relationship with 10 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field5 = | |
|                                     match match _serde::de::SeqAccess::next_element::<bool>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(5usize, | |
|                                                                                                          &"struct Relationship with 10 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field6 = | |
|                                     match match _serde::de::SeqAccess::next_element::<bool>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(6usize, | |
|                                                                                                          &"struct Relationship with 10 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field7 = | |
|                                     match match _serde::de::SeqAccess::next_element::<bool>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(7usize, | |
|                                                                                                          &"struct Relationship with 10 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field8 = | |
|                                     match match _serde::de::SeqAccess::next_element::<bool>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(8usize, | |
|                                                                                                          &"struct Relationship with 10 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field9 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(9usize, | |
|                                                                                                          &"struct Relationship with 10 elements")); | |
|                                         } | |
|                                     }; | |
|                                 _serde::export::Ok(Relationship{id: __field0, | |
|                                                                 following: | |
|                                                                     __field1, | |
|                                                                 followed_by: | |
|                                                                     __field2, | |
|                                                                 blocking: | |
|                                                                     __field3, | |
|                                                                 muting: | |
|                                                                     __field4, | |
|                                                                 requested: | |
|                                                                     __field5, | |
|                                                                 muting_notifications: | |
|                                                                     __field6, | |
|                                                                 domain_blocking: | |
|                                                                     __field7, | |
|                                                                 showing_reblogs: | |
|                                                                     __field8, | |
|                                                                 endorsed: | |
|                                                                     __field9,}) | |
|                             } | |
|                             #[inline] | |
|                             fn visit_map<__A>(self, mut __map: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::MapAccess<'de> { | |
|                                 let mut __field0: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field1: | |
|                                         _serde::export::Option<bool> = | |
|                                     _serde::export::None; | |
|                                 let mut __field2: | |
|                                         _serde::export::Option<bool> = | |
|                                     _serde::export::None; | |
|                                 let mut __field3: | |
|                                         _serde::export::Option<bool> = | |
|                                     _serde::export::None; | |
|                                 let mut __field4: | |
|                                         _serde::export::Option<bool> = | |
|                                     _serde::export::None; | |
|                                 let mut __field5: | |
|                                         _serde::export::Option<bool> = | |
|                                     _serde::export::None; | |
|                                 let mut __field6: | |
|                                         _serde::export::Option<bool> = | |
|                                     _serde::export::None; | |
|                                 let mut __field7: | |
|                                         _serde::export::Option<bool> = | |
|                                     _serde::export::None; | |
|                                 let mut __field8: | |
|                                         _serde::export::Option<bool> = | |
|                                     _serde::export::None; | |
|                                 let mut __field9: | |
|                                         _serde::export::Option<Option<bool>> = | |
|                                     _serde::export::None; | |
|                                 while let _serde::export::Some(__key) = | |
|                                           match _serde::de::MapAccess::next_key::<__Field>(&mut __map) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                     match __key { | |
|                                         __Field::__field0 => { | |
|                                             if _serde::export::Option::is_some(&__field0) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("id")); | |
|                                             } | |
|                                             __field0 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field1 => { | |
|                                             if _serde::export::Option::is_some(&__field1) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("following")); | |
|                                             } | |
|                                             __field1 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<bool>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field2 => { | |
|                                             if _serde::export::Option::is_some(&__field2) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("followed_by")); | |
|                                             } | |
|                                             __field2 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<bool>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field3 => { | |
|                                             if _serde::export::Option::is_some(&__field3) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("blocking")); | |
|                                             } | |
|                                             __field3 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<bool>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field4 => { | |
|                                             if _serde::export::Option::is_some(&__field4) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("muting")); | |
|                                             } | |
|                                             __field4 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<bool>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field5 => { | |
|                                             if _serde::export::Option::is_some(&__field5) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("requested")); | |
|                                             } | |
|                                             __field5 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<bool>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field6 => { | |
|                                             if _serde::export::Option::is_some(&__field6) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("muting_notifications")); | |
|                                             } | |
|                                             __field6 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<bool>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field7 => { | |
|                                             if _serde::export::Option::is_some(&__field7) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("domain_blocking")); | |
|                                             } | |
|                                             __field7 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<bool>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field8 => { | |
|                                             if _serde::export::Option::is_some(&__field8) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("showing_reblogs")); | |
|                                             } | |
|                                             __field8 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<bool>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field9 => { | |
|                                             if _serde::export::Option::is_some(&__field9) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("endorsed")); | |
|                                             } | |
|                                             __field9 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<bool>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         _ => { | |
|                                             let _ = | |
|                                                 match _serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map) | |
|                                                     { | |
|                                                     _serde::export::Ok(__val) | |
|                                                     => __val, | |
|                                                     _serde::export::Err(__err) | |
|                                                     => { | |
|                                                         return _serde::export::Err(__err); | |
|                                                     } | |
|                                                 }; | |
|                                         } | |
|                                     } | |
|                                 } | |
|                                 let __field0 = | |
|                                     match __field0 { | |
|                                         _serde::export::Some(__field0) => | |
|                                         __field0, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("id") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match __field1 { | |
|                                         _serde::export::Some(__field1) => | |
|                                         __field1, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("following") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field2 = | |
|                                     match __field2 { | |
|                                         _serde::export::Some(__field2) => | |
|                                         __field2, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("followed_by") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field3 = | |
|                                     match __field3 { | |
|                                         _serde::export::Some(__field3) => | |
|                                         __field3, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("blocking") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field4 = | |
|                                     match __field4 { | |
|                                         _serde::export::Some(__field4) => | |
|                                         __field4, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("muting") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field5 = | |
|                                     match __field5 { | |
|                                         _serde::export::Some(__field5) => | |
|                                         __field5, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("requested") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field6 = | |
|                                     match __field6 { | |
|                                         _serde::export::Some(__field6) => | |
|                                         __field6, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("muting_notifications") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field7 = | |
|                                     match __field7 { | |
|                                         _serde::export::Some(__field7) => | |
|                                         __field7, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("domain_blocking") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field8 = | |
|                                     match __field8 { | |
|                                         _serde::export::Some(__field8) => | |
|                                         __field8, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("showing_reblogs") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field9 = | |
|                                     match __field9 { | |
|                                         _serde::export::Some(__field9) => | |
|                                         __field9, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("endorsed") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 _serde::export::Ok(Relationship{id: __field0, | |
|                                                                 following: | |
|                                                                     __field1, | |
|                                                                 followed_by: | |
|                                                                     __field2, | |
|                                                                 blocking: | |
|                                                                     __field3, | |
|                                                                 muting: | |
|                                                                     __field4, | |
|                                                                 requested: | |
|                                                                     __field5, | |
|                                                                 muting_notifications: | |
|                                                                     __field6, | |
|                                                                 domain_blocking: | |
|                                                                     __field7, | |
|                                                                 showing_reblogs: | |
|                                                                     __field8, | |
|                                                                 endorsed: | |
|                                                                     __field9,}) | |
|                             } | |
|                         } | |
|                         const FIELDS: &'static [&'static str] = | |
|                             &["id", "following", "followed_by", "blocking", | |
|                               "muting", "requested", "muting_notifications", | |
|                               "domain_blocking", "showing_reblogs", | |
|                               "endorsed"]; | |
|                         _serde::Deserializer::deserialize_struct(__deserializer, | |
|                                                                  "Relationship", | |
|                                                                  FIELDS, | |
|                                                                  __Visitor{marker: | |
|                                                                                _serde::export::PhantomData::<Relationship>, | |
|                                                                            lifetime: | |
|                                                                                _serde::export::PhantomData,}) | |
|                     } | |
|                 } | |
|             }; | |
|         impl ::core::marker::StructuralPartialEq for Relationship { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for Relationship { | |
|             #[inline] | |
|             fn eq(&self, other: &Relationship) -> bool { | |
|                 match *other { | |
|                     Relationship { | |
|                     id: ref __self_1_0, | |
|                     following: ref __self_1_1, | |
|                     followed_by: ref __self_1_2, | |
|                     blocking: ref __self_1_3, | |
|                     muting: ref __self_1_4, | |
|                     requested: ref __self_1_5, | |
|                     muting_notifications: ref __self_1_6, | |
|                     domain_blocking: ref __self_1_7, | |
|                     showing_reblogs: ref __self_1_8, | |
|                     endorsed: ref __self_1_9 } => | |
|                     match *self { | |
|                         Relationship { | |
|                         id: ref __self_0_0, | |
|                         following: ref __self_0_1, | |
|                         followed_by: ref __self_0_2, | |
|                         blocking: ref __self_0_3, | |
|                         muting: ref __self_0_4, | |
|                         requested: ref __self_0_5, | |
|                         muting_notifications: ref __self_0_6, | |
|                         domain_blocking: ref __self_0_7, | |
|                         showing_reblogs: ref __self_0_8, | |
|                         endorsed: ref __self_0_9 } => | |
|                         (*__self_0_0) == (*__self_1_0) && | |
|                             (*__self_0_1) == (*__self_1_1) && | |
|                             (*__self_0_2) == (*__self_1_2) && | |
|                             (*__self_0_3) == (*__self_1_3) && | |
|                             (*__self_0_4) == (*__self_1_4) && | |
|                             (*__self_0_5) == (*__self_1_5) && | |
|                             (*__self_0_6) == (*__self_1_6) && | |
|                             (*__self_0_7) == (*__self_1_7) && | |
|                             (*__self_0_8) == (*__self_1_8) && | |
|                             (*__self_0_9) == (*__self_1_9), | |
|                     }, | |
|                 } | |
|             } | |
|             #[inline] | |
|             fn ne(&self, other: &Relationship) -> bool { | |
|                 match *other { | |
|                     Relationship { | |
|                     id: ref __self_1_0, | |
|                     following: ref __self_1_1, | |
|                     followed_by: ref __self_1_2, | |
|                     blocking: ref __self_1_3, | |
|                     muting: ref __self_1_4, | |
|                     requested: ref __self_1_5, | |
|                     muting_notifications: ref __self_1_6, | |
|                     domain_blocking: ref __self_1_7, | |
|                     showing_reblogs: ref __self_1_8, | |
|                     endorsed: ref __self_1_9 } => | |
|                     match *self { | |
|                         Relationship { | |
|                         id: ref __self_0_0, | |
|                         following: ref __self_0_1, | |
|                         followed_by: ref __self_0_2, | |
|                         blocking: ref __self_0_3, | |
|                         muting: ref __self_0_4, | |
|                         requested: ref __self_0_5, | |
|                         muting_notifications: ref __self_0_6, | |
|                         domain_blocking: ref __self_0_7, | |
|                         showing_reblogs: ref __self_0_8, | |
|                         endorsed: ref __self_0_9 } => | |
|                         (*__self_0_0) != (*__self_1_0) || | |
|                             (*__self_0_1) != (*__self_1_1) || | |
|                             (*__self_0_2) != (*__self_1_2) || | |
|                             (*__self_0_3) != (*__self_1_3) || | |
|                             (*__self_0_4) != (*__self_1_4) || | |
|                             (*__self_0_5) != (*__self_1_5) || | |
|                             (*__self_0_6) != (*__self_1_6) || | |
|                             (*__self_0_7) != (*__self_1_7) || | |
|                             (*__self_0_8) != (*__self_1_8) || | |
|                             (*__self_0_9) != (*__self_1_9), | |
|                     }, | |
|                 } | |
|             } | |
|         } | |
|     } | |
|     /// Data structures for ser/de of report-related resources | |
|     pub mod report { | |
|         //! module containing information about a finished report of a user. | |
|         /// A struct containing info about a report. | |
|         pub struct Report { | |
|             /// The ID of the report. | |
|             pub id: String, | |
|             /// The action taken in response to the report. | |
|             pub action_taken: String, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for Report { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match *self { | |
|                     Report { id: ref __self_0_0, action_taken: ref __self_0_1 | |
|                     } => { | |
|                         let mut debug_trait_builder = | |
|                             f.debug_struct("Report"); | |
|                         let _ = | |
|                             debug_trait_builder.field("id", &&(*__self_0_0)); | |
|                         let _ = | |
|                             debug_trait_builder.field("action_taken", | |
|                                                       &&(*__self_0_1)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for Report { | |
|             #[inline] | |
|             fn clone(&self) -> Report { | |
|                 match *self { | |
|                     Report { id: ref __self_0_0, action_taken: ref __self_0_1 | |
|                     } => | |
|                     Report{id: ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                            action_taken: | |
|                                ::core::clone::Clone::clone(&(*__self_0_1)),}, | |
|                 } | |
|             } | |
|         } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_DESERIALIZE_FOR_Report: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl <'de> _serde::Deserialize<'de> for Report { | |
|                     fn deserialize<__D>(__deserializer: __D) | |
|                      -> _serde::export::Result<Self, __D::Error> where | |
|                      __D: _serde::Deserializer<'de> { | |
|                         #[allow(non_camel_case_types)] | |
|                         enum __Field { __field0, __field1, __ignore, } | |
|                         struct __FieldVisitor; | |
|                         impl <'de> _serde::de::Visitor<'de> for __FieldVisitor | |
|                          { | |
|                             type Value = __Field; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "field identifier") | |
|                             } | |
|                             fn visit_u64<__E>(self, __value: u64) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     0u64 => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     1u64 => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     _ => | |
|                                     _serde::export::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value), | |
|                                                                                          &"field index 0 <= i < 2")), | |
|                                 } | |
|                             } | |
|                             fn visit_str<__E>(self, __value: &str) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     "id" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     "action_taken" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                             fn visit_bytes<__E>(self, __value: &[u8]) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     b"id" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     b"action_taken" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                         } | |
|                         impl <'de> _serde::Deserialize<'de> for __Field { | |
|                             #[inline] | |
|                             fn deserialize<__D>(__deserializer: __D) | |
|                              -> _serde::export::Result<Self, __D::Error> where | |
|                              __D: _serde::Deserializer<'de> { | |
|                                 _serde::Deserializer::deserialize_identifier(__deserializer, | |
|                                                                              __FieldVisitor) | |
|                             } | |
|                         } | |
|                         struct __Visitor<'de> { | |
|                             marker: _serde::export::PhantomData<Report>, | |
|                             lifetime: _serde::export::PhantomData<&'de ()>, | |
|                         } | |
|                         impl <'de> _serde::de::Visitor<'de> for __Visitor<'de> | |
|                          { | |
|                             type Value = Report; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "struct Report") | |
|                             } | |
|                             #[inline] | |
|                             fn visit_seq<__A>(self, mut __seq: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::SeqAccess<'de> { | |
|                                 let __field0 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(0usize, | |
|                                                                                                          &"struct Report with 2 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(1usize, | |
|                                                                                                          &"struct Report with 2 elements")); | |
|                                         } | |
|                                     }; | |
|                                 _serde::export::Ok(Report{id: __field0, | |
|                                                           action_taken: | |
|                                                               __field1,}) | |
|                             } | |
|                             #[inline] | |
|                             fn visit_map<__A>(self, mut __map: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::MapAccess<'de> { | |
|                                 let mut __field0: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field1: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 while let _serde::export::Some(__key) = | |
|                                           match _serde::de::MapAccess::next_key::<__Field>(&mut __map) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                     match __key { | |
|                                         __Field::__field0 => { | |
|                                             if _serde::export::Option::is_some(&__field0) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("id")); | |
|                                             } | |
|                                             __field0 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field1 => { | |
|                                             if _serde::export::Option::is_some(&__field1) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("action_taken")); | |
|                                             } | |
|                                             __field1 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         _ => { | |
|                                             let _ = | |
|                                                 match _serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map) | |
|                                                     { | |
|                                                     _serde::export::Ok(__val) | |
|                                                     => __val, | |
|                                                     _serde::export::Err(__err) | |
|                                                     => { | |
|                                                         return _serde::export::Err(__err); | |
|                                                     } | |
|                                                 }; | |
|                                         } | |
|                                     } | |
|                                 } | |
|                                 let __field0 = | |
|                                     match __field0 { | |
|                                         _serde::export::Some(__field0) => | |
|                                         __field0, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("id") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match __field1 { | |
|                                         _serde::export::Some(__field1) => | |
|                                         __field1, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("action_taken") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 _serde::export::Ok(Report{id: __field0, | |
|                                                           action_taken: | |
|                                                               __field1,}) | |
|                             } | |
|                         } | |
|                         const FIELDS: &'static [&'static str] = | |
|                             &["id", "action_taken"]; | |
|                         _serde::Deserializer::deserialize_struct(__deserializer, | |
|                                                                  "Report", | |
|                                                                  FIELDS, | |
|                                                                  __Visitor{marker: | |
|                                                                                _serde::export::PhantomData::<Report>, | |
|                                                                            lifetime: | |
|                                                                                _serde::export::PhantomData,}) | |
|                     } | |
|                 } | |
|             }; | |
|         impl ::core::marker::StructuralPartialEq for Report { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for Report { | |
|             #[inline] | |
|             fn eq(&self, other: &Report) -> bool { | |
|                 match *other { | |
|                     Report { id: ref __self_1_0, action_taken: ref __self_1_1 | |
|                     } => | |
|                     match *self { | |
|                         Report { | |
|                         id: ref __self_0_0, action_taken: ref __self_0_1 } => | |
|                         (*__self_0_0) == (*__self_1_0) && | |
|                             (*__self_0_1) == (*__self_1_1), | |
|                     }, | |
|                 } | |
|             } | |
|             #[inline] | |
|             fn ne(&self, other: &Report) -> bool { | |
|                 match *other { | |
|                     Report { id: ref __self_1_0, action_taken: ref __self_1_1 | |
|                     } => | |
|                     match *self { | |
|                         Report { | |
|                         id: ref __self_0_0, action_taken: ref __self_0_1 } => | |
|                         (*__self_0_0) != (*__self_1_0) || | |
|                             (*__self_0_1) != (*__self_1_1), | |
|                     }, | |
|                 } | |
|             } | |
|         } | |
|     } | |
|     /// Data structures for ser/de of search-related resources | |
|     pub mod search_result { | |
|         //! A module containing info relating to a search result. | |
|         use super::{prelude::{Account, Status}, status::Tag}; | |
|         /// A struct containing results of a search. | |
|         pub struct SearchResult { | |
|             /// An array of matched Accounts. | |
|             pub accounts: Vec<Account>, | |
|             /// An array of matched Statuses. | |
|             pub statuses: Vec<Status>, | |
|             /// An array of matched hashtags, as strings. | |
|             pub hashtags: Vec<String>, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for SearchResult { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match *self { | |
|                     SearchResult { | |
|                     accounts: ref __self_0_0, | |
|                     statuses: ref __self_0_1, | |
|                     hashtags: ref __self_0_2 } => { | |
|                         let mut debug_trait_builder = | |
|                             f.debug_struct("SearchResult"); | |
|                         let _ = | |
|                             debug_trait_builder.field("accounts", | |
|                                                       &&(*__self_0_0)); | |
|                         let _ = | |
|                             debug_trait_builder.field("statuses", | |
|                                                       &&(*__self_0_1)); | |
|                         let _ = | |
|                             debug_trait_builder.field("hashtags", | |
|                                                       &&(*__self_0_2)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for SearchResult { | |
|             #[inline] | |
|             fn clone(&self) -> SearchResult { | |
|                 match *self { | |
|                     SearchResult { | |
|                     accounts: ref __self_0_0, | |
|                     statuses: ref __self_0_1, | |
|                     hashtags: ref __self_0_2 } => | |
|                     SearchResult{accounts: | |
|                                      ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                                  statuses: | |
|                                      ::core::clone::Clone::clone(&(*__self_0_1)), | |
|                                  hashtags: | |
|                                      ::core::clone::Clone::clone(&(*__self_0_2)),}, | |
|                 } | |
|             } | |
|         } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_DESERIALIZE_FOR_SearchResult: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl <'de> _serde::Deserialize<'de> for SearchResult { | |
|                     fn deserialize<__D>(__deserializer: __D) | |
|                      -> _serde::export::Result<Self, __D::Error> where | |
|                      __D: _serde::Deserializer<'de> { | |
|                         #[allow(non_camel_case_types)] | |
|                         enum __Field { | |
|                             __field0, | |
|                             __field1, | |
|                             __field2, | |
|                             __ignore, | |
|                         } | |
|                         struct __FieldVisitor; | |
|                         impl <'de> _serde::de::Visitor<'de> for __FieldVisitor | |
|                          { | |
|                             type Value = __Field; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "field identifier") | |
|                             } | |
|                             fn visit_u64<__E>(self, __value: u64) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     0u64 => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     1u64 => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     2u64 => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     _ => | |
|                                     _serde::export::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value), | |
|                                                                                          &"field index 0 <= i < 3")), | |
|                                 } | |
|                             } | |
|                             fn visit_str<__E>(self, __value: &str) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     "accounts" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     "statuses" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     "hashtags" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                             fn visit_bytes<__E>(self, __value: &[u8]) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     b"accounts" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     b"statuses" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     b"hashtags" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                         } | |
|                         impl <'de> _serde::Deserialize<'de> for __Field { | |
|                             #[inline] | |
|                             fn deserialize<__D>(__deserializer: __D) | |
|                              -> _serde::export::Result<Self, __D::Error> where | |
|                              __D: _serde::Deserializer<'de> { | |
|                                 _serde::Deserializer::deserialize_identifier(__deserializer, | |
|                                                                              __FieldVisitor) | |
|                             } | |
|                         } | |
|                         struct __Visitor<'de> { | |
|                             marker: _serde::export::PhantomData<SearchResult>, | |
|                             lifetime: _serde::export::PhantomData<&'de ()>, | |
|                         } | |
|                         impl <'de> _serde::de::Visitor<'de> for __Visitor<'de> | |
|                          { | |
|                             type Value = SearchResult; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "struct SearchResult") | |
|                             } | |
|                             #[inline] | |
|                             fn visit_seq<__A>(self, mut __seq: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::SeqAccess<'de> { | |
|                                 let __field0 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Vec<Account>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(0usize, | |
|                                                                                                          &"struct SearchResult with 3 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Vec<Status>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(1usize, | |
|                                                                                                          &"struct SearchResult with 3 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field2 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Vec<String>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(2usize, | |
|                                                                                                          &"struct SearchResult with 3 elements")); | |
|                                         } | |
|                                     }; | |
|                                 _serde::export::Ok(SearchResult{accounts: | |
|                                                                     __field0, | |
|                                                                 statuses: | |
|                                                                     __field1, | |
|                                                                 hashtags: | |
|                                                                     __field2,}) | |
|                             } | |
|                             #[inline] | |
|                             fn visit_map<__A>(self, mut __map: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::MapAccess<'de> { | |
|                                 let mut __field0: | |
|                                         _serde::export::Option<Vec<Account>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field1: | |
|                                         _serde::export::Option<Vec<Status>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field2: | |
|                                         _serde::export::Option<Vec<String>> = | |
|                                     _serde::export::None; | |
|                                 while let _serde::export::Some(__key) = | |
|                                           match _serde::de::MapAccess::next_key::<__Field>(&mut __map) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                     match __key { | |
|                                         __Field::__field0 => { | |
|                                             if _serde::export::Option::is_some(&__field0) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("accounts")); | |
|                                             } | |
|                                             __field0 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Vec<Account>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field1 => { | |
|                                             if _serde::export::Option::is_some(&__field1) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("statuses")); | |
|                                             } | |
|                                             __field1 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Vec<Status>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field2 => { | |
|                                             if _serde::export::Option::is_some(&__field2) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("hashtags")); | |
|                                             } | |
|                                             __field2 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Vec<String>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         _ => { | |
|                                             let _ = | |
|                                                 match _serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map) | |
|                                                     { | |
|                                                     _serde::export::Ok(__val) | |
|                                                     => __val, | |
|                                                     _serde::export::Err(__err) | |
|                                                     => { | |
|                                                         return _serde::export::Err(__err); | |
|                                                     } | |
|                                                 }; | |
|                                         } | |
|                                     } | |
|                                 } | |
|                                 let __field0 = | |
|                                     match __field0 { | |
|                                         _serde::export::Some(__field0) => | |
|                                         __field0, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("accounts") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match __field1 { | |
|                                         _serde::export::Some(__field1) => | |
|                                         __field1, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("statuses") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field2 = | |
|                                     match __field2 { | |
|                                         _serde::export::Some(__field2) => | |
|                                         __field2, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("hashtags") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 _serde::export::Ok(SearchResult{accounts: | |
|                                                                     __field0, | |
|                                                                 statuses: | |
|                                                                     __field1, | |
|                                                                 hashtags: | |
|                                                                     __field2,}) | |
|                             } | |
|                         } | |
|                         const FIELDS: &'static [&'static str] = | |
|                             &["accounts", "statuses", "hashtags"]; | |
|                         _serde::Deserializer::deserialize_struct(__deserializer, | |
|                                                                  "SearchResult", | |
|                                                                  FIELDS, | |
|                                                                  __Visitor{marker: | |
|                                                                                _serde::export::PhantomData::<SearchResult>, | |
|                                                                            lifetime: | |
|                                                                                _serde::export::PhantomData,}) | |
|                     } | |
|                 } | |
|             }; | |
|         impl ::core::marker::StructuralPartialEq for SearchResult { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for SearchResult { | |
|             #[inline] | |
|             fn eq(&self, other: &SearchResult) -> bool { | |
|                 match *other { | |
|                     SearchResult { | |
|                     accounts: ref __self_1_0, | |
|                     statuses: ref __self_1_1, | |
|                     hashtags: ref __self_1_2 } => | |
|                     match *self { | |
|                         SearchResult { | |
|                         accounts: ref __self_0_0, | |
|                         statuses: ref __self_0_1, | |
|                         hashtags: ref __self_0_2 } => | |
|                         (*__self_0_0) == (*__self_1_0) && | |
|                             (*__self_0_1) == (*__self_1_1) && | |
|                             (*__self_0_2) == (*__self_1_2), | |
|                     }, | |
|                 } | |
|             } | |
|             #[inline] | |
|             fn ne(&self, other: &SearchResult) -> bool { | |
|                 match *other { | |
|                     SearchResult { | |
|                     accounts: ref __self_1_0, | |
|                     statuses: ref __self_1_1, | |
|                     hashtags: ref __self_1_2 } => | |
|                     match *self { | |
|                         SearchResult { | |
|                         accounts: ref __self_0_0, | |
|                         statuses: ref __self_0_1, | |
|                         hashtags: ref __self_0_2 } => | |
|                         (*__self_0_0) != (*__self_1_0) || | |
|                             (*__self_0_1) != (*__self_1_1) || | |
|                             (*__self_0_2) != (*__self_1_2), | |
|                     }, | |
|                 } | |
|             } | |
|         } | |
|         /// A struct containing results of a search, with `Tag` objects in the | |
|         /// `hashtags` field | |
|         pub struct SearchResultV2 { | |
|             /// An array of matched Accounts. | |
|             pub accounts: Vec<Account>, | |
|             /// An array of matched Statuses. | |
|             pub statuses: Vec<Status>, | |
|             /// An array of matched hashtags, as `Tag` objects. | |
|             pub hashtags: Vec<Tag>, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for SearchResultV2 { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match *self { | |
|                     SearchResultV2 { | |
|                     accounts: ref __self_0_0, | |
|                     statuses: ref __self_0_1, | |
|                     hashtags: ref __self_0_2 } => { | |
|                         let mut debug_trait_builder = | |
|                             f.debug_struct("SearchResultV2"); | |
|                         let _ = | |
|                             debug_trait_builder.field("accounts", | |
|                                                       &&(*__self_0_0)); | |
|                         let _ = | |
|                             debug_trait_builder.field("statuses", | |
|                                                       &&(*__self_0_1)); | |
|                         let _ = | |
|                             debug_trait_builder.field("hashtags", | |
|                                                       &&(*__self_0_2)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for SearchResultV2 { | |
|             #[inline] | |
|             fn clone(&self) -> SearchResultV2 { | |
|                 match *self { | |
|                     SearchResultV2 { | |
|                     accounts: ref __self_0_0, | |
|                     statuses: ref __self_0_1, | |
|                     hashtags: ref __self_0_2 } => | |
|                     SearchResultV2{accounts: | |
|                                        ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                                    statuses: | |
|                                        ::core::clone::Clone::clone(&(*__self_0_1)), | |
|                                    hashtags: | |
|                                        ::core::clone::Clone::clone(&(*__self_0_2)),}, | |
|                 } | |
|             } | |
|         } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_DESERIALIZE_FOR_SearchResultV2: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl <'de> _serde::Deserialize<'de> for SearchResultV2 { | |
|                     fn deserialize<__D>(__deserializer: __D) | |
|                      -> _serde::export::Result<Self, __D::Error> where | |
|                      __D: _serde::Deserializer<'de> { | |
|                         #[allow(non_camel_case_types)] | |
|                         enum __Field { | |
|                             __field0, | |
|                             __field1, | |
|                             __field2, | |
|                             __ignore, | |
|                         } | |
|                         struct __FieldVisitor; | |
|                         impl <'de> _serde::de::Visitor<'de> for __FieldVisitor | |
|                          { | |
|                             type Value = __Field; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "field identifier") | |
|                             } | |
|                             fn visit_u64<__E>(self, __value: u64) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     0u64 => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     1u64 => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     2u64 => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     _ => | |
|                                     _serde::export::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value), | |
|                                                                                          &"field index 0 <= i < 3")), | |
|                                 } | |
|                             } | |
|                             fn visit_str<__E>(self, __value: &str) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     "accounts" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     "statuses" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     "hashtags" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                             fn visit_bytes<__E>(self, __value: &[u8]) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     b"accounts" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     b"statuses" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     b"hashtags" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                         } | |
|                         impl <'de> _serde::Deserialize<'de> for __Field { | |
|                             #[inline] | |
|                             fn deserialize<__D>(__deserializer: __D) | |
|                              -> _serde::export::Result<Self, __D::Error> where | |
|                              __D: _serde::Deserializer<'de> { | |
|                                 _serde::Deserializer::deserialize_identifier(__deserializer, | |
|                                                                              __FieldVisitor) | |
|                             } | |
|                         } | |
|                         struct __Visitor<'de> { | |
|                             marker: _serde::export::PhantomData<SearchResultV2>, | |
|                             lifetime: _serde::export::PhantomData<&'de ()>, | |
|                         } | |
|                         impl <'de> _serde::de::Visitor<'de> for __Visitor<'de> | |
|                          { | |
|                             type Value = SearchResultV2; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "struct SearchResultV2") | |
|                             } | |
|                             #[inline] | |
|                             fn visit_seq<__A>(self, mut __seq: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::SeqAccess<'de> { | |
|                                 let __field0 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Vec<Account>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(0usize, | |
|                                                                                                          &"struct SearchResultV2 with 3 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Vec<Status>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(1usize, | |
|                                                                                                          &"struct SearchResultV2 with 3 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field2 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Vec<Tag>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(2usize, | |
|                                                                                                          &"struct SearchResultV2 with 3 elements")); | |
|                                         } | |
|                                     }; | |
|                                 _serde::export::Ok(SearchResultV2{accounts: | |
|                                                                       __field0, | |
|                                                                   statuses: | |
|                                                                       __field1, | |
|                                                                   hashtags: | |
|                                                                       __field2,}) | |
|                             } | |
|                             #[inline] | |
|                             fn visit_map<__A>(self, mut __map: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::MapAccess<'de> { | |
|                                 let mut __field0: | |
|                                         _serde::export::Option<Vec<Account>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field1: | |
|                                         _serde::export::Option<Vec<Status>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field2: | |
|                                         _serde::export::Option<Vec<Tag>> = | |
|                                     _serde::export::None; | |
|                                 while let _serde::export::Some(__key) = | |
|                                           match _serde::de::MapAccess::next_key::<__Field>(&mut __map) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                     match __key { | |
|                                         __Field::__field0 => { | |
|                                             if _serde::export::Option::is_some(&__field0) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("accounts")); | |
|                                             } | |
|                                             __field0 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Vec<Account>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field1 => { | |
|                                             if _serde::export::Option::is_some(&__field1) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("statuses")); | |
|                                             } | |
|                                             __field1 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Vec<Status>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field2 => { | |
|                                             if _serde::export::Option::is_some(&__field2) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("hashtags")); | |
|                                             } | |
|                                             __field2 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Vec<Tag>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         _ => { | |
|                                             let _ = | |
|                                                 match _serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map) | |
|                                                     { | |
|                                                     _serde::export::Ok(__val) | |
|                                                     => __val, | |
|                                                     _serde::export::Err(__err) | |
|                                                     => { | |
|                                                         return _serde::export::Err(__err); | |
|                                                     } | |
|                                                 }; | |
|                                         } | |
|                                     } | |
|                                 } | |
|                                 let __field0 = | |
|                                     match __field0 { | |
|                                         _serde::export::Some(__field0) => | |
|                                         __field0, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("accounts") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match __field1 { | |
|                                         _serde::export::Some(__field1) => | |
|                                         __field1, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("statuses") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field2 = | |
|                                     match __field2 { | |
|                                         _serde::export::Some(__field2) => | |
|                                         __field2, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("hashtags") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 _serde::export::Ok(SearchResultV2{accounts: | |
|                                                                       __field0, | |
|                                                                   statuses: | |
|                                                                       __field1, | |
|                                                                   hashtags: | |
|                                                                       __field2,}) | |
|                             } | |
|                         } | |
|                         const FIELDS: &'static [&'static str] = | |
|                             &["accounts", "statuses", "hashtags"]; | |
|                         _serde::Deserializer::deserialize_struct(__deserializer, | |
|                                                                  "SearchResultV2", | |
|                                                                  FIELDS, | |
|                                                                  __Visitor{marker: | |
|                                                                                _serde::export::PhantomData::<SearchResultV2>, | |
|                                                                            lifetime: | |
|                                                                                _serde::export::PhantomData,}) | |
|                     } | |
|                 } | |
|             }; | |
|         impl ::core::marker::StructuralPartialEq for SearchResultV2 { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for SearchResultV2 { | |
|             #[inline] | |
|             fn eq(&self, other: &SearchResultV2) -> bool { | |
|                 match *other { | |
|                     SearchResultV2 { | |
|                     accounts: ref __self_1_0, | |
|                     statuses: ref __self_1_1, | |
|                     hashtags: ref __self_1_2 } => | |
|                     match *self { | |
|                         SearchResultV2 { | |
|                         accounts: ref __self_0_0, | |
|                         statuses: ref __self_0_1, | |
|                         hashtags: ref __self_0_2 } => | |
|                         (*__self_0_0) == (*__self_1_0) && | |
|                             (*__self_0_1) == (*__self_1_1) && | |
|                             (*__self_0_2) == (*__self_1_2), | |
|                     }, | |
|                 } | |
|             } | |
|             #[inline] | |
|             fn ne(&self, other: &SearchResultV2) -> bool { | |
|                 match *other { | |
|                     SearchResultV2 { | |
|                     accounts: ref __self_1_0, | |
|                     statuses: ref __self_1_1, | |
|                     hashtags: ref __self_1_2 } => | |
|                     match *self { | |
|                         SearchResultV2 { | |
|                         accounts: ref __self_0_0, | |
|                         statuses: ref __self_0_1, | |
|                         hashtags: ref __self_0_2 } => | |
|                         (*__self_0_0) != (*__self_1_0) || | |
|                             (*__self_0_1) != (*__self_1_1) || | |
|                             (*__self_0_2) != (*__self_1_2), | |
|                     }, | |
|                 } | |
|             } | |
|         } | |
|     } | |
|     /// Data structures for ser/de of status-related resources | |
|     pub mod status { | |
|         //! Module containing all info relating to a status. | |
|         use super::prelude::*; | |
|         use chrono::prelude::*; | |
|         use crate::entities::card::Card; | |
|         use crate::status_builder::Visibility; | |
|         /// A status from the instance. | |
|         pub struct Status { | |
|             /// The ID of the status. | |
|             pub id: String, | |
|             /// A Fediverse-unique resource ID. | |
|             pub uri: String, | |
|             /// URL to the status page (can be remote) | |
|             pub url: Option<String>, | |
|             /// The Account which posted the status. | |
|             pub account: Account, | |
|             /// The ID of the status this status is replying to, if the status is | |
|             /// a reply. | |
|             pub in_reply_to_id: Option<String>, | |
|             /// The ID of the account this status is replying to, if the status is | |
|             /// a reply. | |
|             pub in_reply_to_account_id: Option<String>, | |
|             /// If this status is a reblogged Status of another User. | |
|             pub reblog: Option<Box<Status>>, | |
|             /// Body of the status; this will contain HTML | |
|             /// (remote HTML already sanitized) | |
|             pub content: String, | |
|             /// The time the status was created. | |
|             pub created_at: DateTime<Utc>, | |
|             /// An array of Emoji | |
|             pub emojis: Vec<Emoji>, | |
|             /// The numbef or replies to this status. | |
|             pub replies_count: Option<u64>, | |
|             /// The number of reblogs for the status. | |
|             pub reblogs_count: u64, | |
|             /// The number of favourites for the status. | |
|             pub favourites_count: u64, | |
|             /// Whether the application client has reblogged the status. | |
|             pub reblogged: Option<bool>, | |
|             /// Whether the application client has favourited the status. | |
|             pub favourited: Option<bool>, | |
|             /// Whether media attachments should be hidden by default. | |
|             pub sensitive: bool, | |
|             /// If not empty, warning text that should be displayed before the actual | |
|             /// content. | |
|             pub spoiler_text: String, | |
|             /// The visibilty of the status. | |
|             pub visibility: Visibility, | |
|             /// An array of attachments. | |
|             pub media_attachments: Vec<Attachment>, | |
|             /// An array of mentions. | |
|             pub mentions: Vec<Mention>, | |
|             /// An array of tags. | |
|             pub tags: Vec<Tag>, | |
|             /// The associated card | |
|             pub card: Option<Card>, | |
|             /// Name of application used to post status. | |
|             pub application: Option<Application>, | |
|             /// The detected language for the status, if detected. | |
|             pub language: Option<String>, | |
|             /// Whether this is the pinned status for the account that posted it. | |
|             pub pinned: Option<bool>, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for Status { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match *self { | |
|                     Status { | |
|                     id: ref __self_0_0, | |
|                     uri: ref __self_0_1, | |
|                     url: ref __self_0_2, | |
|                     account: ref __self_0_3, | |
|                     in_reply_to_id: ref __self_0_4, | |
|                     in_reply_to_account_id: ref __self_0_5, | |
|                     reblog: ref __self_0_6, | |
|                     content: ref __self_0_7, | |
|                     created_at: ref __self_0_8, | |
|                     emojis: ref __self_0_9, | |
|                     replies_count: ref __self_0_10, | |
|                     reblogs_count: ref __self_0_11, | |
|                     favourites_count: ref __self_0_12, | |
|                     reblogged: ref __self_0_13, | |
|                     favourited: ref __self_0_14, | |
|                     sensitive: ref __self_0_15, | |
|                     spoiler_text: ref __self_0_16, | |
|                     visibility: ref __self_0_17, | |
|                     media_attachments: ref __self_0_18, | |
|                     mentions: ref __self_0_19, | |
|                     tags: ref __self_0_20, | |
|                     card: ref __self_0_21, | |
|                     application: ref __self_0_22, | |
|                     language: ref __self_0_23, | |
|                     pinned: ref __self_0_24 } => { | |
|                         let mut debug_trait_builder = | |
|                             f.debug_struct("Status"); | |
|                         let _ = | |
|                             debug_trait_builder.field("id", &&(*__self_0_0)); | |
|                         let _ = | |
|                             debug_trait_builder.field("uri", &&(*__self_0_1)); | |
|                         let _ = | |
|                             debug_trait_builder.field("url", &&(*__self_0_2)); | |
|                         let _ = | |
|                             debug_trait_builder.field("account", | |
|                                                       &&(*__self_0_3)); | |
|                         let _ = | |
|                             debug_trait_builder.field("in_reply_to_id", | |
|                                                       &&(*__self_0_4)); | |
|                         let _ = | |
|                             debug_trait_builder.field("in_reply_to_account_id", | |
|                                                       &&(*__self_0_5)); | |
|                         let _ = | |
|                             debug_trait_builder.field("reblog", | |
|                                                       &&(*__self_0_6)); | |
|                         let _ = | |
|                             debug_trait_builder.field("content", | |
|                                                       &&(*__self_0_7)); | |
|                         let _ = | |
|                             debug_trait_builder.field("created_at", | |
|                                                       &&(*__self_0_8)); | |
|                         let _ = | |
|                             debug_trait_builder.field("emojis", | |
|                                                       &&(*__self_0_9)); | |
|                         let _ = | |
|                             debug_trait_builder.field("replies_count", | |
|                                                       &&(*__self_0_10)); | |
|                         let _ = | |
|                             debug_trait_builder.field("reblogs_count", | |
|                                                       &&(*__self_0_11)); | |
|                         let _ = | |
|                             debug_trait_builder.field("favourites_count", | |
|                                                       &&(*__self_0_12)); | |
|                         let _ = | |
|                             debug_trait_builder.field("reblogged", | |
|                                                       &&(*__self_0_13)); | |
|                         let _ = | |
|                             debug_trait_builder.field("favourited", | |
|                                                       &&(*__self_0_14)); | |
|                         let _ = | |
|                             debug_trait_builder.field("sensitive", | |
|                                                       &&(*__self_0_15)); | |
|                         let _ = | |
|                             debug_trait_builder.field("spoiler_text", | |
|                                                       &&(*__self_0_16)); | |
|                         let _ = | |
|                             debug_trait_builder.field("visibility", | |
|                                                       &&(*__self_0_17)); | |
|                         let _ = | |
|                             debug_trait_builder.field("media_attachments", | |
|                                                       &&(*__self_0_18)); | |
|                         let _ = | |
|                             debug_trait_builder.field("mentions", | |
|                                                       &&(*__self_0_19)); | |
|                         let _ = | |
|                             debug_trait_builder.field("tags", | |
|                                                       &&(*__self_0_20)); | |
|                         let _ = | |
|                             debug_trait_builder.field("card", | |
|                                                       &&(*__self_0_21)); | |
|                         let _ = | |
|                             debug_trait_builder.field("application", | |
|                                                       &&(*__self_0_22)); | |
|                         let _ = | |
|                             debug_trait_builder.field("language", | |
|                                                       &&(*__self_0_23)); | |
|                         let _ = | |
|                             debug_trait_builder.field("pinned", | |
|                                                       &&(*__self_0_24)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for Status { | |
|             #[inline] | |
|             fn clone(&self) -> Status { | |
|                 match *self { | |
|                     Status { | |
|                     id: ref __self_0_0, | |
|                     uri: ref __self_0_1, | |
|                     url: ref __self_0_2, | |
|                     account: ref __self_0_3, | |
|                     in_reply_to_id: ref __self_0_4, | |
|                     in_reply_to_account_id: ref __self_0_5, | |
|                     reblog: ref __self_0_6, | |
|                     content: ref __self_0_7, | |
|                     created_at: ref __self_0_8, | |
|                     emojis: ref __self_0_9, | |
|                     replies_count: ref __self_0_10, | |
|                     reblogs_count: ref __self_0_11, | |
|                     favourites_count: ref __self_0_12, | |
|                     reblogged: ref __self_0_13, | |
|                     favourited: ref __self_0_14, | |
|                     sensitive: ref __self_0_15, | |
|                     spoiler_text: ref __self_0_16, | |
|                     visibility: ref __self_0_17, | |
|                     media_attachments: ref __self_0_18, | |
|                     mentions: ref __self_0_19, | |
|                     tags: ref __self_0_20, | |
|                     card: ref __self_0_21, | |
|                     application: ref __self_0_22, | |
|                     language: ref __self_0_23, | |
|                     pinned: ref __self_0_24 } => | |
|                     Status{id: ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                            uri: ::core::clone::Clone::clone(&(*__self_0_1)), | |
|                            url: ::core::clone::Clone::clone(&(*__self_0_2)), | |
|                            account: | |
|                                ::core::clone::Clone::clone(&(*__self_0_3)), | |
|                            in_reply_to_id: | |
|                                ::core::clone::Clone::clone(&(*__self_0_4)), | |
|                            in_reply_to_account_id: | |
|                                ::core::clone::Clone::clone(&(*__self_0_5)), | |
|                            reblog: | |
|                                ::core::clone::Clone::clone(&(*__self_0_6)), | |
|                            content: | |
|                                ::core::clone::Clone::clone(&(*__self_0_7)), | |
|                            created_at: | |
|                                ::core::clone::Clone::clone(&(*__self_0_8)), | |
|                            emojis: | |
|                                ::core::clone::Clone::clone(&(*__self_0_9)), | |
|                            replies_count: | |
|                                ::core::clone::Clone::clone(&(*__self_0_10)), | |
|                            reblogs_count: | |
|                                ::core::clone::Clone::clone(&(*__self_0_11)), | |
|                            favourites_count: | |
|                                ::core::clone::Clone::clone(&(*__self_0_12)), | |
|                            reblogged: | |
|                                ::core::clone::Clone::clone(&(*__self_0_13)), | |
|                            favourited: | |
|                                ::core::clone::Clone::clone(&(*__self_0_14)), | |
|                            sensitive: | |
|                                ::core::clone::Clone::clone(&(*__self_0_15)), | |
|                            spoiler_text: | |
|                                ::core::clone::Clone::clone(&(*__self_0_16)), | |
|                            visibility: | |
|                                ::core::clone::Clone::clone(&(*__self_0_17)), | |
|                            media_attachments: | |
|                                ::core::clone::Clone::clone(&(*__self_0_18)), | |
|                            mentions: | |
|                                ::core::clone::Clone::clone(&(*__self_0_19)), | |
|                            tags: ::core::clone::Clone::clone(&(*__self_0_20)), | |
|                            card: ::core::clone::Clone::clone(&(*__self_0_21)), | |
|                            application: | |
|                                ::core::clone::Clone::clone(&(*__self_0_22)), | |
|                            language: | |
|                                ::core::clone::Clone::clone(&(*__self_0_23)), | |
|                            pinned: | |
|                                ::core::clone::Clone::clone(&(*__self_0_24)),}, | |
|                 } | |
|             } | |
|         } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_DESERIALIZE_FOR_Status: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl <'de> _serde::Deserialize<'de> for Status { | |
|                     fn deserialize<__D>(__deserializer: __D) | |
|                      -> _serde::export::Result<Self, __D::Error> where | |
|                      __D: _serde::Deserializer<'de> { | |
|                         #[allow(non_camel_case_types)] | |
|                         enum __Field { | |
|                             __field0, | |
|                             __field1, | |
|                             __field2, | |
|                             __field3, | |
|                             __field4, | |
|                             __field5, | |
|                             __field6, | |
|                             __field7, | |
|                             __field8, | |
|                             __field9, | |
|                             __field10, | |
|                             __field11, | |
|                             __field12, | |
|                             __field13, | |
|                             __field14, | |
|                             __field15, | |
|                             __field16, | |
|                             __field17, | |
|                             __field18, | |
|                             __field19, | |
|                             __field20, | |
|                             __field21, | |
|                             __field22, | |
|                             __field23, | |
|                             __field24, | |
|                             __ignore, | |
|                         } | |
|                         struct __FieldVisitor; | |
|                         impl <'de> _serde::de::Visitor<'de> for __FieldVisitor | |
|                          { | |
|                             type Value = __Field; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "field identifier") | |
|                             } | |
|                             fn visit_u64<__E>(self, __value: u64) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     0u64 => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     1u64 => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     2u64 => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     3u64 => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     4u64 => | |
|                                     _serde::export::Ok(__Field::__field4), | |
|                                     5u64 => | |
|                                     _serde::export::Ok(__Field::__field5), | |
|                                     6u64 => | |
|                                     _serde::export::Ok(__Field::__field6), | |
|                                     7u64 => | |
|                                     _serde::export::Ok(__Field::__field7), | |
|                                     8u64 => | |
|                                     _serde::export::Ok(__Field::__field8), | |
|                                     9u64 => | |
|                                     _serde::export::Ok(__Field::__field9), | |
|                                     10u64 => | |
|                                     _serde::export::Ok(__Field::__field10), | |
|                                     11u64 => | |
|                                     _serde::export::Ok(__Field::__field11), | |
|                                     12u64 => | |
|                                     _serde::export::Ok(__Field::__field12), | |
|                                     13u64 => | |
|                                     _serde::export::Ok(__Field::__field13), | |
|                                     14u64 => | |
|                                     _serde::export::Ok(__Field::__field14), | |
|                                     15u64 => | |
|                                     _serde::export::Ok(__Field::__field15), | |
|                                     16u64 => | |
|                                     _serde::export::Ok(__Field::__field16), | |
|                                     17u64 => | |
|                                     _serde::export::Ok(__Field::__field17), | |
|                                     18u64 => | |
|                                     _serde::export::Ok(__Field::__field18), | |
|                                     19u64 => | |
|                                     _serde::export::Ok(__Field::__field19), | |
|                                     20u64 => | |
|                                     _serde::export::Ok(__Field::__field20), | |
|                                     21u64 => | |
|                                     _serde::export::Ok(__Field::__field21), | |
|                                     22u64 => | |
|                                     _serde::export::Ok(__Field::__field22), | |
|                                     23u64 => | |
|                                     _serde::export::Ok(__Field::__field23), | |
|                                     24u64 => | |
|                                     _serde::export::Ok(__Field::__field24), | |
|                                     _ => | |
|                                     _serde::export::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value), | |
|                                                                                          &"field index 0 <= i < 25")), | |
|                                 } | |
|                             } | |
|                             fn visit_str<__E>(self, __value: &str) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     "id" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     "uri" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     "url" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     "account" => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     "in_reply_to_id" => | |
|                                     _serde::export::Ok(__Field::__field4), | |
|                                     "in_reply_to_account_id" => | |
|                                     _serde::export::Ok(__Field::__field5), | |
|                                     "reblog" => | |
|                                     _serde::export::Ok(__Field::__field6), | |
|                                     "content" => | |
|                                     _serde::export::Ok(__Field::__field7), | |
|                                     "created_at" => | |
|                                     _serde::export::Ok(__Field::__field8), | |
|                                     "emojis" => | |
|                                     _serde::export::Ok(__Field::__field9), | |
|                                     "replies_count" => | |
|                                     _serde::export::Ok(__Field::__field10), | |
|                                     "reblogs_count" => | |
|                                     _serde::export::Ok(__Field::__field11), | |
|                                     "favourites_count" => | |
|                                     _serde::export::Ok(__Field::__field12), | |
|                                     "reblogged" => | |
|                                     _serde::export::Ok(__Field::__field13), | |
|                                     "favourited" => | |
|                                     _serde::export::Ok(__Field::__field14), | |
|                                     "sensitive" => | |
|                                     _serde::export::Ok(__Field::__field15), | |
|                                     "spoiler_text" => | |
|                                     _serde::export::Ok(__Field::__field16), | |
|                                     "visibility" => | |
|                                     _serde::export::Ok(__Field::__field17), | |
|                                     "media_attachments" => | |
|                                     _serde::export::Ok(__Field::__field18), | |
|                                     "mentions" => | |
|                                     _serde::export::Ok(__Field::__field19), | |
|                                     "tags" => | |
|                                     _serde::export::Ok(__Field::__field20), | |
|                                     "card" => | |
|                                     _serde::export::Ok(__Field::__field21), | |
|                                     "application" => | |
|                                     _serde::export::Ok(__Field::__field22), | |
|                                     "language" => | |
|                                     _serde::export::Ok(__Field::__field23), | |
|                                     "pinned" => | |
|                                     _serde::export::Ok(__Field::__field24), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                             fn visit_bytes<__E>(self, __value: &[u8]) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     b"id" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     b"uri" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     b"url" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     b"account" => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     b"in_reply_to_id" => | |
|                                     _serde::export::Ok(__Field::__field4), | |
|                                     b"in_reply_to_account_id" => | |
|                                     _serde::export::Ok(__Field::__field5), | |
|                                     b"reblog" => | |
|                                     _serde::export::Ok(__Field::__field6), | |
|                                     b"content" => | |
|                                     _serde::export::Ok(__Field::__field7), | |
|                                     b"created_at" => | |
|                                     _serde::export::Ok(__Field::__field8), | |
|                                     b"emojis" => | |
|                                     _serde::export::Ok(__Field::__field9), | |
|                                     b"replies_count" => | |
|                                     _serde::export::Ok(__Field::__field10), | |
|                                     b"reblogs_count" => | |
|                                     _serde::export::Ok(__Field::__field11), | |
|                                     b"favourites_count" => | |
|                                     _serde::export::Ok(__Field::__field12), | |
|                                     b"reblogged" => | |
|                                     _serde::export::Ok(__Field::__field13), | |
|                                     b"favourited" => | |
|                                     _serde::export::Ok(__Field::__field14), | |
|                                     b"sensitive" => | |
|                                     _serde::export::Ok(__Field::__field15), | |
|                                     b"spoiler_text" => | |
|                                     _serde::export::Ok(__Field::__field16), | |
|                                     b"visibility" => | |
|                                     _serde::export::Ok(__Field::__field17), | |
|                                     b"media_attachments" => | |
|                                     _serde::export::Ok(__Field::__field18), | |
|                                     b"mentions" => | |
|                                     _serde::export::Ok(__Field::__field19), | |
|                                     b"tags" => | |
|                                     _serde::export::Ok(__Field::__field20), | |
|                                     b"card" => | |
|                                     _serde::export::Ok(__Field::__field21), | |
|                                     b"application" => | |
|                                     _serde::export::Ok(__Field::__field22), | |
|                                     b"language" => | |
|                                     _serde::export::Ok(__Field::__field23), | |
|                                     b"pinned" => | |
|                                     _serde::export::Ok(__Field::__field24), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                         } | |
|                         impl <'de> _serde::Deserialize<'de> for __Field { | |
|                             #[inline] | |
|                             fn deserialize<__D>(__deserializer: __D) | |
|                              -> _serde::export::Result<Self, __D::Error> where | |
|                              __D: _serde::Deserializer<'de> { | |
|                                 _serde::Deserializer::deserialize_identifier(__deserializer, | |
|                                                                              __FieldVisitor) | |
|                             } | |
|                         } | |
|                         struct __Visitor<'de> { | |
|                             marker: _serde::export::PhantomData<Status>, | |
|                             lifetime: _serde::export::PhantomData<&'de ()>, | |
|                         } | |
|                         impl <'de> _serde::de::Visitor<'de> for __Visitor<'de> | |
|                          { | |
|                             type Value = Status; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "struct Status") | |
|                             } | |
|                             #[inline] | |
|                             fn visit_seq<__A>(self, mut __seq: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::SeqAccess<'de> { | |
|                                 let __field0 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(0usize, | |
|                                                                                                          &"struct Status with 25 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(1usize, | |
|                                                                                                          &"struct Status with 25 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field2 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<String>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(2usize, | |
|                                                                                                          &"struct Status with 25 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field3 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Account>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(3usize, | |
|                                                                                                          &"struct Status with 25 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field4 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<String>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(4usize, | |
|                                                                                                          &"struct Status with 25 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field5 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<String>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(5usize, | |
|                                                                                                          &"struct Status with 25 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field6 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<Box<Status>>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(6usize, | |
|                                                                                                          &"struct Status with 25 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field7 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(7usize, | |
|                                                                                                          &"struct Status with 25 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field8 = | |
|                                     match match _serde::de::SeqAccess::next_element::<DateTime<Utc>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(8usize, | |
|                                                                                                          &"struct Status with 25 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field9 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Vec<Emoji>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(9usize, | |
|                                                                                                          &"struct Status with 25 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field10 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<u64>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(10usize, | |
|                                                                                                          &"struct Status with 25 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field11 = | |
|                                     match match _serde::de::SeqAccess::next_element::<u64>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(11usize, | |
|                                                                                                          &"struct Status with 25 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field12 = | |
|                                     match match _serde::de::SeqAccess::next_element::<u64>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(12usize, | |
|                                                                                                          &"struct Status with 25 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field13 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(13usize, | |
|                                                                                                          &"struct Status with 25 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field14 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(14usize, | |
|                                                                                                          &"struct Status with 25 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field15 = | |
|                                     match match _serde::de::SeqAccess::next_element::<bool>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(15usize, | |
|                                                                                                          &"struct Status with 25 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field16 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(16usize, | |
|                                                                                                          &"struct Status with 25 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field17 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Visibility>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(17usize, | |
|                                                                                                          &"struct Status with 25 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field18 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Vec<Attachment>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(18usize, | |
|                                                                                                          &"struct Status with 25 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field19 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Vec<Mention>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(19usize, | |
|                                                                                                          &"struct Status with 25 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field20 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Vec<Tag>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(20usize, | |
|                                                                                                          &"struct Status with 25 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field21 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<Card>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(21usize, | |
|                                                                                                          &"struct Status with 25 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field22 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<Application>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(22usize, | |
|                                                                                                          &"struct Status with 25 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field23 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<String>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(23usize, | |
|                                                                                                          &"struct Status with 25 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field24 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<bool>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(24usize, | |
|                                                                                                          &"struct Status with 25 elements")); | |
|                                         } | |
|                                     }; | |
|                                 _serde::export::Ok(Status{id: __field0, | |
|                                                           uri: __field1, | |
|                                                           url: __field2, | |
|                                                           account: __field3, | |
|                                                           in_reply_to_id: | |
|                                                               __field4, | |
|                                                           in_reply_to_account_id: | |
|                                                               __field5, | |
|                                                           reblog: __field6, | |
|                                                           content: __field7, | |
|                                                           created_at: | |
|                                                               __field8, | |
|                                                           emojis: __field9, | |
|                                                           replies_count: | |
|                                                               __field10, | |
|                                                           reblogs_count: | |
|                                                               __field11, | |
|                                                           favourites_count: | |
|                                                               __field12, | |
|                                                           reblogged: | |
|                                                               __field13, | |
|                                                           favourited: | |
|                                                               __field14, | |
|                                                           sensitive: | |
|                                                               __field15, | |
|                                                           spoiler_text: | |
|                                                               __field16, | |
|                                                           visibility: | |
|                                                               __field17, | |
|                                                           media_attachments: | |
|                                                               __field18, | |
|                                                           mentions: __field19, | |
|                                                           tags: __field20, | |
|                                                           card: __field21, | |
|                                                           application: | |
|                                                               __field22, | |
|                                                           language: __field23, | |
|                                                           pinned: __field24,}) | |
|                             } | |
|                             #[inline] | |
|                             fn visit_map<__A>(self, mut __map: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::MapAccess<'de> { | |
|                                 let mut __field0: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field1: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field2: | |
|                                         _serde::export::Option<Option<String>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field3: | |
|                                         _serde::export::Option<Account> = | |
|                                     _serde::export::None; | |
|                                 let mut __field4: | |
|                                         _serde::export::Option<Option<String>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field5: | |
|                                         _serde::export::Option<Option<String>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field6: | |
|                                         _serde::export::Option<Option<Box<Status>>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field7: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field8: | |
|                                         _serde::export::Option<DateTime<Utc>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field9: | |
|                                         _serde::export::Option<Vec<Emoji>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field10: | |
|                                         _serde::export::Option<Option<u64>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field11: | |
|                                         _serde::export::Option<u64> = | |
|                                     _serde::export::None; | |
|                                 let mut __field12: | |
|                                         _serde::export::Option<u64> = | |
|                                     _serde::export::None; | |
|                                 let mut __field13: | |
|                                         _serde::export::Option<Option<bool>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field14: | |
|                                         _serde::export::Option<Option<bool>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field15: | |
|                                         _serde::export::Option<bool> = | |
|                                     _serde::export::None; | |
|                                 let mut __field16: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field17: | |
|                                         _serde::export::Option<Visibility> = | |
|                                     _serde::export::None; | |
|                                 let mut __field18: | |
|                                         _serde::export::Option<Vec<Attachment>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field19: | |
|                                         _serde::export::Option<Vec<Mention>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field20: | |
|                                         _serde::export::Option<Vec<Tag>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field21: | |
|                                         _serde::export::Option<Option<Card>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field22: | |
|                                         _serde::export::Option<Option<Application>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field23: | |
|                                         _serde::export::Option<Option<String>> = | |
|                                     _serde::export::None; | |
|                                 let mut __field24: | |
|                                         _serde::export::Option<Option<bool>> = | |
|                                     _serde::export::None; | |
|                                 while let _serde::export::Some(__key) = | |
|                                           match _serde::de::MapAccess::next_key::<__Field>(&mut __map) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                     match __key { | |
|                                         __Field::__field0 => { | |
|                                             if _serde::export::Option::is_some(&__field0) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("id")); | |
|                                             } | |
|                                             __field0 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field1 => { | |
|                                             if _serde::export::Option::is_some(&__field1) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("uri")); | |
|                                             } | |
|                                             __field1 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field2 => { | |
|                                             if _serde::export::Option::is_some(&__field2) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("url")); | |
|                                             } | |
|                                             __field2 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<String>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field3 => { | |
|                                             if _serde::export::Option::is_some(&__field3) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("account")); | |
|                                             } | |
|                                             __field3 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Account>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field4 => { | |
|                                             if _serde::export::Option::is_some(&__field4) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("in_reply_to_id")); | |
|                                             } | |
|                                             __field4 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<String>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field5 => { | |
|                                             if _serde::export::Option::is_some(&__field5) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("in_reply_to_account_id")); | |
|                                             } | |
|                                             __field5 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<String>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field6 => { | |
|                                             if _serde::export::Option::is_some(&__field6) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("reblog")); | |
|                                             } | |
|                                             __field6 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<Box<Status>>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field7 => { | |
|                                             if _serde::export::Option::is_some(&__field7) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("content")); | |
|                                             } | |
|                                             __field7 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field8 => { | |
|                                             if _serde::export::Option::is_some(&__field8) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("created_at")); | |
|                                             } | |
|                                             __field8 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<DateTime<Utc>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field9 => { | |
|                                             if _serde::export::Option::is_some(&__field9) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("emojis")); | |
|                                             } | |
|                                             __field9 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Vec<Emoji>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field10 => { | |
|                                             if _serde::export::Option::is_some(&__field10) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("replies_count")); | |
|                                             } | |
|                                             __field10 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<u64>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field11 => { | |
|                                             if _serde::export::Option::is_some(&__field11) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("reblogs_count")); | |
|                                             } | |
|                                             __field11 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<u64>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field12 => { | |
|                                             if _serde::export::Option::is_some(&__field12) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("favourites_count")); | |
|                                             } | |
|                                             __field12 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<u64>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field13 => { | |
|                                             if _serde::export::Option::is_some(&__field13) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("reblogged")); | |
|                                             } | |
|                                             __field13 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<bool>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field14 => { | |
|                                             if _serde::export::Option::is_some(&__field14) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("favourited")); | |
|                                             } | |
|                                             __field14 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<bool>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field15 => { | |
|                                             if _serde::export::Option::is_some(&__field15) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("sensitive")); | |
|                                             } | |
|                                             __field15 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<bool>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field16 => { | |
|                                             if _serde::export::Option::is_some(&__field16) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("spoiler_text")); | |
|                                             } | |
|                                             __field16 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field17 => { | |
|                                             if _serde::export::Option::is_some(&__field17) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("visibility")); | |
|                                             } | |
|                                             __field17 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Visibility>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field18 => { | |
|                                             if _serde::export::Option::is_some(&__field18) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("media_attachments")); | |
|                                             } | |
|                                             __field18 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Vec<Attachment>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field19 => { | |
|                                             if _serde::export::Option::is_some(&__field19) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("mentions")); | |
|                                             } | |
|                                             __field19 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Vec<Mention>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field20 => { | |
|                                             if _serde::export::Option::is_some(&__field20) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("tags")); | |
|                                             } | |
|                                             __field20 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Vec<Tag>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field21 => { | |
|                                             if _serde::export::Option::is_some(&__field21) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("card")); | |
|                                             } | |
|                                             __field21 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<Card>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field22 => { | |
|                                             if _serde::export::Option::is_some(&__field22) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("application")); | |
|                                             } | |
|                                             __field22 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<Application>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field23 => { | |
|                                             if _serde::export::Option::is_some(&__field23) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("language")); | |
|                                             } | |
|                                             __field23 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<String>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field24 => { | |
|                                             if _serde::export::Option::is_some(&__field24) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("pinned")); | |
|                                             } | |
|                                             __field24 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<bool>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         _ => { | |
|                                             let _ = | |
|                                                 match _serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map) | |
|                                                     { | |
|                                                     _serde::export::Ok(__val) | |
|                                                     => __val, | |
|                                                     _serde::export::Err(__err) | |
|                                                     => { | |
|                                                         return _serde::export::Err(__err); | |
|                                                     } | |
|                                                 }; | |
|                                         } | |
|                                     } | |
|                                 } | |
|                                 let __field0 = | |
|                                     match __field0 { | |
|                                         _serde::export::Some(__field0) => | |
|                                         __field0, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("id") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match __field1 { | |
|                                         _serde::export::Some(__field1) => | |
|                                         __field1, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("uri") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field2 = | |
|                                     match __field2 { | |
|                                         _serde::export::Some(__field2) => | |
|                                         __field2, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("url") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field3 = | |
|                                     match __field3 { | |
|                                         _serde::export::Some(__field3) => | |
|                                         __field3, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("account") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field4 = | |
|                                     match __field4 { | |
|                                         _serde::export::Some(__field4) => | |
|                                         __field4, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("in_reply_to_id") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field5 = | |
|                                     match __field5 { | |
|                                         _serde::export::Some(__field5) => | |
|                                         __field5, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("in_reply_to_account_id") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field6 = | |
|                                     match __field6 { | |
|                                         _serde::export::Some(__field6) => | |
|                                         __field6, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("reblog") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field7 = | |
|                                     match __field7 { | |
|                                         _serde::export::Some(__field7) => | |
|                                         __field7, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("content") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field8 = | |
|                                     match __field8 { | |
|                                         _serde::export::Some(__field8) => | |
|                                         __field8, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("created_at") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field9 = | |
|                                     match __field9 { | |
|                                         _serde::export::Some(__field9) => | |
|                                         __field9, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("emojis") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field10 = | |
|                                     match __field10 { | |
|                                         _serde::export::Some(__field10) => | |
|                                         __field10, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("replies_count") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field11 = | |
|                                     match __field11 { | |
|                                         _serde::export::Some(__field11) => | |
|                                         __field11, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("reblogs_count") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field12 = | |
|                                     match __field12 { | |
|                                         _serde::export::Some(__field12) => | |
|                                         __field12, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("favourites_count") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field13 = | |
|                                     match __field13 { | |
|                                         _serde::export::Some(__field13) => | |
|                                         __field13, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("reblogged") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field14 = | |
|                                     match __field14 { | |
|                                         _serde::export::Some(__field14) => | |
|                                         __field14, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("favourited") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field15 = | |
|                                     match __field15 { | |
|                                         _serde::export::Some(__field15) => | |
|                                         __field15, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("sensitive") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field16 = | |
|                                     match __field16 { | |
|                                         _serde::export::Some(__field16) => | |
|                                         __field16, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("spoiler_text") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field17 = | |
|                                     match __field17 { | |
|                                         _serde::export::Some(__field17) => | |
|                                         __field17, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("visibility") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field18 = | |
|                                     match __field18 { | |
|                                         _serde::export::Some(__field18) => | |
|                                         __field18, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("media_attachments") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field19 = | |
|                                     match __field19 { | |
|                                         _serde::export::Some(__field19) => | |
|                                         __field19, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("mentions") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field20 = | |
|                                     match __field20 { | |
|                                         _serde::export::Some(__field20) => | |
|                                         __field20, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("tags") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field21 = | |
|                                     match __field21 { | |
|                                         _serde::export::Some(__field21) => | |
|                                         __field21, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("card") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field22 = | |
|                                     match __field22 { | |
|                                         _serde::export::Some(__field22) => | |
|                                         __field22, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("application") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field23 = | |
|                                     match __field23 { | |
|                                         _serde::export::Some(__field23) => | |
|                                         __field23, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("language") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field24 = | |
|                                     match __field24 { | |
|                                         _serde::export::Some(__field24) => | |
|                                         __field24, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("pinned") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 _serde::export::Ok(Status{id: __field0, | |
|                                                           uri: __field1, | |
|                                                           url: __field2, | |
|                                                           account: __field3, | |
|                                                           in_reply_to_id: | |
|                                                               __field4, | |
|                                                           in_reply_to_account_id: | |
|                                                               __field5, | |
|                                                           reblog: __field6, | |
|                                                           content: __field7, | |
|                                                           created_at: | |
|                                                               __field8, | |
|                                                           emojis: __field9, | |
|                                                           replies_count: | |
|                                                               __field10, | |
|                                                           reblogs_count: | |
|                                                               __field11, | |
|                                                           favourites_count: | |
|                                                               __field12, | |
|                                                           reblogged: | |
|                                                               __field13, | |
|                                                           favourited: | |
|                                                               __field14, | |
|                                                           sensitive: | |
|                                                               __field15, | |
|                                                           spoiler_text: | |
|                                                               __field16, | |
|                                                           visibility: | |
|                                                               __field17, | |
|                                                           media_attachments: | |
|                                                               __field18, | |
|                                                           mentions: __field19, | |
|                                                           tags: __field20, | |
|                                                           card: __field21, | |
|                                                           application: | |
|                                                               __field22, | |
|                                                           language: __field23, | |
|                                                           pinned: __field24,}) | |
|                             } | |
|                         } | |
|                         const FIELDS: &'static [&'static str] = | |
|                             &["id", "uri", "url", "account", "in_reply_to_id", | |
|                               "in_reply_to_account_id", "reblog", "content", | |
|                               "created_at", "emojis", "replies_count", | |
|                               "reblogs_count", "favourites_count", | |
|                               "reblogged", "favourited", "sensitive", | |
|                               "spoiler_text", "visibility", | |
|                               "media_attachments", "mentions", "tags", "card", | |
|                               "application", "language", "pinned"]; | |
|                         _serde::Deserializer::deserialize_struct(__deserializer, | |
|                                                                  "Status", | |
|                                                                  FIELDS, | |
|                                                                  __Visitor{marker: | |
|                                                                                _serde::export::PhantomData::<Status>, | |
|                                                                            lifetime: | |
|                                                                                _serde::export::PhantomData,}) | |
|                     } | |
|                 } | |
|             }; | |
|         impl ::core::marker::StructuralPartialEq for Status { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for Status { | |
|             #[inline] | |
|             fn eq(&self, other: &Status) -> bool { | |
|                 match *other { | |
|                     Status { | |
|                     id: ref __self_1_0, | |
|                     uri: ref __self_1_1, | |
|                     url: ref __self_1_2, | |
|                     account: ref __self_1_3, | |
|                     in_reply_to_id: ref __self_1_4, | |
|                     in_reply_to_account_id: ref __self_1_5, | |
|                     reblog: ref __self_1_6, | |
|                     content: ref __self_1_7, | |
|                     created_at: ref __self_1_8, | |
|                     emojis: ref __self_1_9, | |
|                     replies_count: ref __self_1_10, | |
|                     reblogs_count: ref __self_1_11, | |
|                     favourites_count: ref __self_1_12, | |
|                     reblogged: ref __self_1_13, | |
|                     favourited: ref __self_1_14, | |
|                     sensitive: ref __self_1_15, | |
|                     spoiler_text: ref __self_1_16, | |
|                     visibility: ref __self_1_17, | |
|                     media_attachments: ref __self_1_18, | |
|                     mentions: ref __self_1_19, | |
|                     tags: ref __self_1_20, | |
|                     card: ref __self_1_21, | |
|                     application: ref __self_1_22, | |
|                     language: ref __self_1_23, | |
|                     pinned: ref __self_1_24 } => | |
|                     match *self { | |
|                         Status { | |
|                         id: ref __self_0_0, | |
|                         uri: ref __self_0_1, | |
|                         url: ref __self_0_2, | |
|                         account: ref __self_0_3, | |
|                         in_reply_to_id: ref __self_0_4, | |
|                         in_reply_to_account_id: ref __self_0_5, | |
|                         reblog: ref __self_0_6, | |
|                         content: ref __self_0_7, | |
|                         created_at: ref __self_0_8, | |
|                         emojis: ref __self_0_9, | |
|                         replies_count: ref __self_0_10, | |
|                         reblogs_count: ref __self_0_11, | |
|                         favourites_count: ref __self_0_12, | |
|                         reblogged: ref __self_0_13, | |
|                         favourited: ref __self_0_14, | |
|                         sensitive: ref __self_0_15, | |
|                         spoiler_text: ref __self_0_16, | |
|                         visibility: ref __self_0_17, | |
|                         media_attachments: ref __self_0_18, | |
|                         mentions: ref __self_0_19, | |
|                         tags: ref __self_0_20, | |
|                         card: ref __self_0_21, | |
|                         application: ref __self_0_22, | |
|                         language: ref __self_0_23, | |
|                         pinned: ref __self_0_24 } => | |
|                         (*__self_0_0) == (*__self_1_0) && | |
|                             (*__self_0_1) == (*__self_1_1) && | |
|                             (*__self_0_2) == (*__self_1_2) && | |
|                             (*__self_0_3) == (*__self_1_3) && | |
|                             (*__self_0_4) == (*__self_1_4) && | |
|                             (*__self_0_5) == (*__self_1_5) && | |
|                             (*__self_0_6) == (*__self_1_6) && | |
|                             (*__self_0_7) == (*__self_1_7) && | |
|                             (*__self_0_8) == (*__self_1_8) && | |
|                             (*__self_0_9) == (*__self_1_9) && | |
|                             (*__self_0_10) == (*__self_1_10) && | |
|                             (*__self_0_11) == (*__self_1_11) && | |
|                             (*__self_0_12) == (*__self_1_12) && | |
|                             (*__self_0_13) == (*__self_1_13) && | |
|                             (*__self_0_14) == (*__self_1_14) && | |
|                             (*__self_0_15) == (*__self_1_15) && | |
|                             (*__self_0_16) == (*__self_1_16) && | |
|                             (*__self_0_17) == (*__self_1_17) && | |
|                             (*__self_0_18) == (*__self_1_18) && | |
|                             (*__self_0_19) == (*__self_1_19) && | |
|                             (*__self_0_20) == (*__self_1_20) && | |
|                             (*__self_0_21) == (*__self_1_21) && | |
|                             (*__self_0_22) == (*__self_1_22) && | |
|                             (*__self_0_23) == (*__self_1_23) && | |
|                             (*__self_0_24) == (*__self_1_24), | |
|                     }, | |
|                 } | |
|             } | |
|             #[inline] | |
|             fn ne(&self, other: &Status) -> bool { | |
|                 match *other { | |
|                     Status { | |
|                     id: ref __self_1_0, | |
|                     uri: ref __self_1_1, | |
|                     url: ref __self_1_2, | |
|                     account: ref __self_1_3, | |
|                     in_reply_to_id: ref __self_1_4, | |
|                     in_reply_to_account_id: ref __self_1_5, | |
|                     reblog: ref __self_1_6, | |
|                     content: ref __self_1_7, | |
|                     created_at: ref __self_1_8, | |
|                     emojis: ref __self_1_9, | |
|                     replies_count: ref __self_1_10, | |
|                     reblogs_count: ref __self_1_11, | |
|                     favourites_count: ref __self_1_12, | |
|                     reblogged: ref __self_1_13, | |
|                     favourited: ref __self_1_14, | |
|                     sensitive: ref __self_1_15, | |
|                     spoiler_text: ref __self_1_16, | |
|                     visibility: ref __self_1_17, | |
|                     media_attachments: ref __self_1_18, | |
|                     mentions: ref __self_1_19, | |
|                     tags: ref __self_1_20, | |
|                     card: ref __self_1_21, | |
|                     application: ref __self_1_22, | |
|                     language: ref __self_1_23, | |
|                     pinned: ref __self_1_24 } => | |
|                     match *self { | |
|                         Status { | |
|                         id: ref __self_0_0, | |
|                         uri: ref __self_0_1, | |
|                         url: ref __self_0_2, | |
|                         account: ref __self_0_3, | |
|                         in_reply_to_id: ref __self_0_4, | |
|                         in_reply_to_account_id: ref __self_0_5, | |
|                         reblog: ref __self_0_6, | |
|                         content: ref __self_0_7, | |
|                         created_at: ref __self_0_8, | |
|                         emojis: ref __self_0_9, | |
|                         replies_count: ref __self_0_10, | |
|                         reblogs_count: ref __self_0_11, | |
|                         favourites_count: ref __self_0_12, | |
|                         reblogged: ref __self_0_13, | |
|                         favourited: ref __self_0_14, | |
|                         sensitive: ref __self_0_15, | |
|                         spoiler_text: ref __self_0_16, | |
|                         visibility: ref __self_0_17, | |
|                         media_attachments: ref __self_0_18, | |
|                         mentions: ref __self_0_19, | |
|                         tags: ref __self_0_20, | |
|                         card: ref __self_0_21, | |
|                         application: ref __self_0_22, | |
|                         language: ref __self_0_23, | |
|                         pinned: ref __self_0_24 } => | |
|                         (*__self_0_0) != (*__self_1_0) || | |
|                             (*__self_0_1) != (*__self_1_1) || | |
|                             (*__self_0_2) != (*__self_1_2) || | |
|                             (*__self_0_3) != (*__self_1_3) || | |
|                             (*__self_0_4) != (*__self_1_4) || | |
|                             (*__self_0_5) != (*__self_1_5) || | |
|                             (*__self_0_6) != (*__self_1_6) || | |
|                             (*__self_0_7) != (*__self_1_7) || | |
|                             (*__self_0_8) != (*__self_1_8) || | |
|                             (*__self_0_9) != (*__self_1_9) || | |
|                             (*__self_0_10) != (*__self_1_10) || | |
|                             (*__self_0_11) != (*__self_1_11) || | |
|                             (*__self_0_12) != (*__self_1_12) || | |
|                             (*__self_0_13) != (*__self_1_13) || | |
|                             (*__self_0_14) != (*__self_1_14) || | |
|                             (*__self_0_15) != (*__self_1_15) || | |
|                             (*__self_0_16) != (*__self_1_16) || | |
|                             (*__self_0_17) != (*__self_1_17) || | |
|                             (*__self_0_18) != (*__self_1_18) || | |
|                             (*__self_0_19) != (*__self_1_19) || | |
|                             (*__self_0_20) != (*__self_1_20) || | |
|                             (*__self_0_21) != (*__self_1_21) || | |
|                             (*__self_0_22) != (*__self_1_22) || | |
|                             (*__self_0_23) != (*__self_1_23) || | |
|                             (*__self_0_24) != (*__self_1_24), | |
|                     }, | |
|                 } | |
|             } | |
|         } | |
|         /// A mention of another user. | |
|         pub struct Mention { | |
|             /// URL of user's profile (can be remote). | |
|             pub url: String, | |
|             /// The username of the account. | |
|             pub username: String, | |
|             /// Equals `username` for local users, includes `@domain` for remote ones. | |
|             pub acct: String, | |
|             /// Account ID. | |
|             pub id: String, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for Mention { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match *self { | |
|                     Mention { | |
|                     url: ref __self_0_0, | |
|                     username: ref __self_0_1, | |
|                     acct: ref __self_0_2, | |
|                     id: ref __self_0_3 } => { | |
|                         let mut debug_trait_builder = | |
|                             f.debug_struct("Mention"); | |
|                         let _ = | |
|                             debug_trait_builder.field("url", &&(*__self_0_0)); | |
|                         let _ = | |
|                             debug_trait_builder.field("username", | |
|                                                       &&(*__self_0_1)); | |
|                         let _ = | |
|                             debug_trait_builder.field("acct", | |
|                                                       &&(*__self_0_2)); | |
|                         let _ = | |
|                             debug_trait_builder.field("id", &&(*__self_0_3)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for Mention { | |
|             #[inline] | |
|             fn clone(&self) -> Mention { | |
|                 match *self { | |
|                     Mention { | |
|                     url: ref __self_0_0, | |
|                     username: ref __self_0_1, | |
|                     acct: ref __self_0_2, | |
|                     id: ref __self_0_3 } => | |
|                     Mention{url: ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                             username: | |
|                                 ::core::clone::Clone::clone(&(*__self_0_1)), | |
|                             acct: ::core::clone::Clone::clone(&(*__self_0_2)), | |
|                             id: ::core::clone::Clone::clone(&(*__self_0_3)),}, | |
|                 } | |
|             } | |
|         } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_DESERIALIZE_FOR_Mention: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl <'de> _serde::Deserialize<'de> for Mention { | |
|                     fn deserialize<__D>(__deserializer: __D) | |
|                      -> _serde::export::Result<Self, __D::Error> where | |
|                      __D: _serde::Deserializer<'de> { | |
|                         #[allow(non_camel_case_types)] | |
|                         enum __Field { | |
|                             __field0, | |
|                             __field1, | |
|                             __field2, | |
|                             __field3, | |
|                             __ignore, | |
|                         } | |
|                         struct __FieldVisitor; | |
|                         impl <'de> _serde::de::Visitor<'de> for __FieldVisitor | |
|                          { | |
|                             type Value = __Field; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "field identifier") | |
|                             } | |
|                             fn visit_u64<__E>(self, __value: u64) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     0u64 => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     1u64 => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     2u64 => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     3u64 => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     _ => | |
|                                     _serde::export::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value), | |
|                                                                                          &"field index 0 <= i < 4")), | |
|                                 } | |
|                             } | |
|                             fn visit_str<__E>(self, __value: &str) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     "url" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     "username" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     "acct" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     "id" => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                             fn visit_bytes<__E>(self, __value: &[u8]) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     b"url" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     b"username" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     b"acct" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     b"id" => | |
|                                     _serde::export::Ok(__Field::__field3), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                         } | |
|                         impl <'de> _serde::Deserialize<'de> for __Field { | |
|                             #[inline] | |
|                             fn deserialize<__D>(__deserializer: __D) | |
|                              -> _serde::export::Result<Self, __D::Error> where | |
|                              __D: _serde::Deserializer<'de> { | |
|                                 _serde::Deserializer::deserialize_identifier(__deserializer, | |
|                                                                              __FieldVisitor) | |
|                             } | |
|                         } | |
|                         struct __Visitor<'de> { | |
|                             marker: _serde::export::PhantomData<Mention>, | |
|                             lifetime: _serde::export::PhantomData<&'de ()>, | |
|                         } | |
|                         impl <'de> _serde::de::Visitor<'de> for __Visitor<'de> | |
|                          { | |
|                             type Value = Mention; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "struct Mention") | |
|                             } | |
|                             #[inline] | |
|                             fn visit_seq<__A>(self, mut __seq: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::SeqAccess<'de> { | |
|                                 let __field0 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(0usize, | |
|                                                                                                          &"struct Mention with 4 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(1usize, | |
|                                                                                                          &"struct Mention with 4 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field2 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(2usize, | |
|                                                                                                          &"struct Mention with 4 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field3 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(3usize, | |
|                                                                                                          &"struct Mention with 4 elements")); | |
|                                         } | |
|                                     }; | |
|                                 _serde::export::Ok(Mention{url: __field0, | |
|                                                            username: __field1, | |
|                                                            acct: __field2, | |
|                                                            id: __field3,}) | |
|                             } | |
|                             #[inline] | |
|                             fn visit_map<__A>(self, mut __map: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::MapAccess<'de> { | |
|                                 let mut __field0: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field1: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field2: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field3: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 while let _serde::export::Some(__key) = | |
|                                           match _serde::de::MapAccess::next_key::<__Field>(&mut __map) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                     match __key { | |
|                                         __Field::__field0 => { | |
|                                             if _serde::export::Option::is_some(&__field0) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("url")); | |
|                                             } | |
|                                             __field0 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field1 => { | |
|                                             if _serde::export::Option::is_some(&__field1) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("username")); | |
|                                             } | |
|                                             __field1 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field2 => { | |
|                                             if _serde::export::Option::is_some(&__field2) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("acct")); | |
|                                             } | |
|                                             __field2 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field3 => { | |
|                                             if _serde::export::Option::is_some(&__field3) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("id")); | |
|                                             } | |
|                                             __field3 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         _ => { | |
|                                             let _ = | |
|                                                 match _serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map) | |
|                                                     { | |
|                                                     _serde::export::Ok(__val) | |
|                                                     => __val, | |
|                                                     _serde::export::Err(__err) | |
|                                                     => { | |
|                                                         return _serde::export::Err(__err); | |
|                                                     } | |
|                                                 }; | |
|                                         } | |
|                                     } | |
|                                 } | |
|                                 let __field0 = | |
|                                     match __field0 { | |
|                                         _serde::export::Some(__field0) => | |
|                                         __field0, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("url") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match __field1 { | |
|                                         _serde::export::Some(__field1) => | |
|                                         __field1, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("username") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field2 = | |
|                                     match __field2 { | |
|                                         _serde::export::Some(__field2) => | |
|                                         __field2, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("acct") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field3 = | |
|                                     match __field3 { | |
|                                         _serde::export::Some(__field3) => | |
|                                         __field3, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("id") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 _serde::export::Ok(Mention{url: __field0, | |
|                                                            username: __field1, | |
|                                                            acct: __field2, | |
|                                                            id: __field3,}) | |
|                             } | |
|                         } | |
|                         const FIELDS: &'static [&'static str] = | |
|                             &["url", "username", "acct", "id"]; | |
|                         _serde::Deserializer::deserialize_struct(__deserializer, | |
|                                                                  "Mention", | |
|                                                                  FIELDS, | |
|                                                                  __Visitor{marker: | |
|                                                                                _serde::export::PhantomData::<Mention>, | |
|                                                                            lifetime: | |
|                                                                                _serde::export::PhantomData,}) | |
|                     } | |
|                 } | |
|             }; | |
|         impl ::core::marker::StructuralPartialEq for Mention { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for Mention { | |
|             #[inline] | |
|             fn eq(&self, other: &Mention) -> bool { | |
|                 match *other { | |
|                     Mention { | |
|                     url: ref __self_1_0, | |
|                     username: ref __self_1_1, | |
|                     acct: ref __self_1_2, | |
|                     id: ref __self_1_3 } => | |
|                     match *self { | |
|                         Mention { | |
|                         url: ref __self_0_0, | |
|                         username: ref __self_0_1, | |
|                         acct: ref __self_0_2, | |
|                         id: ref __self_0_3 } => | |
|                         (*__self_0_0) == (*__self_1_0) && | |
|                             (*__self_0_1) == (*__self_1_1) && | |
|                             (*__self_0_2) == (*__self_1_2) && | |
|                             (*__self_0_3) == (*__self_1_3), | |
|                     }, | |
|                 } | |
|             } | |
|             #[inline] | |
|             fn ne(&self, other: &Mention) -> bool { | |
|                 match *other { | |
|                     Mention { | |
|                     url: ref __self_1_0, | |
|                     username: ref __self_1_1, | |
|                     acct: ref __self_1_2, | |
|                     id: ref __self_1_3 } => | |
|                     match *self { | |
|                         Mention { | |
|                         url: ref __self_0_0, | |
|                         username: ref __self_0_1, | |
|                         acct: ref __self_0_2, | |
|                         id: ref __self_0_3 } => | |
|                         (*__self_0_0) != (*__self_1_0) || | |
|                             (*__self_0_1) != (*__self_1_1) || | |
|                             (*__self_0_2) != (*__self_1_2) || | |
|                             (*__self_0_3) != (*__self_1_3), | |
|                     }, | |
|                 } | |
|             } | |
|         } | |
|         /// Struct representing an emoji within text. | |
|         pub struct Emoji { | |
|             /// The shortcode of the emoji | |
|             pub shortcode: String, | |
|             /// URL to the emoji static image | |
|             pub static_url: String, | |
|             /// URL to the emoji image | |
|             pub url: String, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for Emoji { | |
|             #[inline] | |
|             fn clone(&self) -> Emoji { | |
|                 match *self { | |
|                     Emoji { | |
|                     shortcode: ref __self_0_0, | |
|                     static_url: ref __self_0_1, | |
|                     url: ref __self_0_2 } => | |
|                     Emoji{shortcode: | |
|                               ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                           static_url: | |
|                               ::core::clone::Clone::clone(&(*__self_0_1)), | |
|                           url: ::core::clone::Clone::clone(&(*__self_0_2)),}, | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for Emoji { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match *self { | |
|                     Emoji { | |
|                     shortcode: ref __self_0_0, | |
|                     static_url: ref __self_0_1, | |
|                     url: ref __self_0_2 } => { | |
|                         let mut debug_trait_builder = f.debug_struct("Emoji"); | |
|                         let _ = | |
|                             debug_trait_builder.field("shortcode", | |
|                                                       &&(*__self_0_0)); | |
|                         let _ = | |
|                             debug_trait_builder.field("static_url", | |
|                                                       &&(*__self_0_1)); | |
|                         let _ = | |
|                             debug_trait_builder.field("url", &&(*__self_0_2)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_DESERIALIZE_FOR_Emoji: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl <'de> _serde::Deserialize<'de> for Emoji { | |
|                     fn deserialize<__D>(__deserializer: __D) | |
|                      -> _serde::export::Result<Self, __D::Error> where | |
|                      __D: _serde::Deserializer<'de> { | |
|                         #[allow(non_camel_case_types)] | |
|                         enum __Field { | |
|                             __field0, | |
|                             __field1, | |
|                             __field2, | |
|                             __ignore, | |
|                         } | |
|                         struct __FieldVisitor; | |
|                         impl <'de> _serde::de::Visitor<'de> for __FieldVisitor | |
|                          { | |
|                             type Value = __Field; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "field identifier") | |
|                             } | |
|                             fn visit_u64<__E>(self, __value: u64) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     0u64 => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     1u64 => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     2u64 => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     _ => | |
|                                     _serde::export::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value), | |
|                                                                                          &"field index 0 <= i < 3")), | |
|                                 } | |
|                             } | |
|                             fn visit_str<__E>(self, __value: &str) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     "shortcode" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     "static_url" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     "url" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                             fn visit_bytes<__E>(self, __value: &[u8]) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     b"shortcode" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     b"static_url" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     b"url" => | |
|                                     _serde::export::Ok(__Field::__field2), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                         } | |
|                         impl <'de> _serde::Deserialize<'de> for __Field { | |
|                             #[inline] | |
|                             fn deserialize<__D>(__deserializer: __D) | |
|                              -> _serde::export::Result<Self, __D::Error> where | |
|                              __D: _serde::Deserializer<'de> { | |
|                                 _serde::Deserializer::deserialize_identifier(__deserializer, | |
|                                                                              __FieldVisitor) | |
|                             } | |
|                         } | |
|                         struct __Visitor<'de> { | |
|                             marker: _serde::export::PhantomData<Emoji>, | |
|                             lifetime: _serde::export::PhantomData<&'de ()>, | |
|                         } | |
|                         impl <'de> _serde::de::Visitor<'de> for __Visitor<'de> | |
|                          { | |
|                             type Value = Emoji; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "struct Emoji") | |
|                             } | |
|                             #[inline] | |
|                             fn visit_seq<__A>(self, mut __seq: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::SeqAccess<'de> { | |
|                                 let __field0 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(0usize, | |
|                                                                                                          &"struct Emoji with 3 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(1usize, | |
|                                                                                                          &"struct Emoji with 3 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field2 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(2usize, | |
|                                                                                                          &"struct Emoji with 3 elements")); | |
|                                         } | |
|                                     }; | |
|                                 _serde::export::Ok(Emoji{shortcode: __field0, | |
|                                                          static_url: __field1, | |
|                                                          url: __field2,}) | |
|                             } | |
|                             #[inline] | |
|                             fn visit_map<__A>(self, mut __map: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::MapAccess<'de> { | |
|                                 let mut __field0: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field1: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field2: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 while let _serde::export::Some(__key) = | |
|                                           match _serde::de::MapAccess::next_key::<__Field>(&mut __map) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                     match __key { | |
|                                         __Field::__field0 => { | |
|                                             if _serde::export::Option::is_some(&__field0) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("shortcode")); | |
|                                             } | |
|                                             __field0 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field1 => { | |
|                                             if _serde::export::Option::is_some(&__field1) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("static_url")); | |
|                                             } | |
|                                             __field1 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field2 => { | |
|                                             if _serde::export::Option::is_some(&__field2) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("url")); | |
|                                             } | |
|                                             __field2 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         _ => { | |
|                                             let _ = | |
|                                                 match _serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map) | |
|                                                     { | |
|                                                     _serde::export::Ok(__val) | |
|                                                     => __val, | |
|                                                     _serde::export::Err(__err) | |
|                                                     => { | |
|                                                         return _serde::export::Err(__err); | |
|                                                     } | |
|                                                 }; | |
|                                         } | |
|                                     } | |
|                                 } | |
|                                 let __field0 = | |
|                                     match __field0 { | |
|                                         _serde::export::Some(__field0) => | |
|                                         __field0, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("shortcode") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match __field1 { | |
|                                         _serde::export::Some(__field1) => | |
|                                         __field1, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("static_url") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field2 = | |
|                                     match __field2 { | |
|                                         _serde::export::Some(__field2) => | |
|                                         __field2, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("url") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 _serde::export::Ok(Emoji{shortcode: __field0, | |
|                                                          static_url: __field1, | |
|                                                          url: __field2,}) | |
|                             } | |
|                         } | |
|                         const FIELDS: &'static [&'static str] = | |
|                             &["shortcode", "static_url", "url"]; | |
|                         _serde::Deserializer::deserialize_struct(__deserializer, | |
|                                                                  "Emoji", | |
|                                                                  FIELDS, | |
|                                                                  __Visitor{marker: | |
|                                                                                _serde::export::PhantomData::<Emoji>, | |
|                                                                            lifetime: | |
|                                                                                _serde::export::PhantomData,}) | |
|                     } | |
|                 } | |
|             }; | |
|         impl ::core::marker::StructuralPartialEq for Emoji { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for Emoji { | |
|             #[inline] | |
|             fn eq(&self, other: &Emoji) -> bool { | |
|                 match *other { | |
|                     Emoji { | |
|                     shortcode: ref __self_1_0, | |
|                     static_url: ref __self_1_1, | |
|                     url: ref __self_1_2 } => | |
|                     match *self { | |
|                         Emoji { | |
|                         shortcode: ref __self_0_0, | |
|                         static_url: ref __self_0_1, | |
|                         url: ref __self_0_2 } => | |
|                         (*__self_0_0) == (*__self_1_0) && | |
|                             (*__self_0_1) == (*__self_1_1) && | |
|                             (*__self_0_2) == (*__self_1_2), | |
|                     }, | |
|                 } | |
|             } | |
|             #[inline] | |
|             fn ne(&self, other: &Emoji) -> bool { | |
|                 match *other { | |
|                     Emoji { | |
|                     shortcode: ref __self_1_0, | |
|                     static_url: ref __self_1_1, | |
|                     url: ref __self_1_2 } => | |
|                     match *self { | |
|                         Emoji { | |
|                         shortcode: ref __self_0_0, | |
|                         static_url: ref __self_0_1, | |
|                         url: ref __self_0_2 } => | |
|                         (*__self_0_0) != (*__self_1_0) || | |
|                             (*__self_0_1) != (*__self_1_1) || | |
|                             (*__self_0_2) != (*__self_1_2), | |
|                     }, | |
|                 } | |
|             } | |
|         } | |
|         /// Hashtags in the status. | |
|         pub struct Tag { | |
|             /// The hashtag, not including the preceding `#`. | |
|             pub name: String, | |
|             /// The URL of the hashtag. | |
|             pub url: String, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for Tag { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match *self { | |
|                     Tag { name: ref __self_0_0, url: ref __self_0_1 } => { | |
|                         let mut debug_trait_builder = f.debug_struct("Tag"); | |
|                         let _ = | |
|                             debug_trait_builder.field("name", | |
|                                                       &&(*__self_0_0)); | |
|                         let _ = | |
|                             debug_trait_builder.field("url", &&(*__self_0_1)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for Tag { | |
|             #[inline] | |
|             fn clone(&self) -> Tag { | |
|                 match *self { | |
|                     Tag { name: ref __self_0_0, url: ref __self_0_1 } => | |
|                     Tag{name: ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                         url: ::core::clone::Clone::clone(&(*__self_0_1)),}, | |
|                 } | |
|             } | |
|         } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_DESERIALIZE_FOR_Tag: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl <'de> _serde::Deserialize<'de> for Tag { | |
|                     fn deserialize<__D>(__deserializer: __D) | |
|                      -> _serde::export::Result<Self, __D::Error> where | |
|                      __D: _serde::Deserializer<'de> { | |
|                         #[allow(non_camel_case_types)] | |
|                         enum __Field { __field0, __field1, __ignore, } | |
|                         struct __FieldVisitor; | |
|                         impl <'de> _serde::de::Visitor<'de> for __FieldVisitor | |
|                          { | |
|                             type Value = __Field; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "field identifier") | |
|                             } | |
|                             fn visit_u64<__E>(self, __value: u64) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     0u64 => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     1u64 => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     _ => | |
|                                     _serde::export::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value), | |
|                                                                                          &"field index 0 <= i < 2")), | |
|                                 } | |
|                             } | |
|                             fn visit_str<__E>(self, __value: &str) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     "name" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     "url" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                             fn visit_bytes<__E>(self, __value: &[u8]) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     b"name" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     b"url" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                         } | |
|                         impl <'de> _serde::Deserialize<'de> for __Field { | |
|                             #[inline] | |
|                             fn deserialize<__D>(__deserializer: __D) | |
|                              -> _serde::export::Result<Self, __D::Error> where | |
|                              __D: _serde::Deserializer<'de> { | |
|                                 _serde::Deserializer::deserialize_identifier(__deserializer, | |
|                                                                              __FieldVisitor) | |
|                             } | |
|                         } | |
|                         struct __Visitor<'de> { | |
|                             marker: _serde::export::PhantomData<Tag>, | |
|                             lifetime: _serde::export::PhantomData<&'de ()>, | |
|                         } | |
|                         impl <'de> _serde::de::Visitor<'de> for __Visitor<'de> | |
|                          { | |
|                             type Value = Tag; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "struct Tag") | |
|                             } | |
|                             #[inline] | |
|                             fn visit_seq<__A>(self, mut __seq: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::SeqAccess<'de> { | |
|                                 let __field0 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(0usize, | |
|                                                                                                          &"struct Tag with 2 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(1usize, | |
|                                                                                                          &"struct Tag with 2 elements")); | |
|                                         } | |
|                                     }; | |
|                                 _serde::export::Ok(Tag{name: __field0, | |
|                                                        url: __field1,}) | |
|                             } | |
|                             #[inline] | |
|                             fn visit_map<__A>(self, mut __map: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::MapAccess<'de> { | |
|                                 let mut __field0: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field1: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 while let _serde::export::Some(__key) = | |
|                                           match _serde::de::MapAccess::next_key::<__Field>(&mut __map) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                     match __key { | |
|                                         __Field::__field0 => { | |
|                                             if _serde::export::Option::is_some(&__field0) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("name")); | |
|                                             } | |
|                                             __field0 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field1 => { | |
|                                             if _serde::export::Option::is_some(&__field1) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("url")); | |
|                                             } | |
|                                             __field1 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         _ => { | |
|                                             let _ = | |
|                                                 match _serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map) | |
|                                                     { | |
|                                                     _serde::export::Ok(__val) | |
|                                                     => __val, | |
|                                                     _serde::export::Err(__err) | |
|                                                     => { | |
|                                                         return _serde::export::Err(__err); | |
|                                                     } | |
|                                                 }; | |
|                                         } | |
|                                     } | |
|                                 } | |
|                                 let __field0 = | |
|                                     match __field0 { | |
|                                         _serde::export::Some(__field0) => | |
|                                         __field0, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("name") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match __field1 { | |
|                                         _serde::export::Some(__field1) => | |
|                                         __field1, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("url") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 _serde::export::Ok(Tag{name: __field0, | |
|                                                        url: __field1,}) | |
|                             } | |
|                         } | |
|                         const FIELDS: &'static [&'static str] = | |
|                             &["name", "url"]; | |
|                         _serde::Deserializer::deserialize_struct(__deserializer, | |
|                                                                  "Tag", | |
|                                                                  FIELDS, | |
|                                                                  __Visitor{marker: | |
|                                                                                _serde::export::PhantomData::<Tag>, | |
|                                                                            lifetime: | |
|                                                                                _serde::export::PhantomData,}) | |
|                     } | |
|                 } | |
|             }; | |
|         impl ::core::marker::StructuralPartialEq for Tag { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for Tag { | |
|             #[inline] | |
|             fn eq(&self, other: &Tag) -> bool { | |
|                 match *other { | |
|                     Tag { name: ref __self_1_0, url: ref __self_1_1 } => | |
|                     match *self { | |
|                         Tag { name: ref __self_0_0, url: ref __self_0_1 } => | |
|                         (*__self_0_0) == (*__self_1_0) && | |
|                             (*__self_0_1) == (*__self_1_1), | |
|                     }, | |
|                 } | |
|             } | |
|             #[inline] | |
|             fn ne(&self, other: &Tag) -> bool { | |
|                 match *other { | |
|                     Tag { name: ref __self_1_0, url: ref __self_1_1 } => | |
|                     match *self { | |
|                         Tag { name: ref __self_0_0, url: ref __self_0_1 } => | |
|                         (*__self_0_0) != (*__self_1_0) || | |
|                             (*__self_0_1) != (*__self_1_1), | |
|                     }, | |
|                 } | |
|             } | |
|         } | |
|         /// Application details. | |
|         pub struct Application { | |
|             /// Name of the application. | |
|             pub name: String, | |
|             /// Homepage URL of the application. | |
|             pub website: Option<String>, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for Application { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match *self { | |
|                     Application { | |
|                     name: ref __self_0_0, website: ref __self_0_1 } => { | |
|                         let mut debug_trait_builder = | |
|                             f.debug_struct("Application"); | |
|                         let _ = | |
|                             debug_trait_builder.field("name", | |
|                                                       &&(*__self_0_0)); | |
|                         let _ = | |
|                             debug_trait_builder.field("website", | |
|                                                       &&(*__self_0_1)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for Application { | |
|             #[inline] | |
|             fn clone(&self) -> Application { | |
|                 match *self { | |
|                     Application { | |
|                     name: ref __self_0_0, website: ref __self_0_1 } => | |
|                     Application{name: | |
|                                     ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                                 website: | |
|                                     ::core::clone::Clone::clone(&(*__self_0_1)),}, | |
|                 } | |
|             } | |
|         } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_DESERIALIZE_FOR_Application: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl <'de> _serde::Deserialize<'de> for Application { | |
|                     fn deserialize<__D>(__deserializer: __D) | |
|                      -> _serde::export::Result<Self, __D::Error> where | |
|                      __D: _serde::Deserializer<'de> { | |
|                         #[allow(non_camel_case_types)] | |
|                         enum __Field { __field0, __field1, __ignore, } | |
|                         struct __FieldVisitor; | |
|                         impl <'de> _serde::de::Visitor<'de> for __FieldVisitor | |
|                          { | |
|                             type Value = __Field; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "field identifier") | |
|                             } | |
|                             fn visit_u64<__E>(self, __value: u64) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     0u64 => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     1u64 => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     _ => | |
|                                     _serde::export::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value), | |
|                                                                                          &"field index 0 <= i < 2")), | |
|                                 } | |
|                             } | |
|                             fn visit_str<__E>(self, __value: &str) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     "name" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     "website" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                             fn visit_bytes<__E>(self, __value: &[u8]) | |
|                              -> _serde::export::Result<Self::Value, __E> where | |
|                              __E: _serde::de::Error { | |
|                                 match __value { | |
|                                     b"name" => | |
|                                     _serde::export::Ok(__Field::__field0), | |
|                                     b"website" => | |
|                                     _serde::export::Ok(__Field::__field1), | |
|                                     _ => { | |
|                                         _serde::export::Ok(__Field::__ignore) | |
|                                     } | |
|                                 } | |
|                             } | |
|                         } | |
|                         impl <'de> _serde::Deserialize<'de> for __Field { | |
|                             #[inline] | |
|                             fn deserialize<__D>(__deserializer: __D) | |
|                              -> _serde::export::Result<Self, __D::Error> where | |
|                              __D: _serde::Deserializer<'de> { | |
|                                 _serde::Deserializer::deserialize_identifier(__deserializer, | |
|                                                                              __FieldVisitor) | |
|                             } | |
|                         } | |
|                         struct __Visitor<'de> { | |
|                             marker: _serde::export::PhantomData<Application>, | |
|                             lifetime: _serde::export::PhantomData<&'de ()>, | |
|                         } | |
|                         impl <'de> _serde::de::Visitor<'de> for __Visitor<'de> | |
|                          { | |
|                             type Value = Application; | |
|                             fn expecting(&self, | |
|                                          __formatter: | |
|                                              &mut _serde::export::Formatter) | |
|                              -> _serde::export::fmt::Result { | |
|                                 _serde::export::Formatter::write_str(__formatter, | |
|                                                                      "struct Application") | |
|                             } | |
|                             #[inline] | |
|                             fn visit_seq<__A>(self, mut __seq: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::SeqAccess<'de> { | |
|                                 let __field0 = | |
|                                     match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(0usize, | |
|                                                                                                          &"struct Application with 2 elements")); | |
|                                         } | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match match _serde::de::SeqAccess::next_element::<Option<String>>(&mut __seq) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                         _serde::export::Some(__value) => | |
|                                         __value, | |
|                                         _serde::export::None => { | |
|                                             return _serde::export::Err(_serde::de::Error::invalid_length(1usize, | |
|                                                                                                          &"struct Application with 2 elements")); | |
|                                         } | |
|                                     }; | |
|                                 _serde::export::Ok(Application{name: __field0, | |
|                                                                website: | |
|                                                                    __field1,}) | |
|                             } | |
|                             #[inline] | |
|                             fn visit_map<__A>(self, mut __map: __A) | |
|                              -> | |
|                                  _serde::export::Result<Self::Value, | |
|                                                         __A::Error> where | |
|                              __A: _serde::de::MapAccess<'de> { | |
|                                 let mut __field0: | |
|                                         _serde::export::Option<String> = | |
|                                     _serde::export::None; | |
|                                 let mut __field1: | |
|                                         _serde::export::Option<Option<String>> = | |
|                                     _serde::export::None; | |
|                                 while let _serde::export::Some(__key) = | |
|                                           match _serde::de::MapAccess::next_key::<__Field>(&mut __map) | |
|                                               { | |
|                                               _serde::export::Ok(__val) => | |
|                                               __val, | |
|                                               _serde::export::Err(__err) => { | |
|                                                   return _serde::export::Err(__err); | |
|                                               } | |
|                                           } { | |
|                                     match __key { | |
|                                         __Field::__field0 => { | |
|                                             if _serde::export::Option::is_some(&__field0) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("name")); | |
|                                             } | |
|                                             __field0 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         __Field::__field1 => { | |
|                                             if _serde::export::Option::is_some(&__field1) | |
|                                                { | |
|                                                 return _serde::export::Err(<__A::Error | |
|                                                                                as | |
|                                                                                _serde::de::Error>::duplicate_field("website")); | |
|                                             } | |
|                                             __field1 = | |
|                                                 _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<String>>(&mut __map) | |
|                                                                          { | |
|                                                                          _serde::export::Ok(__val) | |
|                                                                          => | |
|                                                                          __val, | |
|                                                                          _serde::export::Err(__err) | |
|                                                                          => { | |
|                                                                              return _serde::export::Err(__err); | |
|                                                                          } | |
|                                                                      }); | |
|                                         } | |
|                                         _ => { | |
|                                             let _ = | |
|                                                 match _serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map) | |
|                                                     { | |
|                                                     _serde::export::Ok(__val) | |
|                                                     => __val, | |
|                                                     _serde::export::Err(__err) | |
|                                                     => { | |
|                                                         return _serde::export::Err(__err); | |
|                                                     } | |
|                                                 }; | |
|                                         } | |
|                                     } | |
|                                 } | |
|                                 let __field0 = | |
|                                     match __field0 { | |
|                                         _serde::export::Some(__field0) => | |
|                                         __field0, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("name") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 let __field1 = | |
|                                     match __field1 { | |
|                                         _serde::export::Some(__field1) => | |
|                                         __field1, | |
|                                         _serde::export::None => | |
|                                         match _serde::private::de::missing_field("website") | |
|                                             { | |
|                                             _serde::export::Ok(__val) => | |
|                                             __val, | |
|                                             _serde::export::Err(__err) => { | |
|                                                 return _serde::export::Err(__err); | |
|                                             } | |
|                                         }, | |
|                                     }; | |
|                                 _serde::export::Ok(Application{name: __field0, | |
|                                                                website: | |
|                                                                    __field1,}) | |
|                             } | |
|                         } | |
|                         const FIELDS: &'static [&'static str] = | |
|                             &["name", "website"]; | |
|                         _serde::Deserializer::deserialize_struct(__deserializer, | |
|                                                                  "Application", | |
|                                                                  FIELDS, | |
|                                                                  __Visitor{marker: | |
|                                                                                _serde::export::PhantomData::<Application>, | |
|                                                                            lifetime: | |
|                                                                                _serde::export::PhantomData,}) | |
|                     } | |
|                 } | |
|             }; | |
|         impl ::core::marker::StructuralPartialEq for Application { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for Application { | |
|             #[inline] | |
|             fn eq(&self, other: &Application) -> bool { | |
|                 match *other { | |
|                     Application { | |
|                     name: ref __self_1_0, website: ref __self_1_1 } => | |
|                     match *self { | |
|                         Application { | |
|                         name: ref __self_0_0, website: ref __self_0_1 } => | |
|                         (*__self_0_0) == (*__self_1_0) && | |
|                             (*__self_0_1) == (*__self_1_1), | |
|                     }, | |
|                 } | |
|             } | |
|             #[inline] | |
|             fn ne(&self, other: &Application) -> bool { | |
|                 match *other { | |
|                     Application { | |
|                     name: ref __self_1_0, website: ref __self_1_1 } => | |
|                     match *self { | |
|                         Application { | |
|                         name: ref __self_0_0, website: ref __self_0_1 } => | |
|                         (*__self_0_0) != (*__self_1_0) || | |
|                             (*__self_0_1) != (*__self_1_1), | |
|                     }, | |
|                 } | |
|             } | |
|         } | |
|     } | |
|     /// An empty JSON object. | |
|     pub struct Empty { | |
|     } | |
|     #[doc(hidden)] | |
|     #[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
|     const _IMPL_DESERIALIZE_FOR_Empty: () = | |
|         { | |
|             #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|             extern crate serde as _serde; | |
|             #[allow(unused_macros)] | |
|             macro_rules! try { | |
|                 ($ __expr : expr) => | |
|                 { | |
|                     match $ __expr | |
|                     { | |
|                         _serde :: export :: Ok(__val) => __val, _serde :: | |
|                         export :: Err(__err) => | |
|                         { return _serde :: export :: Err(__err) ; } | |
|                     } | |
|                 } | |
|             } | |
|             #[automatically_derived] | |
|             impl <'de> _serde::Deserialize<'de> for Empty { | |
|                 fn deserialize<__D>(__deserializer: __D) | |
|                  -> _serde::export::Result<Self, __D::Error> where | |
|                  __D: _serde::Deserializer<'de> { | |
|                     #[allow(non_camel_case_types)] | |
|                     enum __Field { __ignore, } | |
|                     struct __FieldVisitor; | |
|                     impl <'de> _serde::de::Visitor<'de> for __FieldVisitor { | |
|                         type Value = __Field; | |
|                         fn expecting(&self, | |
|                                      __formatter: | |
|                                          &mut _serde::export::Formatter) | |
|                          -> _serde::export::fmt::Result { | |
|                             _serde::export::Formatter::write_str(__formatter, | |
|                                                                  "field identifier") | |
|                         } | |
|                         fn visit_u64<__E>(self, __value: u64) | |
|                          -> _serde::export::Result<Self::Value, __E> where | |
|                          __E: _serde::de::Error { | |
|                             match __value { | |
|                                 _ => | |
|                                 _serde::export::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value), | |
|                                                                                      &"field index 0 <= i < 0")), | |
|                             } | |
|                         } | |
|                         fn visit_str<__E>(self, __value: &str) | |
|                          -> _serde::export::Result<Self::Value, __E> where | |
|                          __E: _serde::de::Error { | |
|                             match __value { | |
|                                 _ => { _serde::export::Ok(__Field::__ignore) } | |
|                             } | |
|                         } | |
|                         fn visit_bytes<__E>(self, __value: &[u8]) | |
|                          -> _serde::export::Result<Self::Value, __E> where | |
|                          __E: _serde::de::Error { | |
|                             match __value { | |
|                                 _ => { _serde::export::Ok(__Field::__ignore) } | |
|                             } | |
|                         } | |
|                     } | |
|                     impl <'de> _serde::Deserialize<'de> for __Field { | |
|                         #[inline] | |
|                         fn deserialize<__D>(__deserializer: __D) | |
|                          -> _serde::export::Result<Self, __D::Error> where | |
|                          __D: _serde::Deserializer<'de> { | |
|                             _serde::Deserializer::deserialize_identifier(__deserializer, | |
|                                                                          __FieldVisitor) | |
|                         } | |
|                     } | |
|                     struct __Visitor<'de> { | |
|                         marker: _serde::export::PhantomData<Empty>, | |
|                         lifetime: _serde::export::PhantomData<&'de ()>, | |
|                     } | |
|                     impl <'de> _serde::de::Visitor<'de> for __Visitor<'de> { | |
|                         type Value = Empty; | |
|                         fn expecting(&self, | |
|                                      __formatter: | |
|                                          &mut _serde::export::Formatter) | |
|                          -> _serde::export::fmt::Result { | |
|                             _serde::export::Formatter::write_str(__formatter, | |
|                                                                  "struct Empty") | |
|                         } | |
|                         #[inline] | |
|                         fn visit_seq<__A>(self, _: __A) | |
|                          -> _serde::export::Result<Self::Value, __A::Error> | |
|                          where __A: _serde::de::SeqAccess<'de> { | |
|                             _serde::export::Ok(Empty{}) | |
|                         } | |
|                         #[inline] | |
|                         fn visit_map<__A>(self, mut __map: __A) | |
|                          -> _serde::export::Result<Self::Value, __A::Error> | |
|                          where __A: _serde::de::MapAccess<'de> { | |
|                             while let _serde::export::Some(__key) = | |
|                                       match _serde::de::MapAccess::next_key::<__Field>(&mut __map) | |
|                                           { | |
|                                           _serde::export::Ok(__val) => __val, | |
|                                           _serde::export::Err(__err) => { | |
|                                               return _serde::export::Err(__err); | |
|                                           } | |
|                                       } { | |
|                                 match __key { | |
|                                     _ => { | |
|                                         let _ = | |
|                                             match _serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map) | |
|                                                 { | |
|                                                 _serde::export::Ok(__val) => | |
|                                                 __val, | |
|                                                 _serde::export::Err(__err) => | |
|                                                 { | |
|                                                     return _serde::export::Err(__err); | |
|                                                 } | |
|                                             }; | |
|                                     } | |
|                                 } | |
|                             } | |
|                             _serde::export::Ok(Empty{}) | |
|                         } | |
|                     } | |
|                     const FIELDS: &'static [&'static str] = &[]; | |
|                     _serde::Deserializer::deserialize_struct(__deserializer, | |
|                                                              "Empty", FIELDS, | |
|                                                              __Visitor{marker: | |
|                                                                            _serde::export::PhantomData::<Empty>, | |
|                                                                        lifetime: | |
|                                                                            _serde::export::PhantomData,}) | |
|                 } | |
|             } | |
|         }; | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::fmt::Debug for Empty { | |
|         fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result { | |
|             match *self { | |
|                 Empty {  } => { | |
|                     let mut debug_trait_builder = f.debug_struct("Empty"); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|             } | |
|         } | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::marker::Copy for Empty { } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::clone::Clone for Empty { | |
|         #[inline] | |
|         fn clone(&self) -> Empty { { *self } } | |
|     } | |
|     impl ::core::marker::StructuralPartialEq for Empty { } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::cmp::PartialEq for Empty { | |
|         #[inline] | |
|         fn eq(&self, other: &Empty) -> bool { | |
|             match *other { | |
|                 Empty {  } => match *self { Empty {  } => true, }, | |
|             } | |
|         } | |
|     } | |
|     /// The purpose of this module is to alleviate imports of many common | |
|     /// structs by adding a glob import to the top of mastodon heavy | |
|     /// modules: | |
|     pub mod prelude { | |
|         pub use super::{account::{Account, Source}, | |
|                         attachment::{Attachment, MediaType}, card::Card, | |
|                         context::Context, event::Event, | |
|                         filter::{Filter, FilterContext}, instance::*, | |
|                         list::List, mention::Mention, | |
|                         notification::Notification, push::Subscription, | |
|                         relationship::Relationship, report::Report, | |
|                         search_result::{SearchResult, SearchResultV2}, | |
|                         status::{Application, Emoji, Status}, Empty}; | |
|     } | |
| } | |
| /// Errors | |
| pub mod errors { | |
|     use std::{error, fmt, io::Error as IoError}; | |
|     use hyper_old_types::Error as HeaderParseError; | |
|     use reqwest::{header::ToStrError as HeaderStrError, Error as HttpError, | |
|                   StatusCode}; | |
|     use serde_json::Error as SerdeError; | |
|     use serde_qs::Error as SerdeQsError; | |
|     use serde_urlencoded::ser::Error as UrlEncodedError; | |
|     use url::ParseError as UrlError; | |
|     use tungstenite::error::Error as WebSocketError; | |
|     /// Convience type over `std::result::Result` with `Error` as the error type. | |
|     pub type Result<T> = ::std::result::Result<T, Error>; | |
|     /// enum of possible errors encountered using the mastodon API. | |
|     pub enum Error { | |
| 
 | |
|         /// Error from the Mastodon API. This typically means something went | |
|         /// wrong with your authentication or data. | |
|         Api(ApiError), | |
| 
 | |
|         /// Error deserialising to json. Typically represents a breaking change in | |
|         /// the Mastodon API | |
|         Serde(SerdeError), | |
| 
 | |
|         /// Error serializing to url-encoded string | |
|         UrlEncoded(UrlEncodedError), | |
| 
 | |
|         /// Error encountered in the HTTP backend while requesting a route. | |
|         Http(HttpError), | |
| 
 | |
|         /// Wrapper around the `std::io::Error` struct. | |
|         Io(IoError), | |
| 
 | |
|         /// Wrapper around the `url::ParseError` struct. | |
|         Url(UrlError), | |
| 
 | |
|         /// Missing Client Id. | |
|         ClientIdRequired, | |
| 
 | |
|         /// Missing Client Secret. | |
|         ClientSecretRequired, | |
| 
 | |
|         /// Missing Access Token. | |
|         AccessTokenRequired, | |
| 
 | |
|         /// Generic client error. | |
|         Client(StatusCode), | |
| 
 | |
|         /// Generic server error. | |
|         Server(StatusCode), | |
| 
 | |
|         /// MastodonBuilder & AppBuilder error | |
|         MissingField(&'static str), | |
| 
 | |
|         /// Error converting an http header to a string | |
|         HeaderStrError(HeaderStrError), | |
| 
 | |
|         /// Error parsing the http Link header | |
|         HeaderParseError(HeaderParseError), | |
| 
 | |
|         /// Error serializing to a query string | |
|         SerdeQs(SerdeQsError), | |
| 
 | |
|         /// WebSocket error | |
|         WebSocket(WebSocketError), | |
| 
 | |
|         /// Other errors | |
|         Other(String), | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::fmt::Debug for Error { | |
|         fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result { | |
|             match (&*self,) { | |
|                 (&Error::Api(ref __self_0),) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Api"); | |
|                     let _ = debug_trait_builder.field(&&(*__self_0)); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Error::Serde(ref __self_0),) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Serde"); | |
|                     let _ = debug_trait_builder.field(&&(*__self_0)); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Error::UrlEncoded(ref __self_0),) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("UrlEncoded"); | |
|                     let _ = debug_trait_builder.field(&&(*__self_0)); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Error::Http(ref __self_0),) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Http"); | |
|                     let _ = debug_trait_builder.field(&&(*__self_0)); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Error::Io(ref __self_0),) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Io"); | |
|                     let _ = debug_trait_builder.field(&&(*__self_0)); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Error::Url(ref __self_0),) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Url"); | |
|                     let _ = debug_trait_builder.field(&&(*__self_0)); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Error::ClientIdRequired,) => { | |
|                     let mut debug_trait_builder = | |
|                         f.debug_tuple("ClientIdRequired"); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Error::ClientSecretRequired,) => { | |
|                     let mut debug_trait_builder = | |
|                         f.debug_tuple("ClientSecretRequired"); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Error::AccessTokenRequired,) => { | |
|                     let mut debug_trait_builder = | |
|                         f.debug_tuple("AccessTokenRequired"); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Error::Client(ref __self_0),) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Client"); | |
|                     let _ = debug_trait_builder.field(&&(*__self_0)); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Error::Server(ref __self_0),) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Server"); | |
|                     let _ = debug_trait_builder.field(&&(*__self_0)); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Error::MissingField(ref __self_0),) => { | |
|                     let mut debug_trait_builder = | |
|                         f.debug_tuple("MissingField"); | |
|                     let _ = debug_trait_builder.field(&&(*__self_0)); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Error::HeaderStrError(ref __self_0),) => { | |
|                     let mut debug_trait_builder = | |
|                         f.debug_tuple("HeaderStrError"); | |
|                     let _ = debug_trait_builder.field(&&(*__self_0)); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Error::HeaderParseError(ref __self_0),) => { | |
|                     let mut debug_trait_builder = | |
|                         f.debug_tuple("HeaderParseError"); | |
|                     let _ = debug_trait_builder.field(&&(*__self_0)); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Error::SerdeQs(ref __self_0),) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("SerdeQs"); | |
|                     let _ = debug_trait_builder.field(&&(*__self_0)); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Error::WebSocket(ref __self_0),) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("WebSocket"); | |
|                     let _ = debug_trait_builder.field(&&(*__self_0)); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Error::Other(ref __self_0),) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Other"); | |
|                     let _ = debug_trait_builder.field(&&(*__self_0)); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|             } | |
|         } | |
|     } | |
|     impl fmt::Display for Error { | |
|         fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { | |
|             f.write_fmt(::core::fmt::Arguments::new_v1(&[""], | |
|                                                        &match (&self,) { | |
|                                                             (arg0,) => | |
|                                                             [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                           ::core::fmt::Debug::fmt)], | |
|                                                         })) | |
|         } | |
|     } | |
|     impl error::Error for Error { | |
|         fn source(&self) -> Option<&(dyn error::Error + 'static)> { | |
|             Some(match *self { | |
|                      Error::Api(ref e) => e, | |
|                      Error::Serde(ref e) => e, | |
|                      Error::UrlEncoded(ref e) => e, | |
|                      Error::Http(ref e) => e, | |
|                      Error::Io(ref e) => e, | |
|                      Error::Url(ref e) => e, | |
|                      Error::HeaderStrError(ref e) => e, | |
|                      Error::HeaderParseError(ref e) => e, | |
|                      Error::SerdeQs(ref e) => e, | |
|                      Error::WebSocket(ref e) => e, | |
|                      Error::Client(..) | Error::Server(..) => { return None } | |
|                      Error::ClientIdRequired => return None, | |
|                      Error::ClientSecretRequired => return None, | |
|                      Error::AccessTokenRequired => return None, | |
|                      Error::MissingField(_) => return None, | |
|                      Error::Other(..) => return None, | |
|                  }) | |
|         } | |
|     } | |
|     /// Error returned from the Mastodon API. | |
|     pub struct ApiError { | |
|         /// The type of error. | |
|         pub error: Option<String>, | |
|         /// The description of the error. | |
|         pub error_description: Option<String>, | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::clone::Clone for ApiError { | |
|         #[inline] | |
|         fn clone(&self) -> ApiError { | |
|             match *self { | |
|                 ApiError { | |
|                 error: ref __self_0_0, error_description: ref __self_0_1 } => | |
|                 ApiError{error: ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                          error_description: | |
|                              ::core::clone::Clone::clone(&(*__self_0_1)),}, | |
|             } | |
|         } | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::fmt::Debug for ApiError { | |
|         fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result { | |
|             match *self { | |
|                 ApiError { | |
|                 error: ref __self_0_0, error_description: ref __self_0_1 } => | |
|                 { | |
|                     let mut debug_trait_builder = f.debug_struct("ApiError"); | |
|                     let _ = | |
|                         debug_trait_builder.field("error", &&(*__self_0_0)); | |
|                     let _ = | |
|                         debug_trait_builder.field("error_description", | |
|                                                   &&(*__self_0_1)); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|             } | |
|         } | |
|     } | |
|     #[doc(hidden)] | |
|     #[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
|     const _IMPL_DESERIALIZE_FOR_ApiError: () = | |
|         { | |
|             #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|             extern crate serde as _serde; | |
|             #[allow(unused_macros)] | |
|             macro_rules! try { | |
|                 ($ __expr : expr) => | |
|                 { | |
|                     match $ __expr | |
|                     { | |
|                         _serde :: export :: Ok(__val) => __val, _serde :: | |
|                         export :: Err(__err) => | |
|                         { return _serde :: export :: Err(__err) ; } | |
|                     } | |
|                 } | |
|             } | |
|             #[automatically_derived] | |
|             impl <'de> _serde::Deserialize<'de> for ApiError { | |
|                 fn deserialize<__D>(__deserializer: __D) | |
|                  -> _serde::export::Result<Self, __D::Error> where | |
|                  __D: _serde::Deserializer<'de> { | |
|                     #[allow(non_camel_case_types)] | |
|                     enum __Field { __field0, __field1, __ignore, } | |
|                     struct __FieldVisitor; | |
|                     impl <'de> _serde::de::Visitor<'de> for __FieldVisitor { | |
|                         type Value = __Field; | |
|                         fn expecting(&self, | |
|                                      __formatter: | |
|                                          &mut _serde::export::Formatter) | |
|                          -> _serde::export::fmt::Result { | |
|                             _serde::export::Formatter::write_str(__formatter, | |
|                                                                  "field identifier") | |
|                         } | |
|                         fn visit_u64<__E>(self, __value: u64) | |
|                          -> _serde::export::Result<Self::Value, __E> where | |
|                          __E: _serde::de::Error { | |
|                             match __value { | |
|                                 0u64 => _serde::export::Ok(__Field::__field0), | |
|                                 1u64 => _serde::export::Ok(__Field::__field1), | |
|                                 _ => | |
|                                 _serde::export::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value), | |
|                                                                                      &"field index 0 <= i < 2")), | |
|                             } | |
|                         } | |
|                         fn visit_str<__E>(self, __value: &str) | |
|                          -> _serde::export::Result<Self::Value, __E> where | |
|                          __E: _serde::de::Error { | |
|                             match __value { | |
|                                 "error" => | |
|                                 _serde::export::Ok(__Field::__field0), | |
|                                 "error_description" => | |
|                                 _serde::export::Ok(__Field::__field1), | |
|                                 _ => { _serde::export::Ok(__Field::__ignore) } | |
|                             } | |
|                         } | |
|                         fn visit_bytes<__E>(self, __value: &[u8]) | |
|                          -> _serde::export::Result<Self::Value, __E> where | |
|                          __E: _serde::de::Error { | |
|                             match __value { | |
|                                 b"error" => | |
|                                 _serde::export::Ok(__Field::__field0), | |
|                                 b"error_description" => | |
|                                 _serde::export::Ok(__Field::__field1), | |
|                                 _ => { _serde::export::Ok(__Field::__ignore) } | |
|                             } | |
|                         } | |
|                     } | |
|                     impl <'de> _serde::Deserialize<'de> for __Field { | |
|                         #[inline] | |
|                         fn deserialize<__D>(__deserializer: __D) | |
|                          -> _serde::export::Result<Self, __D::Error> where | |
|                          __D: _serde::Deserializer<'de> { | |
|                             _serde::Deserializer::deserialize_identifier(__deserializer, | |
|                                                                          __FieldVisitor) | |
|                         } | |
|                     } | |
|                     struct __Visitor<'de> { | |
|                         marker: _serde::export::PhantomData<ApiError>, | |
|                         lifetime: _serde::export::PhantomData<&'de ()>, | |
|                     } | |
|                     impl <'de> _serde::de::Visitor<'de> for __Visitor<'de> { | |
|                         type Value = ApiError; | |
|                         fn expecting(&self, | |
|                                      __formatter: | |
|                                          &mut _serde::export::Formatter) | |
|                          -> _serde::export::fmt::Result { | |
|                             _serde::export::Formatter::write_str(__formatter, | |
|                                                                  "struct ApiError") | |
|                         } | |
|                         #[inline] | |
|                         fn visit_seq<__A>(self, mut __seq: __A) | |
|                          -> _serde::export::Result<Self::Value, __A::Error> | |
|                          where __A: _serde::de::SeqAccess<'de> { | |
|                             let __field0 = | |
|                                 match match _serde::de::SeqAccess::next_element::<Option<String>>(&mut __seq) | |
|                                           { | |
|                                           _serde::export::Ok(__val) => __val, | |
|                                           _serde::export::Err(__err) => { | |
|                                               return _serde::export::Err(__err); | |
|                                           } | |
|                                       } { | |
|                                     _serde::export::Some(__value) => __value, | |
|                                     _serde::export::None => { | |
|                                         return _serde::export::Err(_serde::de::Error::invalid_length(0usize, | |
|                                                                                                      &"struct ApiError with 2 elements")); | |
|                                     } | |
|                                 }; | |
|                             let __field1 = | |
|                                 match match _serde::de::SeqAccess::next_element::<Option<String>>(&mut __seq) | |
|                                           { | |
|                                           _serde::export::Ok(__val) => __val, | |
|                                           _serde::export::Err(__err) => { | |
|                                               return _serde::export::Err(__err); | |
|                                           } | |
|                                       } { | |
|                                     _serde::export::Some(__value) => __value, | |
|                                     _serde::export::None => { | |
|                                         return _serde::export::Err(_serde::de::Error::invalid_length(1usize, | |
|                                                                                                      &"struct ApiError with 2 elements")); | |
|                                     } | |
|                                 }; | |
|                             _serde::export::Ok(ApiError{error: __field0, | |
|                                                         error_description: | |
|                                                             __field1,}) | |
|                         } | |
|                         #[inline] | |
|                         fn visit_map<__A>(self, mut __map: __A) | |
|                          -> _serde::export::Result<Self::Value, __A::Error> | |
|                          where __A: _serde::de::MapAccess<'de> { | |
|                             let mut __field0: | |
|                                     _serde::export::Option<Option<String>> = | |
|                                 _serde::export::None; | |
|                             let mut __field1: | |
|                                     _serde::export::Option<Option<String>> = | |
|                                 _serde::export::None; | |
|                             while let _serde::export::Some(__key) = | |
|                                       match _serde::de::MapAccess::next_key::<__Field>(&mut __map) | |
|                                           { | |
|                                           _serde::export::Ok(__val) => __val, | |
|                                           _serde::export::Err(__err) => { | |
|                                               return _serde::export::Err(__err); | |
|                                           } | |
|                                       } { | |
|                                 match __key { | |
|                                     __Field::__field0 => { | |
|                                         if _serde::export::Option::is_some(&__field0) | |
|                                            { | |
|                                             return _serde::export::Err(<__A::Error | |
|                                                                            as | |
|                                                                            _serde::de::Error>::duplicate_field("error")); | |
|                                         } | |
|                                         __field0 = | |
|                                             _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<String>>(&mut __map) | |
|                                                                      { | |
|                                                                      _serde::export::Ok(__val) | |
|                                                                      => __val, | |
|                                                                      _serde::export::Err(__err) | |
|                                                                      => { | |
|                                                                          return _serde::export::Err(__err); | |
|                                                                      } | |
|                                                                  }); | |
|                                     } | |
|                                     __Field::__field1 => { | |
|                                         if _serde::export::Option::is_some(&__field1) | |
|                                            { | |
|                                             return _serde::export::Err(<__A::Error | |
|                                                                            as | |
|                                                                            _serde::de::Error>::duplicate_field("error_description")); | |
|                                         } | |
|                                         __field1 = | |
|                                             _serde::export::Some(match _serde::de::MapAccess::next_value::<Option<String>>(&mut __map) | |
|                                                                      { | |
|                                                                      _serde::export::Ok(__val) | |
|                                                                      => __val, | |
|                                                                      _serde::export::Err(__err) | |
|                                                                      => { | |
|                                                                          return _serde::export::Err(__err); | |
|                                                                      } | |
|                                                                  }); | |
|                                     } | |
|                                     _ => { | |
|                                         let _ = | |
|                                             match _serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map) | |
|                                                 { | |
|                                                 _serde::export::Ok(__val) => | |
|                                                 __val, | |
|                                                 _serde::export::Err(__err) => | |
|                                                 { | |
|                                                     return _serde::export::Err(__err); | |
|                                                 } | |
|                                             }; | |
|                                     } | |
|                                 } | |
|                             } | |
|                             let __field0 = | |
|                                 match __field0 { | |
|                                     _serde::export::Some(__field0) => | |
|                                     __field0, | |
|                                     _serde::export::None => | |
|                                     match _serde::private::de::missing_field("error") | |
|                                         { | |
|                                         _serde::export::Ok(__val) => __val, | |
|                                         _serde::export::Err(__err) => { | |
|                                             return _serde::export::Err(__err); | |
|                                         } | |
|                                     }, | |
|                                 }; | |
|                             let __field1 = | |
|                                 match __field1 { | |
|                                     _serde::export::Some(__field1) => | |
|                                     __field1, | |
|                                     _serde::export::None => | |
|                                     match _serde::private::de::missing_field("error_description") | |
|                                         { | |
|                                         _serde::export::Ok(__val) => __val, | |
|                                         _serde::export::Err(__err) => { | |
|                                             return _serde::export::Err(__err); | |
|                                         } | |
|                                     }, | |
|                                 }; | |
|                             _serde::export::Ok(ApiError{error: __field0, | |
|                                                         error_description: | |
|                                                             __field1,}) | |
|                         } | |
|                     } | |
|                     const FIELDS: &'static [&'static str] = | |
|                         &["error", "error_description"]; | |
|                     _serde::Deserializer::deserialize_struct(__deserializer, | |
|                                                              "ApiError", | |
|                                                              FIELDS, | |
|                                                              __Visitor{marker: | |
|                                                                            _serde::export::PhantomData::<ApiError>, | |
|                                                                        lifetime: | |
|                                                                            _serde::export::PhantomData,}) | |
|                 } | |
|             } | |
|         }; | |
|     impl fmt::Display for ApiError { | |
|         fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { | |
|             f.write_fmt(::core::fmt::Arguments::new_v1(&[""], | |
|                                                        &match (&self,) { | |
|                                                             (arg0,) => | |
|                                                             [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                           ::core::fmt::Debug::fmt)], | |
|                                                         })) | |
|         } | |
|     } | |
|     impl error::Error for ApiError { } | |
|     macro_rules! from { | |
|         ($ ($ (# [$ met : meta]) * $ typ : ident, $ variant : ident,) *) => | |
|         { | |
|             $ | |
|             ($ (# [$ met]) * impl From < $ typ > for Error | |
|              { | |
|                  fn from(from : $ typ) -> Self | |
|                  { use crate :: Error :: * ; $ variant(from) } | |
|              }) * | |
|         } | |
|     } | |
|     impl From<HttpError> for Error { | |
|         fn from(from: HttpError) -> Self { | |
|             use crate::Error::*; | |
|             Http(from) | |
|         } | |
|     } | |
|     impl From<IoError> for Error { | |
|         fn from(from: IoError) -> Self { | |
|             use crate::Error::*; | |
|             Io(from) | |
|         } | |
|     } | |
|     impl From<SerdeError> for Error { | |
|         fn from(from: SerdeError) -> Self { | |
|             use crate::Error::*; | |
|             Serde(from) | |
|         } | |
|     } | |
|     impl From<UrlEncodedError> for Error { | |
|         fn from(from: UrlEncodedError) -> Self { | |
|             use crate::Error::*; | |
|             UrlEncoded(from) | |
|         } | |
|     } | |
|     impl From<UrlError> for Error { | |
|         fn from(from: UrlError) -> Self { | |
|             use crate::Error::*; | |
|             Url(from) | |
|         } | |
|     } | |
|     impl From<ApiError> for Error { | |
|         fn from(from: ApiError) -> Self { | |
|             use crate::Error::*; | |
|             Api(from) | |
|         } | |
|     } | |
|     impl From<HeaderStrError> for Error { | |
|         fn from(from: HeaderStrError) -> Self { | |
|             use crate::Error::*; | |
|             HeaderStrError(from) | |
|         } | |
|     } | |
|     impl From<HeaderParseError> for Error { | |
|         fn from(from: HeaderParseError) -> Self { | |
|             use crate::Error::*; | |
|             HeaderParseError(from) | |
|         } | |
|     } | |
|     impl From<SerdeQsError> for Error { | |
|         fn from(from: SerdeQsError) -> Self { | |
|             use crate::Error::*; | |
|             SerdeQs(from) | |
|         } | |
|     } | |
|     impl From<WebSocketError> for Error { | |
|         fn from(from: WebSocketError) -> Self { | |
|             use crate::Error::*; | |
|             WebSocket(from) | |
|         } | |
|     } | |
|     impl From<String> for Error { | |
|         fn from(from: String) -> Self { | |
|             use crate::Error::*; | |
|             Other(from) | |
|         } | |
|     } | |
|     #[macro_export] | |
|     /// Used to easily create errors from strings | |
|     macro_rules! format_err { | |
|         ($ ($ arg : tt) *) => | |
|         { { use elefren :: Error ; Error :: Other(format ! ($ ($ arg) *)) } } | |
|     } | |
| } | |
| /// Collection of helpers for serializing/deserializing `Data` objects | |
| pub mod helpers { | |
|     /// Helpers for working with the command line | |
|     pub mod cli { | |
|         use std::io::{self, BufRead, Write}; | |
|         use crate::errors::Result; | |
|         use crate::registration::Registered; | |
|         use crate::Mastodon; | |
|         /// Finishes the authentication process for the given `Registered` object, | |
|         /// using the command-line | |
|         pub fn authenticate(registration: Registered) -> Result<Mastodon> { | |
|             let url = registration.authorize_url()?; | |
|             let stdout = io::stdout(); | |
|             let stdin = io::stdin(); | |
|             let mut stdout = stdout.lock(); | |
|             let mut stdin = stdin.lock(); | |
|             (&mut stdout).write_fmt(::core::fmt::Arguments::new_v1(&["Click this link to authorize: ", | |
|                                                                      "\n"], | |
|                                                                    &match (&url,) | |
|                                                                         { | |
|                                                                         (arg0,) | |
|                                                                         => | |
|                                                                         [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                       ::core::fmt::Display::fmt)], | |
|                                                                     }))?; | |
|             (&mut stdout).write_fmt(::core::fmt::Arguments::new_v1(&["Paste the returned authorization code: "], | |
|                                                                    &match () { | |
|                                                                         () => | |
|                                                                         [], | |
|                                                                     }))?; | |
|             stdout.flush()?; | |
|             let mut input = String::new(); | |
|             stdin.read_line(&mut input)?; | |
|             let code = input.trim(); | |
|             Ok(registration.complete(code)?) | |
|         } | |
|     } | |
| } | |
| mod mastodon_client { | |
|     use async_trait::async_trait; | |
|     use std::borrow::Cow; | |
|     use crate::entities::prelude::*; | |
|     use crate::errors::Result; | |
|     use crate::page::Page; | |
|     use crate::requests::{AddFilterRequest, AddPushRequest, StatusesRequest, | |
|                           UpdateCredsRequest, UpdatePushRequest}; | |
|     use crate::status_builder::NewStatus; | |
|     #[doc = | |
|       " Represents the set of methods that a Mastodon Client can do, so that"] | |
|     #[doc = " implementations might be swapped out for testing"] | |
|     #[allow(unused)] | |
|     pub trait MastodonClient { | |
|         #[doc = " GET /api/v1/favourites"] | |
|         #[must_use] | |
|         fn favourites<'life0, 'async_trait>(&'life0 self) | |
|          -> | |
|              ::core::pin::Pin<Box<dyn ::core::future::Future<Output = | |
|                                                              Result<Page<'_, | |
|                                                                          Status>>> + | |
|                                   ::core::marker::Send + 'async_trait>> where | |
|          'life0: 'async_trait, Self: ::core::marker::Sync + 'async_trait { | |
|             #[allow(clippy :: missing_docs_in_private_items, clippy :: | |
|                     type_repetition_in_bounds, clippy :: | |
|                     used_underscore_binding,)] | |
|             async fn __favourites<AsyncTrait: ?Sized + MastodonClient + | |
|                                   ::core::marker::Sync>(_self: &AsyncTrait) | |
|              -> Result<Page<'_, Status>> { | |
|                 { | |
|                     ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                                &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                        &match () | |
|                                                                                                                             { | |
|                                                                                                                             () | |
|                                                                                                                             => | |
|                                                                                                                             [], | |
|                                                                                                                         }),) | |
|                                                                                     { | |
|                                                                                     (arg0,) | |
|                                                                                     => | |
|                                                                                     [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                   ::core::fmt::Display::fmt)], | |
|                                                                                 })) | |
|                 }; | |
|             } | |
|             Box::pin(__favourites::<Self>(self)) | |
|         } | |
|         #[doc = " GET /api/v1/blocks"] | |
|         #[must_use] | |
|         fn blocks<'life0, 'async_trait>(&'life0 self) | |
|          -> | |
|              ::core::pin::Pin<Box<dyn ::core::future::Future<Output = | |
|                                                              Result<Page<'_, | |
|                                                                          Account>>> + | |
|                                   ::core::marker::Send + 'async_trait>> where | |
|          'life0: 'async_trait, Self: ::core::marker::Sync + 'async_trait { | |
|             #[allow(clippy :: missing_docs_in_private_items, clippy :: | |
|                     type_repetition_in_bounds, clippy :: | |
|                     used_underscore_binding,)] | |
|             async fn __blocks<AsyncTrait: ?Sized + MastodonClient + | |
|                               ::core::marker::Sync>(_self: &AsyncTrait) | |
|              -> Result<Page<'_, Account>> { | |
|                 { | |
|                     ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                                &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                        &match () | |
|                                                                                                                             { | |
|                                                                                                                             () | |
|                                                                                                                             => | |
|                                                                                                                             [], | |
|                                                                                                                         }),) | |
|                                                                                     { | |
|                                                                                     (arg0,) | |
|                                                                                     => | |
|                                                                                     [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                   ::core::fmt::Display::fmt)], | |
|                                                                                 })) | |
|                 }; | |
|             } | |
|             Box::pin(__blocks::<Self>(self)) | |
|         } | |
|         #[doc = " GET /api/v1/domain_blocks"] | |
|         #[must_use] | |
|         fn domain_blocks<'life0, 'async_trait>(&'life0 self) | |
|          -> | |
|              ::core::pin::Pin<Box<dyn ::core::future::Future<Output = | |
|                                                              Result<Page<'_, | |
|                                                                          String>>> + | |
|                                   ::core::marker::Send + 'async_trait>> where | |
|          'life0: 'async_trait, Self: ::core::marker::Sync + 'async_trait { | |
|             #[allow(clippy :: missing_docs_in_private_items, clippy :: | |
|                     type_repetition_in_bounds, clippy :: | |
|                     used_underscore_binding,)] | |
|             async fn __domain_blocks<AsyncTrait: ?Sized + MastodonClient + | |
|                                      ::core::marker::Sync>(_self: &AsyncTrait) | |
|              -> Result<Page<'_, String>> { | |
|                 { | |
|                     ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                                &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                        &match () | |
|                                                                                                                             { | |
|                                                                                                                             () | |
|                                                                                                                             => | |
|                                                                                                                             [], | |
|                                                                                                                         }),) | |
|                                                                                     { | |
|                                                                                     (arg0,) | |
|                                                                                     => | |
|                                                                                     [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                   ::core::fmt::Display::fmt)], | |
|                                                                                 })) | |
|                 }; | |
|             } | |
|             Box::pin(__domain_blocks::<Self>(self)) | |
|         } | |
|         #[doc = " GET /api/v1/follow_requests"] | |
|         #[must_use] | |
|         fn follow_requests<'life0, 'async_trait>(&'life0 self) | |
|          -> | |
|              ::core::pin::Pin<Box<dyn ::core::future::Future<Output = | |
|                                                              Result<Page<'_, | |
|                                                                          Account>>> + | |
|                                   ::core::marker::Send + 'async_trait>> where | |
|          'life0: 'async_trait, Self: ::core::marker::Sync + 'async_trait { | |
|             #[allow(clippy :: missing_docs_in_private_items, clippy :: | |
|                     type_repetition_in_bounds, clippy :: | |
|                     used_underscore_binding,)] | |
|             async fn __follow_requests<AsyncTrait: ?Sized + MastodonClient + | |
|                                        ::core::marker::Sync>(_self: | |
|                                                                  &AsyncTrait) | |
|              -> Result<Page<'_, Account>> { | |
|                 { | |
|                     ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                                &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                        &match () | |
|                                                                                                                             { | |
|                                                                                                                             () | |
|                                                                                                                             => | |
|                                                                                                                             [], | |
|                                                                                                                         }),) | |
|                                                                                     { | |
|                                                                                     (arg0,) | |
|                                                                                     => | |
|                                                                                     [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                   ::core::fmt::Display::fmt)], | |
|                                                                                 })) | |
|                 }; | |
|             } | |
|             Box::pin(__follow_requests::<Self>(self)) | |
|         } | |
|         #[doc = " GET /api/v1/timelines/home"] | |
|         #[must_use] | |
|         fn get_home_timeline<'life0, 'async_trait>(&'life0 self) | |
|          -> | |
|              ::core::pin::Pin<Box<dyn ::core::future::Future<Output = | |
|                                                              Result<Page<'_, | |
|                                                                          Status>>> + | |
|                                   ::core::marker::Send + 'async_trait>> where | |
|          'life0: 'async_trait, Self: ::core::marker::Sync + 'async_trait { | |
|             #[allow(clippy :: missing_docs_in_private_items, clippy :: | |
|                     type_repetition_in_bounds, clippy :: | |
|                     used_underscore_binding,)] | |
|             async fn __get_home_timeline<AsyncTrait: ?Sized + MastodonClient + | |
|                                          ::core::marker::Sync>(_self: | |
|                                                                    &AsyncTrait) | |
|              -> Result<Page<'_, Status>> { | |
|                 { | |
|                     ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                                &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                        &match () | |
|                                                                                                                             { | |
|                                                                                                                             () | |
|                                                                                                                             => | |
|                                                                                                                             [], | |
|                                                                                                                         }),) | |
|                                                                                     { | |
|                                                                                     (arg0,) | |
|                                                                                     => | |
|                                                                                     [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                   ::core::fmt::Display::fmt)], | |
|                                                                                 })) | |
|                 }; | |
|             } | |
|             Box::pin(__get_home_timeline::<Self>(self)) | |
|         } | |
|         #[doc = " GET /api/v1/custom_emojis"] | |
|         #[must_use] | |
|         fn get_emojis<'life0, 'async_trait>(&'life0 self) | |
|          -> | |
|              ::core::pin::Pin<Box<dyn ::core::future::Future<Output = | |
|                                                              Result<Page<'_, | |
|                                                                          Emoji>>> + | |
|                                   ::core::marker::Send + 'async_trait>> where | |
|          'life0: 'async_trait, Self: ::core::marker::Sync + 'async_trait { | |
|             #[allow(clippy :: missing_docs_in_private_items, clippy :: | |
|                     type_repetition_in_bounds, clippy :: | |
|                     used_underscore_binding,)] | |
|             async fn __get_emojis<AsyncTrait: ?Sized + MastodonClient + | |
|                                   ::core::marker::Sync>(_self: &AsyncTrait) | |
|              -> Result<Page<'_, Emoji>> { | |
|                 { | |
|                     ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                                &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                        &match () | |
|                                                                                                                             { | |
|                                                                                                                             () | |
|                                                                                                                             => | |
|                                                                                                                             [], | |
|                                                                                                                         }),) | |
|                                                                                     { | |
|                                                                                     (arg0,) | |
|                                                                                     => | |
|                                                                                     [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                   ::core::fmt::Display::fmt)], | |
|                                                                                 })) | |
|                 }; | |
|             } | |
|             Box::pin(__get_emojis::<Self>(self)) | |
|         } | |
|         #[doc = " GET /api/v1/mutes"] | |
|         #[must_use] | |
|         fn mutes<'life0, 'async_trait>(&'life0 self) | |
|          -> | |
|              ::core::pin::Pin<Box<dyn ::core::future::Future<Output = | |
|                                                              Result<Page<'_, | |
|                                                                          Account>>> + | |
|                                   ::core::marker::Send + 'async_trait>> where | |
|          'life0: 'async_trait, Self: ::core::marker::Sync + 'async_trait { | |
|             #[allow(clippy :: missing_docs_in_private_items, clippy :: | |
|                     type_repetition_in_bounds, clippy :: | |
|                     used_underscore_binding,)] | |
|             async fn __mutes<AsyncTrait: ?Sized + MastodonClient + | |
|                              ::core::marker::Sync>(_self: &AsyncTrait) | |
|              -> Result<Page<'_, Account>> { | |
|                 { | |
|                     ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                                &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                        &match () | |
|                                                                                                                             { | |
|                                                                                                                             () | |
|                                                                                                                             => | |
|                                                                                                                             [], | |
|                                                                                                                         }),) | |
|                                                                                     { | |
|                                                                                     (arg0,) | |
|                                                                                     => | |
|                                                                                     [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                   ::core::fmt::Display::fmt)], | |
|                                                                                 })) | |
|                 }; | |
|             } | |
|             Box::pin(__mutes::<Self>(self)) | |
|         } | |
|         #[doc = " GET /api/v1/notifications"] | |
|         #[must_use] | |
|         fn notifications<'life0, 'async_trait>(&'life0 self) | |
|          -> | |
|              ::core::pin::Pin<Box<dyn ::core::future::Future<Output = | |
|                                                              Result<Page<'_, | |
|                                                                          Notification>>> + | |
|                                   ::core::marker::Send + 'async_trait>> where | |
|          'life0: 'async_trait, Self: ::core::marker::Sync + 'async_trait { | |
|             #[allow(clippy :: missing_docs_in_private_items, clippy :: | |
|                     type_repetition_in_bounds, clippy :: | |
|                     used_underscore_binding,)] | |
|             async fn __notifications<AsyncTrait: ?Sized + MastodonClient + | |
|                                      ::core::marker::Sync>(_self: &AsyncTrait) | |
|              -> Result<Page<'_, Notification>> { | |
|                 { | |
|                     ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                                &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                        &match () | |
|                                                                                                                             { | |
|                                                                                                                             () | |
|                                                                                                                             => | |
|                                                                                                                             [], | |
|                                                                                                                         }),) | |
|                                                                                     { | |
|                                                                                     (arg0,) | |
|                                                                                     => | |
|                                                                                     [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                   ::core::fmt::Display::fmt)], | |
|                                                                                 })) | |
|                 }; | |
|             } | |
|             Box::pin(__notifications::<Self>(self)) | |
|         } | |
|         #[doc = " GET /api/v1/reports"] | |
|         #[must_use] | |
|         fn reports<'life0, 'async_trait>(&'life0 self) | |
|          -> | |
|              ::core::pin::Pin<Box<dyn ::core::future::Future<Output = | |
|                                                              Result<Page<'_, | |
|                                                                          Report>>> + | |
|                                   ::core::marker::Send + 'async_trait>> where | |
|          'life0: 'async_trait, Self: ::core::marker::Sync + 'async_trait { | |
|             #[allow(clippy :: missing_docs_in_private_items, clippy :: | |
|                     type_repetition_in_bounds, clippy :: | |
|                     used_underscore_binding,)] | |
|             async fn __reports<AsyncTrait: ?Sized + MastodonClient + | |
|                                ::core::marker::Sync>(_self: &AsyncTrait) | |
|              -> Result<Page<'_, Report>> { | |
|                 { | |
|                     ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                                &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                        &match () | |
|                                                                                                                             { | |
|                                                                                                                             () | |
|                                                                                                                             => | |
|                                                                                                                             [], | |
|                                                                                                                         }),) | |
|                                                                                     { | |
|                                                                                     (arg0,) | |
|                                                                                     => | |
|                                                                                     [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                   ::core::fmt::Display::fmt)], | |
|                                                                                 })) | |
|                 }; | |
|             } | |
|             Box::pin(__reports::<Self>(self)) | |
|         } | |
|         #[doc = " GET /api/v1/accounts/:id/followers"] | |
|         fn followers(&self, id: &str) -> Result<Page<Account>> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " GET /api/v1/accounts/:id/following"] | |
|         fn following(&self, id: &str) -> Result<Page<Account>> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " GET /api/v1/statuses/:id/reblogged_by"] | |
|         fn reblogged_by(&self, id: &str) -> Result<Page<Account>> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " GET /api/v1/statuses/:id/favourited_by"] | |
|         fn favourited_by(&self, id: &str) -> Result<Page<Account>> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " DELETE /api/v1/domain_blocks"] | |
|         fn unblock_domain(&self, domain: String) -> Result<Empty> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " GET /api/v1/instance"] | |
|         fn instance(&self) -> Result<Instance> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " GET /api/v1/accounts/verify_credentials"] | |
|         fn verify_credentials(&self) -> Result<Account> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " POST /api/v1/reports"] | |
|         fn report(&self, account_id: &str, status_ids: Vec<&str>, | |
|                   comment: String) -> Result<Report> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " POST /api/v1/domain_blocks"] | |
|         fn block_domain(&self, domain: String) -> Result<Empty> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " POST /api/v1/accounts/follow_requests/authorize"] | |
|         fn authorize_follow_request(&self, id: &str) -> Result<Empty> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " POST /api/v1/accounts/follow_requests/reject"] | |
|         fn reject_follow_request(&self, id: &str) -> Result<Empty> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " GET /api/v1/search"] | |
|         fn search<'a>(&self, q: &'a str, resolve: bool) | |
|          -> Result<SearchResult> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " GET /api/v2/search"] | |
|         fn search_v2<'a>(&self, q: &'a str, resolve: bool) | |
|          -> Result<SearchResultV2> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " POST /api/v1/follows"] | |
|         fn follows(&self, uri: Cow<'static, str>) -> Result<Account> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " POST /api/v1/media"] | |
|         fn media(&self, file: Cow<'static, str>) -> Result<Attachment> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " POST /api/v1/notifications/clear"] | |
|         fn clear_notifications(&self) -> Result<Empty> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " POST /api/v1/notifications/dismiss"] | |
|         fn dismiss_notification(&self, id: &str) -> Result<Empty> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " GET /api/v1/accounts/:id"] | |
|         fn get_account(&self, id: &str) -> Result<Account> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " POST /api/v1/accounts/:id/follow"] | |
|         fn follow(&self, id: &str) -> Result<Relationship> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " POST /api/v1/accounts/:id/unfollow"] | |
|         fn unfollow(&self, id: &str) -> Result<Relationship> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " GET /api/v1/accounts/:id/block"] | |
|         fn block(&self, id: &str) -> Result<Relationship> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " GET /api/v1/accounts/:id/unblock"] | |
|         fn unblock(&self, id: &str) -> Result<Relationship> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " GET /api/v1/accounts/:id/mute"] | |
|         fn mute(&self, id: &str) -> Result<Relationship> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " GET /api/v1/accounts/:id/unmute"] | |
|         fn unmute(&self, id: &str) -> Result<Relationship> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " GET /api/v1/notifications/:id"] | |
|         fn get_notification(&self, id: &str) -> Result<Notification> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " GET /api/v1/statuses/:id"] | |
|         fn get_status(&self, id: &str) -> Result<Status> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " GET /api/v1/statuses/:id/context"] | |
|         fn get_context(&self, id: &str) -> Result<Context> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " GET /api/v1/statuses/:id/card"] | |
|         fn get_card(&self, id: &str) -> Result<Card> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " POST /api/v1/statuses/:id/reblog"] | |
|         fn reblog(&self, id: &str) -> Result<Status> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " POST /api/v1/statuses/:id/unreblog"] | |
|         fn unreblog(&self, id: &str) -> Result<Status> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " POST /api/v1/statuses/:id/favourite"] | |
|         fn favourite(&self, id: &str) -> Result<Status> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " POST /api/v1/statuses/:id/unfavourite"] | |
|         fn unfavourite(&self, id: &str) -> Result<Status> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " DELETE /api/v1/statuses/:id"] | |
|         fn delete_status(&self, id: &str) -> Result<Empty> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " PATCH /api/v1/accounts/update_credentials"] | |
|         fn update_credentials(&self, builder: &mut UpdateCredsRequest) | |
|          -> Result<Account> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " POST /api/v1/statuses"] | |
|         fn new_status(&self, status: NewStatus) -> Result<Status> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " GET /api/v1/timelines/public"] | |
|         fn get_public_timeline(&self, local: bool) -> Result<Vec<Status>> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " GET /api/v1/timelines/tag/:hashtag"] | |
|         fn get_tagged_timeline(&self, hashtag: String, local: bool) | |
|          -> Result<Vec<Status>> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " GET /api/v1/accounts/:id/statuses"] | |
|         fn statuses<'a, 'b: 'a, S>(&'b self, id: &'b str, request: S) | |
|          -> Result<Page<Status>> where S: Into<Option<StatusesRequest<'a>>> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " GET /api/v1/accounts/relationships"] | |
|         fn relationships(&self, ids: &[&str]) -> Result<Page<Relationship>> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = | |
|           " GET /api/v1/accounts/search?q=:query&limit=:limit&following=:following"] | |
|         #[must_use] | |
|         fn search_accounts<'life0, 'life1, | |
|                            'async_trait>(&'life0 self, query: &'life1 str, | |
|                                          limit: Option<u64>, following: bool) | |
|          -> | |
|              ::core::pin::Pin<Box<dyn ::core::future::Future<Output = | |
|                                                              Result<Page<'_, | |
|                                                                          Account>>> + | |
|                                   ::core::marker::Send + 'async_trait>> where | |
|          'life0: 'async_trait, 'life1: 'async_trait, | |
|          Self: ::core::marker::Sync + 'async_trait { | |
|             #[allow(clippy :: missing_docs_in_private_items, clippy :: | |
|                     type_repetition_in_bounds, clippy :: | |
|                     used_underscore_binding,)] | |
|             async fn __search_accounts<AsyncTrait: ?Sized + MastodonClient + | |
|                                        ::core::marker::Sync>(_self: | |
|                                                                  &AsyncTrait, | |
|                                                              query: &str, | |
|                                                              limit: | |
|                                                                  Option<u64>, | |
|                                                              following: bool) | |
|              -> Result<Page<'_, Account>> { | |
|                 { | |
|                     ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                                &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                        &match () | |
|                                                                                                                             { | |
|                                                                                                                             () | |
|                                                                                                                             => | |
|                                                                                                                             [], | |
|                                                                                                                         }),) | |
|                                                                                     { | |
|                                                                                     (arg0,) | |
|                                                                                     => | |
|                                                                                     [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                   ::core::fmt::Display::fmt)], | |
|                                                                                 })) | |
|                 }; | |
|             } | |
|             Box::pin(__search_accounts::<Self>(self, query, limit, following)) | |
|         } | |
|         #[doc = " POST /api/v1/push/subscription"] | |
|         fn add_push_subscription(&self, request: &AddPushRequest) | |
|          -> Result<Subscription> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " PUT /api/v1/push/subscription"] | |
|         fn update_push_data(&self, request: &UpdatePushRequest) | |
|          -> Result<Subscription> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " GET /api/v1/push/subscription"] | |
|         fn get_push_subscription(&self) -> Result<Subscription> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " DELETE /api/v1/push/subscription"] | |
|         fn delete_push_subscription(&self) -> Result<Empty> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " GET /api/v1/filters"] | |
|         fn get_filters(&self) -> Result<Vec<Filter>> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " POST /api/v1/filters"] | |
|         fn add_filter(&self, request: &mut AddFilterRequest) | |
|          -> Result<Filter> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " GET /api/v1/filters/:id"] | |
|         fn get_filter(&self, id: &str) -> Result<Filter> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " PUT /api/v1/filters/:id"] | |
|         fn update_filter(&self, id: &str, request: &mut AddFilterRequest) | |
|          -> Result<Filter> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " DELETE /api/v1/filters/:id"] | |
|         fn delete_filter(&self, id: &str) -> Result<Empty> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " GET /api/v1/suggestions"] | |
|         fn get_follow_suggestions(&self) -> Result<Vec<Account>> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " DELETE /api/v1/suggestions/:account_id"] | |
|         fn delete_from_suggestions(&self, id: &str) -> Result<Empty> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " GET /api/v1/endorsements"] | |
|         #[must_use] | |
|         fn get_endorsements<'life0, 'async_trait>(&'life0 self) | |
|          -> | |
|              ::core::pin::Pin<Box<dyn ::core::future::Future<Output = | |
|                                                              Result<Page<'_, | |
|                                                                          Account>>> + | |
|                                   ::core::marker::Send + 'async_trait>> where | |
|          'life0: 'async_trait, Self: ::core::marker::Sync + 'async_trait { | |
|             #[allow(clippy :: missing_docs_in_private_items, clippy :: | |
|                     type_repetition_in_bounds, clippy :: | |
|                     used_underscore_binding,)] | |
|             async fn __get_endorsements<AsyncTrait: ?Sized + MastodonClient + | |
|                                         ::core::marker::Sync>(_self: | |
|                                                                   &AsyncTrait) | |
|              -> Result<Page<'_, Account>> { | |
|                 { | |
|                     ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                                &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                        &match () | |
|                                                                                                                             { | |
|                                                                                                                             () | |
|                                                                                                                             => | |
|                                                                                                                             [], | |
|                                                                                                                         }),) | |
|                                                                                     { | |
|                                                                                     (arg0,) | |
|                                                                                     => | |
|                                                                                     [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                   ::core::fmt::Display::fmt)], | |
|                                                                                 })) | |
|                 }; | |
|             } | |
|             Box::pin(__get_endorsements::<Self>(self)) | |
|         } | |
|         #[doc = " POST /api/v1/accounts/:id/pin"] | |
|         fn endorse_user(&self, id: &str) -> Result<Relationship> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " POST /api/v1/accounts/:id/unpin"] | |
|         fn unendorse_user(&self, id: &str) -> Result<Relationship> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = | |
|           " Shortcut for: `let me = client.verify_credentials(); client.followers()`"] | |
|         #[doc = ""] | |
|         #[doc = " ```no_run"] | |
|         #[doc = " # extern crate elefren;"] | |
|         #[doc = " # use std::error::Error;"] | |
|         #[doc = " # use elefren::prelude::*;"] | |
|         #[doc = " # fn main() -> Result<(), Box<Error>> {"] | |
|         #[doc = " # let data = Data {"] | |
|         #[doc = " #   base: \"\".into(),"] | |
|         #[doc = " #   client_id: \"\".into(),"] | |
|         #[doc = " #   client_secret: \"\".into(),"] | |
|         #[doc = " #   redirect: \"\".into(),"] | |
|         #[doc = " #   token: \"\".into(),"] | |
|         #[doc = " # };"] | |
|         #[doc = " # let client = Mastodon::from(data);"] | |
|         #[doc = " let follows_me = client.follows_me()?;"] | |
|         #[doc = " #   Ok(())"] | |
|         #[doc = " # }"] | |
|         fn follows_me(&self) -> Result<Page<Account>> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         #[doc = " Shortcut for"] | |
|         #[doc = | |
|           " `let me = client.verify_credentials(); client.following(&me.id)`"] | |
|         #[doc = ""] | |
|         #[doc = " ```no_run"] | |
|         #[doc = " # extern crate elefren;"] | |
|         #[doc = " # use std::error::Error;"] | |
|         #[doc = " # use elefren::prelude::*;"] | |
|         #[doc = " # fn main() -> Result<(), Box<Error>> {"] | |
|         #[doc = " # let data = Data {"] | |
|         #[doc = " #   base: \"\".into(),"] | |
|         #[doc = " #   client_id: \"\".into(),"] | |
|         #[doc = " #   client_secret: \"\".into(),"] | |
|         #[doc = " #   redirect: \"\".into(),"] | |
|         #[doc = " #   token: \"\".into(),"] | |
|         #[doc = " # };"] | |
|         #[doc = " # let client = Mastodon::from(data);"] | |
|         #[doc = " let follows_me = client.followed_by_me()?;"] | |
|         #[doc = " #   Ok(())"] | |
|         #[doc = " # }"] | |
|         fn followed_by_me(&self) -> Result<Page<Account>> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|     } | |
|     /// Trait that represents clients that can make unauthenticated calls to a | |
|     /// mastodon instance | |
|     #[allow(unused)] | |
|     pub trait MastodonUnauthenticated { | |
|         /// GET /api/v1/statuses/:id | |
|         fn get_status(&self, id: &str) -> Result<Status> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         /// GET /api/v1/statuses/:id/context | |
|         fn get_context(&self, id: &str) -> Result<Context> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         /// GET /api/v1/statuses/:id/card | |
|         fn get_card(&self, id: &str) -> Result<Card> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         /// GET /api/v1/statuses/:id/reblogged_by | |
|         fn reblogged_by(&self, id: &str) -> Result<Page<Account>> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|         /// GET /api/v1/statuses/:id/favourited_by | |
|         fn favourited_by(&self, id: &str) -> Result<Page<Account>> { | |
|             { | |
|                 ::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1(&["not implemented: "], | |
|                                                                            &match (&::core::fmt::Arguments::new_v1(&["This method was not implemented"], | |
|                                                                                                                    &match () | |
|                                                                                                                         { | |
|                                                                                                                         () | |
|                                                                                                                         => | |
|                                                                                                                         [], | |
|                                                                                                                     }),) | |
|                                                                                 { | |
|                                                                                 (arg0,) | |
|                                                                                 => | |
|                                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                               ::core::fmt::Display::fmt)], | |
|                                                                             })) | |
|             }; | |
|         } | |
|     } | |
| } | |
| /// Handling multiple pages of entities. | |
| pub mod page { | |
|     use super::{deserialise, Mastodon, Result}; | |
|     use hyper_old_types::header::{parsing, Link, RelationType}; | |
|     use reqwest::{header::LINK, Response}; | |
|     use serde::Deserialize; | |
|     use url::Url; | |
|     macro_rules! pages { | |
|         ($ ($ direction : ident : $ fun : ident), *) => | |
|         { | |
|             $ | |
|             (doc_comment ! | |
|              (concat ! | |
|               ("Method to retrieve the ", stringify ! ($ direction), | |
|                " page of results"), pub async fn $ fun(& mut self) -> Result < | |
|               Option < Vec < T >> > | |
|               { | |
|                   let url = match self . $ direction . take() | |
|                   { Some(s) => s, None => return Ok(None), } ; let response = | |
|                   self . mastodon . send(self . mastodon . client . get(url)) | |
|                   ? ; let(prev, next) = get_links(& response) ? ; self . next | |
|                   = next ; self . prev = prev ; deserialise(response) | |
|               }) ;) * | |
|         } | |
|     } | |
|     /// Owned version of the `Page` struct in this module. Allows this to be more | |
|     /// easily stored for later use | |
|     /// | |
|     /// # Example | |
|     /// | |
|     /// ```no_run | |
|     /// # extern crate elefren; | |
|     /// # use elefren::Mastodon; | |
|     /// # use elefren::page::OwnedPage; | |
|     /// # use elefren::entities::status::Status; | |
|     /// # use std::cell::RefCell; | |
|     /// # use elefren::prelude::*; | |
|     /// # fn main() -> Result<(), elefren::Error> { | |
|     /// # let data = Data { | |
|     /// #   base: "".into(), | |
|     /// #   client_id: "".into(), | |
|     /// #   client_secret: "".into(), | |
|     /// #   redirect: "".into(), | |
|     /// #   token: "".into(), | |
|     /// # }; | |
|     /// struct HomeTimeline { | |
|     ///     client: Mastodon, | |
|     ///     page: RefCell<Option<OwnedPage<Status>>>, | |
|     /// } | |
|     /// let client = Mastodon::from(data); | |
|     /// let home = client.get_home_timeline()?.to_owned(); | |
|     /// let tl = HomeTimeline { | |
|     ///     client, | |
|     ///     page: RefCell::new(Some(home)), | |
|     /// }; | |
|     /// # Ok(()) | |
|     /// # } | |
|     /// ``` | |
|     pub struct OwnedPage<T: for<'de> Deserialize<'de>> { | |
|         mastodon: Mastodon, | |
|         next: Option<Url>, | |
|         prev: Option<Url>, | |
|         /// Initial set of items | |
|         pub initial_items: Vec<T>, | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl <T: ::core::fmt::Debug + for<'de> Deserialize<'de>> | |
|      ::core::fmt::Debug for OwnedPage<T> { | |
|         fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result { | |
|             match *self { | |
|                 OwnedPage { | |
|                 mastodon: ref __self_0_0, | |
|                 next: ref __self_0_1, | |
|                 prev: ref __self_0_2, | |
|                 initial_items: ref __self_0_3 } => { | |
|                     let mut debug_trait_builder = f.debug_struct("OwnedPage"); | |
|                     let _ = | |
|                         debug_trait_builder.field("mastodon", | |
|                                                   &&(*__self_0_0)); | |
|                     let _ = | |
|                         debug_trait_builder.field("next", &&(*__self_0_1)); | |
|                     let _ = | |
|                         debug_trait_builder.field("prev", &&(*__self_0_2)); | |
|                     let _ = | |
|                         debug_trait_builder.field("initial_items", | |
|                                                   &&(*__self_0_3)); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|             } | |
|         } | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl <T: ::core::clone::Clone + for<'de> Deserialize<'de>> | |
|      ::core::clone::Clone for OwnedPage<T> { | |
|         #[inline] | |
|         fn clone(&self) -> OwnedPage<T> { | |
|             match *self { | |
|                 OwnedPage { | |
|                 mastodon: ref __self_0_0, | |
|                 next: ref __self_0_1, | |
|                 prev: ref __self_0_2, | |
|                 initial_items: ref __self_0_3 } => | |
|                 OwnedPage{mastodon: | |
|                               ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                           next: ::core::clone::Clone::clone(&(*__self_0_1)), | |
|                           prev: ::core::clone::Clone::clone(&(*__self_0_2)), | |
|                           initial_items: | |
|                               ::core::clone::Clone::clone(&(*__self_0_3)),}, | |
|             } | |
|         } | |
|     } | |
|     impl <T: for<'de> Deserialize<'de>> OwnedPage<T> { | |
|         #[doc = "Method to retrieve the next page of results"] | |
|         pub async fn next_page(&mut self) -> Result<Option<Vec<T>>> { | |
|             let url = | |
|                 match self.next.take() { | |
|                     Some(s) => s, | |
|                     None => return Ok(None), | |
|                 }; | |
|             let response = self.mastodon.send(self.mastodon.client.get(url))?; | |
|             let (prev, next) = get_links(&response)?; | |
|             self.next = next; | |
|             self.prev = prev; | |
|             deserialise(response) | |
|         } | |
|         #[doc = "Method to retrieve the prev page of results"] | |
|         pub async fn prev_page(&mut self) -> Result<Option<Vec<T>>> { | |
|             let url = | |
|                 match self.prev.take() { | |
|                     Some(s) => s, | |
|                     None => return Ok(None), | |
|                 }; | |
|             let response = self.mastodon.send(self.mastodon.client.get(url))?; | |
|             let (prev, next) = get_links(&response)?; | |
|             self.next = next; | |
|             self.prev = prev; | |
|             deserialise(response) | |
|         } | |
|     } | |
|     impl <'a, T: for<'de> Deserialize<'de>> From<Page<'a, T>> for OwnedPage<T> | |
|      { | |
|         fn from(page: Page<'a, T>) -> OwnedPage<T> { | |
|             OwnedPage{mastodon: page.mastodon.clone(), | |
|                       next: page.next, | |
|                       prev: page.prev, | |
|                       initial_items: page.initial_items,} | |
|         } | |
|     } | |
|     /// Represents a single page of API results | |
|     pub struct Page<'a, T: for<'de> Deserialize<'de>> { | |
|         mastodon: &'a Mastodon, | |
|         next: Option<Url>, | |
|         prev: Option<Url>, | |
|         /// Initial set of items | |
|         pub initial_items: Vec<T>, | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl <'a, T: ::core::fmt::Debug + for<'de> Deserialize<'de>> | |
|      ::core::fmt::Debug for Page<'a, T> { | |
|         fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result { | |
|             match *self { | |
|                 Page { | |
|                 mastodon: ref __self_0_0, | |
|                 next: ref __self_0_1, | |
|                 prev: ref __self_0_2, | |
|                 initial_items: ref __self_0_3 } => { | |
|                     let mut debug_trait_builder = f.debug_struct("Page"); | |
|                     let _ = | |
|                         debug_trait_builder.field("mastodon", | |
|                                                   &&(*__self_0_0)); | |
|                     let _ = | |
|                         debug_trait_builder.field("next", &&(*__self_0_1)); | |
|                     let _ = | |
|                         debug_trait_builder.field("prev", &&(*__self_0_2)); | |
|                     let _ = | |
|                         debug_trait_builder.field("initial_items", | |
|                                                   &&(*__self_0_3)); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|             } | |
|         } | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl <'a, T: ::core::clone::Clone + for<'de> Deserialize<'de>> | |
|      ::core::clone::Clone for Page<'a, T> { | |
|         #[inline] | |
|         fn clone(&self) -> Page<'a, T> { | |
|             match *self { | |
|                 Page { | |
|                 mastodon: ref __self_0_0, | |
|                 next: ref __self_0_1, | |
|                 prev: ref __self_0_2, | |
|                 initial_items: ref __self_0_3 } => | |
|                 Page{mastodon: ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                      next: ::core::clone::Clone::clone(&(*__self_0_1)), | |
|                      prev: ::core::clone::Clone::clone(&(*__self_0_2)), | |
|                      initial_items: | |
|                          ::core::clone::Clone::clone(&(*__self_0_3)),}, | |
|             } | |
|         } | |
|     } | |
|     impl <'a, T: for<'de> Deserialize<'de>> Page<'a, T> { | |
|         #[doc = "Method to retrieve the next page of results"] | |
|         pub async fn next_page(&mut self) -> Result<Option<Vec<T>>> { | |
|             let url = | |
|                 match self.next.take() { | |
|                     Some(s) => s, | |
|                     None => return Ok(None), | |
|                 }; | |
|             let response = self.mastodon.send(self.mastodon.client.get(url))?; | |
|             let (prev, next) = get_links(&response)?; | |
|             self.next = next; | |
|             self.prev = prev; | |
|             deserialise(response) | |
|         } | |
|         #[doc = "Method to retrieve the prev page of results"] | |
|         pub async fn prev_page(&mut self) -> Result<Option<Vec<T>>> { | |
|             let url = | |
|                 match self.prev.take() { | |
|                     Some(s) => s, | |
|                     None => return Ok(None), | |
|                 }; | |
|             let response = self.mastodon.send(self.mastodon.client.get(url))?; | |
|             let (prev, next) = get_links(&response)?; | |
|             self.next = next; | |
|             self.prev = prev; | |
|             deserialise(response) | |
|         } | |
|         pub(crate) fn new(mastodon: &'a Mastodon, response: Response) | |
|          -> Result<Self> { | |
|             let (prev, next) = get_links(&response)?; | |
|             Ok(Page{initial_items: deserialise(response)?, | |
|                     next, | |
|                     prev, | |
|                     mastodon,}) | |
|         } | |
|     } | |
|     impl <'a, T: Clone + for<'de> Deserialize<'de>> Page<'a, T> { | |
|         /// Returns an owned version of this struct that doesn't borrow the client | |
|         /// that created it | |
|         /// | |
|         /// # Example | |
|         /// | |
|         /// ```no_run | |
|         /// # extern crate elefren; | |
|         /// # use elefren::Mastodon; | |
|         /// # use elefren::page::OwnedPage; | |
|         /// # use elefren::entities::status::Status; | |
|         /// # use std::cell::RefCell; | |
|         /// # use elefren::prelude::*; | |
|         /// # fn main() -> Result<(), elefren::Error> { | |
|         /// # let data = Data { | |
|         /// #   base: "".into(), | |
|         /// #   client_id: "".into(), | |
|         /// #   client_secret: "".into(), | |
|         /// #   redirect: "".into(), | |
|         /// #   token: "".into(), | |
|         /// # }; | |
|         /// struct HomeTimeline { | |
|         ///     client: Mastodon, | |
|         ///     page: RefCell<Option<OwnedPage<Status>>>, | |
|         /// } | |
|         /// let client = Mastodon::from(data); | |
|         /// let home = client.get_home_timeline()?.to_owned(); | |
|         /// let tl = HomeTimeline { | |
|         ///     client, | |
|         ///     page: RefCell::new(Some(home)), | |
|         /// }; | |
|         /// # Ok(()) | |
|         /// # } | |
|         /// ``` | |
|         pub fn to_owned(self) -> OwnedPage<T> { OwnedPage::from(self) } | |
|     } | |
|     fn get_links(response: &Response) -> Result<(Option<Url>, Option<Url>)> { | |
|         let mut prev = None; | |
|         let mut next = None; | |
|         if let Some(link_header) = response.headers().get(LINK) { | |
|             let link_header = link_header.to_str()?; | |
|             let link_header = link_header.as_bytes(); | |
|             let link_header: Link = parsing::from_raw_str(&link_header)?; | |
|             for value in link_header.values() { | |
|                 if let Some(relations) = value.rel() { | |
|                     if relations.contains(&RelationType::Next) { | |
|                         next = Some(Url::parse(value.link())?); | |
|                     } | |
|                     if relations.contains(&RelationType::Prev) { | |
|                         prev = Some(Url::parse(value.link())?); | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         Ok((prev, next)) | |
|     } | |
| } | |
| /// Registering your app. | |
| pub mod registration { | |
|     use std::borrow::Cow; | |
|     use reqwest::{Client, RequestBuilder, Response}; | |
|     use try_from::TryInto; | |
|     use url::percent_encoding::{utf8_percent_encode, DEFAULT_ENCODE_SET}; | |
|     use crate::apps::{App, AppBuilder}; | |
|     use crate::scopes::Scopes; | |
|     use crate::Data; | |
|     use crate::Error; | |
|     use crate::Mastodon; | |
|     use crate::MastodonBuilder; | |
|     use crate::Result; | |
|     const DEFAULT_REDIRECT_URI: &'static str = "urn:ietf:wg:oauth:2.0:oob"; | |
|     /// Handles registering your mastodon app to your instance. It is recommended | |
|     /// you cache your data struct to avoid registering on every run. | |
|     pub struct Registration<'a> { | |
|         base: String, | |
|         client: Client, | |
|         app_builder: AppBuilder<'a>, | |
|         force_login: bool, | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl <'a> ::core::fmt::Debug for Registration<'a> { | |
|         fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result { | |
|             match *self { | |
|                 Registration { | |
|                 base: ref __self_0_0, | |
|                 client: ref __self_0_1, | |
|                 app_builder: ref __self_0_2, | |
|                 force_login: ref __self_0_3 } => { | |
|                     let mut debug_trait_builder = | |
|                         f.debug_struct("Registration"); | |
|                     let _ = | |
|                         debug_trait_builder.field("base", &&(*__self_0_0)); | |
|                     let _ = | |
|                         debug_trait_builder.field("client", &&(*__self_0_1)); | |
|                     let _ = | |
|                         debug_trait_builder.field("app_builder", | |
|                                                   &&(*__self_0_2)); | |
|                     let _ = | |
|                         debug_trait_builder.field("force_login", | |
|                                                   &&(*__self_0_3)); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|             } | |
|         } | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl <'a> ::core::clone::Clone for Registration<'a> { | |
|         #[inline] | |
|         fn clone(&self) -> Registration<'a> { | |
|             match *self { | |
|                 Registration { | |
|                 base: ref __self_0_0, | |
|                 client: ref __self_0_1, | |
|                 app_builder: ref __self_0_2, | |
|                 force_login: ref __self_0_3 } => | |
|                 Registration{base: | |
|                                  ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                              client: | |
|                                  ::core::clone::Clone::clone(&(*__self_0_1)), | |
|                              app_builder: | |
|                                  ::core::clone::Clone::clone(&(*__self_0_2)), | |
|                              force_login: | |
|                                  ::core::clone::Clone::clone(&(*__self_0_3)),}, | |
|             } | |
|         } | |
|     } | |
|     struct OAuth { | |
|         client_id: String, | |
|         client_secret: String, | |
|         #[serde(default = "default_redirect_uri")] | |
|         redirect_uri: String, | |
|     } | |
|     #[doc(hidden)] | |
|     #[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
|     const _IMPL_DESERIALIZE_FOR_OAuth: () = | |
|         { | |
|             #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|             extern crate serde as _serde; | |
|             #[allow(unused_macros)] | |
|             macro_rules! try { | |
|                 ($ __expr : expr) => | |
|                 { | |
|                     match $ __expr | |
|                     { | |
|                         _serde :: export :: Ok(__val) => __val, _serde :: | |
|                         export :: Err(__err) => | |
|                         { return _serde :: export :: Err(__err) ; } | |
|                     } | |
|                 } | |
|             } | |
|             #[automatically_derived] | |
|             impl <'de> _serde::Deserialize<'de> for OAuth { | |
|                 fn deserialize<__D>(__deserializer: __D) | |
|                  -> _serde::export::Result<Self, __D::Error> where | |
|                  __D: _serde::Deserializer<'de> { | |
|                     #[allow(non_camel_case_types)] | |
|                     enum __Field { __field0, __field1, __field2, __ignore, } | |
|                     struct __FieldVisitor; | |
|                     impl <'de> _serde::de::Visitor<'de> for __FieldVisitor { | |
|                         type Value = __Field; | |
|                         fn expecting(&self, | |
|                                      __formatter: | |
|                                          &mut _serde::export::Formatter) | |
|                          -> _serde::export::fmt::Result { | |
|                             _serde::export::Formatter::write_str(__formatter, | |
|                                                                  "field identifier") | |
|                         } | |
|                         fn visit_u64<__E>(self, __value: u64) | |
|                          -> _serde::export::Result<Self::Value, __E> where | |
|                          __E: _serde::de::Error { | |
|                             match __value { | |
|                                 0u64 => _serde::export::Ok(__Field::__field0), | |
|                                 1u64 => _serde::export::Ok(__Field::__field1), | |
|                                 2u64 => _serde::export::Ok(__Field::__field2), | |
|                                 _ => | |
|                                 _serde::export::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value), | |
|                                                                                      &"field index 0 <= i < 3")), | |
|                             } | |
|                         } | |
|                         fn visit_str<__E>(self, __value: &str) | |
|                          -> _serde::export::Result<Self::Value, __E> where | |
|                          __E: _serde::de::Error { | |
|                             match __value { | |
|                                 "client_id" => | |
|                                 _serde::export::Ok(__Field::__field0), | |
|                                 "client_secret" => | |
|                                 _serde::export::Ok(__Field::__field1), | |
|                                 "redirect_uri" => | |
|                                 _serde::export::Ok(__Field::__field2), | |
|                                 _ => { _serde::export::Ok(__Field::__ignore) } | |
|                             } | |
|                         } | |
|                         fn visit_bytes<__E>(self, __value: &[u8]) | |
|                          -> _serde::export::Result<Self::Value, __E> where | |
|                          __E: _serde::de::Error { | |
|                             match __value { | |
|                                 b"client_id" => | |
|                                 _serde::export::Ok(__Field::__field0), | |
|                                 b"client_secret" => | |
|                                 _serde::export::Ok(__Field::__field1), | |
|                                 b"redirect_uri" => | |
|                                 _serde::export::Ok(__Field::__field2), | |
|                                 _ => { _serde::export::Ok(__Field::__ignore) } | |
|                             } | |
|                         } | |
|                     } | |
|                     impl <'de> _serde::Deserialize<'de> for __Field { | |
|                         #[inline] | |
|                         fn deserialize<__D>(__deserializer: __D) | |
|                          -> _serde::export::Result<Self, __D::Error> where | |
|                          __D: _serde::Deserializer<'de> { | |
|                             _serde::Deserializer::deserialize_identifier(__deserializer, | |
|                                                                          __FieldVisitor) | |
|                         } | |
|                     } | |
|                     struct __Visitor<'de> { | |
|                         marker: _serde::export::PhantomData<OAuth>, | |
|                         lifetime: _serde::export::PhantomData<&'de ()>, | |
|                     } | |
|                     impl <'de> _serde::de::Visitor<'de> for __Visitor<'de> { | |
|                         type Value = OAuth; | |
|                         fn expecting(&self, | |
|                                      __formatter: | |
|                                          &mut _serde::export::Formatter) | |
|                          -> _serde::export::fmt::Result { | |
|                             _serde::export::Formatter::write_str(__formatter, | |
|                                                                  "struct OAuth") | |
|                         } | |
|                         #[inline] | |
|                         fn visit_seq<__A>(self, mut __seq: __A) | |
|                          -> _serde::export::Result<Self::Value, __A::Error> | |
|                          where __A: _serde::de::SeqAccess<'de> { | |
|                             let __field0 = | |
|                                 match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                           { | |
|                                           _serde::export::Ok(__val) => __val, | |
|                                           _serde::export::Err(__err) => { | |
|                                               return _serde::export::Err(__err); | |
|                                           } | |
|                                       } { | |
|                                     _serde::export::Some(__value) => __value, | |
|                                     _serde::export::None => { | |
|                                         return _serde::export::Err(_serde::de::Error::invalid_length(0usize, | |
|                                                                                                      &"struct OAuth with 3 elements")); | |
|                                     } | |
|                                 }; | |
|                             let __field1 = | |
|                                 match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                           { | |
|                                           _serde::export::Ok(__val) => __val, | |
|                                           _serde::export::Err(__err) => { | |
|                                               return _serde::export::Err(__err); | |
|                                           } | |
|                                       } { | |
|                                     _serde::export::Some(__value) => __value, | |
|                                     _serde::export::None => { | |
|                                         return _serde::export::Err(_serde::de::Error::invalid_length(1usize, | |
|                                                                                                      &"struct OAuth with 3 elements")); | |
|                                     } | |
|                                 }; | |
|                             let __field2 = | |
|                                 match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                           { | |
|                                           _serde::export::Ok(__val) => __val, | |
|                                           _serde::export::Err(__err) => { | |
|                                               return _serde::export::Err(__err); | |
|                                           } | |
|                                       } { | |
|                                     _serde::export::Some(__value) => __value, | |
|                                     _serde::export::None => { | |
|                                         default_redirect_uri() | |
|                                     } | |
|                                 }; | |
|                             _serde::export::Ok(OAuth{client_id: __field0, | |
|                                                      client_secret: __field1, | |
|                                                      redirect_uri: __field2,}) | |
|                         } | |
|                         #[inline] | |
|                         fn visit_map<__A>(self, mut __map: __A) | |
|                          -> _serde::export::Result<Self::Value, __A::Error> | |
|                          where __A: _serde::de::MapAccess<'de> { | |
|                             let mut __field0: _serde::export::Option<String> = | |
|                                 _serde::export::None; | |
|                             let mut __field1: _serde::export::Option<String> = | |
|                                 _serde::export::None; | |
|                             let mut __field2: _serde::export::Option<String> = | |
|                                 _serde::export::None; | |
|                             while let _serde::export::Some(__key) = | |
|                                       match _serde::de::MapAccess::next_key::<__Field>(&mut __map) | |
|                                           { | |
|                                           _serde::export::Ok(__val) => __val, | |
|                                           _serde::export::Err(__err) => { | |
|                                               return _serde::export::Err(__err); | |
|                                           } | |
|                                       } { | |
|                                 match __key { | |
|                                     __Field::__field0 => { | |
|                                         if _serde::export::Option::is_some(&__field0) | |
|                                            { | |
|                                             return _serde::export::Err(<__A::Error | |
|                                                                            as | |
|                                                                            _serde::de::Error>::duplicate_field("client_id")); | |
|                                         } | |
|                                         __field0 = | |
|                                             _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                      { | |
|                                                                      _serde::export::Ok(__val) | |
|                                                                      => __val, | |
|                                                                      _serde::export::Err(__err) | |
|                                                                      => { | |
|                                                                          return _serde::export::Err(__err); | |
|                                                                      } | |
|                                                                  }); | |
|                                     } | |
|                                     __Field::__field1 => { | |
|                                         if _serde::export::Option::is_some(&__field1) | |
|                                            { | |
|                                             return _serde::export::Err(<__A::Error | |
|                                                                            as | |
|                                                                            _serde::de::Error>::duplicate_field("client_secret")); | |
|                                         } | |
|                                         __field1 = | |
|                                             _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                      { | |
|                                                                      _serde::export::Ok(__val) | |
|                                                                      => __val, | |
|                                                                      _serde::export::Err(__err) | |
|                                                                      => { | |
|                                                                          return _serde::export::Err(__err); | |
|                                                                      } | |
|                                                                  }); | |
|                                     } | |
|                                     __Field::__field2 => { | |
|                                         if _serde::export::Option::is_some(&__field2) | |
|                                            { | |
|                                             return _serde::export::Err(<__A::Error | |
|                                                                            as | |
|                                                                            _serde::de::Error>::duplicate_field("redirect_uri")); | |
|                                         } | |
|                                         __field2 = | |
|                                             _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                      { | |
|                                                                      _serde::export::Ok(__val) | |
|                                                                      => __val, | |
|                                                                      _serde::export::Err(__err) | |
|                                                                      => { | |
|                                                                          return _serde::export::Err(__err); | |
|                                                                      } | |
|                                                                  }); | |
|                                     } | |
|                                     _ => { | |
|                                         let _ = | |
|                                             match _serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map) | |
|                                                 { | |
|                                                 _serde::export::Ok(__val) => | |
|                                                 __val, | |
|                                                 _serde::export::Err(__err) => | |
|                                                 { | |
|                                                     return _serde::export::Err(__err); | |
|                                                 } | |
|                                             }; | |
|                                     } | |
|                                 } | |
|                             } | |
|                             let __field0 = | |
|                                 match __field0 { | |
|                                     _serde::export::Some(__field0) => | |
|                                     __field0, | |
|                                     _serde::export::None => | |
|                                     match _serde::private::de::missing_field("client_id") | |
|                                         { | |
|                                         _serde::export::Ok(__val) => __val, | |
|                                         _serde::export::Err(__err) => { | |
|                                             return _serde::export::Err(__err); | |
|                                         } | |
|                                     }, | |
|                                 }; | |
|                             let __field1 = | |
|                                 match __field1 { | |
|                                     _serde::export::Some(__field1) => | |
|                                     __field1, | |
|                                     _serde::export::None => | |
|                                     match _serde::private::de::missing_field("client_secret") | |
|                                         { | |
|                                         _serde::export::Ok(__val) => __val, | |
|                                         _serde::export::Err(__err) => { | |
|                                             return _serde::export::Err(__err); | |
|                                         } | |
|                                     }, | |
|                                 }; | |
|                             let __field2 = | |
|                                 match __field2 { | |
|                                     _serde::export::Some(__field2) => | |
|                                     __field2, | |
|                                     _serde::export::None => | |
|                                     default_redirect_uri(), | |
|                                 }; | |
|                             _serde::export::Ok(OAuth{client_id: __field0, | |
|                                                      client_secret: __field1, | |
|                                                      redirect_uri: __field2,}) | |
|                         } | |
|                     } | |
|                     const FIELDS: &'static [&'static str] = | |
|                         &["client_id", "client_secret", "redirect_uri"]; | |
|                     _serde::Deserializer::deserialize_struct(__deserializer, | |
|                                                              "OAuth", FIELDS, | |
|                                                              __Visitor{marker: | |
|                                                                            _serde::export::PhantomData::<OAuth>, | |
|                                                                        lifetime: | |
|                                                                            _serde::export::PhantomData,}) | |
|                 } | |
|             } | |
|         }; | |
|     fn default_redirect_uri() -> String { DEFAULT_REDIRECT_URI.to_string() } | |
|     struct AccessToken { | |
|         access_token: String, | |
|     } | |
|     #[doc(hidden)] | |
|     #[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
|     const _IMPL_DESERIALIZE_FOR_AccessToken: () = | |
|         { | |
|             #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|             extern crate serde as _serde; | |
|             #[allow(unused_macros)] | |
|             macro_rules! try { | |
|                 ($ __expr : expr) => | |
|                 { | |
|                     match $ __expr | |
|                     { | |
|                         _serde :: export :: Ok(__val) => __val, _serde :: | |
|                         export :: Err(__err) => | |
|                         { return _serde :: export :: Err(__err) ; } | |
|                     } | |
|                 } | |
|             } | |
|             #[automatically_derived] | |
|             impl <'de> _serde::Deserialize<'de> for AccessToken { | |
|                 fn deserialize<__D>(__deserializer: __D) | |
|                  -> _serde::export::Result<Self, __D::Error> where | |
|                  __D: _serde::Deserializer<'de> { | |
|                     #[allow(non_camel_case_types)] | |
|                     enum __Field { __field0, __ignore, } | |
|                     struct __FieldVisitor; | |
|                     impl <'de> _serde::de::Visitor<'de> for __FieldVisitor { | |
|                         type Value = __Field; | |
|                         fn expecting(&self, | |
|                                      __formatter: | |
|                                          &mut _serde::export::Formatter) | |
|                          -> _serde::export::fmt::Result { | |
|                             _serde::export::Formatter::write_str(__formatter, | |
|                                                                  "field identifier") | |
|                         } | |
|                         fn visit_u64<__E>(self, __value: u64) | |
|                          -> _serde::export::Result<Self::Value, __E> where | |
|                          __E: _serde::de::Error { | |
|                             match __value { | |
|                                 0u64 => _serde::export::Ok(__Field::__field0), | |
|                                 _ => | |
|                                 _serde::export::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value), | |
|                                                                                      &"field index 0 <= i < 1")), | |
|                             } | |
|                         } | |
|                         fn visit_str<__E>(self, __value: &str) | |
|                          -> _serde::export::Result<Self::Value, __E> where | |
|                          __E: _serde::de::Error { | |
|                             match __value { | |
|                                 "access_token" => | |
|                                 _serde::export::Ok(__Field::__field0), | |
|                                 _ => { _serde::export::Ok(__Field::__ignore) } | |
|                             } | |
|                         } | |
|                         fn visit_bytes<__E>(self, __value: &[u8]) | |
|                          -> _serde::export::Result<Self::Value, __E> where | |
|                          __E: _serde::de::Error { | |
|                             match __value { | |
|                                 b"access_token" => | |
|                                 _serde::export::Ok(__Field::__field0), | |
|                                 _ => { _serde::export::Ok(__Field::__ignore) } | |
|                             } | |
|                         } | |
|                     } | |
|                     impl <'de> _serde::Deserialize<'de> for __Field { | |
|                         #[inline] | |
|                         fn deserialize<__D>(__deserializer: __D) | |
|                          -> _serde::export::Result<Self, __D::Error> where | |
|                          __D: _serde::Deserializer<'de> { | |
|                             _serde::Deserializer::deserialize_identifier(__deserializer, | |
|                                                                          __FieldVisitor) | |
|                         } | |
|                     } | |
|                     struct __Visitor<'de> { | |
|                         marker: _serde::export::PhantomData<AccessToken>, | |
|                         lifetime: _serde::export::PhantomData<&'de ()>, | |
|                     } | |
|                     impl <'de> _serde::de::Visitor<'de> for __Visitor<'de> { | |
|                         type Value = AccessToken; | |
|                         fn expecting(&self, | |
|                                      __formatter: | |
|                                          &mut _serde::export::Formatter) | |
|                          -> _serde::export::fmt::Result { | |
|                             _serde::export::Formatter::write_str(__formatter, | |
|                                                                  "struct AccessToken") | |
|                         } | |
|                         #[inline] | |
|                         fn visit_seq<__A>(self, mut __seq: __A) | |
|                          -> _serde::export::Result<Self::Value, __A::Error> | |
|                          where __A: _serde::de::SeqAccess<'de> { | |
|                             let __field0 = | |
|                                 match match _serde::de::SeqAccess::next_element::<String>(&mut __seq) | |
|                                           { | |
|                                           _serde::export::Ok(__val) => __val, | |
|                                           _serde::export::Err(__err) => { | |
|                                               return _serde::export::Err(__err); | |
|                                           } | |
|                                       } { | |
|                                     _serde::export::Some(__value) => __value, | |
|                                     _serde::export::None => { | |
|                                         return _serde::export::Err(_serde::de::Error::invalid_length(0usize, | |
|                                                                                                      &"struct AccessToken with 1 element")); | |
|                                     } | |
|                                 }; | |
|                             _serde::export::Ok(AccessToken{access_token: | |
|                                                                __field0,}) | |
|                         } | |
|                         #[inline] | |
|                         fn visit_map<__A>(self, mut __map: __A) | |
|                          -> _serde::export::Result<Self::Value, __A::Error> | |
|                          where __A: _serde::de::MapAccess<'de> { | |
|                             let mut __field0: _serde::export::Option<String> = | |
|                                 _serde::export::None; | |
|                             while let _serde::export::Some(__key) = | |
|                                       match _serde::de::MapAccess::next_key::<__Field>(&mut __map) | |
|                                           { | |
|                                           _serde::export::Ok(__val) => __val, | |
|                                           _serde::export::Err(__err) => { | |
|                                               return _serde::export::Err(__err); | |
|                                           } | |
|                                       } { | |
|                                 match __key { | |
|                                     __Field::__field0 => { | |
|                                         if _serde::export::Option::is_some(&__field0) | |
|                                            { | |
|                                             return _serde::export::Err(<__A::Error | |
|                                                                            as | |
|                                                                            _serde::de::Error>::duplicate_field("access_token")); | |
|                                         } | |
|                                         __field0 = | |
|                                             _serde::export::Some(match _serde::de::MapAccess::next_value::<String>(&mut __map) | |
|                                                                      { | |
|                                                                      _serde::export::Ok(__val) | |
|                                                                      => __val, | |
|                                                                      _serde::export::Err(__err) | |
|                                                                      => { | |
|                                                                          return _serde::export::Err(__err); | |
|                                                                      } | |
|                                                                  }); | |
|                                     } | |
|                                     _ => { | |
|                                         let _ = | |
|                                             match _serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map) | |
|                                                 { | |
|                                                 _serde::export::Ok(__val) => | |
|                                                 __val, | |
|                                                 _serde::export::Err(__err) => | |
|                                                 { | |
|                                                     return _serde::export::Err(__err); | |
|                                                 } | |
|                                             }; | |
|                                     } | |
|                                 } | |
|                             } | |
|                             let __field0 = | |
|                                 match __field0 { | |
|                                     _serde::export::Some(__field0) => | |
|                                     __field0, | |
|                                     _serde::export::None => | |
|                                     match _serde::private::de::missing_field("access_token") | |
|                                         { | |
|                                         _serde::export::Ok(__val) => __val, | |
|                                         _serde::export::Err(__err) => { | |
|                                             return _serde::export::Err(__err); | |
|                                         } | |
|                                     }, | |
|                                 }; | |
|                             _serde::export::Ok(AccessToken{access_token: | |
|                                                                __field0,}) | |
|                         } | |
|                     } | |
|                     const FIELDS: &'static [&'static str] = &["access_token"]; | |
|                     _serde::Deserializer::deserialize_struct(__deserializer, | |
|                                                              "AccessToken", | |
|                                                              FIELDS, | |
|                                                              __Visitor{marker: | |
|                                                                            _serde::export::PhantomData::<AccessToken>, | |
|                                                                        lifetime: | |
|                                                                            _serde::export::PhantomData,}) | |
|                 } | |
|             } | |
|         }; | |
|     impl <'a> Registration<'a> { | |
|         /// Construct a new registration process to the instance of the `base` url. | |
|         /// ``` | |
|         /// use elefren::prelude::*; | |
|         /// | |
|         /// let registration = Registration::new("https://mastodon.social"); | |
|         /// ``` | |
|         pub fn new<I: Into<String>>(base: I) -> Self { | |
|             Registration{base: base.into(), | |
|                          client: Client::new(), | |
|                          app_builder: AppBuilder::new(), | |
|                          force_login: false,} | |
|         } | |
|     } | |
|     impl <'a> Registration<'a> { | |
|         /// Sets the name of this app | |
|         /// | |
|         /// This is required, and if this isn't set then the AppBuilder::build | |
|         /// method will fail | |
|         pub fn client_name<I: Into<Cow<'a, str>>>(&mut self, name: I) | |
|          -> &mut Self { | |
|             self.app_builder.client_name(name.into()); | |
|             self | |
|         } | |
|         /// Sets the redirect uris that this app uses | |
|         pub fn redirect_uris<I: Into<Cow<'a, str>>>(&mut self, uris: I) | |
|          -> &mut Self { | |
|             self.app_builder.redirect_uris(uris); | |
|             self | |
|         } | |
|         /// Sets the scopes that this app requires | |
|         /// | |
|         /// The default for an app is Scopes::Read | |
|         pub fn scopes(&mut self, scopes: Scopes) -> &mut Self { | |
|             self.app_builder.scopes(scopes); | |
|             self | |
|         } | |
|         /// Sets the optional "website" to register the app with | |
|         pub fn website<I: Into<Cow<'a, str>>>(&mut self, website: I) | |
|          -> &mut Self { | |
|             self.app_builder.website(website); | |
|             self | |
|         } | |
|         /// Forces the user to re-login (useful if you need to re-auth as a | |
|         /// different user on the same instance | |
|         pub fn force_login(&mut self, force_login: bool) -> &mut Self { | |
|             self.force_login = force_login; | |
|             self | |
|         } | |
|         fn send(&self, req: RequestBuilder) -> Result<Response> { | |
|             let req = req.build()?; | |
|             Ok(self.client.execute(req)?) | |
|         } | |
|         /// Register the given application | |
|         /// | |
|         /// ```no_run | |
|         /// # extern crate elefren; | |
|         /// # fn main () -> elefren::Result<()> { | |
|         /// use elefren::{apps::App, prelude::*}; | |
|         /// | |
|         /// let mut app = App::builder(); | |
|         /// app.client_name("elefren_test"); | |
|         /// | |
|         /// let registration = Registration::new("https://mastodon.social").register(app)?; | |
|         /// let url = registration.authorize_url()?; | |
|         /// // Here you now need to open the url in the browser | |
|         /// // And handle a the redirect url coming back with the code. | |
|         /// let code = String::from("RETURNED_FROM_BROWSER"); | |
|         /// let mastodon = registration.complete(&code)?; | |
|         /// | |
|         /// println!("{:?}", mastodon.get_home_timeline()?.initial_items); | |
|         /// # Ok(()) | |
|         /// # } | |
|         /// ``` | |
|         pub fn register<I: TryInto<App>>(&mut self, app: I) | |
|          -> Result<Registered> where Error: From<<I as TryInto<App>>::Err> { | |
|             let app = app.try_into()?; | |
|             let oauth = self.send_app(&app)?; | |
|             Ok(Registered{base: self.base.clone(), | |
|                           client: self.client.clone(), | |
|                           client_id: oauth.client_id, | |
|                           client_secret: oauth.client_secret, | |
|                           redirect: oauth.redirect_uri, | |
|                           scopes: app.scopes().clone(), | |
|                           force_login: self.force_login,}) | |
|         } | |
|         /// Register the application with the server from the `base` url. | |
|         /// | |
|         /// ```no_run | |
|         /// # extern crate elefren; | |
|         /// # fn main () -> elefren::Result<()> { | |
|         /// use elefren::prelude::*; | |
|         /// | |
|         /// let registration = Registration::new("https://mastodon.social") | |
|         ///     .client_name("elefren_test") | |
|         ///     .build()?; | |
|         /// let url = registration.authorize_url()?; | |
|         /// // Here you now need to open the url in the browser | |
|         /// // And handle a the redirect url coming back with the code. | |
|         /// let code = String::from("RETURNED_FROM_BROWSER"); | |
|         /// let mastodon = registration.complete(&code)?; | |
|         /// | |
|         /// println!("{:?}", mastodon.get_home_timeline()?.initial_items); | |
|         /// # Ok(()) | |
|         /// # } | |
|         /// ``` | |
|         pub fn build(&mut self) -> Result<Registered> { | |
|             let app: App = self.app_builder.clone().build()?; | |
|             let oauth = self.send_app(&app)?; | |
|             Ok(Registered{base: self.base.clone(), | |
|                           client: self.client.clone(), | |
|                           client_id: oauth.client_id, | |
|                           client_secret: oauth.client_secret, | |
|                           redirect: oauth.redirect_uri, | |
|                           scopes: app.scopes().clone(), | |
|                           force_login: self.force_login,}) | |
|         } | |
|         fn send_app(&self, app: &App) -> Result<OAuth> { | |
|             let url = | |
|                 { | |
|                     let res = | |
|                         ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["", | |
|                                                                               "/api/v1/apps"], | |
|                                                                             &match (&self.base,) | |
|                                                                                  { | |
|                                                                                  (arg0,) | |
|                                                                                  => | |
|                                                                                  [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                ::core::fmt::Display::fmt)], | |
|                                                                              })); | |
|                     res | |
|                 }; | |
|             Ok(self.send(self.client.post(&url).json(&app))?.json()?) | |
|         } | |
|     } | |
|     impl Registered { | |
|         /// Skip having to retrieve the client id and secret from the server by | |
|         /// creating a `Registered` struct directly | |
|         /// | |
|         /// # Example | |
|         /// | |
|         /// ```no_run | |
|         /// # extern crate elefren; | |
|         /// # fn main() -> elefren::Result<()> { | |
|         /// use elefren::{prelude::*, registration::Registered}; | |
|         /// | |
|         /// let registration = Registered::from_parts( | |
|         ///     "https://example.com", | |
|         ///     "the-client-id", | |
|         ///     "the-client-secret", | |
|         ///     "https://example.com/redirect", | |
|         ///     Scopes::read_all(), | |
|         ///     false, | |
|         /// ); | |
|         /// let url = registration.authorize_url()?; | |
|         /// // Here you now need to open the url in the browser | |
|         /// // And handle a the redirect url coming back with the code. | |
|         /// let code = String::from("RETURNED_FROM_BROWSER"); | |
|         /// let mastodon = registration.complete(&code)?; | |
|         /// | |
|         /// println!("{:?}", mastodon.get_home_timeline()?.initial_items); | |
|         /// #   Ok(()) | |
|         /// # } | |
|         /// ``` | |
|         pub fn from_parts(base: &str, client_id: &str, client_secret: &str, | |
|                           redirect: &str, scopes: Scopes, force_login: bool) | |
|          -> Registered { | |
|             Registered{base: base.to_string(), | |
|                        client: Client::new(), | |
|                        client_id: client_id.to_string(), | |
|                        client_secret: client_secret.to_string(), | |
|                        redirect: redirect.to_string(), | |
|                        scopes, | |
|                        force_login,} | |
|         } | |
|     } | |
|     impl Registered { | |
|         fn send(&self, req: RequestBuilder) -> Result<Response> { | |
|             let req = req.build()?; | |
|             Ok(self.client.execute(req)?) | |
|         } | |
|         /// Returns the parts of the `Registered` struct that can be used to | |
|         /// recreate another `Registered` struct | |
|         /// | |
|         /// # Example | |
|         /// | |
|         /// ``` | |
|         /// # extern crate elefren; | |
|         /// use elefren::{prelude::*, registration::Registered}; | |
|         /// # fn main() -> Result<(), Box<std::error::Error>> { | |
|         /// | |
|         /// let origbase = "https://example.social"; | |
|         /// let origclient_id = "some-client_id"; | |
|         /// let origclient_secret = "some-client-secret"; | |
|         /// let origredirect = "https://example.social/redirect"; | |
|         /// let origscopes = Scopes::all(); | |
|         /// let origforce_login = false; | |
|         /// | |
|         /// let registered = Registered::from_parts( | |
|         ///     origbase, | |
|         ///     origclient_id, | |
|         ///     origclient_secret, | |
|         ///     origredirect, | |
|         ///     origscopes.clone(), | |
|         ///     origforce_login, | |
|         /// ); | |
|         /// | |
|         /// let (base, client_id, client_secret, redirect, scopes, force_login) = registered.into_parts(); | |
|         /// | |
|         /// assert_eq!(origbase, &base); | |
|         /// assert_eq!(origclient_id, &client_id); | |
|         /// assert_eq!(origclient_secret, &client_secret); | |
|         /// assert_eq!(origredirect, &redirect); | |
|         /// assert_eq!(origscopes, scopes); | |
|         /// assert_eq!(origforce_login, force_login); | |
|         /// #   Ok(()) | |
|         /// # } | |
|         /// ``` | |
|         pub fn into_parts(self) | |
|          -> (String, String, String, String, Scopes, bool) { | |
|             (self.base, self.client_id, self.client_secret, self.redirect, | |
|              self.scopes, self.force_login) | |
|         } | |
|         /// Returns the full url needed for authorisation. This needs to be opened | |
|         /// in a browser. | |
|         pub fn authorize_url(&self) -> Result<String> { | |
|             let scopes = | |
|                 { | |
|                     let res = | |
|                         ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&[""], | |
|                                                                             &match (&self.scopes,) | |
|                                                                                  { | |
|                                                                                  (arg0,) | |
|                                                                                  => | |
|                                                                                  [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                ::core::fmt::Display::fmt)], | |
|                                                                              })); | |
|                     res | |
|                 }; | |
|             let scopes: String = | |
|                 utf8_percent_encode(&scopes, DEFAULT_ENCODE_SET).collect(); | |
|             let url = | |
|                 if self.force_login { | |
|                     { | |
|                         let res = | |
|                             ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["", | |
|                                                                                   "/oauth/authorize?client_id=", | |
|                                                                                   "&redirect_uri=", | |
|                                                                                   "&scope=", | |
|                                                                                   "&force_login=true&response_type=code"], | |
|                                                                                 &match (&self.base, | |
|                                                                                         &self.client_id, | |
|                                                                                         &self.redirect, | |
|                                                                                         &scopes) | |
|                                                                                      { | |
|                                                                                      (arg0, | |
|                                                                                       arg1, | |
|                                                                                       arg2, | |
|                                                                                       arg3) | |
|                                                                                      => | |
|                                                                                      [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                    ::core::fmt::Display::fmt), | |
|                                                                                       ::core::fmt::ArgumentV1::new(arg1, | |
|                                                                                                                    ::core::fmt::Display::fmt), | |
|                                                                                       ::core::fmt::ArgumentV1::new(arg2, | |
|                                                                                                                    ::core::fmt::Display::fmt), | |
|                                                                                       ::core::fmt::ArgumentV1::new(arg3, | |
|                                                                                                                    ::core::fmt::Display::fmt)], | |
|                                                                                  })); | |
|                         res | |
|                     } | |
|                 } else { | |
|                     { | |
|                         let res = | |
|                             ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["", | |
|                                                                                   "/oauth/authorize?client_id=", | |
|                                                                                   "&redirect_uri=", | |
|                                                                                   "&scope=", | |
|                                                                                   "&response_type=code"], | |
|                                                                                 &match (&self.base, | |
|                                                                                         &self.client_id, | |
|                                                                                         &self.redirect, | |
|                                                                                         &scopes) | |
|                                                                                      { | |
|                                                                                      (arg0, | |
|                                                                                       arg1, | |
|                                                                                       arg2, | |
|                                                                                       arg3) | |
|                                                                                      => | |
|                                                                                      [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                    ::core::fmt::Display::fmt), | |
|                                                                                       ::core::fmt::ArgumentV1::new(arg1, | |
|                                                                                                                    ::core::fmt::Display::fmt), | |
|                                                                                       ::core::fmt::ArgumentV1::new(arg2, | |
|                                                                                                                    ::core::fmt::Display::fmt), | |
|                                                                                       ::core::fmt::ArgumentV1::new(arg3, | |
|                                                                                                                    ::core::fmt::Display::fmt)], | |
|                                                                                  })); | |
|                         res | |
|                     } | |
|                 }; | |
|             Ok(url) | |
|         } | |
|         /// Create an access token from the client id, client secret, and code | |
|         /// provided by the authorisation url. | |
|         pub fn complete(&self, code: &str) -> Result<Mastodon> { | |
|             let url = | |
|                 { | |
|                     let res = | |
|                         ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["", | |
|                                                                               "/oauth/token?client_id=", | |
|                                                                               "&client_secret=", | |
|                                                                               "&code=", | |
|                                                                               "&grant_type=authorization_code&redirect_uri="], | |
|                                                                             &match (&self.base, | |
|                                                                                     &self.client_id, | |
|                                                                                     &self.client_secret, | |
|                                                                                     &code, | |
|                                                                                     &self.redirect) | |
|                                                                                  { | |
|                                                                                  (arg0, | |
|                                                                                   arg1, | |
|                                                                                   arg2, | |
|                                                                                   arg3, | |
|                                                                                   arg4) | |
|                                                                                  => | |
|                                                                                  [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                ::core::fmt::Display::fmt), | |
|                                                                                   ::core::fmt::ArgumentV1::new(arg1, | |
|                                                                                                                ::core::fmt::Display::fmt), | |
|                                                                                   ::core::fmt::ArgumentV1::new(arg2, | |
|                                                                                                                ::core::fmt::Display::fmt), | |
|                                                                                   ::core::fmt::ArgumentV1::new(arg3, | |
|                                                                                                                ::core::fmt::Display::fmt), | |
|                                                                                   ::core::fmt::ArgumentV1::new(arg4, | |
|                                                                                                                ::core::fmt::Display::fmt)], | |
|                                                                              })); | |
|                     res | |
|                 }; | |
|             let token: AccessToken = | |
|                 self.send(self.client.post(&url))?.json()?; | |
|             let data = | |
|                 Data{base: self.base.clone().into(), | |
|                      client_id: self.client_id.clone().into(), | |
|                      client_secret: self.client_secret.clone().into(), | |
|                      redirect: self.redirect.clone().into(), | |
|                      token: token.access_token.into(),}; | |
|             let mut builder = MastodonBuilder::new(); | |
|             builder.client(self.client.clone()).data(data); | |
|             Ok(builder.build()?) | |
|         } | |
|     } | |
|     /// Represents the state of the auth flow when the app has been registered but | |
|     /// the user is not authenticated | |
|     pub struct Registered { | |
|         base: String, | |
|         client: Client, | |
|         client_id: String, | |
|         client_secret: String, | |
|         redirect: String, | |
|         scopes: Scopes, | |
|         force_login: bool, | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::fmt::Debug for Registered { | |
|         fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result { | |
|             match *self { | |
|                 Registered { | |
|                 base: ref __self_0_0, | |
|                 client: ref __self_0_1, | |
|                 client_id: ref __self_0_2, | |
|                 client_secret: ref __self_0_3, | |
|                 redirect: ref __self_0_4, | |
|                 scopes: ref __self_0_5, | |
|                 force_login: ref __self_0_6 } => { | |
|                     let mut debug_trait_builder = | |
|                         f.debug_struct("Registered"); | |
|                     let _ = | |
|                         debug_trait_builder.field("base", &&(*__self_0_0)); | |
|                     let _ = | |
|                         debug_trait_builder.field("client", &&(*__self_0_1)); | |
|                     let _ = | |
|                         debug_trait_builder.field("client_id", | |
|                                                   &&(*__self_0_2)); | |
|                     let _ = | |
|                         debug_trait_builder.field("client_secret", | |
|                                                   &&(*__self_0_3)); | |
|                     let _ = | |
|                         debug_trait_builder.field("redirect", | |
|                                                   &&(*__self_0_4)); | |
|                     let _ = | |
|                         debug_trait_builder.field("scopes", &&(*__self_0_5)); | |
|                     let _ = | |
|                         debug_trait_builder.field("force_login", | |
|                                                   &&(*__self_0_6)); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|             } | |
|         } | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::clone::Clone for Registered { | |
|         #[inline] | |
|         fn clone(&self) -> Registered { | |
|             match *self { | |
|                 Registered { | |
|                 base: ref __self_0_0, | |
|                 client: ref __self_0_1, | |
|                 client_id: ref __self_0_2, | |
|                 client_secret: ref __self_0_3, | |
|                 redirect: ref __self_0_4, | |
|                 scopes: ref __self_0_5, | |
|                 force_login: ref __self_0_6 } => | |
|                 Registered{base: ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                            client: | |
|                                ::core::clone::Clone::clone(&(*__self_0_1)), | |
|                            client_id: | |
|                                ::core::clone::Clone::clone(&(*__self_0_2)), | |
|                            client_secret: | |
|                                ::core::clone::Clone::clone(&(*__self_0_3)), | |
|                            redirect: | |
|                                ::core::clone::Clone::clone(&(*__self_0_4)), | |
|                            scopes: | |
|                                ::core::clone::Clone::clone(&(*__self_0_5)), | |
|                            force_login: | |
|                                ::core::clone::Clone::clone(&(*__self_0_6)),}, | |
|             } | |
|         } | |
|     } | |
| } | |
| /// Requests | |
| pub mod requests { | |
|     /// Data structure for the MastodonClient::add_filter method | |
|     pub use self::filter::AddFilterRequest; | |
|     /// Data structure for the MastodonClient::add_push_subscription method | |
|     pub use self::push::{AddPushRequest, Keys, UpdatePushRequest}; | |
|     /// Data structure for the MastodonClient::statuses method | |
|     pub use self::statuses::StatusesRequest; | |
|     /// Data structure for the MastodonClient::update_credentials method | |
|     pub use self::update_credentials::UpdateCredsRequest; | |
|     mod filter { | |
|         use crate::entities::filter::FilterContext; | |
|         use std::time::Duration; | |
|         /// Form used to create a filter | |
|         /// | |
|         /// # Example | |
|         /// | |
|         /// ``` | |
|         /// # extern crate elefren; | |
|         /// # use std::error::Error; | |
|         /// use elefren::{entities::filter::FilterContext, requests::AddFilterRequest}; | |
|         /// # fn main() -> Result<(), Box<Error>> { | |
|         /// let request = AddFilterRequest::new("foo", FilterContext::Home); | |
|         /// #   Ok(()) | |
|         /// # } | |
|         /// ``` | |
|         pub struct AddFilterRequest { | |
|             phrase: String, | |
|             context: FilterContext, | |
|             irreversible: Option<bool>, | |
|             whole_word: Option<bool>, | |
|             #[serde(serialize_with = "serialize_duration::ser")] | |
|             expires_in: Option<Duration>, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for AddFilterRequest { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match *self { | |
|                     AddFilterRequest { | |
|                     phrase: ref __self_0_0, | |
|                     context: ref __self_0_1, | |
|                     irreversible: ref __self_0_2, | |
|                     whole_word: ref __self_0_3, | |
|                     expires_in: ref __self_0_4 } => { | |
|                         let mut debug_trait_builder = | |
|                             f.debug_struct("AddFilterRequest"); | |
|                         let _ = | |
|                             debug_trait_builder.field("phrase", | |
|                                                       &&(*__self_0_0)); | |
|                         let _ = | |
|                             debug_trait_builder.field("context", | |
|                                                       &&(*__self_0_1)); | |
|                         let _ = | |
|                             debug_trait_builder.field("irreversible", | |
|                                                       &&(*__self_0_2)); | |
|                         let _ = | |
|                             debug_trait_builder.field("whole_word", | |
|                                                       &&(*__self_0_3)); | |
|                         let _ = | |
|                             debug_trait_builder.field("expires_in", | |
|                                                       &&(*__self_0_4)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for AddFilterRequest { | |
|             #[inline] | |
|             fn clone(&self) -> AddFilterRequest { | |
|                 match *self { | |
|                     AddFilterRequest { | |
|                     phrase: ref __self_0_0, | |
|                     context: ref __self_0_1, | |
|                     irreversible: ref __self_0_2, | |
|                     whole_word: ref __self_0_3, | |
|                     expires_in: ref __self_0_4 } => | |
|                     AddFilterRequest{phrase: | |
|                                          ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                                      context: | |
|                                          ::core::clone::Clone::clone(&(*__self_0_1)), | |
|                                      irreversible: | |
|                                          ::core::clone::Clone::clone(&(*__self_0_2)), | |
|                                      whole_word: | |
|                                          ::core::clone::Clone::clone(&(*__self_0_3)), | |
|                                      expires_in: | |
|                                          ::core::clone::Clone::clone(&(*__self_0_4)),}, | |
|                 } | |
|             } | |
|         } | |
|         impl ::core::marker::StructuralPartialEq for AddFilterRequest { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for AddFilterRequest { | |
|             #[inline] | |
|             fn eq(&self, other: &AddFilterRequest) -> bool { | |
|                 match *other { | |
|                     AddFilterRequest { | |
|                     phrase: ref __self_1_0, | |
|                     context: ref __self_1_1, | |
|                     irreversible: ref __self_1_2, | |
|                     whole_word: ref __self_1_3, | |
|                     expires_in: ref __self_1_4 } => | |
|                     match *self { | |
|                         AddFilterRequest { | |
|                         phrase: ref __self_0_0, | |
|                         context: ref __self_0_1, | |
|                         irreversible: ref __self_0_2, | |
|                         whole_word: ref __self_0_3, | |
|                         expires_in: ref __self_0_4 } => | |
|                         (*__self_0_0) == (*__self_1_0) && | |
|                             (*__self_0_1) == (*__self_1_1) && | |
|                             (*__self_0_2) == (*__self_1_2) && | |
|                             (*__self_0_3) == (*__self_1_3) && | |
|                             (*__self_0_4) == (*__self_1_4), | |
|                     }, | |
|                 } | |
|             } | |
|             #[inline] | |
|             fn ne(&self, other: &AddFilterRequest) -> bool { | |
|                 match *other { | |
|                     AddFilterRequest { | |
|                     phrase: ref __self_1_0, | |
|                     context: ref __self_1_1, | |
|                     irreversible: ref __self_1_2, | |
|                     whole_word: ref __self_1_3, | |
|                     expires_in: ref __self_1_4 } => | |
|                     match *self { | |
|                         AddFilterRequest { | |
|                         phrase: ref __self_0_0, | |
|                         context: ref __self_0_1, | |
|                         irreversible: ref __self_0_2, | |
|                         whole_word: ref __self_0_3, | |
|                         expires_in: ref __self_0_4 } => | |
|                         (*__self_0_0) != (*__self_1_0) || | |
|                             (*__self_0_1) != (*__self_1_1) || | |
|                             (*__self_0_2) != (*__self_1_2) || | |
|                             (*__self_0_3) != (*__self_1_3) || | |
|                             (*__self_0_4) != (*__self_1_4), | |
|                     }, | |
|                 } | |
|             } | |
|         } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_SERIALIZE_FOR_AddFilterRequest: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl _serde::Serialize for AddFilterRequest { | |
|                     fn serialize<__S>(&self, __serializer: __S) | |
|                      -> _serde::export::Result<__S::Ok, __S::Error> where | |
|                      __S: _serde::Serializer { | |
|                         let mut __serde_state = | |
|                             match _serde::Serializer::serialize_struct(__serializer, | |
|                                                                        "AddFilterRequest", | |
|                                                                        false | |
|                                                                            as | |
|                                                                            usize | |
|                                                                            + 1 | |
|                                                                            + 1 | |
|                                                                            + 1 | |
|                                                                            + 1 | |
|                                                                            + | |
|                                                                            1) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "phrase", | |
|                                                                             &self.phrase) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "context", | |
|                                                                             &self.context) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "irreversible", | |
|                                                                             &self.irreversible) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "whole_word", | |
|                                                                             &self.whole_word) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "expires_in", | |
|                                                                             { | |
|                                                                                 struct __SerializeWith<'__a> { | |
|                                                                                     values: (&'__a Option<Duration>,), | |
|                                                                                     phantom: _serde::export::PhantomData<AddFilterRequest>, | |
|                                                                                 } | |
|                                                                                 impl <'__a> | |
|                                                                                  _serde::Serialize | |
|                                                                                  for | |
|                                                                                  __SerializeWith<'__a> | |
|                                                                                  { | |
|                                                                                     fn serialize<__S>(&self, | |
|                                                                                                       __s: | |
|                                                                                                           __S) | |
|                                                                                      -> | |
|                                                                                          _serde::export::Result<__S::Ok, | |
|                                                                                                                 __S::Error> | |
|                                                                                      where | |
|                                                                                      __S: _serde::Serializer { | |
|                                                                                         serialize_duration::ser(self.values.0, | |
|                                                                                                                 __s) | |
|                                                                                     } | |
|                                                                                 } | |
|                                                                                 &__SerializeWith{values: | |
|                                                                                                      (&self.expires_in,), | |
|                                                                                                  phantom: | |
|                                                                                                      _serde::export::PhantomData::<AddFilterRequest>,} | |
|                                                                             }) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                         _serde::ser::SerializeStruct::end(__serde_state) | |
|                     } | |
|                 } | |
|             }; | |
|         impl AddFilterRequest { | |
|             /// Create a new AddFilterRequest | |
|             pub fn new(phrase: &str, context: FilterContext) | |
|              -> AddFilterRequest { | |
|                 AddFilterRequest{phrase: phrase.to_string(), | |
|                                  context, | |
|                                  irreversible: None, | |
|                                  whole_word: None, | |
|                                  expires_in: None,} | |
|             } | |
|             /// Set `irreversible` to `true` | |
|             pub fn irreversible(&mut self) -> &mut Self { | |
|                 self.irreversible = Some(true); | |
|                 self | |
|             } | |
|             /// Set `whole_word` to `true` | |
|             pub fn whole_word(&mut self) -> &mut Self { | |
|                 self.whole_word = Some(true); | |
|                 self | |
|             } | |
|             /// Set `expires_in` to a duration | |
|             pub fn expires_in(&mut self, d: Duration) -> &mut Self { | |
|                 self.expires_in = Some(d); | |
|                 self | |
|             } | |
|         } | |
|         mod serialize_duration { | |
|             use serde::ser::Serializer; | |
|             use std::time::Duration; | |
|             pub(crate) fn ser<S>(duration: &Option<Duration>, s: S) | |
|              -> Result<S::Ok, S::Error> where S: Serializer { | |
|                 if let Some(d) = duration { | |
|                     let sec = d.as_secs(); | |
|                     s.serialize_u64(sec) | |
|                 } else { s.serialize_none() } | |
|             } | |
|         } | |
|     } | |
|     mod push { | |
|         use crate::entities::push::{add_subscription, update_data}; | |
|         use crate::errors::Result; | |
|         /// Container for the key & auth strings for an AddPushRequest | |
|         /// | |
|         /// # Example | |
|         /// | |
|         /// ``` | |
|         /// # extern crate elefren; | |
|         /// use elefren::requests::Keys; | |
|         /// | |
|         /// let keys = Keys::new("anetohias===", "oeatssah="); | |
|         /// ``` | |
|         pub struct Keys { | |
|             pub(crate) p256dh: String, | |
|             pub(crate) auth: String, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for Keys { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match *self { | |
|                     Keys { p256dh: ref __self_0_0, auth: ref __self_0_1 } => { | |
|                         let mut debug_trait_builder = f.debug_struct("Keys"); | |
|                         let _ = | |
|                             debug_trait_builder.field("p256dh", | |
|                                                       &&(*__self_0_0)); | |
|                         let _ = | |
|                             debug_trait_builder.field("auth", | |
|                                                       &&(*__self_0_1)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::default::Default for Keys { | |
|             #[inline] | |
|             fn default() -> Keys { | |
|                 Keys{p256dh: ::core::default::Default::default(), | |
|                      auth: ::core::default::Default::default(),} | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for Keys { | |
|             #[inline] | |
|             fn clone(&self) -> Keys { | |
|                 match *self { | |
|                     Keys { p256dh: ref __self_0_0, auth: ref __self_0_1 } => | |
|                     Keys{p256dh: ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                          auth: ::core::clone::Clone::clone(&(*__self_0_1)),}, | |
|                 } | |
|             } | |
|         } | |
|         impl ::core::marker::StructuralPartialEq for Keys { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for Keys { | |
|             #[inline] | |
|             fn eq(&self, other: &Keys) -> bool { | |
|                 match *other { | |
|                     Keys { p256dh: ref __self_1_0, auth: ref __self_1_1 } => | |
|                     match *self { | |
|                         Keys { p256dh: ref __self_0_0, auth: ref __self_0_1 } | |
|                         => | |
|                         (*__self_0_0) == (*__self_1_0) && | |
|                             (*__self_0_1) == (*__self_1_1), | |
|                     }, | |
|                 } | |
|             } | |
|             #[inline] | |
|             fn ne(&self, other: &Keys) -> bool { | |
|                 match *other { | |
|                     Keys { p256dh: ref __self_1_0, auth: ref __self_1_1 } => | |
|                     match *self { | |
|                         Keys { p256dh: ref __self_0_0, auth: ref __self_0_1 } | |
|                         => | |
|                         (*__self_0_0) != (*__self_1_0) || | |
|                             (*__self_0_1) != (*__self_1_1), | |
|                     }, | |
|                 } | |
|             } | |
|         } | |
|         impl Keys { | |
|             /// Create the `Keys` container | |
|             /// | |
|             /// # Example | |
|             /// | |
|             /// ``` | |
|             /// # extern crate elefren; | |
|             /// use elefren::requests::Keys; | |
|             /// | |
|             /// let keys = Keys::new("anetohias===", "oeatssah="); | |
|             /// ``` | |
|             pub fn new(p256dh: &str, auth: &str) -> Keys { | |
|                 Keys{p256dh: p256dh.to_string(), auth: auth.to_string(),} | |
|             } | |
|         } | |
|         /// Builder to pass to the Mastodon::add_push_subscription method | |
|         /// | |
|         /// # Example | |
|         /// | |
|         /// ```no_run | |
|         /// # extern crate elefren; | |
|         /// # use elefren::{MastodonClient, Mastodon, Data}; | |
|         /// # fn main() -> Result<(), elefren::Error> { | |
|         /// # let data = Data { | |
|         /// #   base: "".into(), | |
|         /// #   client_id: "".into(), | |
|         /// #   client_secret: "".into(), | |
|         /// #   redirect: "".into(), | |
|         /// #   token: "".into(), | |
|         /// # }; | |
|         /// use elefren::requests::{AddPushRequest, Keys}; | |
|         /// | |
|         /// let client = Mastodon::from(data); | |
|         /// | |
|         /// let keys = Keys::new("stahesuahoei293ise===", "tasecoa,nmeozka=="); | |
|         /// let mut request = AddPushRequest::new("http://example.com/push/endpoint", &keys); | |
|         /// request.follow().reblog(); | |
|         /// | |
|         /// client.add_push_subscription(&request)?; | |
|         /// #   Ok(()) | |
|         /// # } | |
|         /// ``` | |
|         pub struct AddPushRequest { | |
|             endpoint: String, | |
|             p256dh: String, | |
|             auth: String, | |
|             follow: Option<bool>, | |
|             favourite: Option<bool>, | |
|             reblog: Option<bool>, | |
|             mention: Option<bool>, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for AddPushRequest { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match *self { | |
|                     AddPushRequest { | |
|                     endpoint: ref __self_0_0, | |
|                     p256dh: ref __self_0_1, | |
|                     auth: ref __self_0_2, | |
|                     follow: ref __self_0_3, | |
|                     favourite: ref __self_0_4, | |
|                     reblog: ref __self_0_5, | |
|                     mention: ref __self_0_6 } => { | |
|                         let mut debug_trait_builder = | |
|                             f.debug_struct("AddPushRequest"); | |
|                         let _ = | |
|                             debug_trait_builder.field("endpoint", | |
|                                                       &&(*__self_0_0)); | |
|                         let _ = | |
|                             debug_trait_builder.field("p256dh", | |
|                                                       &&(*__self_0_1)); | |
|                         let _ = | |
|                             debug_trait_builder.field("auth", | |
|                                                       &&(*__self_0_2)); | |
|                         let _ = | |
|                             debug_trait_builder.field("follow", | |
|                                                       &&(*__self_0_3)); | |
|                         let _ = | |
|                             debug_trait_builder.field("favourite", | |
|                                                       &&(*__self_0_4)); | |
|                         let _ = | |
|                             debug_trait_builder.field("reblog", | |
|                                                       &&(*__self_0_5)); | |
|                         let _ = | |
|                             debug_trait_builder.field("mention", | |
|                                                       &&(*__self_0_6)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::default::Default for AddPushRequest { | |
|             #[inline] | |
|             fn default() -> AddPushRequest { | |
|                 AddPushRequest{endpoint: ::core::default::Default::default(), | |
|                                p256dh: ::core::default::Default::default(), | |
|                                auth: ::core::default::Default::default(), | |
|                                follow: ::core::default::Default::default(), | |
|                                favourite: ::core::default::Default::default(), | |
|                                reblog: ::core::default::Default::default(), | |
|                                mention: ::core::default::Default::default(),} | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for AddPushRequest { | |
|             #[inline] | |
|             fn clone(&self) -> AddPushRequest { | |
|                 match *self { | |
|                     AddPushRequest { | |
|                     endpoint: ref __self_0_0, | |
|                     p256dh: ref __self_0_1, | |
|                     auth: ref __self_0_2, | |
|                     follow: ref __self_0_3, | |
|                     favourite: ref __self_0_4, | |
|                     reblog: ref __self_0_5, | |
|                     mention: ref __self_0_6 } => | |
|                     AddPushRequest{endpoint: | |
|                                        ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                                    p256dh: | |
|                                        ::core::clone::Clone::clone(&(*__self_0_1)), | |
|                                    auth: | |
|                                        ::core::clone::Clone::clone(&(*__self_0_2)), | |
|                                    follow: | |
|                                        ::core::clone::Clone::clone(&(*__self_0_3)), | |
|                                    favourite: | |
|                                        ::core::clone::Clone::clone(&(*__self_0_4)), | |
|                                    reblog: | |
|                                        ::core::clone::Clone::clone(&(*__self_0_5)), | |
|                                    mention: | |
|                                        ::core::clone::Clone::clone(&(*__self_0_6)),}, | |
|                 } | |
|             } | |
|         } | |
|         impl ::core::marker::StructuralPartialEq for AddPushRequest { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for AddPushRequest { | |
|             #[inline] | |
|             fn eq(&self, other: &AddPushRequest) -> bool { | |
|                 match *other { | |
|                     AddPushRequest { | |
|                     endpoint: ref __self_1_0, | |
|                     p256dh: ref __self_1_1, | |
|                     auth: ref __self_1_2, | |
|                     follow: ref __self_1_3, | |
|                     favourite: ref __self_1_4, | |
|                     reblog: ref __self_1_5, | |
|                     mention: ref __self_1_6 } => | |
|                     match *self { | |
|                         AddPushRequest { | |
|                         endpoint: ref __self_0_0, | |
|                         p256dh: ref __self_0_1, | |
|                         auth: ref __self_0_2, | |
|                         follow: ref __self_0_3, | |
|                         favourite: ref __self_0_4, | |
|                         reblog: ref __self_0_5, | |
|                         mention: ref __self_0_6 } => | |
|                         (*__self_0_0) == (*__self_1_0) && | |
|                             (*__self_0_1) == (*__self_1_1) && | |
|                             (*__self_0_2) == (*__self_1_2) && | |
|                             (*__self_0_3) == (*__self_1_3) && | |
|                             (*__self_0_4) == (*__self_1_4) && | |
|                             (*__self_0_5) == (*__self_1_5) && | |
|                             (*__self_0_6) == (*__self_1_6), | |
|                     }, | |
|                 } | |
|             } | |
|             #[inline] | |
|             fn ne(&self, other: &AddPushRequest) -> bool { | |
|                 match *other { | |
|                     AddPushRequest { | |
|                     endpoint: ref __self_1_0, | |
|                     p256dh: ref __self_1_1, | |
|                     auth: ref __self_1_2, | |
|                     follow: ref __self_1_3, | |
|                     favourite: ref __self_1_4, | |
|                     reblog: ref __self_1_5, | |
|                     mention: ref __self_1_6 } => | |
|                     match *self { | |
|                         AddPushRequest { | |
|                         endpoint: ref __self_0_0, | |
|                         p256dh: ref __self_0_1, | |
|                         auth: ref __self_0_2, | |
|                         follow: ref __self_0_3, | |
|                         favourite: ref __self_0_4, | |
|                         reblog: ref __self_0_5, | |
|                         mention: ref __self_0_6 } => | |
|                         (*__self_0_0) != (*__self_1_0) || | |
|                             (*__self_0_1) != (*__self_1_1) || | |
|                             (*__self_0_2) != (*__self_1_2) || | |
|                             (*__self_0_3) != (*__self_1_3) || | |
|                             (*__self_0_4) != (*__self_1_4) || | |
|                             (*__self_0_5) != (*__self_1_5) || | |
|                             (*__self_0_6) != (*__self_1_6), | |
|                     }, | |
|                 } | |
|             } | |
|         } | |
|         impl AddPushRequest { | |
|             /// Construct a new AddPushRequest | |
|             /// | |
|             /// # Example | |
|             /// | |
|             /// ``` | |
|             /// # extern crate elefren; | |
|             /// use elefren::requests::{AddPushRequest, Keys}; | |
|             /// let keys = Keys::new("abcdef===", "foobar=="); | |
|             /// let push_endpoint = "https://example.com/push/endpoint"; | |
|             /// let request = AddPushRequest::new(push_endpoint, &keys); | |
|             /// ``` | |
|             pub fn new(endpoint: &str, keys: &Keys) -> AddPushRequest { | |
|                 AddPushRequest{endpoint: endpoint.to_string(), | |
|                                p256dh: keys.p256dh.clone(), | |
|                                auth: keys.auth.clone(), ..Default::default()} | |
|             } | |
|             /// A flag that indicates if you want follow notifications pushed | |
|             /// | |
|             /// # Example | |
|             /// ``` | |
|             /// # extern crate elefren; | |
|             /// use elefren::requests::{AddPushRequest, Keys}; | |
|             /// let keys = Keys::new("abcdef===", "foobar=="); | |
|             /// let push_endpoint = "https://example.com/push/endpoint"; | |
|             /// let mut request = AddPushRequest::new(push_endpoint, &keys); | |
|             /// request.follow(); | |
|             /// ``` | |
|             pub fn follow(&mut self) -> &mut Self { | |
|                 self.follow = Some(true); | |
|                 self | |
|             } | |
|             /// A flag that indicates if you want favourite notifications pushed | |
|             /// | |
|             /// # Example | |
|             /// ``` | |
|             /// # extern crate elefren; | |
|             /// use elefren::requests::{AddPushRequest, Keys}; | |
|             /// let keys = Keys::new("abcdef===", "foobar=="); | |
|             /// let push_endpoint = "https://example.com/push/endpoint"; | |
|             /// let mut request = AddPushRequest::new(push_endpoint, &keys); | |
|             /// request.favourite(); | |
|             /// ``` | |
|             pub fn favourite(&mut self) -> &mut Self { | |
|                 self.favourite = Some(true); | |
|                 self | |
|             } | |
|             /// A flag that indicates if you want reblog notifications pushed | |
|             /// | |
|             /// # Example | |
|             /// ``` | |
|             /// # extern crate elefren; | |
|             /// use elefren::requests::{AddPushRequest, Keys}; | |
|             /// let keys = Keys::new("abcdef===", "foobar=="); | |
|             /// let push_endpoint = "https://example.com/push/endpoint"; | |
|             /// let mut request = AddPushRequest::new(push_endpoint, &keys); | |
|             /// request.reblog(); | |
|             /// ``` | |
|             pub fn reblog(&mut self) -> &mut Self { | |
|                 self.reblog = Some(true); | |
|                 self | |
|             } | |
|             /// A flag that indicates if you want mention notifications pushed | |
|             /// | |
|             /// # Example | |
|             /// ``` | |
|             /// # extern crate elefren; | |
|             /// use elefren::requests::{AddPushRequest, Keys}; | |
|             /// let keys = Keys::new("abcdef===", "foobar=="); | |
|             /// let push_endpoint = "https://example.com/push/endpoint"; | |
|             /// let mut request = AddPushRequest::new(push_endpoint, &keys); | |
|             /// request.mention(); | |
|             /// ``` | |
|             pub fn mention(&mut self) -> &mut Self { | |
|                 self.mention = Some(true); | |
|                 self | |
|             } | |
|             fn flags_present(&self) -> bool { | |
|                 self.follow.is_some() || self.favourite.is_some() || | |
|                     self.reblog.is_some() || self.mention.is_some() | |
|             } | |
|             pub(crate) fn build(&self) -> Result<add_subscription::Form> { | |
|                 use crate::entities::push::{add_subscription::{Data, Form, | |
|                                                                Keys, | |
|                                                                Subscription}, | |
|                                             Alerts}; | |
|                 let mut form = | |
|                     Form{subscription: | |
|                              Subscription{endpoint: self.endpoint.clone(), | |
|                                           keys: | |
|                                               Keys{p256dh: | |
|                                                        self.p256dh.clone(), | |
|                                                    auth: | |
|                                                        self.auth.clone(),},}, | |
|                          data: None,}; | |
|                 if self.flags_present() { | |
|                     let mut alerts = Alerts::default(); | |
|                     if let Some(follow) = self.follow { | |
|                         alerts.follow = Some(follow); | |
|                     } | |
|                     if let Some(favourite) = self.favourite { | |
|                         alerts.favourite = Some(favourite); | |
|                     } | |
|                     if let Some(reblog) = self.reblog { | |
|                         alerts.reblog = Some(reblog); | |
|                     } | |
|                     if let Some(mention) = self.mention { | |
|                         alerts.mention = Some(mention); | |
|                     } | |
|                     form.data = Some(Data{alerts: Some(alerts),}); | |
|                 } | |
|                 Ok(form) | |
|             } | |
|         } | |
|         /// Builder to pass to the Mastodon::update_push_data method | |
|         /// | |
|         /// # Example | |
|         /// | |
|         /// ```no_run | |
|         /// # extern crate elefren; | |
|         /// # use elefren::{MastodonClient, Mastodon, Data}; | |
|         /// # fn main() -> Result<(), elefren::Error> { | |
|         /// # let data = Data { | |
|         /// #   base: "".into(), | |
|         /// #   client_id: "".into(), | |
|         /// #   client_secret: "".into(), | |
|         /// #   redirect: "".into(), | |
|         /// #   token: "".into(), | |
|         /// # }; | |
|         /// use elefren::requests::UpdatePushRequest; | |
|         /// | |
|         /// let client = Mastodon::from(data); | |
|         /// | |
|         /// let mut request = UpdatePushRequest::new("foobar"); | |
|         /// request.follow(true).reblog(true); | |
|         /// | |
|         /// client.update_push_data(&request)?; | |
|         /// #   Ok(()) | |
|         /// # } | |
|         /// ``` | |
|         pub struct UpdatePushRequest { | |
|             id: String, | |
|             follow: Option<bool>, | |
|             favourite: Option<bool>, | |
|             reblog: Option<bool>, | |
|             mention: Option<bool>, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for UpdatePushRequest { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match *self { | |
|                     UpdatePushRequest { | |
|                     id: ref __self_0_0, | |
|                     follow: ref __self_0_1, | |
|                     favourite: ref __self_0_2, | |
|                     reblog: ref __self_0_3, | |
|                     mention: ref __self_0_4 } => { | |
|                         let mut debug_trait_builder = | |
|                             f.debug_struct("UpdatePushRequest"); | |
|                         let _ = | |
|                             debug_trait_builder.field("id", &&(*__self_0_0)); | |
|                         let _ = | |
|                             debug_trait_builder.field("follow", | |
|                                                       &&(*__self_0_1)); | |
|                         let _ = | |
|                             debug_trait_builder.field("favourite", | |
|                                                       &&(*__self_0_2)); | |
|                         let _ = | |
|                             debug_trait_builder.field("reblog", | |
|                                                       &&(*__self_0_3)); | |
|                         let _ = | |
|                             debug_trait_builder.field("mention", | |
|                                                       &&(*__self_0_4)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::default::Default for UpdatePushRequest { | |
|             #[inline] | |
|             fn default() -> UpdatePushRequest { | |
|                 UpdatePushRequest{id: ::core::default::Default::default(), | |
|                                   follow: ::core::default::Default::default(), | |
|                                   favourite: | |
|                                       ::core::default::Default::default(), | |
|                                   reblog: ::core::default::Default::default(), | |
|                                   mention: | |
|                                       ::core::default::Default::default(),} | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for UpdatePushRequest { | |
|             #[inline] | |
|             fn clone(&self) -> UpdatePushRequest { | |
|                 match *self { | |
|                     UpdatePushRequest { | |
|                     id: ref __self_0_0, | |
|                     follow: ref __self_0_1, | |
|                     favourite: ref __self_0_2, | |
|                     reblog: ref __self_0_3, | |
|                     mention: ref __self_0_4 } => | |
|                     UpdatePushRequest{id: | |
|                                           ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                                       follow: | |
|                                           ::core::clone::Clone::clone(&(*__self_0_1)), | |
|                                       favourite: | |
|                                           ::core::clone::Clone::clone(&(*__self_0_2)), | |
|                                       reblog: | |
|                                           ::core::clone::Clone::clone(&(*__self_0_3)), | |
|                                       mention: | |
|                                           ::core::clone::Clone::clone(&(*__self_0_4)),}, | |
|                 } | |
|             } | |
|         } | |
|         impl ::core::marker::StructuralPartialEq for UpdatePushRequest { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for UpdatePushRequest { | |
|             #[inline] | |
|             fn eq(&self, other: &UpdatePushRequest) -> bool { | |
|                 match *other { | |
|                     UpdatePushRequest { | |
|                     id: ref __self_1_0, | |
|                     follow: ref __self_1_1, | |
|                     favourite: ref __self_1_2, | |
|                     reblog: ref __self_1_3, | |
|                     mention: ref __self_1_4 } => | |
|                     match *self { | |
|                         UpdatePushRequest { | |
|                         id: ref __self_0_0, | |
|                         follow: ref __self_0_1, | |
|                         favourite: ref __self_0_2, | |
|                         reblog: ref __self_0_3, | |
|                         mention: ref __self_0_4 } => | |
|                         (*__self_0_0) == (*__self_1_0) && | |
|                             (*__self_0_1) == (*__self_1_1) && | |
|                             (*__self_0_2) == (*__self_1_2) && | |
|                             (*__self_0_3) == (*__self_1_3) && | |
|                             (*__self_0_4) == (*__self_1_4), | |
|                     }, | |
|                 } | |
|             } | |
|             #[inline] | |
|             fn ne(&self, other: &UpdatePushRequest) -> bool { | |
|                 match *other { | |
|                     UpdatePushRequest { | |
|                     id: ref __self_1_0, | |
|                     follow: ref __self_1_1, | |
|                     favourite: ref __self_1_2, | |
|                     reblog: ref __self_1_3, | |
|                     mention: ref __self_1_4 } => | |
|                     match *self { | |
|                         UpdatePushRequest { | |
|                         id: ref __self_0_0, | |
|                         follow: ref __self_0_1, | |
|                         favourite: ref __self_0_2, | |
|                         reblog: ref __self_0_3, | |
|                         mention: ref __self_0_4 } => | |
|                         (*__self_0_0) != (*__self_1_0) || | |
|                             (*__self_0_1) != (*__self_1_1) || | |
|                             (*__self_0_2) != (*__self_1_2) || | |
|                             (*__self_0_3) != (*__self_1_3) || | |
|                             (*__self_0_4) != (*__self_1_4), | |
|                     }, | |
|                 } | |
|             } | |
|         } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_SERIALIZE_FOR_UpdatePushRequest: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl _serde::Serialize for UpdatePushRequest { | |
|                     fn serialize<__S>(&self, __serializer: __S) | |
|                      -> _serde::export::Result<__S::Ok, __S::Error> where | |
|                      __S: _serde::Serializer { | |
|                         let mut __serde_state = | |
|                             match _serde::Serializer::serialize_struct(__serializer, | |
|                                                                        "UpdatePushRequest", | |
|                                                                        false | |
|                                                                            as | |
|                                                                            usize | |
|                                                                            + 1 | |
|                                                                            + 1 | |
|                                                                            + 1 | |
|                                                                            + 1 | |
|                                                                            + | |
|                                                                            1) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "id", | |
|                                                                             &self.id) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "follow", | |
|                                                                             &self.follow) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "favourite", | |
|                                                                             &self.favourite) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "reblog", | |
|                                                                             &self.reblog) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "mention", | |
|                                                                             &self.mention) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                         _serde::ser::SerializeStruct::end(__serde_state) | |
|                     } | |
|                 } | |
|             }; | |
|         impl UpdatePushRequest { | |
|             /// Construct a new UpdatePushRequest | |
|             /// | |
|             /// # Example | |
|             /// | |
|             /// ``` | |
|             /// # extern crate elefren; | |
|             /// use elefren::requests::UpdatePushRequest; | |
|             /// let request = UpdatePushRequest::new("some-id"); | |
|             /// ``` | |
|             pub fn new(id: &str) -> UpdatePushRequest { | |
|                 UpdatePushRequest{id: id.to_string(), ..Default::default()} | |
|             } | |
|             /// A flag that indicates if you want follow notifications pushed | |
|             /// | |
|             /// # Example | |
|             /// ``` | |
|             /// # extern crate elefren; | |
|             /// use elefren::requests::UpdatePushRequest; | |
|             /// let mut request = UpdatePushRequest::new("foobar"); | |
|             /// request.follow(true); | |
|             /// ``` | |
|             pub fn follow(&mut self, follow: bool) -> &mut Self { | |
|                 self.follow = Some(follow); | |
|                 self | |
|             } | |
|             /// A flag that indicates if you want favourite notifications pushed | |
|             /// | |
|             /// # Example | |
|             /// ``` | |
|             /// # extern crate elefren; | |
|             /// use elefren::requests::UpdatePushRequest; | |
|             /// let mut request = UpdatePushRequest::new("foobar"); | |
|             /// request.favourite(true); | |
|             /// ``` | |
|             pub fn favourite(&mut self, favourite: bool) -> &mut Self { | |
|                 self.favourite = Some(favourite); | |
|                 self | |
|             } | |
|             /// A flag that indicates if you want reblog notifications pushed | |
|             /// | |
|             /// # Example | |
|             /// ``` | |
|             /// # extern crate elefren; | |
|             /// use elefren::requests::UpdatePushRequest; | |
|             /// let mut request = UpdatePushRequest::new("foobar"); | |
|             /// request.reblog(true); | |
|             /// ``` | |
|             pub fn reblog(&mut self, reblog: bool) -> &mut Self { | |
|                 self.reblog = Some(reblog); | |
|                 self | |
|             } | |
|             /// A flag that indicates if you want mention notifications pushed | |
|             /// | |
|             /// # Example | |
|             /// ``` | |
|             /// # extern crate elefren; | |
|             /// use elefren::requests::UpdatePushRequest; | |
|             /// let mut request = UpdatePushRequest::new("foobar"); | |
|             /// request.mention(true); | |
|             /// ``` | |
|             pub fn mention(&mut self, mention: bool) -> &mut Self { | |
|                 self.mention = Some(mention); | |
|                 self | |
|             } | |
|             fn flags_present(&self) -> bool { | |
|                 self.follow.is_some() || self.favourite.is_some() || | |
|                     self.reblog.is_some() || self.mention.is_some() | |
|             } | |
|             pub(crate) fn build(&self) -> update_data::Form { | |
|                 use crate::entities::push::{update_data::{Data, Form}, | |
|                                             Alerts}; | |
|                 let mut form = | |
|                     Form{id: self.id.clone(), ..Default::default()}; | |
|                 if self.flags_present() { | |
|                     let mut alerts = Alerts::default(); | |
|                     if let Some(follow) = self.follow { | |
|                         alerts.follow = Some(follow); | |
|                     } | |
|                     if let Some(favourite) = self.favourite { | |
|                         alerts.favourite = Some(favourite); | |
|                     } | |
|                     if let Some(reblog) = self.reblog { | |
|                         alerts.reblog = Some(reblog); | |
|                     } | |
|                     if let Some(mention) = self.mention { | |
|                         alerts.mention = Some(mention); | |
|                     } | |
|                     form.data = Data{alerts: Some(alerts),}; | |
|                 } | |
|                 form | |
|             } | |
|         } | |
|     } | |
|     mod statuses { | |
|         use crate::errors::Error; | |
|         use serde_qs; | |
|         use std::{borrow::Cow, convert::Into}; | |
|         mod bool_qs_serialize { | |
|             use serde::Serializer; | |
|             pub fn is_false(b: &bool) -> bool { !*b } | |
|             pub fn serialize<S: Serializer>(b: &bool, s: S) | |
|              -> Result<S::Ok, S::Error> { | |
|                 if *b { s.serialize_i64(1) } else { s.serialize_i64(0) } | |
|             } | |
|         } | |
|         /// Builder for making a client.statuses() call | |
|         /// | |
|         /// # Example | |
|         /// | |
|         /// ``` | |
|         /// # extern crate elefren; | |
|         /// # use elefren::StatusesRequest; | |
|         /// let mut request = StatusesRequest::new(); | |
|         /// request.only_media().pinned().since_id("foo"); | |
|         /// # assert_eq!(&request.to_querystring().expect("Couldn't serialize qs")[..], "?only_media=1&pinned=1&since_id=foo"); | |
|         /// ``` | |
|         pub struct StatusesRequest<'a> { | |
|             #[serde(skip_serializing_if = "bool_qs_serialize::is_false")] | |
|             #[serde(serialize_with = "bool_qs_serialize::serialize")] | |
|             only_media: bool, | |
|             #[serde(skip_serializing_if = "bool_qs_serialize::is_false")] | |
|             #[serde(serialize_with = "bool_qs_serialize::serialize")] | |
|             exclude_replies: bool, | |
|             #[serde(skip_serializing_if = "bool_qs_serialize::is_false")] | |
|             #[serde(serialize_with = "bool_qs_serialize::serialize")] | |
|             pinned: bool, | |
|             #[serde(skip_serializing_if = "Option::is_none")] | |
|             max_id: Option<Cow<'a, str>>, | |
|             #[serde(skip_serializing_if = "Option::is_none")] | |
|             since_id: Option<Cow<'a, str>>, | |
|             #[serde(skip_serializing_if = "Option::is_none")] | |
|             limit: Option<usize>, | |
|             #[serde(skip_serializing_if = "Option::is_none")] | |
|             min_id: Option<Cow<'a, str>>, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl <'a> ::core::clone::Clone for StatusesRequest<'a> { | |
|             #[inline] | |
|             fn clone(&self) -> StatusesRequest<'a> { | |
|                 match *self { | |
|                     StatusesRequest { | |
|                     only_media: ref __self_0_0, | |
|                     exclude_replies: ref __self_0_1, | |
|                     pinned: ref __self_0_2, | |
|                     max_id: ref __self_0_3, | |
|                     since_id: ref __self_0_4, | |
|                     limit: ref __self_0_5, | |
|                     min_id: ref __self_0_6 } => | |
|                     StatusesRequest{only_media: | |
|                                         ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                                     exclude_replies: | |
|                                         ::core::clone::Clone::clone(&(*__self_0_1)), | |
|                                     pinned: | |
|                                         ::core::clone::Clone::clone(&(*__self_0_2)), | |
|                                     max_id: | |
|                                         ::core::clone::Clone::clone(&(*__self_0_3)), | |
|                                     since_id: | |
|                                         ::core::clone::Clone::clone(&(*__self_0_4)), | |
|                                     limit: | |
|                                         ::core::clone::Clone::clone(&(*__self_0_5)), | |
|                                     min_id: | |
|                                         ::core::clone::Clone::clone(&(*__self_0_6)),}, | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl <'a> ::core::fmt::Debug for StatusesRequest<'a> { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match *self { | |
|                     StatusesRequest { | |
|                     only_media: ref __self_0_0, | |
|                     exclude_replies: ref __self_0_1, | |
|                     pinned: ref __self_0_2, | |
|                     max_id: ref __self_0_3, | |
|                     since_id: ref __self_0_4, | |
|                     limit: ref __self_0_5, | |
|                     min_id: ref __self_0_6 } => { | |
|                         let mut debug_trait_builder = | |
|                             f.debug_struct("StatusesRequest"); | |
|                         let _ = | |
|                             debug_trait_builder.field("only_media", | |
|                                                       &&(*__self_0_0)); | |
|                         let _ = | |
|                             debug_trait_builder.field("exclude_replies", | |
|                                                       &&(*__self_0_1)); | |
|                         let _ = | |
|                             debug_trait_builder.field("pinned", | |
|                                                       &&(*__self_0_2)); | |
|                         let _ = | |
|                             debug_trait_builder.field("max_id", | |
|                                                       &&(*__self_0_3)); | |
|                         let _ = | |
|                             debug_trait_builder.field("since_id", | |
|                                                       &&(*__self_0_4)); | |
|                         let _ = | |
|                             debug_trait_builder.field("limit", | |
|                                                       &&(*__self_0_5)); | |
|                         let _ = | |
|                             debug_trait_builder.field("min_id", | |
|                                                       &&(*__self_0_6)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl <'a> ::core::default::Default for StatusesRequest<'a> { | |
|             #[inline] | |
|             fn default() -> StatusesRequest<'a> { | |
|                 StatusesRequest{only_media: | |
|                                     ::core::default::Default::default(), | |
|                                 exclude_replies: | |
|                                     ::core::default::Default::default(), | |
|                                 pinned: ::core::default::Default::default(), | |
|                                 max_id: ::core::default::Default::default(), | |
|                                 since_id: ::core::default::Default::default(), | |
|                                 limit: ::core::default::Default::default(), | |
|                                 min_id: ::core::default::Default::default(),} | |
|             } | |
|         } | |
|         impl <'a> ::core::marker::StructuralPartialEq for StatusesRequest<'a> | |
|          { | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl <'a> ::core::cmp::PartialEq for StatusesRequest<'a> { | |
|             #[inline] | |
|             fn eq(&self, other: &StatusesRequest<'a>) -> bool { | |
|                 match *other { | |
|                     StatusesRequest { | |
|                     only_media: ref __self_1_0, | |
|                     exclude_replies: ref __self_1_1, | |
|                     pinned: ref __self_1_2, | |
|                     max_id: ref __self_1_3, | |
|                     since_id: ref __self_1_4, | |
|                     limit: ref __self_1_5, | |
|                     min_id: ref __self_1_6 } => | |
|                     match *self { | |
|                         StatusesRequest { | |
|                         only_media: ref __self_0_0, | |
|                         exclude_replies: ref __self_0_1, | |
|                         pinned: ref __self_0_2, | |
|                         max_id: ref __self_0_3, | |
|                         since_id: ref __self_0_4, | |
|                         limit: ref __self_0_5, | |
|                         min_id: ref __self_0_6 } => | |
|                         (*__self_0_0) == (*__self_1_0) && | |
|                             (*__self_0_1) == (*__self_1_1) && | |
|                             (*__self_0_2) == (*__self_1_2) && | |
|                             (*__self_0_3) == (*__self_1_3) && | |
|                             (*__self_0_4) == (*__self_1_4) && | |
|                             (*__self_0_5) == (*__self_1_5) && | |
|                             (*__self_0_6) == (*__self_1_6), | |
|                     }, | |
|                 } | |
|             } | |
|             #[inline] | |
|             fn ne(&self, other: &StatusesRequest<'a>) -> bool { | |
|                 match *other { | |
|                     StatusesRequest { | |
|                     only_media: ref __self_1_0, | |
|                     exclude_replies: ref __self_1_1, | |
|                     pinned: ref __self_1_2, | |
|                     max_id: ref __self_1_3, | |
|                     since_id: ref __self_1_4, | |
|                     limit: ref __self_1_5, | |
|                     min_id: ref __self_1_6 } => | |
|                     match *self { | |
|                         StatusesRequest { | |
|                         only_media: ref __self_0_0, | |
|                         exclude_replies: ref __self_0_1, | |
|                         pinned: ref __self_0_2, | |
|                         max_id: ref __self_0_3, | |
|                         since_id: ref __self_0_4, | |
|                         limit: ref __self_0_5, | |
|                         min_id: ref __self_0_6 } => | |
|                         (*__self_0_0) != (*__self_1_0) || | |
|                             (*__self_0_1) != (*__self_1_1) || | |
|                             (*__self_0_2) != (*__self_1_2) || | |
|                             (*__self_0_3) != (*__self_1_3) || | |
|                             (*__self_0_4) != (*__self_1_4) || | |
|                             (*__self_0_5) != (*__self_1_5) || | |
|                             (*__self_0_6) != (*__self_1_6), | |
|                     }, | |
|                 } | |
|             } | |
|         } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_SERIALIZE_FOR_StatusesRequest: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl <'a> _serde::Serialize for StatusesRequest<'a> { | |
|                     fn serialize<__S>(&self, __serializer: __S) | |
|                      -> _serde::export::Result<__S::Ok, __S::Error> where | |
|                      __S: _serde::Serializer { | |
|                         let mut __serde_state = | |
|                             match _serde::Serializer::serialize_struct(__serializer, | |
|                                                                        "StatusesRequest", | |
|                                                                        false | |
|                                                                            as | |
|                                                                            usize | |
|                                                                            + | |
|                                                                            if bool_qs_serialize::is_false(&self.only_media) | |
|                                                                               { | |
|                                                                                0 | |
|                                                                            } else { | |
|                                                                                1 | |
|                                                                            } + | |
|                                                                            if bool_qs_serialize::is_false(&self.exclude_replies) | |
|                                                                               { | |
|                                                                                0 | |
|                                                                            } else { | |
|                                                                                1 | |
|                                                                            } + | |
|                                                                            if bool_qs_serialize::is_false(&self.pinned) | |
|                                                                               { | |
|                                                                                0 | |
|                                                                            } else { | |
|                                                                                1 | |
|                                                                            } + | |
|                                                                            if Option::is_none(&self.max_id) | |
|                                                                               { | |
|                                                                                0 | |
|                                                                            } else { | |
|                                                                                1 | |
|                                                                            } + | |
|                                                                            if Option::is_none(&self.since_id) | |
|                                                                               { | |
|                                                                                0 | |
|                                                                            } else { | |
|                                                                                1 | |
|                                                                            } + | |
|                                                                            if Option::is_none(&self.limit) | |
|                                                                               { | |
|                                                                                0 | |
|                                                                            } else { | |
|                                                                                1 | |
|                                                                            } + | |
|                                                                            if Option::is_none(&self.min_id) | |
|                                                                               { | |
|                                                                                0 | |
|                                                                            } else { | |
|                                                                                1 | |
|                                                                            }) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         if !bool_qs_serialize::is_false(&self.only_media) { | |
|                             match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                                 "only_media", | |
|                                                                                 { | |
|                                                                                     struct __SerializeWith<'__a, | |
|                                                                                                            'a: '__a> { | |
|                                                                                         values: (&'__a bool,), | |
|                                                                                         phantom: _serde::export::PhantomData<StatusesRequest<'a>>, | |
|                                                                                     } | |
|                                                                                     impl <'__a, | |
|                                                                                           'a: '__a> | |
|                                                                                      _serde::Serialize | |
|                                                                                      for | |
|                                                                                      __SerializeWith<'__a, | |
|                                                                                                      'a> | |
|                                                                                      { | |
|                                                                                         fn serialize<__S>(&self, | |
|                                                                                                           __s: | |
|                                                                                                               __S) | |
|                                                                                          -> | |
|                                                                                              _serde::export::Result<__S::Ok, | |
|                                                                                                                     __S::Error> | |
|                                                                                          where | |
|                                                                                          __S: _serde::Serializer { | |
|                                                                                             bool_qs_serialize::serialize(self.values.0, | |
|                                                                                                                          __s) | |
|                                                                                         } | |
|                                                                                     } | |
|                                                                                     &__SerializeWith{values: | |
|                                                                                                          (&self.only_media,), | |
|                                                                                                      phantom: | |
|                                                                                                          _serde::export::PhantomData::<StatusesRequest<'a>>,} | |
|                                                                                 }) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         } else { | |
|                             match _serde::ser::SerializeStruct::skip_field(&mut __serde_state, | |
|                                                                            "only_media") | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         } | |
|                         if !bool_qs_serialize::is_false(&self.exclude_replies) | |
|                            { | |
|                             match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                                 "exclude_replies", | |
|                                                                                 { | |
|                                                                                     struct __SerializeWith<'__a, | |
|                                                                                                            'a: '__a> { | |
|                                                                                         values: (&'__a bool,), | |
|                                                                                         phantom: _serde::export::PhantomData<StatusesRequest<'a>>, | |
|                                                                                     } | |
|                                                                                     impl <'__a, | |
|                                                                                           'a: '__a> | |
|                                                                                      _serde::Serialize | |
|                                                                                      for | |
|                                                                                      __SerializeWith<'__a, | |
|                                                                                                      'a> | |
|                                                                                      { | |
|                                                                                         fn serialize<__S>(&self, | |
|                                                                                                           __s: | |
|                                                                                                               __S) | |
|                                                                                          -> | |
|                                                                                              _serde::export::Result<__S::Ok, | |
|                                                                                                                     __S::Error> | |
|                                                                                          where | |
|                                                                                          __S: _serde::Serializer { | |
|                                                                                             bool_qs_serialize::serialize(self.values.0, | |
|                                                                                                                          __s) | |
|                                                                                         } | |
|                                                                                     } | |
|                                                                                     &__SerializeWith{values: | |
|                                                                                                          (&self.exclude_replies,), | |
|                                                                                                      phantom: | |
|                                                                                                          _serde::export::PhantomData::<StatusesRequest<'a>>,} | |
|                                                                                 }) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         } else { | |
|                             match _serde::ser::SerializeStruct::skip_field(&mut __serde_state, | |
|                                                                            "exclude_replies") | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         } | |
|                         if !bool_qs_serialize::is_false(&self.pinned) { | |
|                             match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                                 "pinned", | |
|                                                                                 { | |
|                                                                                     struct __SerializeWith<'__a, | |
|                                                                                                            'a: '__a> { | |
|                                                                                         values: (&'__a bool,), | |
|                                                                                         phantom: _serde::export::PhantomData<StatusesRequest<'a>>, | |
|                                                                                     } | |
|                                                                                     impl <'__a, | |
|                                                                                           'a: '__a> | |
|                                                                                      _serde::Serialize | |
|                                                                                      for | |
|                                                                                      __SerializeWith<'__a, | |
|                                                                                                      'a> | |
|                                                                                      { | |
|                                                                                         fn serialize<__S>(&self, | |
|                                                                                                           __s: | |
|                                                                                                               __S) | |
|                                                                                          -> | |
|                                                                                              _serde::export::Result<__S::Ok, | |
|                                                                                                                     __S::Error> | |
|                                                                                          where | |
|                                                                                          __S: _serde::Serializer { | |
|                                                                                             bool_qs_serialize::serialize(self.values.0, | |
|                                                                                                                          __s) | |
|                                                                                         } | |
|                                                                                     } | |
|                                                                                     &__SerializeWith{values: | |
|                                                                                                          (&self.pinned,), | |
|                                                                                                      phantom: | |
|                                                                                                          _serde::export::PhantomData::<StatusesRequest<'a>>,} | |
|                                                                                 }) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         } else { | |
|                             match _serde::ser::SerializeStruct::skip_field(&mut __serde_state, | |
|                                                                            "pinned") | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         } | |
|                         if !Option::is_none(&self.max_id) { | |
|                             match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                                 "max_id", | |
|                                                                                 &self.max_id) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         } else { | |
|                             match _serde::ser::SerializeStruct::skip_field(&mut __serde_state, | |
|                                                                            "max_id") | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         } | |
|                         if !Option::is_none(&self.since_id) { | |
|                             match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                                 "since_id", | |
|                                                                                 &self.since_id) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         } else { | |
|                             match _serde::ser::SerializeStruct::skip_field(&mut __serde_state, | |
|                                                                            "since_id") | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         } | |
|                         if !Option::is_none(&self.limit) { | |
|                             match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                                 "limit", | |
|                                                                                 &self.limit) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         } else { | |
|                             match _serde::ser::SerializeStruct::skip_field(&mut __serde_state, | |
|                                                                            "limit") | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         } | |
|                         if !Option::is_none(&self.min_id) { | |
|                             match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                                 "min_id", | |
|                                                                                 &self.min_id) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         } else { | |
|                             match _serde::ser::SerializeStruct::skip_field(&mut __serde_state, | |
|                                                                            "min_id") | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         } | |
|                         _serde::ser::SerializeStruct::end(__serde_state) | |
|                     } | |
|                 } | |
|             }; | |
|         impl <'a> Into<Option<StatusesRequest<'a>>> for | |
|          &'a mut StatusesRequest<'a> { | |
|             fn into(self) -> Option<StatusesRequest<'a>> { | |
|                 Some(StatusesRequest{only_media: self.only_media, | |
|                                      exclude_replies: self.exclude_replies, | |
|                                      pinned: self.pinned, | |
|                                      max_id: self.max_id.clone(), | |
|                                      since_id: self.since_id.clone(), | |
|                                      limit: self.limit.clone(), | |
|                                      min_id: self.min_id.clone(),}) | |
|             } | |
|         } | |
|         impl <'a> StatusesRequest<'a> { | |
|             /// Construct a new `StatusesRequest` object | |
|             /// | |
|             /// # Example | |
|             /// | |
|             /// ``` | |
|             /// # extern crate elefren; | |
|             /// # use elefren::StatusesRequest; | |
|             /// let request = StatusesRequest::new(); | |
|             /// ``` | |
|             pub fn new() -> Self { Self::default() } | |
|             /// Set the `?only_media=1` flag for the .statuses() request | |
|             /// | |
|             /// # Example | |
|             /// | |
|             /// ``` | |
|             /// # extern crate elefren; | |
|             /// # use elefren::StatusesRequest; | |
|             /// let mut request = StatusesRequest::new(); | |
|             /// assert_eq!(&request.only_media().to_querystring().expect("Couldn't serialize qs"), "?only_media=1"); | |
|             pub fn only_media(&mut self) -> &mut Self { | |
|                 self.only_media = true; | |
|                 self | |
|             } | |
|             /// Set the `?exclude_replies=1` flag for the .statuses() request | |
|             /// | |
|             /// # Example | |
|             /// | |
|             /// ``` | |
|             /// # extern crate elefren; | |
|             /// # use elefren::StatusesRequest; | |
|             /// let mut request = StatusesRequest::new(); | |
|             /// assert_eq!( | |
|             ///     &request | |
|             ///         .exclude_replies() | |
|             ///         .to_querystring() | |
|             ///         .expect("Couldn't serialize qs"), | |
|             ///     "?exclude_replies=1" | |
|             /// ); | |
|             /// ``` | |
|             pub fn exclude_replies(&mut self) -> &mut Self { | |
|                 self.exclude_replies = true; | |
|                 self | |
|             } | |
|             /// Set the `?pinned=1` flag for the .statuses() request | |
|             /// | |
|             /// # Example | |
|             /// | |
|             /// ``` | |
|             /// # extern crate elefren; | |
|             /// # use elefren::StatusesRequest; | |
|             /// let mut request = StatusesRequest::new(); | |
|             /// assert_eq!( | |
|             ///     &request | |
|             ///         .pinned() | |
|             ///         .to_querystring() | |
|             ///         .expect("Couldn't serialize qs"), | |
|             ///     "?pinned=1" | |
|             /// ); | |
|             /// ``` | |
|             pub fn pinned(&mut self) -> &mut Self { self.pinned = true; self } | |
|             /// Set the `?max_id=:max_id` flag for the .statuses() request | |
|             /// | |
|             /// # Example | |
|             /// | |
|             /// ``` | |
|             /// # extern crate elefren; | |
|             /// # use elefren::StatusesRequest; | |
|             /// let mut request = StatusesRequest::new(); | |
|             /// assert_eq!( | |
|             ///     &request | |
|             ///         .max_id("foo") | |
|             ///         .to_querystring() | |
|             ///         .expect("Couldn't serialize qs"), | |
|             ///     "?max_id=foo" | |
|             /// ); | |
|             /// ``` | |
|             pub fn max_id<S: Into<Cow<'a, str>>>(&mut self, max_id: S) | |
|              -> &mut Self { | |
|                 self.max_id = Some(max_id.into()); | |
|                 self | |
|             } | |
|             /// Set the `?since_id=:since_id` flag for the .statuses() request | |
|             /// | |
|             /// # Example | |
|             /// | |
|             /// ``` | |
|             /// # extern crate elefren; | |
|             /// # use elefren::StatusesRequest; | |
|             /// let mut request = StatusesRequest::new(); | |
|             /// assert_eq!( | |
|             ///     &request | |
|             ///         .since_id("foo") | |
|             ///         .to_querystring() | |
|             ///         .expect("Couldn't serialize qs"), | |
|             ///     "?since_id=foo" | |
|             /// ); | |
|             /// ``` | |
|             pub fn since_id<S: Into<Cow<'a, str>>>(&mut self, since_id: S) | |
|              -> &mut Self { | |
|                 self.since_id = Some(since_id.into()); | |
|                 self | |
|             } | |
|             /// Set the `?limit=:limit` flag for the .statuses() request | |
|             /// | |
|             /// # Example | |
|             /// | |
|             /// ``` | |
|             /// # extern crate elefren; | |
|             /// # use elefren::StatusesRequest; | |
|             /// let mut request = StatusesRequest::new(); | |
|             /// assert_eq!( | |
|             ///     &request | |
|             ///         .limit(10) | |
|             ///         .to_querystring() | |
|             ///         .expect("Couldn't serialize qs"), | |
|             ///     "?limit=10" | |
|             /// ); | |
|             /// ``` | |
|             pub fn limit(&mut self, limit: usize) -> &mut Self { | |
|                 self.limit = Some(limit); | |
|                 self | |
|             } | |
|             /// Set the `?min_id=:min_id` flag for the .statuses() request | |
|             /// | |
|             /// # Example | |
|             /// | |
|             /// ``` | |
|             /// # extern crate elefren; | |
|             /// # use elefren::StatusesRequest; | |
|             /// let mut request = StatusesRequest::new(); | |
|             /// assert_eq!( | |
|             ///     &request | |
|             ///         .min_id("foobar") | |
|             ///         .to_querystring() | |
|             ///         .expect("Couldn't serialize qs"), | |
|             ///     "?min_id=foobar" | |
|             /// ); | |
|             /// ``` | |
|             pub fn min_id<S: Into<Cow<'a, str>>>(&mut self, min_id: S) | |
|              -> &mut Self { | |
|                 self.min_id = Some(min_id.into()); | |
|                 self | |
|             } | |
|             /// Turns this builder into a querystring | |
|             /// | |
|             /// # Example | |
|             /// | |
|             /// ``` | |
|             /// # extern crate elefren; | |
|             /// # use elefren::StatusesRequest; | |
|             /// let mut request = StatusesRequest::new(); | |
|             /// assert_eq!( | |
|             ///     &request | |
|             ///         .limit(10) | |
|             ///         .pinned() | |
|             ///         .to_querystring() | |
|             ///         .expect("Couldn't serialize qs"), | |
|             ///     "?pinned=1&limit=10" | |
|             /// ); | |
|             /// ``` | |
|             pub fn to_querystring(&self) -> Result<String, Error> { | |
|                 Ok({ | |
|                        let res = | |
|                            ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["?"], | |
|                                                                                &match (&serde_qs::to_string(&self)?,) | |
|                                                                                     { | |
|                                                                                     (arg0,) | |
|                                                                                     => | |
|                                                                                     [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                   ::core::fmt::Display::fmt)], | |
|                                                                                 })); | |
|                        res | |
|                    }) | |
|             } | |
|         } | |
|     } | |
|     mod update_credentials { | |
|         use std::{fmt::Display, path::{Path, PathBuf}}; | |
|         use crate::entities::account::{Credentials, MetadataField, | |
|                                        UpdateSource}; | |
|         use crate::errors::Result; | |
|         use crate::status_builder; | |
|         /// Builder to pass to the Mastodon::update_credentials method | |
|         /// | |
|         /// # Example | |
|         /// | |
|         /// ```no_run | |
|         /// # extern crate elefren; | |
|         /// # use elefren::Data; | |
|         /// # fn main() -> Result<(), elefren::Error> { | |
|         /// # let data = Data { | |
|         /// #   base: "".into(), | |
|         /// #   client_id: "".into(), | |
|         /// #   client_secret: "".into(), | |
|         /// #   redirect: "".into(), | |
|         /// #   token: "".into(), | |
|         /// # }; | |
|         /// use elefren::{prelude::*, status_builder::Visibility, UpdateCredsRequest}; | |
|         /// | |
|         /// let client = Mastodon::from(data); | |
|         /// let mut builder = UpdateCredsRequest::new(); | |
|         /// | |
|         /// builder.privacy(Visibility::Unlisted); | |
|         /// | |
|         /// let result = client.update_credentials(&mut builder)?; | |
|         /// #   Ok(()) | |
|         /// # } | |
|         /// ``` | |
|         pub struct UpdateCredsRequest { | |
|             display_name: Option<String>, | |
|             note: Option<String>, | |
|             avatar: Option<PathBuf>, | |
|             header: Option<PathBuf>, | |
|             field_attributes: Vec<MetadataField>, | |
|             privacy: Option<status_builder::Visibility>, | |
|             sensitive: Option<bool>, | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::fmt::Debug for UpdateCredsRequest { | |
|             fn fmt(&self, f: &mut ::core::fmt::Formatter) | |
|              -> ::core::fmt::Result { | |
|                 match *self { | |
|                     UpdateCredsRequest { | |
|                     display_name: ref __self_0_0, | |
|                     note: ref __self_0_1, | |
|                     avatar: ref __self_0_2, | |
|                     header: ref __self_0_3, | |
|                     field_attributes: ref __self_0_4, | |
|                     privacy: ref __self_0_5, | |
|                     sensitive: ref __self_0_6 } => { | |
|                         let mut debug_trait_builder = | |
|                             f.debug_struct("UpdateCredsRequest"); | |
|                         let _ = | |
|                             debug_trait_builder.field("display_name", | |
|                                                       &&(*__self_0_0)); | |
|                         let _ = | |
|                             debug_trait_builder.field("note", | |
|                                                       &&(*__self_0_1)); | |
|                         let _ = | |
|                             debug_trait_builder.field("avatar", | |
|                                                       &&(*__self_0_2)); | |
|                         let _ = | |
|                             debug_trait_builder.field("header", | |
|                                                       &&(*__self_0_3)); | |
|                         let _ = | |
|                             debug_trait_builder.field("field_attributes", | |
|                                                       &&(*__self_0_4)); | |
|                         let _ = | |
|                             debug_trait_builder.field("privacy", | |
|                                                       &&(*__self_0_5)); | |
|                         let _ = | |
|                             debug_trait_builder.field("sensitive", | |
|                                                       &&(*__self_0_6)); | |
|                         debug_trait_builder.finish() | |
|                     } | |
|                 } | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::default::Default for UpdateCredsRequest { | |
|             #[inline] | |
|             fn default() -> UpdateCredsRequest { | |
|                 UpdateCredsRequest{display_name: | |
|                                        ::core::default::Default::default(), | |
|                                    note: ::core::default::Default::default(), | |
|                                    avatar: | |
|                                        ::core::default::Default::default(), | |
|                                    header: | |
|                                        ::core::default::Default::default(), | |
|                                    field_attributes: | |
|                                        ::core::default::Default::default(), | |
|                                    privacy: | |
|                                        ::core::default::Default::default(), | |
|                                    sensitive: | |
|                                        ::core::default::Default::default(),} | |
|             } | |
|         } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::clone::Clone for UpdateCredsRequest { | |
|             #[inline] | |
|             fn clone(&self) -> UpdateCredsRequest { | |
|                 match *self { | |
|                     UpdateCredsRequest { | |
|                     display_name: ref __self_0_0, | |
|                     note: ref __self_0_1, | |
|                     avatar: ref __self_0_2, | |
|                     header: ref __self_0_3, | |
|                     field_attributes: ref __self_0_4, | |
|                     privacy: ref __self_0_5, | |
|                     sensitive: ref __self_0_6 } => | |
|                     UpdateCredsRequest{display_name: | |
|                                            ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                                        note: | |
|                                            ::core::clone::Clone::clone(&(*__self_0_1)), | |
|                                        avatar: | |
|                                            ::core::clone::Clone::clone(&(*__self_0_2)), | |
|                                        header: | |
|                                            ::core::clone::Clone::clone(&(*__self_0_3)), | |
|                                        field_attributes: | |
|                                            ::core::clone::Clone::clone(&(*__self_0_4)), | |
|                                        privacy: | |
|                                            ::core::clone::Clone::clone(&(*__self_0_5)), | |
|                                        sensitive: | |
|                                            ::core::clone::Clone::clone(&(*__self_0_6)),}, | |
|                 } | |
|             } | |
|         } | |
|         impl ::core::marker::StructuralPartialEq for UpdateCredsRequest { } | |
|         #[automatically_derived] | |
|         #[allow(unused_qualifications)] | |
|         impl ::core::cmp::PartialEq for UpdateCredsRequest { | |
|             #[inline] | |
|             fn eq(&self, other: &UpdateCredsRequest) -> bool { | |
|                 match *other { | |
|                     UpdateCredsRequest { | |
|                     display_name: ref __self_1_0, | |
|                     note: ref __self_1_1, | |
|                     avatar: ref __self_1_2, | |
|                     header: ref __self_1_3, | |
|                     field_attributes: ref __self_1_4, | |
|                     privacy: ref __self_1_5, | |
|                     sensitive: ref __self_1_6 } => | |
|                     match *self { | |
|                         UpdateCredsRequest { | |
|                         display_name: ref __self_0_0, | |
|                         note: ref __self_0_1, | |
|                         avatar: ref __self_0_2, | |
|                         header: ref __self_0_3, | |
|                         field_attributes: ref __self_0_4, | |
|                         privacy: ref __self_0_5, | |
|                         sensitive: ref __self_0_6 } => | |
|                         (*__self_0_0) == (*__self_1_0) && | |
|                             (*__self_0_1) == (*__self_1_1) && | |
|                             (*__self_0_2) == (*__self_1_2) && | |
|                             (*__self_0_3) == (*__self_1_3) && | |
|                             (*__self_0_4) == (*__self_1_4) && | |
|                             (*__self_0_5) == (*__self_1_5) && | |
|                             (*__self_0_6) == (*__self_1_6), | |
|                     }, | |
|                 } | |
|             } | |
|             #[inline] | |
|             fn ne(&self, other: &UpdateCredsRequest) -> bool { | |
|                 match *other { | |
|                     UpdateCredsRequest { | |
|                     display_name: ref __self_1_0, | |
|                     note: ref __self_1_1, | |
|                     avatar: ref __self_1_2, | |
|                     header: ref __self_1_3, | |
|                     field_attributes: ref __self_1_4, | |
|                     privacy: ref __self_1_5, | |
|                     sensitive: ref __self_1_6 } => | |
|                     match *self { | |
|                         UpdateCredsRequest { | |
|                         display_name: ref __self_0_0, | |
|                         note: ref __self_0_1, | |
|                         avatar: ref __self_0_2, | |
|                         header: ref __self_0_3, | |
|                         field_attributes: ref __self_0_4, | |
|                         privacy: ref __self_0_5, | |
|                         sensitive: ref __self_0_6 } => | |
|                         (*__self_0_0) != (*__self_1_0) || | |
|                             (*__self_0_1) != (*__self_1_1) || | |
|                             (*__self_0_2) != (*__self_1_2) || | |
|                             (*__self_0_3) != (*__self_1_3) || | |
|                             (*__self_0_4) != (*__self_1_4) || | |
|                             (*__self_0_5) != (*__self_1_5) || | |
|                             (*__self_0_6) != (*__self_1_6), | |
|                     }, | |
|                 } | |
|             } | |
|         } | |
|         impl UpdateCredsRequest { | |
|             /// Create a new UpdateCredsRequest | |
|             /// | |
|             /// # Example | |
|             /// | |
|             /// ``` | |
|             /// # extern crate elefren; | |
|             /// use elefren::UpdateCredsRequest; | |
|             /// | |
|             /// let mut builder = UpdateCredsRequest::new(); | |
|             /// ``` | |
|             pub fn new() -> UpdateCredsRequest { Default::default() } | |
|             /// Set the new display_name value | |
|             /// | |
|             /// # Example | |
|             /// | |
|             /// ``` | |
|             /// # extern crate elefren; | |
|             /// use elefren::UpdateCredsRequest; | |
|             /// | |
|             /// let mut builder = UpdateCredsRequest::new(); | |
|             /// | |
|             /// builder.display_name("my new display name"); | |
|             /// ``` | |
|             pub fn display_name<D: Display>(&mut self, name: D) -> &mut Self { | |
|                 self.display_name = Some(name.to_string()); | |
|                 self | |
|             } | |
|             /// Set the new note value | |
|             /// | |
|             /// # Example | |
|             /// | |
|             /// ``` | |
|             /// # extern crate elefren; | |
|             /// use elefren::UpdateCredsRequest; | |
|             /// | |
|             /// let mut builder = UpdateCredsRequest::new(); | |
|             /// | |
|             /// builder.note("my new note"); | |
|             /// ``` | |
|             pub fn note<D: Display>(&mut self, note: D) -> &mut Self { | |
|                 self.note = Some(note.to_string()); | |
|                 self | |
|             } | |
|             /// Set the new avatar value | |
|             /// | |
|             /// # Example | |
|             /// | |
|             /// ``` | |
|             /// # extern crate elefren; | |
|             /// use elefren::UpdateCredsRequest; | |
|             /// | |
|             /// let mut builder = UpdateCredsRequest::new(); | |
|             /// | |
|             /// builder.avatar("/path/to/my/new/avatar"); | |
|             /// ``` | |
|             pub fn avatar<P: AsRef<Path>>(&mut self, path: P) -> &mut Self { | |
|                 let path = path.as_ref(); | |
|                 let path = path.to_path_buf(); | |
|                 self.avatar = Some(path); | |
|                 self | |
|             } | |
|             /// Set the new header value | |
|             /// | |
|             /// # Example | |
|             /// | |
|             /// ``` | |
|             /// # extern crate elefren; | |
|             /// use elefren::UpdateCredsRequest; | |
|             /// | |
|             /// let mut builder = UpdateCredsRequest::new(); | |
|             /// | |
|             /// builder.header("/path/to/my/new/header"); | |
|             /// ``` | |
|             pub fn header<P: AsRef<Path>>(&mut self, path: P) -> &mut Self { | |
|                 let path = path.as_ref(); | |
|                 let path = path.to_path_buf(); | |
|                 self.header = Some(path); | |
|                 self | |
|             } | |
|             /// Set the new privacy value | |
|             /// | |
|             /// # Example | |
|             /// | |
|             /// ``` | |
|             /// # extern crate elefren; | |
|             /// use elefren::{status_builder::Visibility, UpdateCredsRequest}; | |
|             /// | |
|             /// let mut builder = UpdateCredsRequest::new(); | |
|             /// | |
|             /// builder.privacy(Visibility::Public); | |
|             /// ``` | |
|             pub fn privacy(&mut self, privacy: status_builder::Visibility) | |
|              -> &mut Self { | |
|                 self.privacy = Some(privacy); | |
|                 self | |
|             } | |
|             /// Set the new sensitive value | |
|             /// | |
|             /// # Example | |
|             /// | |
|             /// ``` | |
|             /// # extern crate elefren; | |
|             /// use elefren::UpdateCredsRequest; | |
|             /// | |
|             /// let mut builder = UpdateCredsRequest::new(); | |
|             /// | |
|             /// builder.sensitive(true); | |
|             /// ``` | |
|             pub fn sensitive(&mut self, sensitive: bool) -> &mut Self { | |
|                 self.sensitive = Some(sensitive); | |
|                 self | |
|             } | |
|             /// Add a metadata field | |
|             /// | |
|             /// # Example | |
|             /// | |
|             /// ``` | |
|             /// # extern crate elefren; | |
|             /// use elefren::UpdateCredsRequest; | |
|             /// | |
|             /// let mut builder = UpdateCredsRequest::new(); | |
|             /// | |
|             /// builder.field_attribute("some key", "some value"); | |
|             /// ``` | |
|             pub fn field_attribute(&mut self, name: &str, value: &str) | |
|              -> &mut Self { | |
|                 self.field_attributes.push(MetadataField::new(name, value)); | |
|                 self | |
|             } | |
|             pub(crate) fn build(&mut self) -> Result<Credentials> { | |
|                 Ok(Credentials{display_name: self.display_name.clone(), | |
|                                note: self.note.clone(), | |
|                                avatar: self.avatar.clone(), | |
|                                header: self.avatar.clone(), | |
|                                source: | |
|                                    Some(UpdateSource{privacy: | |
|                                                          self.privacy.clone(), | |
|                                                      sensitive: | |
|                                                          self.sensitive.clone(),}), | |
|                                fields_attributes: | |
|                                    self.field_attributes.clone(),}) | |
|             } | |
|         } | |
|     } | |
| } | |
| /// OAuth Scopes | |
| pub mod scopes { | |
|     use std::{cmp::{Ordering, PartialEq, PartialOrd}, collections::HashSet, | |
|               fmt, ops::BitOr, str::FromStr}; | |
|     use serde::ser::{Serialize, Serializer}; | |
|     use crate::errors::Error; | |
|     use serde::{Deserialize, Deserializer}; | |
|     use serde::de::{self, Visitor}; | |
|     /// Represents a set of OAuth scopes | |
|     /// | |
|     /// # Example | |
|     /// | |
|     /// ```rust | |
|     /// use elefren::prelude::*; | |
|     /// | |
|     /// let read = Scopes::read_all(); | |
|     /// let write = Scopes::write_all(); | |
|     /// let follow = Scopes::follow(); | |
|     /// let all = read | write | follow; | |
|     /// ``` | |
|     pub struct Scopes { | |
|         scopes: HashSet<Scope>, | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::clone::Clone for Scopes { | |
|         #[inline] | |
|         fn clone(&self) -> Scopes { | |
|             match *self { | |
|                 Scopes { scopes: ref __self_0_0 } => | |
|                 Scopes{scopes: ::core::clone::Clone::clone(&(*__self_0_0)),}, | |
|             } | |
|         } | |
|     } | |
|     impl FromStr for Scopes { | |
|         type Err = Error; | |
|         fn from_str(s: &str) -> Result<Scopes, Self::Err> { | |
|             let mut set = HashSet::new(); | |
|             for scope in s.split_whitespace() { | |
|                 let scope = Scope::from_str(&scope)?; | |
|                 set.insert(scope); | |
|             } | |
|             Ok(Scopes{scopes: set,}) | |
|         } | |
|     } | |
|     impl Serialize for Scopes { | |
|         fn serialize<S>(&self, serializer: S) | |
|          -> ::std::result::Result<S::Ok, S::Error> where S: Serializer { | |
|             let repr = | |
|                 { | |
|                     let res = | |
|                         ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&[""], | |
|                                                                             &match (&self,) | |
|                                                                                  { | |
|                                                                                  (arg0,) | |
|                                                                                  => | |
|                                                                                  [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                ::core::fmt::Display::fmt)], | |
|                                                                              })); | |
|                     res | |
|                 }; | |
|             serializer.serialize_str(&repr) | |
|         } | |
|     } | |
|     struct DeserializeScopesVisitor; | |
|     impl <'de> Visitor<'de> for DeserializeScopesVisitor { | |
|         type Value = Scopes; | |
|         fn expecting(&self, formatter: &mut fmt::Formatter) | |
|          -> Result<(), fmt::Error> { | |
|             formatter.write_fmt(::core::fmt::Arguments::new_v1(&["space separated scopes"], | |
|                                                                &match () { | |
|                                                                     () => [], | |
|                                                                 })) | |
|         } | |
|         fn visit_str<E>(self, v: &str) -> Result<Self::Value, E> where | |
|          E: de::Error { | |
|             Scopes::from_str(v).map_err(de::Error::custom) | |
|         } | |
|     } | |
|     impl <'de> Deserialize<'de> for Scopes { | |
|         fn deserialize<D>(deserializer: D) | |
|          -> Result<Self, <D as Deserializer<'de>>::Error> where | |
|          D: Deserializer<'de> { | |
|             deserializer.deserialize_str(DeserializeScopesVisitor) | |
|         } | |
|     } | |
|     impl Scopes { | |
|         /// Represents all available oauth scopes: "read write follow push" | |
|         /// | |
|         /// ``` | |
|         /// # extern crate elefren; | |
|         /// # use std::error::Error; | |
|         /// use elefren::scopes::Scopes; | |
|         /// | |
|         /// # fn main() -> Result<(), Box<Error>> { | |
|         /// let scope = Scopes::all(); | |
|         /// assert_eq!(&format!("{}", scope), "read write follow push"); | |
|         /// #   Ok(()) | |
|         /// # } | |
|         /// ``` | |
|         pub fn all() -> Scopes { | |
|             Scopes::read_all() | Scopes::write_all() | Scopes::follow() | | |
|                 Scopes::push() | |
|         } | |
|         /// Represents the full "read" scope | |
|         /// | |
|         /// ``` | |
|         /// # extern crate elefren; | |
|         /// # use std::error::Error; | |
|         /// use elefren::scopes::Scopes; | |
|         /// | |
|         /// # fn main() -> Result<(), Box<Error>> { | |
|         /// let scope = Scopes::read_all(); | |
|         /// assert_eq!(&format!("{}", scope), "read"); | |
|         /// #   Ok(()) | |
|         /// # } | |
|         /// ``` | |
|         pub fn read_all() -> Scopes { Scopes::_read(None) } | |
|         /// Represents a specific "read:___" scope | |
|         /// | |
|         /// ``` | |
|         /// # extern crate elefren; | |
|         /// # use std::error::Error; | |
|         /// use elefren::scopes::{Read, Scopes}; | |
|         /// | |
|         /// # fn main() -> Result<(), Box<Error>> { | |
|         /// let scope = Scopes::read(Read::Accounts); | |
|         /// assert_eq!(&format!("{}", scope), "read:accounts"); | |
|         /// #   Ok(()) | |
|         /// # } | |
|         /// ``` | |
|         pub fn read(subscope: Read) -> Scopes { | |
|             Scopes::_read(Some(subscope)) | |
|         } | |
|         /// Represents the full "write" scope | |
|         /// | |
|         /// ``` | |
|         /// # extern crate elefren; | |
|         /// # use std::error::Error; | |
|         /// use elefren::scopes::Scopes; | |
|         /// | |
|         /// # fn main() -> Result<(), Box<Error>> { | |
|         /// let scope = Scopes::write_all(); | |
|         /// assert_eq!(&format!("{}", scope), "write"); | |
|         /// #   Ok(()) | |
|         /// # } | |
|         /// ``` | |
|         pub fn write_all() -> Scopes { Scopes::_write(None) } | |
|         /// Represents a specific "write:___" scope | |
|         /// | |
|         /// ``` | |
|         /// # extern crate elefren; | |
|         /// # use std::error::Error; | |
|         /// use elefren::scopes::{Scopes, Write}; | |
|         /// | |
|         /// # fn main() -> Result<(), Box<Error>> { | |
|         /// let scope = Scopes::write(Write::Accounts); | |
|         /// assert_eq!(&format!("{}", scope), "write:accounts"); | |
|         /// #   Ok(()) | |
|         /// # } | |
|         /// ``` | |
|         pub fn write(subscope: Write) -> Scopes { | |
|             Scopes::_write(Some(subscope)) | |
|         } | |
|         /// Represents the "follow" scope | |
|         /// | |
|         /// ``` | |
|         /// # extern crate elefren; | |
|         /// # use std::error::Error; | |
|         /// use elefren::scopes::Scopes; | |
|         /// | |
|         /// # fn main() -> Result<(), Box<Error>> { | |
|         /// let scope = Scopes::follow(); | |
|         /// assert_eq!(&format!("{}", scope), "follow"); | |
|         /// #   Ok(()) | |
|         /// # } | |
|         /// ``` | |
|         pub fn follow() -> Scopes { Scopes::new(Scope::Follow) } | |
|         /// Represents the full "push" scope | |
|         /// | |
|         /// ``` | |
|         /// # extern crate elefren; | |
|         /// # use std::error::Error; | |
|         /// use elefren::scopes::Scopes; | |
|         /// | |
|         /// # fn main() -> Result<(), Box<Error>> { | |
|         /// let scope = Scopes::push(); | |
|         /// assert_eq!(&format!("{}", scope), "push"); | |
|         /// #   Ok(()) | |
|         /// # } | |
|         /// ``` | |
|         pub fn push() -> Scopes { Scopes::new(Scope::Push) } | |
|         /// Combines 2 scopes together | |
|         /// | |
|         /// # Example | |
|         /// | |
|         /// ```rust | |
|         /// use elefren::prelude::*; | |
|         /// | |
|         /// let read = Scopes::read_all(); | |
|         /// let write = Scopes::write_all(); | |
|         /// let read_write = read.and(write); | |
|         /// ``` | |
|         pub fn and(self, other: Scopes) -> Scopes { | |
|             let newset: HashSet<_> = | |
|                 self.scopes.union(&other.scopes).into_iter().map(|s| | |
|                                                                      *s).collect(); | |
|             Scopes{scopes: newset,} | |
|         } | |
|         fn _write(subscope: Option<Write>) -> Scopes { | |
|             Scopes::new(Scope::Write(subscope)) | |
|         } | |
|         fn _read(subscope: Option<Read>) -> Scopes { | |
|             Scopes::new(Scope::Read(subscope)) | |
|         } | |
|         fn new(scope: Scope) -> Scopes { | |
|             let mut set = HashSet::new(); | |
|             set.insert(scope); | |
|             Scopes{scopes: set,} | |
|         } | |
|     } | |
|     impl BitOr for Scopes { | |
|         type Output = Scopes; | |
|         fn bitor(self, other: Scopes) -> Self::Output { self.and(other) } | |
|     } | |
|     impl PartialEq for Scopes { | |
|         fn eq(&self, other: &Scopes) -> bool { | |
|             self.scopes.symmetric_difference(&other.scopes).next().is_none() | |
|         } | |
|     } | |
|     impl Default for Scopes { | |
|         fn default() -> Scopes { Scopes::read_all() } | |
|     } | |
|     impl fmt::Debug for Scopes { | |
|         fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { | |
|             f.write_fmt(::core::fmt::Arguments::new_v1(&["["], | |
|                                                        &match () { | |
|                                                             () => [], | |
|                                                         }))?; | |
|             for scope in &self.scopes { | |
|                 f.write_fmt(::core::fmt::Arguments::new_v1(&[""], | |
|                                                            &match (&&scope,) { | |
|                                                                 (arg0,) => | |
|                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                               ::core::fmt::Debug::fmt)], | |
|                                                             }))?; | |
|             } | |
|             Ok(f.write_fmt(::core::fmt::Arguments::new_v1(&["]"], | |
|                                                           &match () { | |
|                                                                () => [], | |
|                                                            }))?) | |
|         } | |
|     } | |
|     impl fmt::Display for Scopes { | |
|         fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { | |
|             let mut start = true; | |
|             let scopes = | |
|                 { | |
|                     let mut scopes = self.scopes.iter().collect::<Vec<_>>(); | |
|                     scopes.sort(); | |
|                     scopes | |
|                 }; | |
|             for scope in &scopes { | |
|                 if !start { | |
|                     f.write_fmt(::core::fmt::Arguments::new_v1(&[" "], | |
|                                                                &match () { | |
|                                                                     () => [], | |
|                                                                 }))?; | |
|                 } else { start = false; } | |
|                 f.write_fmt(::core::fmt::Arguments::new_v1(&[""], | |
|                                                            &match (&&scope,) { | |
|                                                                 (arg0,) => | |
|                                                                 [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                               ::core::fmt::Display::fmt)], | |
|                                                             }))?; | |
|             } | |
|             Ok(()) | |
|         } | |
|     } | |
|     /// Permission scope of the application. | |
|     /// [Details on what each permission provides][1] | |
|     /// [1]: https://github.com/tootsuite/documentation/blob/master/Using-the-API/OAuth-details.md) | |
|     enum Scope { | |
| 
 | |
|         /// Read only permissions. | |
|         #[serde(rename = "read")] | |
|         Read(Option<Read>), | |
| 
 | |
|         /// Write only permissions. | |
|         #[serde(rename = "write")] | |
|         Write(Option<Write>), | |
| 
 | |
|         /// Only permission to add and remove followers. | |
|         #[serde(rename = "follow")] | |
|         Follow, | |
| 
 | |
|         /// Push permissions | |
|         #[serde(rename = "push")] | |
|         Push, | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::fmt::Debug for Scope { | |
|         fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result { | |
|             match (&*self,) { | |
|                 (&Scope::Read(ref __self_0),) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Read"); | |
|                     let _ = debug_trait_builder.field(&&(*__self_0)); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Scope::Write(ref __self_0),) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Write"); | |
|                     let _ = debug_trait_builder.field(&&(*__self_0)); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Scope::Follow,) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Follow"); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Scope::Push,) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Push"); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|             } | |
|         } | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::clone::Clone for Scope { | |
|         #[inline] | |
|         fn clone(&self) -> Scope { | |
|             { | |
|                 let _: ::core::clone::AssertParamIsClone<Option<Read>>; | |
|                 let _: ::core::clone::AssertParamIsClone<Option<Write>>; | |
|                 *self | |
|             } | |
|         } | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::marker::Copy for Scope { } | |
|     impl ::core::marker::StructuralPartialEq for Scope { } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::cmp::PartialEq for Scope { | |
|         #[inline] | |
|         fn eq(&self, other: &Scope) -> bool { | |
|             { | |
|                 let __self_vi = | |
|                     unsafe { ::core::intrinsics::discriminant_value(&*self) }; | |
|                 let __arg_1_vi = | |
|                     unsafe { | |
|                         ::core::intrinsics::discriminant_value(&*other) | |
|                     }; | |
|                 if true && __self_vi == __arg_1_vi { | |
|                     match (&*self, &*other) { | |
|                         (&Scope::Read(ref __self_0), | |
|                          &Scope::Read(ref __arg_1_0)) => | |
|                         (*__self_0) == (*__arg_1_0), | |
|                         (&Scope::Write(ref __self_0), | |
|                          &Scope::Write(ref __arg_1_0)) => | |
|                         (*__self_0) == (*__arg_1_0), | |
|                         _ => true, | |
|                     } | |
|                 } else { false } | |
|             } | |
|         } | |
|         #[inline] | |
|         fn ne(&self, other: &Scope) -> bool { | |
|             { | |
|                 let __self_vi = | |
|                     unsafe { ::core::intrinsics::discriminant_value(&*self) }; | |
|                 let __arg_1_vi = | |
|                     unsafe { | |
|                         ::core::intrinsics::discriminant_value(&*other) | |
|                     }; | |
|                 if true && __self_vi == __arg_1_vi { | |
|                     match (&*self, &*other) { | |
|                         (&Scope::Read(ref __self_0), | |
|                          &Scope::Read(ref __arg_1_0)) => | |
|                         (*__self_0) != (*__arg_1_0), | |
|                         (&Scope::Write(ref __self_0), | |
|                          &Scope::Write(ref __arg_1_0)) => | |
|                         (*__self_0) != (*__arg_1_0), | |
|                         _ => false, | |
|                     } | |
|                 } else { true } | |
|             } | |
|         } | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::cmp::PartialOrd for Scope { | |
|         #[inline] | |
|         fn partial_cmp(&self, other: &Scope) | |
|          -> ::core::option::Option<::core::cmp::Ordering> { | |
|             { | |
|                 let __self_vi = | |
|                     unsafe { ::core::intrinsics::discriminant_value(&*self) }; | |
|                 let __arg_1_vi = | |
|                     unsafe { | |
|                         ::core::intrinsics::discriminant_value(&*other) | |
|                     }; | |
|                 if true && __self_vi == __arg_1_vi { | |
|                     match (&*self, &*other) { | |
|                         (&Scope::Read(ref __self_0), | |
|                          &Scope::Read(ref __arg_1_0)) => | |
|                         match ::core::cmp::PartialOrd::partial_cmp(&(*__self_0), | |
|                                                                    &(*__arg_1_0)) | |
|                             { | |
|                             ::core::option::Option::Some(::core::cmp::Ordering::Equal) | |
|                             => | |
|                             ::core::option::Option::Some(::core::cmp::Ordering::Equal), | |
|                             cmp => cmp, | |
|                         }, | |
|                         (&Scope::Write(ref __self_0), | |
|                          &Scope::Write(ref __arg_1_0)) => | |
|                         match ::core::cmp::PartialOrd::partial_cmp(&(*__self_0), | |
|                                                                    &(*__arg_1_0)) | |
|                             { | |
|                             ::core::option::Option::Some(::core::cmp::Ordering::Equal) | |
|                             => | |
|                             ::core::option::Option::Some(::core::cmp::Ordering::Equal), | |
|                             cmp => cmp, | |
|                         }, | |
|                         _ => | |
|                         ::core::option::Option::Some(::core::cmp::Ordering::Equal), | |
|                     } | |
|                 } else { __self_vi.partial_cmp(&__arg_1_vi) } | |
|             } | |
|         } | |
|         #[inline] | |
|         fn lt(&self, other: &Scope) -> bool { | |
|             { | |
|                 let __self_vi = | |
|                     unsafe { ::core::intrinsics::discriminant_value(&*self) }; | |
|                 let __arg_1_vi = | |
|                     unsafe { | |
|                         ::core::intrinsics::discriminant_value(&*other) | |
|                     }; | |
|                 if true && __self_vi == __arg_1_vi { | |
|                     match (&*self, &*other) { | |
|                         (&Scope::Read(ref __self_0), | |
|                          &Scope::Read(ref __arg_1_0)) => | |
|                         ::core::option::Option::unwrap_or(::core::cmp::PartialOrd::partial_cmp(&(*__self_0), | |
|                                                                                                &(*__arg_1_0)), | |
|                                                           ::core::cmp::Ordering::Greater) | |
|                             == ::core::cmp::Ordering::Less, | |
|                         (&Scope::Write(ref __self_0), | |
|                          &Scope::Write(ref __arg_1_0)) => | |
|                         ::core::option::Option::unwrap_or(::core::cmp::PartialOrd::partial_cmp(&(*__self_0), | |
|                                                                                                &(*__arg_1_0)), | |
|                                                           ::core::cmp::Ordering::Greater) | |
|                             == ::core::cmp::Ordering::Less, | |
|                         _ => false, | |
|                     } | |
|                 } else { __self_vi.lt(&__arg_1_vi) } | |
|             } | |
|         } | |
|         #[inline] | |
|         fn le(&self, other: &Scope) -> bool { | |
|             { | |
|                 let __self_vi = | |
|                     unsafe { ::core::intrinsics::discriminant_value(&*self) }; | |
|                 let __arg_1_vi = | |
|                     unsafe { | |
|                         ::core::intrinsics::discriminant_value(&*other) | |
|                     }; | |
|                 if true && __self_vi == __arg_1_vi { | |
|                     match (&*self, &*other) { | |
|                         (&Scope::Read(ref __self_0), | |
|                          &Scope::Read(ref __arg_1_0)) => | |
|                         ::core::option::Option::unwrap_or(::core::cmp::PartialOrd::partial_cmp(&(*__self_0), | |
|                                                                                                &(*__arg_1_0)), | |
|                                                           ::core::cmp::Ordering::Greater) | |
|                             != ::core::cmp::Ordering::Greater, | |
|                         (&Scope::Write(ref __self_0), | |
|                          &Scope::Write(ref __arg_1_0)) => | |
|                         ::core::option::Option::unwrap_or(::core::cmp::PartialOrd::partial_cmp(&(*__self_0), | |
|                                                                                                &(*__arg_1_0)), | |
|                                                           ::core::cmp::Ordering::Greater) | |
|                             != ::core::cmp::Ordering::Greater, | |
|                         _ => true, | |
|                     } | |
|                 } else { __self_vi.le(&__arg_1_vi) } | |
|             } | |
|         } | |
|         #[inline] | |
|         fn gt(&self, other: &Scope) -> bool { | |
|             { | |
|                 let __self_vi = | |
|                     unsafe { ::core::intrinsics::discriminant_value(&*self) }; | |
|                 let __arg_1_vi = | |
|                     unsafe { | |
|                         ::core::intrinsics::discriminant_value(&*other) | |
|                     }; | |
|                 if true && __self_vi == __arg_1_vi { | |
|                     match (&*self, &*other) { | |
|                         (&Scope::Read(ref __self_0), | |
|                          &Scope::Read(ref __arg_1_0)) => | |
|                         ::core::option::Option::unwrap_or(::core::cmp::PartialOrd::partial_cmp(&(*__self_0), | |
|                                                                                                &(*__arg_1_0)), | |
|                                                           ::core::cmp::Ordering::Less) | |
|                             == ::core::cmp::Ordering::Greater, | |
|                         (&Scope::Write(ref __self_0), | |
|                          &Scope::Write(ref __arg_1_0)) => | |
|                         ::core::option::Option::unwrap_or(::core::cmp::PartialOrd::partial_cmp(&(*__self_0), | |
|                                                                                                &(*__arg_1_0)), | |
|                                                           ::core::cmp::Ordering::Less) | |
|                             == ::core::cmp::Ordering::Greater, | |
|                         _ => false, | |
|                     } | |
|                 } else { __self_vi.gt(&__arg_1_vi) } | |
|             } | |
|         } | |
|         #[inline] | |
|         fn ge(&self, other: &Scope) -> bool { | |
|             { | |
|                 let __self_vi = | |
|                     unsafe { ::core::intrinsics::discriminant_value(&*self) }; | |
|                 let __arg_1_vi = | |
|                     unsafe { | |
|                         ::core::intrinsics::discriminant_value(&*other) | |
|                     }; | |
|                 if true && __self_vi == __arg_1_vi { | |
|                     match (&*self, &*other) { | |
|                         (&Scope::Read(ref __self_0), | |
|                          &Scope::Read(ref __arg_1_0)) => | |
|                         ::core::option::Option::unwrap_or(::core::cmp::PartialOrd::partial_cmp(&(*__self_0), | |
|                                                                                                &(*__arg_1_0)), | |
|                                                           ::core::cmp::Ordering::Less) | |
|                             != ::core::cmp::Ordering::Less, | |
|                         (&Scope::Write(ref __self_0), | |
|                          &Scope::Write(ref __arg_1_0)) => | |
|                         ::core::option::Option::unwrap_or(::core::cmp::PartialOrd::partial_cmp(&(*__self_0), | |
|                                                                                                &(*__arg_1_0)), | |
|                                                           ::core::cmp::Ordering::Less) | |
|                             != ::core::cmp::Ordering::Less, | |
|                         _ => true, | |
|                     } | |
|                 } else { __self_vi.ge(&__arg_1_vi) } | |
|             } | |
|         } | |
|     } | |
|     impl ::core::marker::StructuralEq for Scope { } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::cmp::Eq for Scope { | |
|         #[inline] | |
|         #[doc(hidden)] | |
|         fn assert_receiver_is_total_eq(&self) -> () { | |
|             { | |
|                 let _: ::core::cmp::AssertParamIsEq<Option<Read>>; | |
|                 let _: ::core::cmp::AssertParamIsEq<Option<Write>>; | |
|             } | |
|         } | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::hash::Hash for Scope { | |
|         fn hash<__H: ::core::hash::Hasher>(&self, state: &mut __H) -> () { | |
|             match (&*self,) { | |
|                 (&Scope::Read(ref __self_0),) => { | |
|                     ::core::hash::Hash::hash(&unsafe { | |
|                                                   ::core::intrinsics::discriminant_value(self) | |
|                                               }, state); | |
|                     ::core::hash::Hash::hash(&(*__self_0), state) | |
|                 } | |
|                 (&Scope::Write(ref __self_0),) => { | |
|                     ::core::hash::Hash::hash(&unsafe { | |
|                                                   ::core::intrinsics::discriminant_value(self) | |
|                                               }, state); | |
|                     ::core::hash::Hash::hash(&(*__self_0), state) | |
|                 } | |
|                 _ => { | |
|                     ::core::hash::Hash::hash(&unsafe { | |
|                                                   ::core::intrinsics::discriminant_value(self) | |
|                                               }, state) | |
|                 } | |
|             } | |
|         } | |
|     } | |
|     #[doc(hidden)] | |
|     #[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
|     const _IMPL_SERIALIZE_FOR_Scope: () = | |
|         { | |
|             #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|             extern crate serde as _serde; | |
|             #[allow(unused_macros)] | |
|             macro_rules! try { | |
|                 ($ __expr : expr) => | |
|                 { | |
|                     match $ __expr | |
|                     { | |
|                         _serde :: export :: Ok(__val) => __val, _serde :: | |
|                         export :: Err(__err) => | |
|                         { return _serde :: export :: Err(__err) ; } | |
|                     } | |
|                 } | |
|             } | |
|             #[automatically_derived] | |
|             impl _serde::Serialize for Scope { | |
|                 fn serialize<__S>(&self, __serializer: __S) | |
|                  -> _serde::export::Result<__S::Ok, __S::Error> where | |
|                  __S: _serde::Serializer { | |
|                     match *self { | |
|                         Scope::Read(ref __field0) => | |
|                         _serde::Serializer::serialize_newtype_variant(__serializer, | |
|                                                                       "Scope", | |
|                                                                       0u32, | |
|                                                                       "read", | |
|                                                                       __field0), | |
|                         Scope::Write(ref __field0) => | |
|                         _serde::Serializer::serialize_newtype_variant(__serializer, | |
|                                                                       "Scope", | |
|                                                                       1u32, | |
|                                                                       "write", | |
|                                                                       __field0), | |
|                         Scope::Follow => | |
|                         _serde::Serializer::serialize_unit_variant(__serializer, | |
|                                                                    "Scope", | |
|                                                                    2u32, | |
|                                                                    "follow"), | |
|                         Scope::Push => | |
|                         _serde::Serializer::serialize_unit_variant(__serializer, | |
|                                                                    "Scope", | |
|                                                                    3u32, | |
|                                                                    "push"), | |
|                     } | |
|                 } | |
|             } | |
|         }; | |
|     impl FromStr for Scope { | |
|         type Err = Error; | |
|         fn from_str(s: &str) -> Result<Scope, Self::Err> { | |
|             Ok(match s { | |
|                    "read" => Scope::Read(None), | |
|                    "write" => Scope::Write(None), | |
|                    "follow" => Scope::Follow, | |
|                    "push" => Scope::Push, | |
|                    read if read.starts_with("read:") => { | |
|                        let r: Read = Read::from_str(&read[5..])?; | |
|                        Scope::Read(Some(r)) | |
|                    } | |
|                    write if write.starts_with("write:") => { | |
|                        let w: Write = Write::from_str(&write[6..])?; | |
|                        Scope::Write(Some(w)) | |
|                    } | |
|                    _ => return Err(Error::Other("Unknown scope".to_string())), | |
|                }) | |
|         } | |
|     } | |
|     impl Ord for Scope { | |
|         fn cmp(&self, other: &Scope) -> Ordering { | |
|             match (*self, *other) { | |
|                 (Scope::Read(None), Scope::Read(None)) => Ordering::Equal, | |
|                 (Scope::Read(None), Scope::Read(Some(..))) => Ordering::Less, | |
|                 (Scope::Read(Some(..)), Scope::Read(None)) => | |
|                 Ordering::Greater, | |
|                 (Scope::Read(Some(ref a)), Scope::Read(Some(ref b))) => | |
|                 a.cmp(b), | |
|                 (Scope::Write(None), Scope::Write(None)) => Ordering::Equal, | |
|                 (Scope::Write(None), Scope::Write(Some(..))) => | |
|                 Ordering::Less, | |
|                 (Scope::Write(Some(..)), Scope::Write(None)) => | |
|                 Ordering::Greater, | |
|                 (Scope::Write(Some(ref a)), Scope::Write(Some(ref b))) => | |
|                 a.cmp(b), | |
|                 (Scope::Read(..), Scope::Write(..)) => Ordering::Less, | |
|                 (Scope::Read(..), Scope::Follow) => Ordering::Less, | |
|                 (Scope::Read(..), Scope::Push) => Ordering::Less, | |
|                 (Scope::Write(..), Scope::Read(..)) => Ordering::Greater, | |
|                 (Scope::Write(..), Scope::Follow) => Ordering::Less, | |
|                 (Scope::Write(..), Scope::Push) => Ordering::Less, | |
|                 (Scope::Follow, Scope::Read(..)) => Ordering::Greater, | |
|                 (Scope::Follow, Scope::Write(..)) => Ordering::Greater, | |
|                 (Scope::Follow, Scope::Follow) => Ordering::Equal, | |
|                 (Scope::Follow, Scope::Push) => Ordering::Less, | |
|                 (Scope::Push, Scope::Push) => Ordering::Equal, | |
|                 (Scope::Push, _) => Ordering::Greater, | |
|             } | |
|         } | |
|     } | |
|     impl fmt::Display for Scope { | |
|         fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { | |
|             use self::Scope::*; | |
|             let s = | |
|                 match *self { | |
|                     Read(Some(ref r)) => return fmt::Display::fmt(r, f), | |
|                     Read(None) => "read", | |
|                     Write(Some(ref w)) => return fmt::Display::fmt(w, f), | |
|                     Write(None) => "write", | |
|                     Follow => "follow", | |
|                     Push => "push", | |
|                 }; | |
|             f.write_fmt(::core::fmt::Arguments::new_v1(&[""], | |
|                                                        &match (&s,) { | |
|                                                             (arg0,) => | |
|                                                             [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                           ::core::fmt::Display::fmt)], | |
|                                                         })) | |
|         } | |
|     } | |
|     impl Default for Scope { | |
|         fn default() -> Self { Scope::Read(None) } | |
|     } | |
|     /// Represents the granular "read:___" oauth scopes | |
|     pub enum Read { | |
| 
 | |
|         /// Accounts | |
|         #[serde(rename = "accounts")] | |
|         Accounts, | |
| 
 | |
|         /// Blocks | |
|         #[serde(rename = "blocks")] | |
|         Blocks, | |
| 
 | |
|         /// Favourites | |
|         #[serde(rename = "favourites")] | |
|         Favourites, | |
| 
 | |
|         /// Filters | |
|         #[serde(rename = "filters")] | |
|         Filters, | |
| 
 | |
|         /// Follows | |
|         #[serde(rename = "follows")] | |
|         Follows, | |
| 
 | |
|         /// Lists | |
|         #[serde(rename = "lists")] | |
|         Lists, | |
| 
 | |
|         /// Mutes | |
|         #[serde(rename = "mutes")] | |
|         Mutes, | |
| 
 | |
|         /// Notifications | |
|         #[serde(rename = "notifications")] | |
|         Notifications, | |
| 
 | |
|         /// Reports | |
|         #[serde(rename = "reports")] | |
|         Reports, | |
| 
 | |
|         /// Search | |
|         #[serde(rename = "search")] | |
|         Search, | |
| 
 | |
|         /// Statuses | |
|         #[serde(rename = "statuses")] | |
|         Statuses, | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::fmt::Debug for Read { | |
|         fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result { | |
|             match (&*self,) { | |
|                 (&Read::Accounts,) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Accounts"); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Read::Blocks,) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Blocks"); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Read::Favourites,) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Favourites"); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Read::Filters,) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Filters"); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Read::Follows,) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Follows"); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Read::Lists,) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Lists"); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Read::Mutes,) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Mutes"); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Read::Notifications,) => { | |
|                     let mut debug_trait_builder = | |
|                         f.debug_tuple("Notifications"); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Read::Reports,) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Reports"); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Read::Search,) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Search"); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Read::Statuses,) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Statuses"); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|             } | |
|         } | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::clone::Clone for Read { | |
|         #[inline] | |
|         fn clone(&self) -> Read { { *self } } | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::marker::Copy for Read { } | |
|     impl ::core::marker::StructuralPartialEq for Read { } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::cmp::PartialEq for Read { | |
|         #[inline] | |
|         fn eq(&self, other: &Read) -> bool { | |
|             { | |
|                 let __self_vi = | |
|                     unsafe { ::core::intrinsics::discriminant_value(&*self) }; | |
|                 let __arg_1_vi = | |
|                     unsafe { | |
|                         ::core::intrinsics::discriminant_value(&*other) | |
|                     }; | |
|                 if true && __self_vi == __arg_1_vi { | |
|                     match (&*self, &*other) { _ => true, } | |
|                 } else { false } | |
|             } | |
|         } | |
|     } | |
|     impl ::core::marker::StructuralEq for Read { } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::cmp::Eq for Read { | |
|         #[inline] | |
|         #[doc(hidden)] | |
|         fn assert_receiver_is_total_eq(&self) -> () { { } } | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::hash::Hash for Read { | |
|         fn hash<__H: ::core::hash::Hasher>(&self, state: &mut __H) -> () { | |
|             match (&*self,) { | |
|                 _ => { | |
|                     ::core::hash::Hash::hash(&unsafe { | |
|                                                   ::core::intrinsics::discriminant_value(self) | |
|                                               }, state) | |
|                 } | |
|             } | |
|         } | |
|     } | |
|     #[doc(hidden)] | |
|     #[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
|     const _IMPL_SERIALIZE_FOR_Read: () = | |
|         { | |
|             #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|             extern crate serde as _serde; | |
|             #[allow(unused_macros)] | |
|             macro_rules! try { | |
|                 ($ __expr : expr) => | |
|                 { | |
|                     match $ __expr | |
|                     { | |
|                         _serde :: export :: Ok(__val) => __val, _serde :: | |
|                         export :: Err(__err) => | |
|                         { return _serde :: export :: Err(__err) ; } | |
|                     } | |
|                 } | |
|             } | |
|             #[automatically_derived] | |
|             impl _serde::Serialize for Read { | |
|                 fn serialize<__S>(&self, __serializer: __S) | |
|                  -> _serde::export::Result<__S::Ok, __S::Error> where | |
|                  __S: _serde::Serializer { | |
|                     match *self { | |
|                         Read::Accounts => | |
|                         _serde::Serializer::serialize_unit_variant(__serializer, | |
|                                                                    "Read", | |
|                                                                    0u32, | |
|                                                                    "accounts"), | |
|                         Read::Blocks => | |
|                         _serde::Serializer::serialize_unit_variant(__serializer, | |
|                                                                    "Read", | |
|                                                                    1u32, | |
|                                                                    "blocks"), | |
|                         Read::Favourites => | |
|                         _serde::Serializer::serialize_unit_variant(__serializer, | |
|                                                                    "Read", | |
|                                                                    2u32, | |
|                                                                    "favourites"), | |
|                         Read::Filters => | |
|                         _serde::Serializer::serialize_unit_variant(__serializer, | |
|                                                                    "Read", | |
|                                                                    3u32, | |
|                                                                    "filters"), | |
|                         Read::Follows => | |
|                         _serde::Serializer::serialize_unit_variant(__serializer, | |
|                                                                    "Read", | |
|                                                                    4u32, | |
|                                                                    "follows"), | |
|                         Read::Lists => | |
|                         _serde::Serializer::serialize_unit_variant(__serializer, | |
|                                                                    "Read", | |
|                                                                    5u32, | |
|                                                                    "lists"), | |
|                         Read::Mutes => | |
|                         _serde::Serializer::serialize_unit_variant(__serializer, | |
|                                                                    "Read", | |
|                                                                    6u32, | |
|                                                                    "mutes"), | |
|                         Read::Notifications => | |
|                         _serde::Serializer::serialize_unit_variant(__serializer, | |
|                                                                    "Read", | |
|                                                                    7u32, | |
|                                                                    "notifications"), | |
|                         Read::Reports => | |
|                         _serde::Serializer::serialize_unit_variant(__serializer, | |
|                                                                    "Read", | |
|                                                                    8u32, | |
|                                                                    "reports"), | |
|                         Read::Search => | |
|                         _serde::Serializer::serialize_unit_variant(__serializer, | |
|                                                                    "Read", | |
|                                                                    9u32, | |
|                                                                    "search"), | |
|                         Read::Statuses => | |
|                         _serde::Serializer::serialize_unit_variant(__serializer, | |
|                                                                    "Read", | |
|                                                                    10u32, | |
|                                                                    "statuses"), | |
|                     } | |
|                 } | |
|             } | |
|         }; | |
|     impl FromStr for Read { | |
|         type Err = Error; | |
|         fn from_str(s: &str) -> Result<Read, Self::Err> { | |
|             Ok(match s { | |
|                    "accounts" => Read::Accounts, | |
|                    "blocks" => Read::Blocks, | |
|                    "favourites" => Read::Favourites, | |
|                    "filters" => Read::Filters, | |
|                    "follows" => Read::Follows, | |
|                    "lists" => Read::Lists, | |
|                    "mutes" => Read::Mutes, | |
|                    "notifications" => Read::Notifications, | |
|                    "reports" => Read::Reports, | |
|                    "search" => Read::Search, | |
|                    "statuses" => Read::Statuses, | |
|                    _ => | |
|                    return Err(Error::Other("Unknown 'read' subcategory".to_string())), | |
|                }) | |
|         } | |
|     } | |
|     impl PartialOrd for Read { | |
|         fn partial_cmp(&self, other: &Read) -> Option<Ordering> { | |
|             Some(self.cmp(other)) | |
|         } | |
|     } | |
|     impl Ord for Read { | |
|         fn cmp(&self, other: &Read) -> Ordering { | |
|             let a = | |
|                 { | |
|                     let res = | |
|                         ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&[""], | |
|                                                                             &match (&self,) | |
|                                                                                  { | |
|                                                                                  (arg0,) | |
|                                                                                  => | |
|                                                                                  [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                ::core::fmt::Debug::fmt)], | |
|                                                                              })); | |
|                     res | |
|                 }; | |
|             let b = | |
|                 { | |
|                     let res = | |
|                         ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&[""], | |
|                                                                             &match (&other,) | |
|                                                                                  { | |
|                                                                                  (arg0,) | |
|                                                                                  => | |
|                                                                                  [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                ::core::fmt::Debug::fmt)], | |
|                                                                              })); | |
|                     res | |
|                 }; | |
|             a.cmp(&b) | |
|         } | |
|     } | |
|     impl fmt::Display for Read { | |
|         fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { | |
|             f.write_fmt(::core::fmt::Arguments::new_v1(&["read:"], | |
|                                                        &match (&match *self { | |
|                                                                     Read::Accounts | |
|                                                                     => | |
|                                                                     "accounts", | |
|                                                                     Read::Blocks | |
|                                                                     => | |
|                                                                     "blocks", | |
|                                                                     Read::Favourites | |
|                                                                     => | |
|                                                                     "favourites", | |
|                                                                     Read::Filters | |
|                                                                     => | |
|                                                                     "filters", | |
|                                                                     Read::Follows | |
|                                                                     => | |
|                                                                     "follows", | |
|                                                                     Read::Lists | |
|                                                                     => | |
|                                                                     "lists", | |
|                                                                     Read::Mutes | |
|                                                                     => | |
|                                                                     "mutes", | |
|                                                                     Read::Notifications | |
|                                                                     => | |
|                                                                     "notifications", | |
|                                                                     Read::Reports | |
|                                                                     => | |
|                                                                     "reports", | |
|                                                                     Read::Search | |
|                                                                     => | |
|                                                                     "search", | |
|                                                                     Read::Statuses | |
|                                                                     => | |
|                                                                     "statuses", | |
|                                                                 },) { | |
|                                                             (arg0,) => | |
|                                                             [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                           ::core::fmt::Display::fmt)], | |
|                                                         })) | |
|         } | |
|     } | |
|     /// Represents the granular "write:___" oauth scopes | |
|     pub enum Write { | |
| 
 | |
|         /// Accounts | |
|         #[serde(rename = "accounts")] | |
|         Accounts, | |
| 
 | |
|         /// Blocks | |
|         #[serde(rename = "blocks")] | |
|         Blocks, | |
| 
 | |
|         /// Favourites | |
|         #[serde(rename = "favourites")] | |
|         Favourites, | |
| 
 | |
|         /// Filters | |
|         #[serde(rename = "filters")] | |
|         Filters, | |
| 
 | |
|         /// Follows | |
|         #[serde(rename = "follows")] | |
|         Follows, | |
| 
 | |
|         /// Lists | |
|         #[serde(rename = "lists")] | |
|         Lists, | |
| 
 | |
|         /// Media | |
|         #[serde(rename = "media")] | |
|         Media, | |
| 
 | |
|         /// Mutes | |
|         #[serde(rename = "mutes")] | |
|         Mutes, | |
| 
 | |
|         /// Notifications | |
|         #[serde(rename = "notifications")] | |
|         Notifications, | |
| 
 | |
|         /// Reports | |
|         #[serde(rename = "reports")] | |
|         Reports, | |
| 
 | |
|         /// Statuses | |
|         #[serde(rename = "statuses")] | |
|         Statuses, | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::fmt::Debug for Write { | |
|         fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result { | |
|             match (&*self,) { | |
|                 (&Write::Accounts,) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Accounts"); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Write::Blocks,) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Blocks"); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Write::Favourites,) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Favourites"); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Write::Filters,) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Filters"); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Write::Follows,) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Follows"); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Write::Lists,) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Lists"); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Write::Media,) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Media"); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Write::Mutes,) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Mutes"); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Write::Notifications,) => { | |
|                     let mut debug_trait_builder = | |
|                         f.debug_tuple("Notifications"); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Write::Reports,) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Reports"); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Write::Statuses,) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Statuses"); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|             } | |
|         } | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::clone::Clone for Write { | |
|         #[inline] | |
|         fn clone(&self) -> Write { { *self } } | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::marker::Copy for Write { } | |
|     impl ::core::marker::StructuralPartialEq for Write { } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::cmp::PartialEq for Write { | |
|         #[inline] | |
|         fn eq(&self, other: &Write) -> bool { | |
|             { | |
|                 let __self_vi = | |
|                     unsafe { ::core::intrinsics::discriminant_value(&*self) }; | |
|                 let __arg_1_vi = | |
|                     unsafe { | |
|                         ::core::intrinsics::discriminant_value(&*other) | |
|                     }; | |
|                 if true && __self_vi == __arg_1_vi { | |
|                     match (&*self, &*other) { _ => true, } | |
|                 } else { false } | |
|             } | |
|         } | |
|     } | |
|     impl ::core::marker::StructuralEq for Write { } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::cmp::Eq for Write { | |
|         #[inline] | |
|         #[doc(hidden)] | |
|         fn assert_receiver_is_total_eq(&self) -> () { { } } | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::hash::Hash for Write { | |
|         fn hash<__H: ::core::hash::Hasher>(&self, state: &mut __H) -> () { | |
|             match (&*self,) { | |
|                 _ => { | |
|                     ::core::hash::Hash::hash(&unsafe { | |
|                                                   ::core::intrinsics::discriminant_value(self) | |
|                                               }, state) | |
|                 } | |
|             } | |
|         } | |
|     } | |
|     #[doc(hidden)] | |
|     #[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
|     const _IMPL_SERIALIZE_FOR_Write: () = | |
|         { | |
|             #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|             extern crate serde as _serde; | |
|             #[allow(unused_macros)] | |
|             macro_rules! try { | |
|                 ($ __expr : expr) => | |
|                 { | |
|                     match $ __expr | |
|                     { | |
|                         _serde :: export :: Ok(__val) => __val, _serde :: | |
|                         export :: Err(__err) => | |
|                         { return _serde :: export :: Err(__err) ; } | |
|                     } | |
|                 } | |
|             } | |
|             #[automatically_derived] | |
|             impl _serde::Serialize for Write { | |
|                 fn serialize<__S>(&self, __serializer: __S) | |
|                  -> _serde::export::Result<__S::Ok, __S::Error> where | |
|                  __S: _serde::Serializer { | |
|                     match *self { | |
|                         Write::Accounts => | |
|                         _serde::Serializer::serialize_unit_variant(__serializer, | |
|                                                                    "Write", | |
|                                                                    0u32, | |
|                                                                    "accounts"), | |
|                         Write::Blocks => | |
|                         _serde::Serializer::serialize_unit_variant(__serializer, | |
|                                                                    "Write", | |
|                                                                    1u32, | |
|                                                                    "blocks"), | |
|                         Write::Favourites => | |
|                         _serde::Serializer::serialize_unit_variant(__serializer, | |
|                                                                    "Write", | |
|                                                                    2u32, | |
|                                                                    "favourites"), | |
|                         Write::Filters => | |
|                         _serde::Serializer::serialize_unit_variant(__serializer, | |
|                                                                    "Write", | |
|                                                                    3u32, | |
|                                                                    "filters"), | |
|                         Write::Follows => | |
|                         _serde::Serializer::serialize_unit_variant(__serializer, | |
|                                                                    "Write", | |
|                                                                    4u32, | |
|                                                                    "follows"), | |
|                         Write::Lists => | |
|                         _serde::Serializer::serialize_unit_variant(__serializer, | |
|                                                                    "Write", | |
|                                                                    5u32, | |
|                                                                    "lists"), | |
|                         Write::Media => | |
|                         _serde::Serializer::serialize_unit_variant(__serializer, | |
|                                                                    "Write", | |
|                                                                    6u32, | |
|                                                                    "media"), | |
|                         Write::Mutes => | |
|                         _serde::Serializer::serialize_unit_variant(__serializer, | |
|                                                                    "Write", | |
|                                                                    7u32, | |
|                                                                    "mutes"), | |
|                         Write::Notifications => | |
|                         _serde::Serializer::serialize_unit_variant(__serializer, | |
|                                                                    "Write", | |
|                                                                    8u32, | |
|                                                                    "notifications"), | |
|                         Write::Reports => | |
|                         _serde::Serializer::serialize_unit_variant(__serializer, | |
|                                                                    "Write", | |
|                                                                    9u32, | |
|                                                                    "reports"), | |
|                         Write::Statuses => | |
|                         _serde::Serializer::serialize_unit_variant(__serializer, | |
|                                                                    "Write", | |
|                                                                    10u32, | |
|                                                                    "statuses"), | |
|                     } | |
|                 } | |
|             } | |
|         }; | |
|     impl FromStr for Write { | |
|         type Err = Error; | |
|         fn from_str(s: &str) -> Result<Write, Self::Err> { | |
|             Ok(match s { | |
|                    "accounts" => Write::Accounts, | |
|                    "blocks" => Write::Blocks, | |
|                    "favourites" => Write::Favourites, | |
|                    "filters" => Write::Filters, | |
|                    "follows" => Write::Follows, | |
|                    "lists" => Write::Lists, | |
|                    "media" => Write::Media, | |
|                    "mutes" => Write::Mutes, | |
|                    "notifications" => Write::Notifications, | |
|                    "reports" => Write::Reports, | |
|                    "statuses" => Write::Statuses, | |
|                    _ => | |
|                    return Err(Error::Other("Unknown 'write' subcategory".to_string())), | |
|                }) | |
|         } | |
|     } | |
|     impl PartialOrd for Write { | |
|         fn partial_cmp(&self, other: &Write) -> Option<Ordering> { | |
|             Some(self.cmp(other)) | |
|         } | |
|     } | |
|     impl Ord for Write { | |
|         fn cmp(&self, other: &Write) -> Ordering { | |
|             let a = | |
|                 { | |
|                     let res = | |
|                         ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&[""], | |
|                                                                             &match (&self,) | |
|                                                                                  { | |
|                                                                                  (arg0,) | |
|                                                                                  => | |
|                                                                                  [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                ::core::fmt::Debug::fmt)], | |
|                                                                              })); | |
|                     res | |
|                 }; | |
|             let b = | |
|                 { | |
|                     let res = | |
|                         ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&[""], | |
|                                                                             &match (&other,) | |
|                                                                                  { | |
|                                                                                  (arg0,) | |
|                                                                                  => | |
|                                                                                  [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                ::core::fmt::Debug::fmt)], | |
|                                                                              })); | |
|                     res | |
|                 }; | |
|             a.cmp(&b) | |
|         } | |
|     } | |
|     impl fmt::Display for Write { | |
|         fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { | |
|             f.write_fmt(::core::fmt::Arguments::new_v1(&["write:"], | |
|                                                        &match (&match *self { | |
|                                                                     Write::Accounts | |
|                                                                     => | |
|                                                                     "accounts", | |
|                                                                     Write::Blocks | |
|                                                                     => | |
|                                                                     "blocks", | |
|                                                                     Write::Favourites | |
|                                                                     => | |
|                                                                     "favourites", | |
|                                                                     Write::Filters | |
|                                                                     => | |
|                                                                     "filters", | |
|                                                                     Write::Follows | |
|                                                                     => | |
|                                                                     "follows", | |
|                                                                     Write::Lists | |
|                                                                     => | |
|                                                                     "lists", | |
|                                                                     Write::Media | |
|                                                                     => | |
|                                                                     "media", | |
|                                                                     Write::Mutes | |
|                                                                     => | |
|                                                                     "mutes", | |
|                                                                     Write::Notifications | |
|                                                                     => | |
|                                                                     "notifications", | |
|                                                                     Write::Reports | |
|                                                                     => | |
|                                                                     "reports", | |
|                                                                     Write::Statuses | |
|                                                                     => | |
|                                                                     "statuses", | |
|                                                                 },) { | |
|                                                             (arg0,) => | |
|                                                             [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                           ::core::fmt::Display::fmt)], | |
|                                                         })) | |
|         } | |
|     } | |
| } | |
| /// Constructing a status | |
| pub mod status_builder { | |
|     use isolang::Language; | |
|     /// A builder pattern struct for constructing a status. | |
|     /// | |
|     /// # Example | |
|     /// | |
|     /// ``` | |
|     /// # extern crate elefren; | |
|     /// # use elefren::{Language, StatusBuilder}; | |
|     /// | |
|     /// # fn main() -> Result<(), elefren::Error> { | |
|     /// let status = StatusBuilder::new() | |
|     ///     .status("a status") | |
|     ///     .sensitive(true) | |
|     ///     .spoiler_text("a CW") | |
|     ///     .language(Language::Eng) | |
|     ///     .build()?; | |
|     /// # Ok(()) | |
|     /// # } | |
|     /// ``` | |
|     pub struct StatusBuilder { | |
|         status: Option<String>, | |
|         in_reply_to_id: Option<String>, | |
|         media_ids: Option<Vec<String>>, | |
|         sensitive: Option<bool>, | |
|         spoiler_text: Option<String>, | |
|         content_type: Option<String>, | |
|         visibility: Option<Visibility>, | |
|         language: Option<Language>, | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::fmt::Debug for StatusBuilder { | |
|         fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result { | |
|             match *self { | |
|                 StatusBuilder { | |
|                 status: ref __self_0_0, | |
|                 in_reply_to_id: ref __self_0_1, | |
|                 media_ids: ref __self_0_2, | |
|                 sensitive: ref __self_0_3, | |
|                 spoiler_text: ref __self_0_4, | |
|                 content_type: ref __self_0_5, | |
|                 visibility: ref __self_0_6, | |
|                 language: ref __self_0_7 } => { | |
|                     let mut debug_trait_builder = | |
|                         f.debug_struct("StatusBuilder"); | |
|                     let _ = | |
|                         debug_trait_builder.field("status", &&(*__self_0_0)); | |
|                     let _ = | |
|                         debug_trait_builder.field("in_reply_to_id", | |
|                                                   &&(*__self_0_1)); | |
|                     let _ = | |
|                         debug_trait_builder.field("media_ids", | |
|                                                   &&(*__self_0_2)); | |
|                     let _ = | |
|                         debug_trait_builder.field("sensitive", | |
|                                                   &&(*__self_0_3)); | |
|                     let _ = | |
|                         debug_trait_builder.field("spoiler_text", | |
|                                                   &&(*__self_0_4)); | |
|                     let _ = | |
|                         debug_trait_builder.field("content_type", | |
|                                                   &&(*__self_0_5)); | |
|                     let _ = | |
|                         debug_trait_builder.field("visibility", | |
|                                                   &&(*__self_0_6)); | |
|                     let _ = | |
|                         debug_trait_builder.field("language", | |
|                                                   &&(*__self_0_7)); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|             } | |
|         } | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::default::Default for StatusBuilder { | |
|         #[inline] | |
|         fn default() -> StatusBuilder { | |
|             StatusBuilder{status: ::core::default::Default::default(), | |
|                           in_reply_to_id: ::core::default::Default::default(), | |
|                           media_ids: ::core::default::Default::default(), | |
|                           sensitive: ::core::default::Default::default(), | |
|                           spoiler_text: ::core::default::Default::default(), | |
|                           content_type: ::core::default::Default::default(), | |
|                           visibility: ::core::default::Default::default(), | |
|                           language: ::core::default::Default::default(),} | |
|         } | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::clone::Clone for StatusBuilder { | |
|         #[inline] | |
|         fn clone(&self) -> StatusBuilder { | |
|             match *self { | |
|                 StatusBuilder { | |
|                 status: ref __self_0_0, | |
|                 in_reply_to_id: ref __self_0_1, | |
|                 media_ids: ref __self_0_2, | |
|                 sensitive: ref __self_0_3, | |
|                 spoiler_text: ref __self_0_4, | |
|                 content_type: ref __self_0_5, | |
|                 visibility: ref __self_0_6, | |
|                 language: ref __self_0_7 } => | |
|                 StatusBuilder{status: | |
|                                   ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                               in_reply_to_id: | |
|                                   ::core::clone::Clone::clone(&(*__self_0_1)), | |
|                               media_ids: | |
|                                   ::core::clone::Clone::clone(&(*__self_0_2)), | |
|                               sensitive: | |
|                                   ::core::clone::Clone::clone(&(*__self_0_3)), | |
|                               spoiler_text: | |
|                                   ::core::clone::Clone::clone(&(*__self_0_4)), | |
|                               content_type: | |
|                                   ::core::clone::Clone::clone(&(*__self_0_5)), | |
|                               visibility: | |
|                                   ::core::clone::Clone::clone(&(*__self_0_6)), | |
|                               language: | |
|                                   ::core::clone::Clone::clone(&(*__self_0_7)),}, | |
|             } | |
|         } | |
|     } | |
|     impl ::core::marker::StructuralPartialEq for StatusBuilder { } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::cmp::PartialEq for StatusBuilder { | |
|         #[inline] | |
|         fn eq(&self, other: &StatusBuilder) -> bool { | |
|             match *other { | |
|                 StatusBuilder { | |
|                 status: ref __self_1_0, | |
|                 in_reply_to_id: ref __self_1_1, | |
|                 media_ids: ref __self_1_2, | |
|                 sensitive: ref __self_1_3, | |
|                 spoiler_text: ref __self_1_4, | |
|                 content_type: ref __self_1_5, | |
|                 visibility: ref __self_1_6, | |
|                 language: ref __self_1_7 } => | |
|                 match *self { | |
|                     StatusBuilder { | |
|                     status: ref __self_0_0, | |
|                     in_reply_to_id: ref __self_0_1, | |
|                     media_ids: ref __self_0_2, | |
|                     sensitive: ref __self_0_3, | |
|                     spoiler_text: ref __self_0_4, | |
|                     content_type: ref __self_0_5, | |
|                     visibility: ref __self_0_6, | |
|                     language: ref __self_0_7 } => | |
|                     (*__self_0_0) == (*__self_1_0) && | |
|                         (*__self_0_1) == (*__self_1_1) && | |
|                         (*__self_0_2) == (*__self_1_2) && | |
|                         (*__self_0_3) == (*__self_1_3) && | |
|                         (*__self_0_4) == (*__self_1_4) && | |
|                         (*__self_0_5) == (*__self_1_5) && | |
|                         (*__self_0_6) == (*__self_1_6) && | |
|                         (*__self_0_7) == (*__self_1_7), | |
|                 }, | |
|             } | |
|         } | |
|         #[inline] | |
|         fn ne(&self, other: &StatusBuilder) -> bool { | |
|             match *other { | |
|                 StatusBuilder { | |
|                 status: ref __self_1_0, | |
|                 in_reply_to_id: ref __self_1_1, | |
|                 media_ids: ref __self_1_2, | |
|                 sensitive: ref __self_1_3, | |
|                 spoiler_text: ref __self_1_4, | |
|                 content_type: ref __self_1_5, | |
|                 visibility: ref __self_1_6, | |
|                 language: ref __self_1_7 } => | |
|                 match *self { | |
|                     StatusBuilder { | |
|                     status: ref __self_0_0, | |
|                     in_reply_to_id: ref __self_0_1, | |
|                     media_ids: ref __self_0_2, | |
|                     sensitive: ref __self_0_3, | |
|                     spoiler_text: ref __self_0_4, | |
|                     content_type: ref __self_0_5, | |
|                     visibility: ref __self_0_6, | |
|                     language: ref __self_0_7 } => | |
|                     (*__self_0_0) != (*__self_1_0) || | |
|                         (*__self_0_1) != (*__self_1_1) || | |
|                         (*__self_0_2) != (*__self_1_2) || | |
|                         (*__self_0_3) != (*__self_1_3) || | |
|                         (*__self_0_4) != (*__self_1_4) || | |
|                         (*__self_0_5) != (*__self_1_5) || | |
|                         (*__self_0_6) != (*__self_1_6) || | |
|                         (*__self_0_7) != (*__self_1_7), | |
|                 }, | |
|             } | |
|         } | |
|     } | |
|     impl StatusBuilder { | |
|         /// Create a StatusBuilder object | |
|         /// | |
|         /// # Example | |
|         /// | |
|         /// ```rust,no_run | |
|         /// # use elefren::prelude::*; | |
|         /// # use elefren::status_builder::Visibility; | |
|         /// # fn main() -> Result<(), elefren::Error> { | |
|         /// # let data = Data { | |
|         /// #     base: "".into(), | |
|         /// #     client_id: "".into(), | |
|         /// #     client_secret: "".into(), | |
|         /// #     redirect: "".into(), | |
|         /// #     token: "".into(), | |
|         /// # }; | |
|         /// # let client = Mastodon::from(data); | |
|         /// let status = StatusBuilder::new() | |
|         ///     .status("a status") | |
|         ///     .visibility(Visibility::Public) | |
|         ///     .build()?; | |
|         /// client.new_status(status)?; | |
|         /// #   Ok(()) | |
|         /// # } | |
|         /// ``` | |
|         pub fn new() -> StatusBuilder { StatusBuilder::default() } | |
|         /// Set the text for the post | |
|         /// | |
|         /// # Example | |
|         /// | |
|         /// ```rust | |
|         /// # use elefren::prelude::*; | |
|         /// # fn main() -> Result<(), elefren::Error> { | |
|         /// let status = StatusBuilder::new().status("awoooooo").build()?; | |
|         /// #   Ok(()) | |
|         /// # } | |
|         /// ``` | |
|         pub fn status<I: Into<String>>(&mut self, status: I) -> &mut Self { | |
|             self.status = Some(status.into()); | |
|             self | |
|         } | |
|         /// Set the in_reply_to_id for the post | |
|         /// | |
|         /// # Example | |
|         /// | |
|         /// ```rust | |
|         /// # use elefren::prelude::*; | |
|         /// # fn main() -> Result<(), elefren::Error> { | |
|         /// let status = StatusBuilder::new() | |
|         ///     .status("awooooo") | |
|         ///     .in_reply_to("12345") | |
|         ///     .build()?; | |
|         /// #   Ok(()) | |
|         /// # } | |
|         /// ``` | |
|         pub fn in_reply_to<I: Into<String>>(&mut self, id: I) -> &mut Self { | |
|             self.in_reply_to_id = Some(id.into()); | |
|             self | |
|         } | |
|         /// Set the media_ids for the post | |
|         /// | |
|         /// # Example | |
|         /// | |
|         /// ```rust | |
|         /// # use elefren::prelude::*; | |
|         /// # fn main() -> Result<(), elefren::Error> { | |
|         /// let status = StatusBuilder::new().media_ids(&["foo", "bar"]).build()?; | |
|         /// #   Ok(()) | |
|         /// # } | |
|         /// ``` | |
|         pub fn media_ids<S: std::fmt::Display, | |
|                          I: IntoIterator<Item = S>>(&mut self, ids: I) | |
|          -> &mut Self { | |
|             self.media_ids = | |
|                 Some(ids.into_iter().map(|s| | |
|                                              s.to_string()).collect::<Vec<_>>()); | |
|             self | |
|         } | |
|         /// Set the sensitive attribute for the post | |
|         /// | |
|         /// # Example | |
|         /// | |
|         /// ```rust | |
|         /// # use elefren::prelude::*; | |
|         /// # fn main() -> Result<(), elefren::Error> { | |
|         /// let status = StatusBuilder::new() | |
|         ///     .media_ids(&["foo", "bar"]) | |
|         ///     .sensitive(true) | |
|         ///     .build()?; | |
|         /// #   Ok(()) | |
|         /// # } | |
|         /// ``` | |
|         pub fn sensitive(&mut self, sensitive: bool) -> &mut Self { | |
|             self.sensitive = Some(sensitive); | |
|             self | |
|         } | |
|         /// Set the spoiler text/CW for the post | |
|         /// | |
|         /// # Example | |
|         /// | |
|         /// ```rust | |
|         /// # use elefren::prelude::*; | |
|         /// # fn main() -> Result<(), elefren::Error> { | |
|         /// let status = StatusBuilder::new() | |
|         ///     .status("awoooo!!") | |
|         ///     .spoiler_text("awoo inside") | |
|         ///     .build()?; | |
|         /// #   Ok(()) | |
|         /// # } | |
|         /// ``` | |
|         pub fn spoiler_text<I: Into<String>>(&mut self, spoiler_text: I) | |
|          -> &mut Self { | |
|             self.spoiler_text = Some(spoiler_text.into()); | |
|             self | |
|         } | |
|         /// Set the content type of the post | |
|         /// | |
|         /// This is a Pleroma and Glitch-soc extension of the API. | |
|         /// | |
|         /// # Possible values | |
|         /// - `text/plain` | |
|         /// - `text/html` | |
|         /// - `text/markdown` | |
|         /// - `text/bbcode` (Pleroma only) | |
|         /// | |
|         /// The set of supported content types may vary by server. | |
|         /// | |
|         /// # Example | |
|         /// | |
|         /// ```rust | |
|         /// # use elefren::prelude::*; | |
|         /// # fn main() -> Result<(), elefren::Error> { | |
|         /// let status = StatusBuilder::new() | |
|         ///     .status("<b>thicc</b>") | |
|         ///     .content_type("text/html") | |
|         ///     .build()?; | |
|         /// #   Ok(()) | |
|         /// # } | |
|         /// ``` | |
|         pub fn content_type<I: Into<String>>(&mut self, content_type: I) | |
|          -> &mut Self { | |
|             self.content_type = Some(content_type.into()); | |
|             self | |
|         } | |
|         /// Set the visibility for the post | |
|         /// | |
|         /// # Example | |
|         /// | |
|         /// ```rust | |
|         /// # use elefren::prelude::*; | |
|         /// # use elefren::status_builder::Visibility; | |
|         /// # fn main() -> Result<(), elefren::Error> { | |
|         /// let status = StatusBuilder::new() | |
|         ///     .status("awooooooo") | |
|         ///     .visibility(Visibility::Public) | |
|         ///     .build()?; | |
|         /// #   Ok(()) | |
|         /// # } | |
|         /// ``` | |
|         pub fn visibility(&mut self, visibility: Visibility) -> &mut Self { | |
|             self.visibility = Some(visibility); | |
|             self | |
|         } | |
|         /// Set the language for the post | |
|         /// | |
|         /// # Example | |
|         /// | |
|         /// ```rust | |
|         /// # use elefren::prelude::*; | |
|         /// # use elefren::Language; | |
|         /// # fn main() -> Result<(), elefren::Error> { | |
|         /// let status = StatusBuilder::new() | |
|         ///     .status("awoo!!!!") | |
|         ///     .language(Language::Eng) | |
|         ///     .build()?; | |
|         /// #   Ok(()) | |
|         /// # } | |
|         /// ``` | |
|         pub fn language(&mut self, language: Language) -> &mut Self { | |
|             self.language = Some(language); | |
|             self | |
|         } | |
|         /// Constructs a NewStatus | |
|         /// | |
|         /// # Example | |
|         /// | |
|         /// ```rust | |
|         /// # use elefren::prelude::*; | |
|         /// # fn main() -> Result<(), elefren::Error> { | |
|         /// let status = StatusBuilder::new().status("awoo!").build()?; | |
|         /// #   Ok(()) | |
|         /// # } | |
|         /// ``` | |
|         pub fn build(&self) -> Result<NewStatus, crate::Error> { | |
|             if self.status.is_none() && self.media_ids.is_none() { | |
|                 return Err(crate::Error::Other("status text or media ids are required in order to post a status".to_string())); | |
|             } | |
|             Ok(NewStatus{status: self.status.clone(), | |
|                          in_reply_to_id: self.in_reply_to_id.clone(), | |
|                          media_ids: self.media_ids.clone(), | |
|                          sensitive: self.sensitive.clone(), | |
|                          spoiler_text: self.spoiler_text.clone(), | |
|                          visibility: self.visibility.clone(), | |
|                          language: self.language.clone(), | |
|                          content_type: self.content_type.clone(),}) | |
|         } | |
|     } | |
|     /// Represents a post that can be sent to the POST /api/v1/status endpoint | |
|     pub struct NewStatus { | |
|         #[serde(skip_serializing_if = "Option::is_none")] | |
|         status: Option<String>, | |
|         #[serde(skip_serializing_if = "Option::is_none")] | |
|         in_reply_to_id: Option<String>, | |
|         #[serde(skip_serializing_if = "Option::is_none")] | |
|         media_ids: Option<Vec<String>>, | |
|         #[serde(skip_serializing_if = "Option::is_none")] | |
|         sensitive: Option<bool>, | |
|         #[serde(skip_serializing_if = "Option::is_none")] | |
|         spoiler_text: Option<String>, | |
|         #[serde(skip_serializing_if = "Option::is_none")] | |
|         visibility: Option<Visibility>, | |
|         #[serde(skip_serializing_if = "Option::is_none")] | |
|         language: Option<Language>, | |
|         #[serde(skip_serializing_if = "Option::is_none")] | |
|         content_type: Option<String>, | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::fmt::Debug for NewStatus { | |
|         fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result { | |
|             match *self { | |
|                 NewStatus { | |
|                 status: ref __self_0_0, | |
|                 in_reply_to_id: ref __self_0_1, | |
|                 media_ids: ref __self_0_2, | |
|                 sensitive: ref __self_0_3, | |
|                 spoiler_text: ref __self_0_4, | |
|                 visibility: ref __self_0_5, | |
|                 language: ref __self_0_6, | |
|                 content_type: ref __self_0_7 } => { | |
|                     let mut debug_trait_builder = f.debug_struct("NewStatus"); | |
|                     let _ = | |
|                         debug_trait_builder.field("status", &&(*__self_0_0)); | |
|                     let _ = | |
|                         debug_trait_builder.field("in_reply_to_id", | |
|                                                   &&(*__self_0_1)); | |
|                     let _ = | |
|                         debug_trait_builder.field("media_ids", | |
|                                                   &&(*__self_0_2)); | |
|                     let _ = | |
|                         debug_trait_builder.field("sensitive", | |
|                                                   &&(*__self_0_3)); | |
|                     let _ = | |
|                         debug_trait_builder.field("spoiler_text", | |
|                                                   &&(*__self_0_4)); | |
|                     let _ = | |
|                         debug_trait_builder.field("visibility", | |
|                                                   &&(*__self_0_5)); | |
|                     let _ = | |
|                         debug_trait_builder.field("language", | |
|                                                   &&(*__self_0_6)); | |
|                     let _ = | |
|                         debug_trait_builder.field("content_type", | |
|                                                   &&(*__self_0_7)); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|             } | |
|         } | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::default::Default for NewStatus { | |
|         #[inline] | |
|         fn default() -> NewStatus { | |
|             NewStatus{status: ::core::default::Default::default(), | |
|                       in_reply_to_id: ::core::default::Default::default(), | |
|                       media_ids: ::core::default::Default::default(), | |
|                       sensitive: ::core::default::Default::default(), | |
|                       spoiler_text: ::core::default::Default::default(), | |
|                       visibility: ::core::default::Default::default(), | |
|                       language: ::core::default::Default::default(), | |
|                       content_type: ::core::default::Default::default(),} | |
|         } | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::clone::Clone for NewStatus { | |
|         #[inline] | |
|         fn clone(&self) -> NewStatus { | |
|             match *self { | |
|                 NewStatus { | |
|                 status: ref __self_0_0, | |
|                 in_reply_to_id: ref __self_0_1, | |
|                 media_ids: ref __self_0_2, | |
|                 sensitive: ref __self_0_3, | |
|                 spoiler_text: ref __self_0_4, | |
|                 visibility: ref __self_0_5, | |
|                 language: ref __self_0_6, | |
|                 content_type: ref __self_0_7 } => | |
|                 NewStatus{status: ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                           in_reply_to_id: | |
|                               ::core::clone::Clone::clone(&(*__self_0_1)), | |
|                           media_ids: | |
|                               ::core::clone::Clone::clone(&(*__self_0_2)), | |
|                           sensitive: | |
|                               ::core::clone::Clone::clone(&(*__self_0_3)), | |
|                           spoiler_text: | |
|                               ::core::clone::Clone::clone(&(*__self_0_4)), | |
|                           visibility: | |
|                               ::core::clone::Clone::clone(&(*__self_0_5)), | |
|                           language: | |
|                               ::core::clone::Clone::clone(&(*__self_0_6)), | |
|                           content_type: | |
|                               ::core::clone::Clone::clone(&(*__self_0_7)),}, | |
|             } | |
|         } | |
|     } | |
|     #[doc(hidden)] | |
|     #[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
|     const _IMPL_SERIALIZE_FOR_NewStatus: () = | |
|         { | |
|             #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|             extern crate serde as _serde; | |
|             #[allow(unused_macros)] | |
|             macro_rules! try { | |
|                 ($ __expr : expr) => | |
|                 { | |
|                     match $ __expr | |
|                     { | |
|                         _serde :: export :: Ok(__val) => __val, _serde :: | |
|                         export :: Err(__err) => | |
|                         { return _serde :: export :: Err(__err) ; } | |
|                     } | |
|                 } | |
|             } | |
|             #[automatically_derived] | |
|             impl _serde::Serialize for NewStatus { | |
|                 fn serialize<__S>(&self, __serializer: __S) | |
|                  -> _serde::export::Result<__S::Ok, __S::Error> where | |
|                  __S: _serde::Serializer { | |
|                     let mut __serde_state = | |
|                         match _serde::Serializer::serialize_struct(__serializer, | |
|                                                                    "NewStatus", | |
|                                                                    false as | |
|                                                                        usize + | |
|                                                                        if Option::is_none(&self.status) | |
|                                                                           { | |
|                                                                            0 | |
|                                                                        } else { | |
|                                                                            1 | |
|                                                                        } + | |
|                                                                        if Option::is_none(&self.in_reply_to_id) | |
|                                                                           { | |
|                                                                            0 | |
|                                                                        } else { | |
|                                                                            1 | |
|                                                                        } + | |
|                                                                        if Option::is_none(&self.media_ids) | |
|                                                                           { | |
|                                                                            0 | |
|                                                                        } else { | |
|                                                                            1 | |
|                                                                        } + | |
|                                                                        if Option::is_none(&self.sensitive) | |
|                                                                           { | |
|                                                                            0 | |
|                                                                        } else { | |
|                                                                            1 | |
|                                                                        } + | |
|                                                                        if Option::is_none(&self.spoiler_text) | |
|                                                                           { | |
|                                                                            0 | |
|                                                                        } else { | |
|                                                                            1 | |
|                                                                        } + | |
|                                                                        if Option::is_none(&self.visibility) | |
|                                                                           { | |
|                                                                            0 | |
|                                                                        } else { | |
|                                                                            1 | |
|                                                                        } + | |
|                                                                        if Option::is_none(&self.language) | |
|                                                                           { | |
|                                                                            0 | |
|                                                                        } else { | |
|                                                                            1 | |
|                                                                        } + | |
|                                                                        if Option::is_none(&self.content_type) | |
|                                                                           { | |
|                                                                            0 | |
|                                                                        } else { | |
|                                                                            1 | |
|                                                                        }) { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                     if !Option::is_none(&self.status) { | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "status", | |
|                                                                             &self.status) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                     } else { | |
|                         match _serde::ser::SerializeStruct::skip_field(&mut __serde_state, | |
|                                                                        "status") | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                     } | |
|                     if !Option::is_none(&self.in_reply_to_id) { | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "in_reply_to_id", | |
|                                                                             &self.in_reply_to_id) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                     } else { | |
|                         match _serde::ser::SerializeStruct::skip_field(&mut __serde_state, | |
|                                                                        "in_reply_to_id") | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                     } | |
|                     if !Option::is_none(&self.media_ids) { | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "media_ids", | |
|                                                                             &self.media_ids) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                     } else { | |
|                         match _serde::ser::SerializeStruct::skip_field(&mut __serde_state, | |
|                                                                        "media_ids") | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                     } | |
|                     if !Option::is_none(&self.sensitive) { | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "sensitive", | |
|                                                                             &self.sensitive) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                     } else { | |
|                         match _serde::ser::SerializeStruct::skip_field(&mut __serde_state, | |
|                                                                        "sensitive") | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                     } | |
|                     if !Option::is_none(&self.spoiler_text) { | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "spoiler_text", | |
|                                                                             &self.spoiler_text) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                     } else { | |
|                         match _serde::ser::SerializeStruct::skip_field(&mut __serde_state, | |
|                                                                        "spoiler_text") | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                     } | |
|                     if !Option::is_none(&self.visibility) { | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "visibility", | |
|                                                                             &self.visibility) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                     } else { | |
|                         match _serde::ser::SerializeStruct::skip_field(&mut __serde_state, | |
|                                                                        "visibility") | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                     } | |
|                     if !Option::is_none(&self.language) { | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "language", | |
|                                                                             &self.language) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                     } else { | |
|                         match _serde::ser::SerializeStruct::skip_field(&mut __serde_state, | |
|                                                                        "language") | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                     } | |
|                     if !Option::is_none(&self.content_type) { | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "content_type", | |
|                                                                             &self.content_type) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                     } else { | |
|                         match _serde::ser::SerializeStruct::skip_field(&mut __serde_state, | |
|                                                                        "content_type") | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                     } | |
|                     _serde::ser::SerializeStruct::end(__serde_state) | |
|                 } | |
|             } | |
|         }; | |
|     impl ::core::marker::StructuralPartialEq for NewStatus { } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::cmp::PartialEq for NewStatus { | |
|         #[inline] | |
|         fn eq(&self, other: &NewStatus) -> bool { | |
|             match *other { | |
|                 NewStatus { | |
|                 status: ref __self_1_0, | |
|                 in_reply_to_id: ref __self_1_1, | |
|                 media_ids: ref __self_1_2, | |
|                 sensitive: ref __self_1_3, | |
|                 spoiler_text: ref __self_1_4, | |
|                 visibility: ref __self_1_5, | |
|                 language: ref __self_1_6, | |
|                 content_type: ref __self_1_7 } => | |
|                 match *self { | |
|                     NewStatus { | |
|                     status: ref __self_0_0, | |
|                     in_reply_to_id: ref __self_0_1, | |
|                     media_ids: ref __self_0_2, | |
|                     sensitive: ref __self_0_3, | |
|                     spoiler_text: ref __self_0_4, | |
|                     visibility: ref __self_0_5, | |
|                     language: ref __self_0_6, | |
|                     content_type: ref __self_0_7 } => | |
|                     (*__self_0_0) == (*__self_1_0) && | |
|                         (*__self_0_1) == (*__self_1_1) && | |
|                         (*__self_0_2) == (*__self_1_2) && | |
|                         (*__self_0_3) == (*__self_1_3) && | |
|                         (*__self_0_4) == (*__self_1_4) && | |
|                         (*__self_0_5) == (*__self_1_5) && | |
|                         (*__self_0_6) == (*__self_1_6) && | |
|                         (*__self_0_7) == (*__self_1_7), | |
|                 }, | |
|             } | |
|         } | |
|         #[inline] | |
|         fn ne(&self, other: &NewStatus) -> bool { | |
|             match *other { | |
|                 NewStatus { | |
|                 status: ref __self_1_0, | |
|                 in_reply_to_id: ref __self_1_1, | |
|                 media_ids: ref __self_1_2, | |
|                 sensitive: ref __self_1_3, | |
|                 spoiler_text: ref __self_1_4, | |
|                 visibility: ref __self_1_5, | |
|                 language: ref __self_1_6, | |
|                 content_type: ref __self_1_7 } => | |
|                 match *self { | |
|                     NewStatus { | |
|                     status: ref __self_0_0, | |
|                     in_reply_to_id: ref __self_0_1, | |
|                     media_ids: ref __self_0_2, | |
|                     sensitive: ref __self_0_3, | |
|                     spoiler_text: ref __self_0_4, | |
|                     visibility: ref __self_0_5, | |
|                     language: ref __self_0_6, | |
|                     content_type: ref __self_0_7 } => | |
|                     (*__self_0_0) != (*__self_1_0) || | |
|                         (*__self_0_1) != (*__self_1_1) || | |
|                         (*__self_0_2) != (*__self_1_2) || | |
|                         (*__self_0_3) != (*__self_1_3) || | |
|                         (*__self_0_4) != (*__self_1_4) || | |
|                         (*__self_0_5) != (*__self_1_5) || | |
|                         (*__self_0_6) != (*__self_1_6) || | |
|                         (*__self_0_7) != (*__self_1_7), | |
|                 }, | |
|             } | |
|         } | |
|     } | |
|     /// The visibility of a status. | |
|     #[serde(rename_all = "lowercase")] | |
|     pub enum Visibility { | |
| 
 | |
|         /// A Direct message to a user | |
|         Direct, | |
| 
 | |
|         /// Only available to followers | |
|         Private, | |
| 
 | |
|         /// Not shown in public timelines | |
|         Unlisted, | |
| 
 | |
|         /// Posted to public timelines | |
|         Public, | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::clone::Clone for Visibility { | |
|         #[inline] | |
|         fn clone(&self) -> Visibility { { *self } } | |
|     } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::marker::Copy for Visibility { } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::fmt::Debug for Visibility { | |
|         fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result { | |
|             match (&*self,) { | |
|                 (&Visibility::Direct,) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Direct"); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Visibility::Private,) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Private"); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Visibility::Unlisted,) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Unlisted"); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|                 (&Visibility::Public,) => { | |
|                     let mut debug_trait_builder = f.debug_tuple("Public"); | |
|                     debug_trait_builder.finish() | |
|                 } | |
|             } | |
|         } | |
|     } | |
|     #[doc(hidden)] | |
|     #[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
|     const _IMPL_DESERIALIZE_FOR_Visibility: () = | |
|         { | |
|             #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|             extern crate serde as _serde; | |
|             #[allow(unused_macros)] | |
|             macro_rules! try { | |
|                 ($ __expr : expr) => | |
|                 { | |
|                     match $ __expr | |
|                     { | |
|                         _serde :: export :: Ok(__val) => __val, _serde :: | |
|                         export :: Err(__err) => | |
|                         { return _serde :: export :: Err(__err) ; } | |
|                     } | |
|                 } | |
|             } | |
|             #[automatically_derived] | |
|             impl <'de> _serde::Deserialize<'de> for Visibility { | |
|                 fn deserialize<__D>(__deserializer: __D) | |
|                  -> _serde::export::Result<Self, __D::Error> where | |
|                  __D: _serde::Deserializer<'de> { | |
|                     #[allow(non_camel_case_types)] | |
|                     enum __Field { __field0, __field1, __field2, __field3, } | |
|                     struct __FieldVisitor; | |
|                     impl <'de> _serde::de::Visitor<'de> for __FieldVisitor { | |
|                         type Value = __Field; | |
|                         fn expecting(&self, | |
|                                      __formatter: | |
|                                          &mut _serde::export::Formatter) | |
|                          -> _serde::export::fmt::Result { | |
|                             _serde::export::Formatter::write_str(__formatter, | |
|                                                                  "variant identifier") | |
|                         } | |
|                         fn visit_u64<__E>(self, __value: u64) | |
|                          -> _serde::export::Result<Self::Value, __E> where | |
|                          __E: _serde::de::Error { | |
|                             match __value { | |
|                                 0u64 => _serde::export::Ok(__Field::__field0), | |
|                                 1u64 => _serde::export::Ok(__Field::__field1), | |
|                                 2u64 => _serde::export::Ok(__Field::__field2), | |
|                                 3u64 => _serde::export::Ok(__Field::__field3), | |
|                                 _ => | |
|                                 _serde::export::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value), | |
|                                                                                      &"variant index 0 <= i < 4")), | |
|                             } | |
|                         } | |
|                         fn visit_str<__E>(self, __value: &str) | |
|                          -> _serde::export::Result<Self::Value, __E> where | |
|                          __E: _serde::de::Error { | |
|                             match __value { | |
|                                 "direct" => | |
|                                 _serde::export::Ok(__Field::__field0), | |
|                                 "private" => | |
|                                 _serde::export::Ok(__Field::__field1), | |
|                                 "unlisted" => | |
|                                 _serde::export::Ok(__Field::__field2), | |
|                                 "public" => | |
|                                 _serde::export::Ok(__Field::__field3), | |
|                                 _ => { | |
|                                     _serde::export::Err(_serde::de::Error::unknown_variant(__value, | |
|                                                                                            VARIANTS)) | |
|                                 } | |
|                             } | |
|                         } | |
|                         fn visit_bytes<__E>(self, __value: &[u8]) | |
|                          -> _serde::export::Result<Self::Value, __E> where | |
|                          __E: _serde::de::Error { | |
|                             match __value { | |
|                                 b"direct" => | |
|                                 _serde::export::Ok(__Field::__field0), | |
|                                 b"private" => | |
|                                 _serde::export::Ok(__Field::__field1), | |
|                                 b"unlisted" => | |
|                                 _serde::export::Ok(__Field::__field2), | |
|                                 b"public" => | |
|                                 _serde::export::Ok(__Field::__field3), | |
|                                 _ => { | |
|                                     let __value = | |
|                                         &_serde::export::from_utf8_lossy(__value); | |
|                                     _serde::export::Err(_serde::de::Error::unknown_variant(__value, | |
|                                                                                            VARIANTS)) | |
|                                 } | |
|                             } | |
|                         } | |
|                     } | |
|                     impl <'de> _serde::Deserialize<'de> for __Field { | |
|                         #[inline] | |
|                         fn deserialize<__D>(__deserializer: __D) | |
|                          -> _serde::export::Result<Self, __D::Error> where | |
|                          __D: _serde::Deserializer<'de> { | |
|                             _serde::Deserializer::deserialize_identifier(__deserializer, | |
|                                                                          __FieldVisitor) | |
|                         } | |
|                     } | |
|                     struct __Visitor<'de> { | |
|                         marker: _serde::export::PhantomData<Visibility>, | |
|                         lifetime: _serde::export::PhantomData<&'de ()>, | |
|                     } | |
|                     impl <'de> _serde::de::Visitor<'de> for __Visitor<'de> { | |
|                         type Value = Visibility; | |
|                         fn expecting(&self, | |
|                                      __formatter: | |
|                                          &mut _serde::export::Formatter) | |
|                          -> _serde::export::fmt::Result { | |
|                             _serde::export::Formatter::write_str(__formatter, | |
|                                                                  "enum Visibility") | |
|                         } | |
|                         fn visit_enum<__A>(self, __data: __A) | |
|                          -> _serde::export::Result<Self::Value, __A::Error> | |
|                          where __A: _serde::de::EnumAccess<'de> { | |
|                             match match _serde::de::EnumAccess::variant(__data) | |
|                                       { | |
|                                       _serde::export::Ok(__val) => __val, | |
|                                       _serde::export::Err(__err) => { | |
|                                           return _serde::export::Err(__err); | |
|                                       } | |
|                                   } { | |
|                                 (__Field::__field0, __variant) => { | |
|                                     match _serde::de::VariantAccess::unit_variant(__variant) | |
|                                         { | |
|                                         _serde::export::Ok(__val) => __val, | |
|                                         _serde::export::Err(__err) => { | |
|                                             return _serde::export::Err(__err); | |
|                                         } | |
|                                     }; | |
|                                     _serde::export::Ok(Visibility::Direct) | |
|                                 } | |
|                                 (__Field::__field1, __variant) => { | |
|                                     match _serde::de::VariantAccess::unit_variant(__variant) | |
|                                         { | |
|                                         _serde::export::Ok(__val) => __val, | |
|                                         _serde::export::Err(__err) => { | |
|                                             return _serde::export::Err(__err); | |
|                                         } | |
|                                     }; | |
|                                     _serde::export::Ok(Visibility::Private) | |
|                                 } | |
|                                 (__Field::__field2, __variant) => { | |
|                                     match _serde::de::VariantAccess::unit_variant(__variant) | |
|                                         { | |
|                                         _serde::export::Ok(__val) => __val, | |
|                                         _serde::export::Err(__err) => { | |
|                                             return _serde::export::Err(__err); | |
|                                         } | |
|                                     }; | |
|                                     _serde::export::Ok(Visibility::Unlisted) | |
|                                 } | |
|                                 (__Field::__field3, __variant) => { | |
|                                     match _serde::de::VariantAccess::unit_variant(__variant) | |
|                                         { | |
|                                         _serde::export::Ok(__val) => __val, | |
|                                         _serde::export::Err(__err) => { | |
|                                             return _serde::export::Err(__err); | |
|                                         } | |
|                                     }; | |
|                                     _serde::export::Ok(Visibility::Public) | |
|                                 } | |
|                             } | |
|                         } | |
|                     } | |
|                     const VARIANTS: &'static [&'static str] = | |
|                         &["direct", "private", "unlisted", "public"]; | |
|                     _serde::Deserializer::deserialize_enum(__deserializer, | |
|                                                            "Visibility", | |
|                                                            VARIANTS, | |
|                                                            __Visitor{marker: | |
|                                                                          _serde::export::PhantomData::<Visibility>, | |
|                                                                      lifetime: | |
|                                                                          _serde::export::PhantomData,}) | |
|                 } | |
|             } | |
|         }; | |
|     #[doc(hidden)] | |
|     #[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
|     const _IMPL_SERIALIZE_FOR_Visibility: () = | |
|         { | |
|             #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|             extern crate serde as _serde; | |
|             #[allow(unused_macros)] | |
|             macro_rules! try { | |
|                 ($ __expr : expr) => | |
|                 { | |
|                     match $ __expr | |
|                     { | |
|                         _serde :: export :: Ok(__val) => __val, _serde :: | |
|                         export :: Err(__err) => | |
|                         { return _serde :: export :: Err(__err) ; } | |
|                     } | |
|                 } | |
|             } | |
|             #[automatically_derived] | |
|             impl _serde::Serialize for Visibility { | |
|                 fn serialize<__S>(&self, __serializer: __S) | |
|                  -> _serde::export::Result<__S::Ok, __S::Error> where | |
|                  __S: _serde::Serializer { | |
|                     match *self { | |
|                         Visibility::Direct => | |
|                         _serde::Serializer::serialize_unit_variant(__serializer, | |
|                                                                    "Visibility", | |
|                                                                    0u32, | |
|                                                                    "direct"), | |
|                         Visibility::Private => | |
|                         _serde::Serializer::serialize_unit_variant(__serializer, | |
|                                                                    "Visibility", | |
|                                                                    1u32, | |
|                                                                    "private"), | |
|                         Visibility::Unlisted => | |
|                         _serde::Serializer::serialize_unit_variant(__serializer, | |
|                                                                    "Visibility", | |
|                                                                    2u32, | |
|                                                                    "unlisted"), | |
|                         Visibility::Public => | |
|                         _serde::Serializer::serialize_unit_variant(__serializer, | |
|                                                                    "Visibility", | |
|                                                                    3u32, | |
|                                                                    "public"), | |
|                     } | |
|                 } | |
|             } | |
|         }; | |
|     impl ::core::marker::StructuralPartialEq for Visibility { } | |
|     #[automatically_derived] | |
|     #[allow(unused_qualifications)] | |
|     impl ::core::cmp::PartialEq for Visibility { | |
|         #[inline] | |
|         fn eq(&self, other: &Visibility) -> bool { | |
|             { | |
|                 let __self_vi = | |
|                     unsafe { ::core::intrinsics::discriminant_value(&*self) }; | |
|                 let __arg_1_vi = | |
|                     unsafe { | |
|                         ::core::intrinsics::discriminant_value(&*other) | |
|                     }; | |
|                 if true && __self_vi == __arg_1_vi { | |
|                     match (&*self, &*other) { _ => true, } | |
|                 } else { false } | |
|             } | |
|         } | |
|     } | |
|     impl Default for Visibility { | |
|         fn default() -> Self { Visibility::Public } | |
|     } | |
| } | |
| #[macro_use] | |
| mod macros { | |
|     macro_rules! methods { | |
|         ($ ($ method : ident,) +) => | |
|         { | |
|             $ | |
|             (fn $ method < T : for < 'de > serde :: Deserialize < 'de >> | |
|              (& self, url : String) -> Result < T > | |
|              { | |
|                  let response = self . send(self . client . $ method(& url)) ? | |
|                  ; deserialise(response) | |
|              }) + | |
|         } ; | |
|     } | |
|     macro_rules! paged_routes { | |
|         (($ method : ident) $ name : ident : $ url : expr => $ ret : ty, $ | |
|          ($ rest : tt) *) => | |
|         { | |
|             doc_comment ! | |
|             { | |
|                 concat ! | |
|                 ("Equivalent to `", stringify ! ($ method), " /api/v1/", $ | |
|                  url, "`\n# Errors\nIf `access_token` is not set.", "\n", | |
|                  "```no_run", "# extern crate elefren;\n", | |
|                  "# use elefren::prelude::*;\n", | |
|                  "# fn main() -> Result<(), Box<::std::error::Error>> {\n", | |
|                  "# let data = Data {\n", | |
|                  "#     base: \"https://example.com\".into(),\n", | |
|                  "#     client_id: \"taosuah\".into(),\n", | |
|                  "#     client_secret: \"htnjdiuae\".into(),\n", | |
|                  "#     redirect: \"https://example.com\".into(),\n", | |
|                  "#     token: \"tsaohueaheis\".into(),\n", "# };\n", | |
|                  "let client = Mastodon::from(data);\n", "client.", stringify | |
|                  ! ($ name), "();\n", "#   Ok(())\n", "# }\n", "```"), async | |
|                 fn $ name(& self) -> Result < Page < '_, $ ret >> | |
|                 { | |
|                     let url = self . route(concat ! ("/api/v1/", $ url)) ; let | |
|                     response = self . send(self . client . $ method(& url)) ? | |
|                     ; Page :: new(self, response) | |
|                 } | |
|             } paged_routes ! { $ ($ rest) * } | |
|         } ; | |
|         ((get($ ($ (# [$ m : meta]) * $ param : ident : $ typ : ty,) *)) $ | |
|          name : ident : $ url : expr => $ ret : ty, $ ($ rest : tt) *) => | |
|         { | |
|             doc_comment ! | |
|             { | |
|                 concat ! | |
|                 ("Equivalent to `get /api/v1/", $ url, | |
|                  "`\n# Errors\nIf `access_token` is not set."), async fn $ | |
|                 name < 'a > (& self, $ ($ param : $ typ,) *) -> Result < Page | |
|                 < '_, $ ret >> | |
|                 { | |
|                     use serde_urlencoded ; # [derive(Serialize)] struct Data < | |
|                     'a > | |
|                     { | |
|                         $ ($ (# [$ m]) * $ param : $ typ,) * # [serde(skip)] | |
|                         _marker : :: std :: marker :: PhantomData < & 'a () >, | |
|                     } let qs_data = Data | |
|                     { | |
|                         $ ($ param : $ param,) * _marker : :: std :: marker :: | |
|                         PhantomData, | |
|                     } ; let qs = serde_urlencoded :: to_string(& qs_data) ? ; | |
|                     let url = format ! | |
|                     (concat ! ("/api/v1/", $ url, "?{}"), & qs) ; let response | |
|                     = self . send(self . client . get(& url)) ? ; Page :: | |
|                     new(self, response) | |
|                 } | |
|             } paged_routes ! { $ ($ rest) * } | |
|         } ; () => { } | |
|     } | |
|     macro_rules! route_v2 { | |
|         ((get($ ($ param : ident : $ typ : ty,) *)) $ name : ident : $ url : | |
|          expr => $ ret : ty, $ ($ rest : tt) *) => | |
|         { | |
|             doc_comment ! | |
|             { | |
|                 concat ! | |
|                 ("Equivalent to `get /api/v2/", $ url, | |
|                  "`\n# Errors\nIf `access_token` is not set."), fn $ name < 'a | |
|                 > (& self, $ ($ param : $ typ,) *) -> Result < $ ret > | |
|                 { | |
|                     use serde_urlencoded ; # [derive(Serialize)] struct Data < | |
|                     'a > | |
|                     { | |
|                         $ ($ param : $ typ,) * # [serde(skip)] _marker : :: | |
|                         std :: marker :: PhantomData < & 'a () >, | |
|                     } let qs_data = Data | |
|                     { | |
|                         $ ($ param : $ param,) * _marker : :: std :: marker :: | |
|                         PhantomData, | |
|                     } ; let qs = serde_urlencoded :: to_string(& qs_data) ? ; | |
|                     let url = format ! | |
|                     (concat ! ("/api/v2/", $ url, "?{}"), & qs) ; | |
|                     Ok(self . get(self . route(& url)) ?) | |
|                 } | |
|             } route_v2 ! { $ ($ rest) * } | |
|         } ; () => { } | |
|     } | |
|     macro_rules! route { | |
|         ((post multipart($ ($ param : ident : $ typ : ty,) *)) $ name : ident | |
|          : $ url : expr => $ ret : ty, $ ($ rest : tt) *) => | |
|         { | |
|             doc_comment ! | |
|             { | |
|                 concat ! | |
|                 ("Equivalent to `post /api/v1/", $ url, | |
|                  "`\n# Errors\nIf `access_token` is not set."), fn $ | |
|                 name(& self, $ ($ param : $ typ,) *) -> Result < $ ret > | |
|                 { | |
|                     use reqwest :: multipart :: Form ; let form_data = Form :: | |
|                     new() $ | |
|                     (. file(stringify ! ($ param), $ param . as_ref()) ?) * ; | |
|                     let response = self . | |
|                     send(self . client . | |
|                          post(& self . route(concat ! ("/api/v1/", $ url))) . | |
|                          multipart(form_data)) ? ; let status = response . | |
|                     status() . clone() ; if status . is_client_error() | |
|                     { return Err(Error :: Client(status)) ; } else if status . | |
|                     is_server_error() | |
|                     { return Err(Error :: Server(status)) ; } | |
|                     deserialise(response) | |
|                 } | |
|             } route ! { $ ($ rest) * } | |
|         } ; | |
|         ((get($ ($ param : ident : $ typ : ty,) *)) $ name : ident : $ url : | |
|          expr => $ ret : ty, $ ($ rest : tt) *) => | |
|         { | |
|             doc_comment ! | |
|             { | |
|                 concat ! | |
|                 ("Equivalent to `get /api/v1/", $ url, | |
|                  "`\n# Errors\nIf `access_token` is not set."), fn $ name < 'a | |
|                 > (& self, $ ($ param : $ typ,) *) -> Result < $ ret > | |
|                 { | |
|                     use serde_urlencoded ; # [derive(Serialize)] struct Data < | |
|                     'a > | |
|                     { | |
|                         $ ($ param : $ typ,) * # [serde(skip)] _marker : :: | |
|                         std :: marker :: PhantomData < & 'a () >, | |
|                     } let qs_data = Data | |
|                     { | |
|                         $ ($ param : $ param,) * _marker : :: std :: marker :: | |
|                         PhantomData, | |
|                     } ; let qs = serde_urlencoded :: to_string(& qs_data) ? ; | |
|                     let url = format ! | |
|                     (concat ! ("/api/v1/", $ url, "?{}"), & qs) ; | |
|                     Ok(self . get(self . route(& url)) ?) | |
|                 } | |
|             } route ! { $ ($ rest) * } | |
|         } ; | |
|         (($ method : ident($ ($ param : ident : $ typ : ty,) *)) $ name : | |
|          ident : $ url : expr => $ ret : ty, $ ($ rest : tt) *) => | |
|         { | |
|             doc_comment ! | |
|             { | |
|                 concat ! | |
|                 ("Equivalent to `", stringify ! ($ method), " /api/v1/", $ | |
|                  url, "`\n# Errors\nIf `access_token` is not set.",), fn $ | |
|                 name(& self, $ ($ param : $ typ,) *) -> Result < $ ret > | |
|                 { | |
|                     let form_data = json ! | |
|                     ({ $ (stringify ! ($ param) : $ param,) * }) ; let | |
|                     response = self . | |
|                     send(self . client . $ | |
|                          method(& self . route(concat ! ("/api/v1/", $ url))) | |
|                          . json(& form_data)) ? ; let status = response . | |
|                     status() . clone() ; if status . is_client_error() | |
|                     { return Err(Error :: Client(status)) ; } else if status . | |
|                     is_server_error() | |
|                     { return Err(Error :: Server(status)) ; } | |
|                     deserialise(response) | |
|                 } | |
|             } route ! { $ ($ rest) * } | |
|         } ; | |
|         (($ method : ident) $ name : ident : $ url : expr => $ ret : ty, $ | |
|          ($ rest : tt) *) => | |
|         { | |
|             doc_comment ! | |
|             { | |
|                 concat ! | |
|                 ("Equivalent to `", stringify ! ($ method), " /api/v1/", $ | |
|                  url, "`\n# Errors\nIf `access_token` is not set.", "\n", | |
|                  "```no_run", "# extern crate elefren;\n", | |
|                  "# use elefren::prelude::*;\n", | |
|                  "# fn main() -> Result<(), Box<::std::error::Error>> {\n", | |
|                  "# let data = Data {\n", | |
|                  "#     base: \"https://example.com\".into(),\n", | |
|                  "#     client_id: \"taosuah\".into(),\n", | |
|                  "#     client_secret: \"htnjdiuae\".into(),\n", | |
|                  "#     redirect: \"https://example.com\".into(),\n", | |
|                  "#     token: \"tsaohueaheis\".into(),\n", "# };\n", | |
|                  "let client = Mastodon::from(data);\n", "client.", stringify | |
|                  ! ($ name), "();\n", "#   Ok(())\n", "# }\n", "```"), fn $ | |
|                 name(& self) -> Result < $ ret > | |
|                 { | |
|                     self . $ | |
|                     method(self . route(concat ! ("/api/v1/", $ url))) | |
|                 } | |
|             } route ! { $ ($ rest) * } | |
|         } ; () => { } | |
|     } | |
|     macro_rules! route_id { | |
|         ($ (($ method : ident) $ name : ident : $ url : expr => $ ret : ty,) | |
|          *) => | |
|         { | |
|             $ | |
|             (doc_comment ! | |
|              { | |
|                  concat ! | |
|                  ("Equivalent to `", stringify ! ($ method), " /api/v1/", $ | |
|                   url, "`\n# Errors\nIf `access_token` is not set.", "\n", | |
|                   "```no_run", "# extern crate elefren;\n", | |
|                   "# use elefren::prelude::*;\n", | |
|                   "# fn main() -> Result<(), Box<::std::error::Error>> {\n", | |
|                   "# let data = Data {\n", | |
|                   "#     base: \"https://example.com\".into(),\n", | |
|                   "#     client_id: \"taosuah\".into(),\n", | |
|                   "#     client_secret: \"htnjdiuae\".into(),\n", | |
|                   "#     redirect: \"https://example.com\".into(),\n", | |
|                   "#     token: \"tsaohueaheis\".into(),\n", "# };\n", | |
|                   "let client = Mastodon::from(data);\n", "client.", stringify | |
|                   ! ($ name), "(\"42\");\n", "#   Ok(())\n", "# }\n", "```"), | |
|                  fn $ name(& self, id : & str) -> Result < $ ret > | |
|                  { | |
|                      self . $ | |
|                      method(self . | |
|                             route(& format ! | |
|                                   (concat ! ("/api/v1/", $ url), id))) | |
|                  } | |
|              }) * | |
|         } | |
|     } | |
|     macro_rules! paged_routes_with_id { | |
|         (($ method : ident) $ name : ident : $ url : expr => $ ret : ty, $ | |
|          ($ rest : tt) *) => | |
|         { | |
|             doc_comment ! | |
|             { | |
|                 concat ! | |
|                 ("Equivalent to `", stringify ! ($ method), " /api/v1/", $ | |
|                  url, "`\n# Errors\nIf `access_token` is not set.", "\n", | |
|                  "```no_run", "# extern crate elefren;\n", | |
|                  "# use elefren::prelude::*;\n", | |
|                  "# fn main() -> Result<(), Box<::std::error::Error>> {\n", | |
|                  "# let data = Data {\n", | |
|                  "#     base: \"https://example.com\".into(),\n", | |
|                  "#     client_id: \"taosuah\".into(),\n", | |
|                  "#     client_secret: \"htnjdiuae\".into(),\n", | |
|                  "#     redirect: \"https://example.com\".into(),\n", | |
|                  "#     token: \"tsaohueaheis\".into(),\n", "# };\n", | |
|                  "let client = Mastodon::from(data);\n", "client.", stringify | |
|                  ! ($ name), "(\"some-id\");\n", "#   Ok(())\n", "# }\n", | |
|                  "```"), fn $ name(& self, id : & str) -> Result < Page < $ | |
|                 ret >> | |
|                 { | |
|                     let url = self . | |
|                     route(& format ! (concat ! ("/api/v1/", $ url), id)) ; let | |
|                     response = self . send(self . client . $ method(& url)) ? | |
|                     ; Page :: new(self, response) | |
|                 } | |
|             } paged_routes_with_id ! { $ ($ rest) * } | |
|         } ; () => { } | |
|     } | |
| } | |
| /// Automatically import the things you need | |
| pub mod prelude { | |
|     pub use crate::scopes::Scopes; | |
|     pub use crate::Data; | |
|     pub use crate::Mastodon; | |
|     pub use crate::MastodonClient; | |
|     pub use crate::NewStatus; | |
|     pub use crate::Registration; | |
|     pub use crate::StatusBuilder; | |
|     pub use crate::StatusesRequest; | |
| } | |
| /// Your mastodon application client, handles all requests to and from Mastodon. | |
| pub struct Mastodon { | |
|     client: Client, | |
|     /// Raw data about your mastodon instance. | |
|     pub data: Data, | |
| } | |
| #[automatically_derived] | |
| #[allow(unused_qualifications)] | |
| impl ::core::clone::Clone for Mastodon { | |
|     #[inline] | |
|     fn clone(&self) -> Mastodon { | |
|         match *self { | |
|             Mastodon { client: ref __self_0_0, data: ref __self_0_1 } => | |
|             Mastodon{client: ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                      data: ::core::clone::Clone::clone(&(*__self_0_1)),}, | |
|         } | |
|     } | |
| } | |
| #[automatically_derived] | |
| #[allow(unused_qualifications)] | |
| impl ::core::fmt::Debug for Mastodon { | |
|     fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result { | |
|         match *self { | |
|             Mastodon { client: ref __self_0_0, data: ref __self_0_1 } => { | |
|                 let mut debug_trait_builder = f.debug_struct("Mastodon"); | |
|                 let _ = debug_trait_builder.field("client", &&(*__self_0_0)); | |
|                 let _ = debug_trait_builder.field("data", &&(*__self_0_1)); | |
|                 debug_trait_builder.finish() | |
|             } | |
|         } | |
|     } | |
| } | |
| impl Mastodon { | |
|     fn get<T: for<'de> serde::Deserialize<'de>>(&self, url: String) | |
|      -> Result<T> { | |
|         let response = self.send(self.client.get(&url))?; | |
|         deserialise(response) | |
|     } | |
|     fn post<T: for<'de> serde::Deserialize<'de>>(&self, url: String) | |
|      -> Result<T> { | |
|         let response = self.send(self.client.post(&url))?; | |
|         deserialise(response) | |
|     } | |
|     fn delete<T: for<'de> serde::Deserialize<'de>>(&self, url: String) | |
|      -> Result<T> { | |
|         let response = self.send(self.client.delete(&url))?; | |
|         deserialise(response) | |
|     } | |
|     fn route(&self, url: &str) -> String { | |
|         { | |
|             let res = | |
|                 ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["", ""], | |
|                                                                     &match (&self.base, | |
|                                                                             &url) | |
|                                                                          { | |
|                                                                          (arg0, | |
|                                                                           arg1) | |
|                                                                          => | |
|                                                                          [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                        ::core::fmt::Display::fmt), | |
|                                                                           ::core::fmt::ArgumentV1::new(arg1, | |
|                                                                                                        ::core::fmt::Display::fmt)], | |
|                                                                      })); | |
|             res | |
|         } | |
|     } | |
|     pub(crate) fn send(&self, req: RequestBuilder) -> Result<Response> { | |
|         let req = req.bearer_auth(&self.token).build()?; | |
|         Ok(self.client.execute(req)?) | |
|     } | |
| } | |
| impl From<Data> for Mastodon { | |
|     /// Creates a mastodon instance from the data struct. | |
|     fn from(data: Data) -> Mastodon { | |
|         let mut builder = MastodonBuilder::new(); | |
|         builder.data(data); | |
|         builder.build().expect("We know `data` is present, so this should be fine") | |
|     } | |
| } | |
| impl MastodonClient for Mastodon { | |
|     #[doc = | |
|       "Equivalent to `get /api/v1/favourites`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.favourites();\n#   Ok(())\n# }\n```"] | |
|     async fn favourites(&self) -> Result<Page<'_, Status>> { | |
|         let url = self.route("/api/v1/favourites"); | |
|         let response = self.send(self.client.get(&url))?; | |
|         Page::new(self, response) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `get /api/v1/blocks`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.blocks();\n#   Ok(())\n# }\n```"] | |
|     async fn blocks(&self) -> Result<Page<'_, Account>> { | |
|         let url = self.route("/api/v1/blocks"); | |
|         let response = self.send(self.client.get(&url))?; | |
|         Page::new(self, response) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `get /api/v1/domain_blocks`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.domain_blocks();\n#   Ok(())\n# }\n```"] | |
|     async fn domain_blocks(&self) -> Result<Page<'_, String>> { | |
|         let url = self.route("/api/v1/domain_blocks"); | |
|         let response = self.send(self.client.get(&url))?; | |
|         Page::new(self, response) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `get /api/v1/follow_requests`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.follow_requests();\n#   Ok(())\n# }\n```"] | |
|     async fn follow_requests(&self) -> Result<Page<'_, Account>> { | |
|         let url = self.route("/api/v1/follow_requests"); | |
|         let response = self.send(self.client.get(&url))?; | |
|         Page::new(self, response) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `get /api/v1/timelines/home`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.get_home_timeline();\n#   Ok(())\n# }\n```"] | |
|     async fn get_home_timeline(&self) -> Result<Page<'_, Status>> { | |
|         let url = self.route("/api/v1/timelines/home"); | |
|         let response = self.send(self.client.get(&url))?; | |
|         Page::new(self, response) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `get /api/v1/custom_emojis`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.get_emojis();\n#   Ok(())\n# }\n```"] | |
|     async fn get_emojis(&self) -> Result<Page<'_, Emoji>> { | |
|         let url = self.route("/api/v1/custom_emojis"); | |
|         let response = self.send(self.client.get(&url))?; | |
|         Page::new(self, response) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `get /api/v1/mutes`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.mutes();\n#   Ok(())\n# }\n```"] | |
|     async fn mutes(&self) -> Result<Page<'_, Account>> { | |
|         let url = self.route("/api/v1/mutes"); | |
|         let response = self.send(self.client.get(&url))?; | |
|         Page::new(self, response) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `get /api/v1/notifications`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.notifications();\n#   Ok(())\n# }\n```"] | |
|     async fn notifications(&self) -> Result<Page<'_, Notification>> { | |
|         let url = self.route("/api/v1/notifications"); | |
|         let response = self.send(self.client.get(&url))?; | |
|         Page::new(self, response) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `get /api/v1/reports`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.reports();\n#   Ok(())\n# }\n```"] | |
|     async fn reports(&self) -> Result<Page<'_, Report>> { | |
|         let url = self.route("/api/v1/reports"); | |
|         let response = self.send(self.client.get(&url))?; | |
|         Page::new(self, response) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `get /api/v1/accounts/search`\n# Errors\nIf `access_token` is not set."] | |
|     async fn search_accounts<'a>(&self, q: &'a str, limit: Option<u64>, | |
|                                  following: bool) | |
|      -> Result<Page<'_, Account>> { | |
|         use serde_urlencoded; | |
|         struct Data<'a> { | |
|             q: &'a str, | |
|             #[serde(skip_serializing_if = "Option::is_none")] | |
|             limit: Option<u64>, | |
|             following: bool, | |
|             #[serde(skip)] | |
|             _marker: ::std::marker::PhantomData<&'a ()>, | |
|         } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_SERIALIZE_FOR_Data: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl <'a> _serde::Serialize for Data<'a> { | |
|                     fn serialize<__S>(&self, __serializer: __S) | |
|                      -> _serde::export::Result<__S::Ok, __S::Error> where | |
|                      __S: _serde::Serializer { | |
|                         let mut __serde_state = | |
|                             match _serde::Serializer::serialize_struct(__serializer, | |
|                                                                        "Data", | |
|                                                                        false | |
|                                                                            as | |
|                                                                            usize | |
|                                                                            + 1 | |
|                                                                            + | |
|                                                                            if Option::is_none(&self.limit) | |
|                                                                               { | |
|                                                                                0 | |
|                                                                            } else { | |
|                                                                                1 | |
|                                                                            } + | |
|                                                                            1) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "q", | |
|                                                                             &self.q) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                         if !Option::is_none(&self.limit) { | |
|                             match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                                 "limit", | |
|                                                                                 &self.limit) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         } else { | |
|                             match _serde::ser::SerializeStruct::skip_field(&mut __serde_state, | |
|                                                                            "limit") | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         } | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "following", | |
|                                                                             &self.following) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                         _serde::ser::SerializeStruct::end(__serde_state) | |
|                     } | |
|                 } | |
|             }; | |
|         let qs_data = | |
|             Data{q: q, | |
|                  limit: limit, | |
|                  following: following, | |
|                  _marker: ::std::marker::PhantomData,}; | |
|         let qs = serde_urlencoded::to_string(&qs_data)?; | |
|         let url = | |
|             { | |
|                 let res = | |
|                     ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["/api/v1/accounts/search?"], | |
|                                                                         &match (&&qs,) | |
|                                                                              { | |
|                                                                              (arg0,) | |
|                                                                              => | |
|                                                                              [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                            ::core::fmt::Display::fmt)], | |
|                                                                          })); | |
|                 res | |
|             }; | |
|         let response = self.send(self.client.get(&url))?; | |
|         Page::new(self, response) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `get /api/v1/endorsements`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.get_endorsements();\n#   Ok(())\n# }\n```"] | |
|     async fn get_endorsements(&self) -> Result<Page<'_, Account>> { | |
|         let url = self.route("/api/v1/endorsements"); | |
|         let response = self.send(self.client.get(&url))?; | |
|         Page::new(self, response) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `get /api/v1/accounts/{}/followers`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.followers(\"some-id\");\n#   Ok(())\n# }\n```"] | |
|     fn followers(&self, id: &str) -> Result<Page<Account>> { | |
|         let url = | |
|             self.route(&{ | |
|                             let res = | |
|                                 ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["/api/v1/accounts/", | |
|                                                                                       "/followers"], | |
|                                                                                     &match (&id,) | |
|                                                                                          { | |
|                                                                                          (arg0,) | |
|                                                                                          => | |
|                                                                                          [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                        ::core::fmt::Display::fmt)], | |
|                                                                                      })); | |
|                             res | |
|                         }); | |
|         let response = self.send(self.client.get(&url))?; | |
|         Page::new(self, response) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `get /api/v1/accounts/{}/following`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.following(\"some-id\");\n#   Ok(())\n# }\n```"] | |
|     fn following(&self, id: &str) -> Result<Page<Account>> { | |
|         let url = | |
|             self.route(&{ | |
|                             let res = | |
|                                 ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["/api/v1/accounts/", | |
|                                                                                       "/following"], | |
|                                                                                     &match (&id,) | |
|                                                                                          { | |
|                                                                                          (arg0,) | |
|                                                                                          => | |
|                                                                                          [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                        ::core::fmt::Display::fmt)], | |
|                                                                                      })); | |
|                             res | |
|                         }); | |
|         let response = self.send(self.client.get(&url))?; | |
|         Page::new(self, response) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `get /api/v1/statuses/{}/reblogged_by`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.reblogged_by(\"some-id\");\n#   Ok(())\n# }\n```"] | |
|     fn reblogged_by(&self, id: &str) -> Result<Page<Account>> { | |
|         let url = | |
|             self.route(&{ | |
|                             let res = | |
|                                 ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["/api/v1/statuses/", | |
|                                                                                       "/reblogged_by"], | |
|                                                                                     &match (&id,) | |
|                                                                                          { | |
|                                                                                          (arg0,) | |
|                                                                                          => | |
|                                                                                          [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                        ::core::fmt::Display::fmt)], | |
|                                                                                      })); | |
|                             res | |
|                         }); | |
|         let response = self.send(self.client.get(&url))?; | |
|         Page::new(self, response) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `get /api/v1/statuses/{}/favourited_by`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.favourited_by(\"some-id\");\n#   Ok(())\n# }\n```"] | |
|     fn favourited_by(&self, id: &str) -> Result<Page<Account>> { | |
|         let url = | |
|             self.route(&{ | |
|                             let res = | |
|                                 ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["/api/v1/statuses/", | |
|                                                                                       "/favourited_by"], | |
|                                                                                     &match (&id,) | |
|                                                                                          { | |
|                                                                                          (arg0,) | |
|                                                                                          => | |
|                                                                                          [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                        ::core::fmt::Display::fmt)], | |
|                                                                                      })); | |
|                             res | |
|                         }); | |
|         let response = self.send(self.client.get(&url))?; | |
|         Page::new(self, response) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `delete /api/v1/domain_blocks`\n# Errors\nIf `access_token` is not set."] | |
|     fn unblock_domain(&self, domain: String) -> Result<Empty> { | |
|         let form_data = | |
|             ::serde_json::Value::Object({ | |
|                                             let mut object = | |
|                                                 ::serde_json::Map::new(); | |
|                                             let _ = | |
|                                                 object.insert(("domain").into(), | |
|                                                               ::serde_json::to_value(&domain).unwrap()); | |
|                                             object | |
|                                         }); | |
|         let response = | |
|             self.send(self.client.delete(&self.route("/api/v1/domain_blocks")).json(&form_data))?; | |
|         let status = response.status().clone(); | |
|         if status.is_client_error() { | |
|             return Err(Error::Client(status)); | |
|         } else if status.is_server_error() { | |
|             return Err(Error::Server(status)); | |
|         } | |
|         deserialise(response) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `get /api/v1/instance`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.instance();\n#   Ok(())\n# }\n```"] | |
|     fn instance(&self) -> Result<Instance> { | |
|         self.get(self.route("/api/v1/instance")) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `get /api/v1/accounts/verify_credentials`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.verify_credentials();\n#   Ok(())\n# }\n```"] | |
|     fn verify_credentials(&self) -> Result<Account> { | |
|         self.get(self.route("/api/v1/accounts/verify_credentials")) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `post /api/v1/reports`\n# Errors\nIf `access_token` is not set."] | |
|     fn report(&self, account_id: &str, status_ids: Vec<&str>, comment: String) | |
|      -> Result<Report> { | |
|         let form_data = | |
|             ::serde_json::Value::Object({ | |
|                                             let mut object = | |
|                                                 ::serde_json::Map::new(); | |
|                                             let _ = | |
|                                                 object.insert(("account_id").into(), | |
|                                                               ::serde_json::to_value(&account_id).unwrap()); | |
|                                             let _ = | |
|                                                 object.insert(("status_ids").into(), | |
|                                                               ::serde_json::to_value(&status_ids).unwrap()); | |
|                                             let _ = | |
|                                                 object.insert(("comment").into(), | |
|                                                               ::serde_json::to_value(&comment).unwrap()); | |
|                                             object | |
|                                         }); | |
|         let response = | |
|             self.send(self.client.post(&self.route("/api/v1/reports")).json(&form_data))?; | |
|         let status = response.status().clone(); | |
|         if status.is_client_error() { | |
|             return Err(Error::Client(status)); | |
|         } else if status.is_server_error() { | |
|             return Err(Error::Server(status)); | |
|         } | |
|         deserialise(response) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `post /api/v1/domain_blocks`\n# Errors\nIf `access_token` is not set."] | |
|     fn block_domain(&self, domain: String) -> Result<Empty> { | |
|         let form_data = | |
|             ::serde_json::Value::Object({ | |
|                                             let mut object = | |
|                                                 ::serde_json::Map::new(); | |
|                                             let _ = | |
|                                                 object.insert(("domain").into(), | |
|                                                               ::serde_json::to_value(&domain).unwrap()); | |
|                                             object | |
|                                         }); | |
|         let response = | |
|             self.send(self.client.post(&self.route("/api/v1/domain_blocks")).json(&form_data))?; | |
|         let status = response.status().clone(); | |
|         if status.is_client_error() { | |
|             return Err(Error::Client(status)); | |
|         } else if status.is_server_error() { | |
|             return Err(Error::Server(status)); | |
|         } | |
|         deserialise(response) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `post /api/v1/accounts/follow_requests/authorize`\n# Errors\nIf `access_token` is not set."] | |
|     fn authorize_follow_request(&self, id: &str) -> Result<Empty> { | |
|         let form_data = | |
|             ::serde_json::Value::Object({ | |
|                                             let mut object = | |
|                                                 ::serde_json::Map::new(); | |
|                                             let _ = | |
|                                                 object.insert(("id").into(), | |
|                                                               ::serde_json::to_value(&id).unwrap()); | |
|                                             object | |
|                                         }); | |
|         let response = | |
|             self.send(self.client.post(&self.route("/api/v1/accounts/follow_requests/authorize")).json(&form_data))?; | |
|         let status = response.status().clone(); | |
|         if status.is_client_error() { | |
|             return Err(Error::Client(status)); | |
|         } else if status.is_server_error() { | |
|             return Err(Error::Server(status)); | |
|         } | |
|         deserialise(response) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `post /api/v1/accounts/follow_requests/reject`\n# Errors\nIf `access_token` is not set."] | |
|     fn reject_follow_request(&self, id: &str) -> Result<Empty> { | |
|         let form_data = | |
|             ::serde_json::Value::Object({ | |
|                                             let mut object = | |
|                                                 ::serde_json::Map::new(); | |
|                                             let _ = | |
|                                                 object.insert(("id").into(), | |
|                                                               ::serde_json::to_value(&id).unwrap()); | |
|                                             object | |
|                                         }); | |
|         let response = | |
|             self.send(self.client.post(&self.route("/api/v1/accounts/follow_requests/reject")).json(&form_data))?; | |
|         let status = response.status().clone(); | |
|         if status.is_client_error() { | |
|             return Err(Error::Client(status)); | |
|         } else if status.is_server_error() { | |
|             return Err(Error::Server(status)); | |
|         } | |
|         deserialise(response) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `get /api/v1/search`\n# Errors\nIf `access_token` is not set."] | |
|     fn search<'a>(&self, q: &'a str, resolve: bool) -> Result<SearchResult> { | |
|         use serde_urlencoded; | |
|         struct Data<'a> { | |
|             q: &'a str, | |
|             resolve: bool, | |
|             #[serde(skip)] | |
|             _marker: ::std::marker::PhantomData<&'a ()>, | |
|         } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_SERIALIZE_FOR_Data: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl <'a> _serde::Serialize for Data<'a> { | |
|                     fn serialize<__S>(&self, __serializer: __S) | |
|                      -> _serde::export::Result<__S::Ok, __S::Error> where | |
|                      __S: _serde::Serializer { | |
|                         let mut __serde_state = | |
|                             match _serde::Serializer::serialize_struct(__serializer, | |
|                                                                        "Data", | |
|                                                                        false | |
|                                                                            as | |
|                                                                            usize | |
|                                                                            + 1 | |
|                                                                            + | |
|                                                                            1) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "q", | |
|                                                                             &self.q) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "resolve", | |
|                                                                             &self.resolve) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                         _serde::ser::SerializeStruct::end(__serde_state) | |
|                     } | |
|                 } | |
|             }; | |
|         let qs_data = | |
|             Data{q: q, | |
|                  resolve: resolve, | |
|                  _marker: ::std::marker::PhantomData,}; | |
|         let qs = serde_urlencoded::to_string(&qs_data)?; | |
|         let url = | |
|             { | |
|                 let res = | |
|                     ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["/api/v1/search?"], | |
|                                                                         &match (&&qs,) | |
|                                                                              { | |
|                                                                              (arg0,) | |
|                                                                              => | |
|                                                                              [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                            ::core::fmt::Display::fmt)], | |
|                                                                          })); | |
|                 res | |
|             }; | |
|         Ok(self.get(self.route(&url))?) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `get /api/v1/timelines/public`\n# Errors\nIf `access_token` is not set."] | |
|     fn get_public_timeline<'a>(&self, local: bool) -> Result<Vec<Status>> { | |
|         use serde_urlencoded; | |
|         struct Data<'a> { | |
|             local: bool, | |
|             #[serde(skip)] | |
|             _marker: ::std::marker::PhantomData<&'a ()>, | |
|         } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_SERIALIZE_FOR_Data: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl <'a> _serde::Serialize for Data<'a> { | |
|                     fn serialize<__S>(&self, __serializer: __S) | |
|                      -> _serde::export::Result<__S::Ok, __S::Error> where | |
|                      __S: _serde::Serializer { | |
|                         let mut __serde_state = | |
|                             match _serde::Serializer::serialize_struct(__serializer, | |
|                                                                        "Data", | |
|                                                                        false | |
|                                                                            as | |
|                                                                            usize | |
|                                                                            + | |
|                                                                            1) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "local", | |
|                                                                             &self.local) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                         _serde::ser::SerializeStruct::end(__serde_state) | |
|                     } | |
|                 } | |
|             }; | |
|         let qs_data = | |
|             Data{local: local, _marker: ::std::marker::PhantomData,}; | |
|         let qs = serde_urlencoded::to_string(&qs_data)?; | |
|         let url = | |
|             { | |
|                 let res = | |
|                     ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["/api/v1/timelines/public?"], | |
|                                                                         &match (&&qs,) | |
|                                                                              { | |
|                                                                              (arg0,) | |
|                                                                              => | |
|                                                                              [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                            ::core::fmt::Display::fmt)], | |
|                                                                          })); | |
|                 res | |
|             }; | |
|         Ok(self.get(self.route(&url))?) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `post /api/v1/follows`\n# Errors\nIf `access_token` is not set."] | |
|     fn follows(&self, uri: Cow<'static, str>) -> Result<Account> { | |
|         let form_data = | |
|             ::serde_json::Value::Object({ | |
|                                             let mut object = | |
|                                                 ::serde_json::Map::new(); | |
|                                             let _ = | |
|                                                 object.insert(("uri").into(), | |
|                                                               ::serde_json::to_value(&uri).unwrap()); | |
|                                             object | |
|                                         }); | |
|         let response = | |
|             self.send(self.client.post(&self.route("/api/v1/follows")).json(&form_data))?; | |
|         let status = response.status().clone(); | |
|         if status.is_client_error() { | |
|             return Err(Error::Client(status)); | |
|         } else if status.is_server_error() { | |
|             return Err(Error::Server(status)); | |
|         } | |
|         deserialise(response) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `post /api/v1/media`\n# Errors\nIf `access_token` is not set."] | |
|     fn media(&self, file: Cow<'static, str>) -> Result<Attachment> { | |
|         use reqwest::multipart::Form; | |
|         let form_data = Form::new().file("file", file.as_ref())?; | |
|         let response = | |
|             self.send(self.client.post(&self.route("/api/v1/media")).multipart(form_data))?; | |
|         let status = response.status().clone(); | |
|         if status.is_client_error() { | |
|             return Err(Error::Client(status)); | |
|         } else if status.is_server_error() { | |
|             return Err(Error::Server(status)); | |
|         } | |
|         deserialise(response) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `post /api/v1/notifications/clear`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.clear_notifications();\n#   Ok(())\n# }\n```"] | |
|     fn clear_notifications(&self) -> Result<Empty> { | |
|         self.post(self.route("/api/v1/notifications/clear")) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `post /api/v1/notifications/dismiss`\n# Errors\nIf `access_token` is not set."] | |
|     fn dismiss_notification(&self, id: &str) -> Result<Empty> { | |
|         let form_data = | |
|             ::serde_json::Value::Object({ | |
|                                             let mut object = | |
|                                                 ::serde_json::Map::new(); | |
|                                             let _ = | |
|                                                 object.insert(("id").into(), | |
|                                                               ::serde_json::to_value(&id).unwrap()); | |
|                                             object | |
|                                         }); | |
|         let response = | |
|             self.send(self.client.post(&self.route("/api/v1/notifications/dismiss")).json(&form_data))?; | |
|         let status = response.status().clone(); | |
|         if status.is_client_error() { | |
|             return Err(Error::Client(status)); | |
|         } else if status.is_server_error() { | |
|             return Err(Error::Server(status)); | |
|         } | |
|         deserialise(response) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `get /api/v1/push/subscription`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.get_push_subscription();\n#   Ok(())\n# }\n```"] | |
|     fn get_push_subscription(&self) -> Result<Subscription> { | |
|         self.get(self.route("/api/v1/push/subscription")) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `delete /api/v1/push/subscription`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.delete_push_subscription();\n#   Ok(())\n# }\n```"] | |
|     fn delete_push_subscription(&self) -> Result<Empty> { | |
|         self.delete(self.route("/api/v1/push/subscription")) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `get /api/v1/filters`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.get_filters();\n#   Ok(())\n# }\n```"] | |
|     fn get_filters(&self) -> Result<Vec<Filter>> { | |
|         self.get(self.route("/api/v1/filters")) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `get /api/v1/suggestions`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.get_follow_suggestions();\n#   Ok(())\n# }\n```"] | |
|     fn get_follow_suggestions(&self) -> Result<Vec<Account>> { | |
|         self.get(self.route("/api/v1/suggestions")) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `get /api/v2/search`\n# Errors\nIf `access_token` is not set."] | |
|     fn search_v2<'a>(&self, q: &'a str, resolve: bool) | |
|      -> Result<SearchResultV2> { | |
|         use serde_urlencoded; | |
|         struct Data<'a> { | |
|             q: &'a str, | |
|             resolve: bool, | |
|             #[serde(skip)] | |
|             _marker: ::std::marker::PhantomData<&'a ()>, | |
|         } | |
|         #[doc(hidden)] | |
|         #[allow(non_upper_case_globals, unused_attributes, | |
|                 unused_qualifications)] | |
|         const _IMPL_SERIALIZE_FOR_Data: () = | |
|             { | |
|                 #[allow(rust_2018_idioms, clippy :: useless_attribute)] | |
|                 extern crate serde as _serde; | |
|                 #[allow(unused_macros)] | |
|                 macro_rules! try { | |
|                     ($ __expr : expr) => | |
|                     { | |
|                         match $ __expr | |
|                         { | |
|                             _serde :: export :: Ok(__val) => __val, _serde :: | |
|                             export :: Err(__err) => | |
|                             { return _serde :: export :: Err(__err) ; } | |
|                         } | |
|                     } | |
|                 } | |
|                 #[automatically_derived] | |
|                 impl <'a> _serde::Serialize for Data<'a> { | |
|                     fn serialize<__S>(&self, __serializer: __S) | |
|                      -> _serde::export::Result<__S::Ok, __S::Error> where | |
|                      __S: _serde::Serializer { | |
|                         let mut __serde_state = | |
|                             match _serde::Serializer::serialize_struct(__serializer, | |
|                                                                        "Data", | |
|                                                                        false | |
|                                                                            as | |
|                                                                            usize | |
|                                                                            + 1 | |
|                                                                            + | |
|                                                                            1) | |
|                                 { | |
|                                 _serde::export::Ok(__val) => __val, | |
|                                 _serde::export::Err(__err) => { | |
|                                     return _serde::export::Err(__err); | |
|                                 } | |
|                             }; | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "q", | |
|                                                                             &self.q) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                         match _serde::ser::SerializeStruct::serialize_field(&mut __serde_state, | |
|                                                                             "resolve", | |
|                                                                             &self.resolve) | |
|                             { | |
|                             _serde::export::Ok(__val) => __val, | |
|                             _serde::export::Err(__err) => { | |
|                                 return _serde::export::Err(__err); | |
|                             } | |
|                         }; | |
|                         _serde::ser::SerializeStruct::end(__serde_state) | |
|                     } | |
|                 } | |
|             }; | |
|         let qs_data = | |
|             Data{q: q, | |
|                  resolve: resolve, | |
|                  _marker: ::std::marker::PhantomData,}; | |
|         let qs = serde_urlencoded::to_string(&qs_data)?; | |
|         let url = | |
|             { | |
|                 let res = | |
|                     ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["/api/v2/search?"], | |
|                                                                         &match (&&qs,) | |
|                                                                              { | |
|                                                                              (arg0,) | |
|                                                                              => | |
|                                                                              [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                            ::core::fmt::Display::fmt)], | |
|                                                                          })); | |
|                 res | |
|             }; | |
|         Ok(self.get(self.route(&url))?) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `get /api/v1/accounts/{}`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.get_account(\"42\");\n#   Ok(())\n# }\n```"] | |
|     fn get_account(&self, id: &str) -> Result<Account> { | |
|         self.get(self.route(&{ | |
|                                  let res = | |
|                                      ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["/api/v1/accounts/"], | |
|                                                                                          &match (&id,) | |
|                                                                                               { | |
|                                                                                               (arg0,) | |
|                                                                                               => | |
|                                                                                               [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                             ::core::fmt::Display::fmt)], | |
|                                                                                           })); | |
|                                  res | |
|                              })) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `post /api/v1/accounts/{}/follow`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.follow(\"42\");\n#   Ok(())\n# }\n```"] | |
|     fn follow(&self, id: &str) -> Result<Relationship> { | |
|         self.post(self.route(&{ | |
|                                   let res = | |
|                                       ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["/api/v1/accounts/", | |
|                                                                                             "/follow"], | |
|                                                                                           &match (&id,) | |
|                                                                                                { | |
|                                                                                                (arg0,) | |
|                                                                                                => | |
|                                                                                                [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                              ::core::fmt::Display::fmt)], | |
|                                                                                            })); | |
|                                   res | |
|                               })) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `post /api/v1/accounts/{}/unfollow`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.unfollow(\"42\");\n#   Ok(())\n# }\n```"] | |
|     fn unfollow(&self, id: &str) -> Result<Relationship> { | |
|         self.post(self.route(&{ | |
|                                   let res = | |
|                                       ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["/api/v1/accounts/", | |
|                                                                                             "/unfollow"], | |
|                                                                                           &match (&id,) | |
|                                                                                                { | |
|                                                                                                (arg0,) | |
|                                                                                                => | |
|                                                                                                [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                              ::core::fmt::Display::fmt)], | |
|                                                                                            })); | |
|                                   res | |
|                               })) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `post /api/v1/accounts/{}/block`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.block(\"42\");\n#   Ok(())\n# }\n```"] | |
|     fn block(&self, id: &str) -> Result<Relationship> { | |
|         self.post(self.route(&{ | |
|                                   let res = | |
|                                       ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["/api/v1/accounts/", | |
|                                                                                             "/block"], | |
|                                                                                           &match (&id,) | |
|                                                                                                { | |
|                                                                                                (arg0,) | |
|                                                                                                => | |
|                                                                                                [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                              ::core::fmt::Display::fmt)], | |
|                                                                                            })); | |
|                                   res | |
|                               })) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `post /api/v1/accounts/{}/unblock`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.unblock(\"42\");\n#   Ok(())\n# }\n```"] | |
|     fn unblock(&self, id: &str) -> Result<Relationship> { | |
|         self.post(self.route(&{ | |
|                                   let res = | |
|                                       ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["/api/v1/accounts/", | |
|                                                                                             "/unblock"], | |
|                                                                                           &match (&id,) | |
|                                                                                                { | |
|                                                                                                (arg0,) | |
|                                                                                                => | |
|                                                                                                [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                              ::core::fmt::Display::fmt)], | |
|                                                                                            })); | |
|                                   res | |
|                               })) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `get /api/v1/accounts/{}/mute`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.mute(\"42\");\n#   Ok(())\n# }\n```"] | |
|     fn mute(&self, id: &str) -> Result<Relationship> { | |
|         self.get(self.route(&{ | |
|                                  let res = | |
|                                      ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["/api/v1/accounts/", | |
|                                                                                            "/mute"], | |
|                                                                                          &match (&id,) | |
|                                                                                               { | |
|                                                                                               (arg0,) | |
|                                                                                               => | |
|                                                                                               [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                             ::core::fmt::Display::fmt)], | |
|                                                                                           })); | |
|                                  res | |
|                              })) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `get /api/v1/accounts/{}/unmute`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.unmute(\"42\");\n#   Ok(())\n# }\n```"] | |
|     fn unmute(&self, id: &str) -> Result<Relationship> { | |
|         self.get(self.route(&{ | |
|                                  let res = | |
|                                      ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["/api/v1/accounts/", | |
|                                                                                            "/unmute"], | |
|                                                                                          &match (&id,) | |
|                                                                                               { | |
|                                                                                               (arg0,) | |
|                                                                                               => | |
|                                                                                               [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                             ::core::fmt::Display::fmt)], | |
|                                                                                           })); | |
|                                  res | |
|                              })) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `get /api/v1/notifications/{}`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.get_notification(\"42\");\n#   Ok(())\n# }\n```"] | |
|     fn get_notification(&self, id: &str) -> Result<Notification> { | |
|         self.get(self.route(&{ | |
|                                  let res = | |
|                                      ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["/api/v1/notifications/"], | |
|                                                                                          &match (&id,) | |
|                                                                                               { | |
|                                                                                               (arg0,) | |
|                                                                                               => | |
|                                                                                               [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                             ::core::fmt::Display::fmt)], | |
|                                                                                           })); | |
|                                  res | |
|                              })) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `get /api/v1/statuses/{}`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.get_status(\"42\");\n#   Ok(())\n# }\n```"] | |
|     fn get_status(&self, id: &str) -> Result<Status> { | |
|         self.get(self.route(&{ | |
|                                  let res = | |
|                                      ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["/api/v1/statuses/"], | |
|                                                                                          &match (&id,) | |
|                                                                                               { | |
|                                                                                               (arg0,) | |
|                                                                                               => | |
|                                                                                               [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                             ::core::fmt::Display::fmt)], | |
|                                                                                           })); | |
|                                  res | |
|                              })) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `get /api/v1/statuses/{}/context`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.get_context(\"42\");\n#   Ok(())\n# }\n```"] | |
|     fn get_context(&self, id: &str) -> Result<Context> { | |
|         self.get(self.route(&{ | |
|                                  let res = | |
|                                      ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["/api/v1/statuses/", | |
|                                                                                            "/context"], | |
|                                                                                          &match (&id,) | |
|                                                                                               { | |
|                                                                                               (arg0,) | |
|                                                                                               => | |
|                                                                                               [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                             ::core::fmt::Display::fmt)], | |
|                                                                                           })); | |
|                                  res | |
|                              })) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `get /api/v1/statuses/{}/card`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.get_card(\"42\");\n#   Ok(())\n# }\n```"] | |
|     fn get_card(&self, id: &str) -> Result<Card> { | |
|         self.get(self.route(&{ | |
|                                  let res = | |
|                                      ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["/api/v1/statuses/", | |
|                                                                                            "/card"], | |
|                                                                                          &match (&id,) | |
|                                                                                               { | |
|                                                                                               (arg0,) | |
|                                                                                               => | |
|                                                                                               [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                             ::core::fmt::Display::fmt)], | |
|                                                                                           })); | |
|                                  res | |
|                              })) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `post /api/v1/statuses/{}/reblog`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.reblog(\"42\");\n#   Ok(())\n# }\n```"] | |
|     fn reblog(&self, id: &str) -> Result<Status> { | |
|         self.post(self.route(&{ | |
|                                   let res = | |
|                                       ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["/api/v1/statuses/", | |
|                                                                                             "/reblog"], | |
|                                                                                           &match (&id,) | |
|                                                                                                { | |
|                                                                                                (arg0,) | |
|                                                                                                => | |
|                                                                                                [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                              ::core::fmt::Display::fmt)], | |
|                                                                                            })); | |
|                                   res | |
|                               })) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `post /api/v1/statuses/{}/unreblog`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.unreblog(\"42\");\n#   Ok(())\n# }\n```"] | |
|     fn unreblog(&self, id: &str) -> Result<Status> { | |
|         self.post(self.route(&{ | |
|                                   let res = | |
|                                       ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["/api/v1/statuses/", | |
|                                                                                             "/unreblog"], | |
|                                                                                           &match (&id,) | |
|                                                                                                { | |
|                                                                                                (arg0,) | |
|                                                                                                => | |
|                                                                                                [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                              ::core::fmt::Display::fmt)], | |
|                                                                                            })); | |
|                                   res | |
|                               })) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `post /api/v1/statuses/{}/favourite`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.favourite(\"42\");\n#   Ok(())\n# }\n```"] | |
|     fn favourite(&self, id: &str) -> Result<Status> { | |
|         self.post(self.route(&{ | |
|                                   let res = | |
|                                       ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["/api/v1/statuses/", | |
|                                                                                             "/favourite"], | |
|                                                                                           &match (&id,) | |
|                                                                                                { | |
|                                                                                                (arg0,) | |
|                                                                                                => | |
|                                                                                                [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                              ::core::fmt::Display::fmt)], | |
|                                                                                            })); | |
|                                   res | |
|                               })) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `post /api/v1/statuses/{}/unfavourite`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.unfavourite(\"42\");\n#   Ok(())\n# }\n```"] | |
|     fn unfavourite(&self, id: &str) -> Result<Status> { | |
|         self.post(self.route(&{ | |
|                                   let res = | |
|                                       ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["/api/v1/statuses/", | |
|                                                                                             "/unfavourite"], | |
|                                                                                           &match (&id,) | |
|                                                                                                { | |
|                                                                                                (arg0,) | |
|                                                                                                => | |
|                                                                                                [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                              ::core::fmt::Display::fmt)], | |
|                                                                                            })); | |
|                                   res | |
|                               })) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `delete /api/v1/statuses/{}`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.delete_status(\"42\");\n#   Ok(())\n# }\n```"] | |
|     fn delete_status(&self, id: &str) -> Result<Empty> { | |
|         self.delete(self.route(&{ | |
|                                     let res = | |
|                                         ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["/api/v1/statuses/"], | |
|                                                                                             &match (&id,) | |
|                                                                                                  { | |
|                                                                                                  (arg0,) | |
|                                                                                                  => | |
|                                                                                                  [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                                ::core::fmt::Display::fmt)], | |
|                                                                                              })); | |
|                                     res | |
|                                 })) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `get /api/v1/filters/{}`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.get_filter(\"42\");\n#   Ok(())\n# }\n```"] | |
|     fn get_filter(&self, id: &str) -> Result<Filter> { | |
|         self.get(self.route(&{ | |
|                                  let res = | |
|                                      ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["/api/v1/filters/"], | |
|                                                                                          &match (&id,) | |
|                                                                                               { | |
|                                                                                               (arg0,) | |
|                                                                                               => | |
|                                                                                               [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                             ::core::fmt::Display::fmt)], | |
|                                                                                           })); | |
|                                  res | |
|                              })) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `delete /api/v1/filters/{}`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.delete_filter(\"42\");\n#   Ok(())\n# }\n```"] | |
|     fn delete_filter(&self, id: &str) -> Result<Empty> { | |
|         self.delete(self.route(&{ | |
|                                     let res = | |
|                                         ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["/api/v1/filters/"], | |
|                                                                                             &match (&id,) | |
|                                                                                                  { | |
|                                                                                                  (arg0,) | |
|                                                                                                  => | |
|                                                                                                  [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                                ::core::fmt::Display::fmt)], | |
|                                                                                              })); | |
|                                     res | |
|                                 })) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `delete /api/v1/suggestions/{}`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.delete_from_suggestions(\"42\");\n#   Ok(())\n# }\n```"] | |
|     fn delete_from_suggestions(&self, id: &str) -> Result<Empty> { | |
|         self.delete(self.route(&{ | |
|                                     let res = | |
|                                         ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["/api/v1/suggestions/"], | |
|                                                                                             &match (&id,) | |
|                                                                                                  { | |
|                                                                                                  (arg0,) | |
|                                                                                                  => | |
|                                                                                                  [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                                ::core::fmt::Display::fmt)], | |
|                                                                                              })); | |
|                                     res | |
|                                 })) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `post /api/v1/accounts/{}/pin`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.endorse_user(\"42\");\n#   Ok(())\n# }\n```"] | |
|     fn endorse_user(&self, id: &str) -> Result<Relationship> { | |
|         self.post(self.route(&{ | |
|                                   let res = | |
|                                       ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["/api/v1/accounts/", | |
|                                                                                             "/pin"], | |
|                                                                                           &match (&id,) | |
|                                                                                                { | |
|                                                                                                (arg0,) | |
|                                                                                                => | |
|                                                                                                [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                              ::core::fmt::Display::fmt)], | |
|                                                                                            })); | |
|                                   res | |
|                               })) | |
|     } | |
|     #[doc = | |
|       "Equivalent to `post /api/v1/accounts/{}/unpin`\n# Errors\nIf `access_token` is not set.\n```no_run# extern crate elefren;\n# use elefren::prelude::*;\n# fn main() -> Result<(), Box<::std::error::Error>> {\n# let data = Data {\n#     base: \"https://example.com\".into(),\n#     client_id: \"taosuah\".into(),\n#     client_secret: \"htnjdiuae\".into(),\n#     redirect: \"https://example.com\".into(),\n#     token: \"tsaohueaheis\".into(),\n# };\nlet client = Mastodon::from(data);\nclient.unendorse_user(\"42\");\n#   Ok(())\n# }\n```"] | |
|     fn unendorse_user(&self, id: &str) -> Result<Relationship> { | |
|         self.post(self.route(&{ | |
|                                   let res = | |
|                                       ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["/api/v1/accounts/", | |
|                                                                                             "/unpin"], | |
|                                                                                           &match (&id,) | |
|                                                                                                { | |
|                                                                                                (arg0,) | |
|                                                                                                => | |
|                                                                                                [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                              ::core::fmt::Display::fmt)], | |
|                                                                                            })); | |
|                                   res | |
|                               })) | |
|     } | |
|     fn add_filter(&self, request: &mut AddFilterRequest) -> Result<Filter> { | |
|         let url = self.route("/api/v1/filters"); | |
|         let response = self.send(self.client.post(&url).json(&request))?; | |
|         let status = response.status(); | |
|         if status.is_client_error() { | |
|             return Err(Error::Client(status.clone())); | |
|         } else if status.is_server_error() { | |
|             return Err(Error::Server(status.clone())); | |
|         } | |
|         deserialise(response) | |
|     } | |
|     #[doc = " PUT /api/v1/filters/:id"] | |
|     fn update_filter(&self, id: &str, request: &mut AddFilterRequest) | |
|      -> Result<Filter> { | |
|         let url = | |
|             self.route(&{ | |
|                             let res = | |
|                                 ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["/api/v1/filters/"], | |
|                                                                                     &match (&id,) | |
|                                                                                          { | |
|                                                                                          (arg0,) | |
|                                                                                          => | |
|                                                                                          [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                        ::core::fmt::Display::fmt)], | |
|                                                                                      })); | |
|                             res | |
|                         }); | |
|         let response = self.send(self.client.put(&url).json(&request))?; | |
|         let status = response.status(); | |
|         if status.is_client_error() { | |
|             return Err(Error::Client(status.clone())); | |
|         } else if status.is_server_error() { | |
|             return Err(Error::Server(status.clone())); | |
|         } | |
|         deserialise(response) | |
|     } | |
|     fn update_credentials(&self, builder: &mut UpdateCredsRequest) | |
|      -> Result<Account> { | |
|         let changes = builder.build()?; | |
|         let url = self.route("/api/v1/accounts/update_credentials"); | |
|         let response = self.send(self.client.patch(&url).json(&changes))?; | |
|         let status = response.status(); | |
|         if status.is_client_error() { | |
|             return Err(Error::Client(status.clone())); | |
|         } else if status.is_server_error() { | |
|             return Err(Error::Server(status.clone())); | |
|         } | |
|         deserialise(response) | |
|     } | |
|     #[doc = " Post a new status to the account."] | |
|     fn new_status(&self, status: NewStatus) -> Result<Status> { | |
|         let response = | |
|             self.send(self.client.post(&self.route("/api/v1/statuses")).json(&status))?; | |
|         deserialise(response) | |
|     } | |
|     #[doc = | |
|       " Get timeline filtered by a hashtag(eg. `#coffee`) either locally or"] | |
|     #[doc = " federated."] | |
|     fn get_tagged_timeline(&self, hashtag: String, local: bool) | |
|      -> Result<Vec<Status>> { | |
|         let base = "/api/v1/timelines/tag/"; | |
|         let url = | |
|             if local { | |
|                 self.route(&{ | |
|                                 let res = | |
|                                     ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["", | |
|                                                                                           "", | |
|                                                                                           "?local=1"], | |
|                                                                                         &match (&base, | |
|                                                                                                 &hashtag) | |
|                                                                                              { | |
|                                                                                              (arg0, | |
|                                                                                               arg1) | |
|                                                                                              => | |
|                                                                                              [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                            ::core::fmt::Display::fmt), | |
|                                                                                               ::core::fmt::ArgumentV1::new(arg1, | |
|                                                                                                                            ::core::fmt::Display::fmt)], | |
|                                                                                          })); | |
|                                 res | |
|                             }) | |
|             } else { | |
|                 self.route(&{ | |
|                                 let res = | |
|                                     ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["", | |
|                                                                                           ""], | |
|                                                                                         &match (&base, | |
|                                                                                                 &hashtag) | |
|                                                                                              { | |
|                                                                                              (arg0, | |
|                                                                                               arg1) | |
|                                                                                              => | |
|                                                                                              [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                            ::core::fmt::Display::fmt), | |
|                                                                                               ::core::fmt::ArgumentV1::new(arg1, | |
|                                                                                                                            ::core::fmt::Display::fmt)], | |
|                                                                                          })); | |
|                                 res | |
|                             }) | |
|             }; | |
|         self.get(url) | |
|     } | |
|     #[doc = | |
|       " Get statuses of a single account by id. Optionally only with pictures"] | |
|     #[doc = " and or excluding replies."] | |
|     #[doc = ""] | |
|     #[doc = " # Example"] | |
|     #[doc = ""] | |
|     #[doc = " ```no_run"] | |
|     #[doc = " # extern crate elefren;"] | |
|     #[doc = " # use elefren::prelude::*;"] | |
|     #[doc = " # use std::error::Error;"] | |
|     #[doc = " # fn main() -> Result<(), Box<Error>> {"] | |
|     #[doc = " # let data = Data {"] | |
|     #[doc = " #   base: \"\".into(),"] | |
|     #[doc = " #   client_id: \"\".into(),"] | |
|     #[doc = " #   client_secret: \"\".into(),"] | |
|     #[doc = " #   redirect: \"\".into(),"] | |
|     #[doc = " #   token: \"\".into(),"] | |
|     #[doc = " # };"] | |
|     #[doc = " let client = Mastodon::from(data);"] | |
|     #[doc = " let statuses = client.statuses(\"user-id\", None)?;"] | |
|     #[doc = " # Ok(())"] | |
|     #[doc = " # }"] | |
|     #[doc = " ```"] | |
|     #[doc = ""] | |
|     #[doc = " ```no_run"] | |
|     #[doc = " # extern crate elefren;"] | |
|     #[doc = " # use elefren::prelude::*;"] | |
|     #[doc = " # use std::error::Error;"] | |
|     #[doc = " # fn main() -> Result<(), Box<Error>> {"] | |
|     #[doc = " # let data = Data {"] | |
|     #[doc = " #   base: \"\".into(),"] | |
|     #[doc = " #   client_id: \"\".into(),"] | |
|     #[doc = " #   client_secret: \"\".into(),"] | |
|     #[doc = " #   redirect: \"\".into(),"] | |
|     #[doc = " #   token: \"\".into(),"] | |
|     #[doc = " # };"] | |
|     #[doc = " let client = Mastodon::from(data);"] | |
|     #[doc = " let mut request = StatusesRequest::new();"] | |
|     #[doc = " request.only_media();"] | |
|     #[doc = " let statuses = client.statuses(\"user-id\", request)?;"] | |
|     #[doc = " # Ok(())"] | |
|     #[doc = " # }"] | |
|     #[doc = " ```"] | |
|     fn statuses<'a, 'b: 'a, S>(&'b self, id: &'b str, request: S) | |
|      -> Result<Page<Status>> where S: Into<Option<StatusesRequest<'a>>> { | |
|         let mut url = | |
|             { | |
|                 let res = | |
|                     ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["", | |
|                                                                           "/api/v1/accounts/", | |
|                                                                           "/statuses"], | |
|                                                                         &match (&self.base, | |
|                                                                                 &id) | |
|                                                                              { | |
|                                                                              (arg0, | |
|                                                                               arg1) | |
|                                                                              => | |
|                                                                              [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                            ::core::fmt::Display::fmt), | |
|                                                                               ::core::fmt::ArgumentV1::new(arg1, | |
|                                                                                                            ::core::fmt::Display::fmt)], | |
|                                                                          })); | |
|                 res | |
|             }; | |
|         if let Some(request) = request.into() { | |
|             url = | |
|                 { | |
|                     let res = | |
|                         ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["", | |
|                                                                               ""], | |
|                                                                             &match (&url, | |
|                                                                                     &request.to_querystring()?) | |
|                                                                                  { | |
|                                                                                  (arg0, | |
|                                                                                   arg1) | |
|                                                                                  => | |
|                                                                                  [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                ::core::fmt::Display::fmt), | |
|                                                                                   ::core::fmt::ArgumentV1::new(arg1, | |
|                                                                                                                ::core::fmt::Display::fmt)], | |
|                                                                              })); | |
|                     res | |
|                 }; | |
|         } | |
|         let response = self.send(self.client.get(&url))?; | |
|         Page::new(self, response) | |
|     } | |
|     #[doc = | |
|       " Returns the client account\'s relationship to a list of other accounts."] | |
|     #[doc = " Such as whether they follow them or vice versa."] | |
|     fn relationships(&self, ids: &[&str]) -> Result<Page<Relationship>> { | |
|         let mut url = self.route("/api/v1/accounts/relationships?"); | |
|         if ids.len() == 1 { | |
|             url += "id="; | |
|             url += &ids[0]; | |
|         } else { | |
|             for id in ids { url += "id[]="; url += &id; url += "&"; } | |
|             url.pop(); | |
|         } | |
|         let response = self.send(self.client.get(&url))?; | |
|         Page::new(self, response) | |
|     } | |
|     #[doc = " Add a push notifications subscription"] | |
|     fn add_push_subscription(&self, request: &AddPushRequest) | |
|      -> Result<Subscription> { | |
|         let request = request.build()?; | |
|         let response = | |
|             self.send(self.client.post(&self.route("/api/v1/push/subscription")).json(&request))?; | |
|         deserialise(response) | |
|     } | |
|     #[doc = | |
|       " Update the `data` portion of the push subscription associated with this"] | |
|     #[doc = " access token"] | |
|     fn update_push_data(&self, request: &UpdatePushRequest) | |
|      -> Result<Subscription> { | |
|         let request = request.build(); | |
|         let response = | |
|             self.send(self.client.put(&self.route("/api/v1/push/subscription")).json(&request))?; | |
|         deserialise(response) | |
|     } | |
|     #[doc = " Get all accounts that follow the authenticated user"] | |
|     fn follows_me(&self) -> Result<Page<Account>> { | |
|         let me = self.verify_credentials()?; | |
|         Ok(self.followers(&me.id)?) | |
|     } | |
|     #[doc = " Get all accounts that the authenticated user follows"] | |
|     fn followed_by_me(&self) -> Result<Page<Account>> { | |
|         let me = self.verify_credentials()?; | |
|         Ok(self.following(&me.id)?) | |
|     } | |
| } | |
| impl ops::Deref for Mastodon { | |
|     type Target = Data; | |
|     fn deref(&self) -> &Self::Target { &self.data } | |
| } | |
| struct MastodonBuilder { | |
|     client: Option<Client>, | |
|     data: Option<Data>, | |
| } | |
| impl MastodonBuilder { | |
|     pub fn new() -> Self { MastodonBuilder{client: None, data: None,} } | |
|     pub fn client(&mut self, client: Client) -> &mut Self { | |
|         self.client = Some(client); | |
|         self | |
|     } | |
|     pub fn data(&mut self, data: Data) -> &mut Self { | |
|         self.data = Some(data); | |
|         self | |
|     } | |
|     pub fn build(self) -> Result<Mastodon> { | |
|         Ok(if let Some(data) = self.data { | |
|                Mastodon{client: self.client.unwrap_or_else(|| Client::new()), | |
|                         data,} | |
|            } else { | |
|                return Err(Error::MissingField("missing field 'data'")); | |
|            }) | |
|     } | |
| } | |
| /// Client that can make unauthenticated calls to a mastodon instance | |
| pub struct MastodonUnauth { | |
|     client: Client, | |
|     base: url::Url, | |
| } | |
| #[automatically_derived] | |
| #[allow(unused_qualifications)] | |
| impl ::core::clone::Clone for MastodonUnauth { | |
|     #[inline] | |
|     fn clone(&self) -> MastodonUnauth { | |
|         match *self { | |
|             MastodonUnauth { client: ref __self_0_0, base: ref __self_0_1 } => | |
|             MastodonUnauth{client: | |
|                                ::core::clone::Clone::clone(&(*__self_0_0)), | |
|                            base: | |
|                                ::core::clone::Clone::clone(&(*__self_0_1)),}, | |
|         } | |
|     } | |
| } | |
| #[automatically_derived] | |
| #[allow(unused_qualifications)] | |
| impl ::core::fmt::Debug for MastodonUnauth { | |
|     fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result { | |
|         match *self { | |
|             MastodonUnauth { client: ref __self_0_0, base: ref __self_0_1 } => | |
|             { | |
|                 let mut debug_trait_builder = | |
|                     f.debug_struct("MastodonUnauth"); | |
|                 let _ = debug_trait_builder.field("client", &&(*__self_0_0)); | |
|                 let _ = debug_trait_builder.field("base", &&(*__self_0_1)); | |
|                 debug_trait_builder.finish() | |
|             } | |
|         } | |
|     } | |
| } | |
| impl MastodonUnauth { | |
|     /// Create a new unauthenticated client | |
|     pub fn new(base: &str) -> Result<MastodonUnauth> { | |
|         let base = | |
|             if base.starts_with("https://") { | |
|                 base.to_string() | |
|             } else { | |
|                 { | |
|                     let res = | |
|                         ::alloc::fmt::format(::core::fmt::Arguments::new_v1(&["https://"], | |
|                                                                             &match (&base,) | |
|                                                                                  { | |
|                                                                                  (arg0,) | |
|                                                                                  => | |
|                                                                                  [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                ::core::fmt::Display::fmt)], | |
|                                                                              })); | |
|                     res | |
|                 } | |
|             }; | |
|         Ok(MastodonUnauth{client: Client::new(), | |
|                           base: url::Url::parse(&base)?,}) | |
|     } | |
| } | |
| impl MastodonUnauth { | |
|     fn route(&self, url: &str) -> Result<url::Url> { | |
|         Ok(self.base.join(url)?) | |
|     } | |
|     fn send(&self, req: RequestBuilder) -> Result<Response> { | |
|         let req = req.build()?; | |
|         Ok(self.client.execute(req)?) | |
|     } | |
| } | |
| impl MastodonUnauthenticated for MastodonUnauth { | |
|     /// GET /api/v1/statuses/:id | |
|     fn get_status(&self, id: &str) -> Result<Status> { | |
|         let route = self.route("/api/v1/statuses")?; | |
|         let route = route.join(id)?; | |
|         let response = self.send(self.client.get(route))?; | |
|         deserialise(response) | |
|     } | |
|     /// GET /api/v1/statuses/:id/context | |
|     fn get_context(&self, id: &str) -> Result<Context> { | |
|         let route = self.route("/api/v1/statuses")?; | |
|         let route = route.join(id)?; | |
|         let route = route.join("context")?; | |
|         let response = self.send(self.client.get(route))?; | |
|         deserialise(response) | |
|     } | |
|     /// GET /api/v1/statuses/:id/card | |
|     fn get_card(&self, id: &str) -> Result<Card> { | |
|         let route = self.route("/api/v1/statuses")?; | |
|         let route = route.join(id)?; | |
|         let route = route.join("card")?; | |
|         let response = self.send(self.client.get(route))?; | |
|         deserialise(response) | |
|     } | |
| } | |
| fn deserialise<T: for<'de> serde::Deserialize<'de>>(response: Response) | |
|  -> Result<T> { | |
|     let mut reader = Tap::new(response); | |
|     match serde_json::from_reader(&mut reader) { | |
|         Ok(t) => { | |
|             { | |
|                 let lvl = ::log::Level::Debug; | |
|                 if lvl <= ::log::STATIC_MAX_LEVEL && lvl <= ::log::max_level() | |
|                    { | |
|                     ::log::__private_api_log(::core::fmt::Arguments::new_v1(&[""], | |
|                                                                             &match (&String::from_utf8_lossy(&reader.bytes),) | |
|                                                                                  { | |
|                                                                                  (arg0,) | |
|                                                                                  => | |
|                                                                                  [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                ::core::fmt::Display::fmt)], | |
|                                                                              }), | |
|                                              lvl, | |
|                                              &("elefren", "elefren", | |
|                                                "src/lib.rs", 845u32)); | |
|                 } | |
|             }; | |
|             Ok(t) | |
|         } | |
|         Err(e) => { | |
|             { | |
|                 let lvl = ::log::Level::Error; | |
|                 if lvl <= ::log::STATIC_MAX_LEVEL && lvl <= ::log::max_level() | |
|                    { | |
|                     ::log::__private_api_log(::core::fmt::Arguments::new_v1(&[""], | |
|                                                                             &match (&String::from_utf8_lossy(&reader.bytes),) | |
|                                                                                  { | |
|                                                                                  (arg0,) | |
|                                                                                  => | |
|                                                                                  [::core::fmt::ArgumentV1::new(arg0, | |
|                                                                                                                ::core::fmt::Display::fmt)], | |
|                                                                              }), | |
|                                              lvl, | |
|                                              &("elefren", "elefren", | |
|                                                "src/lib.rs", 851u32)); | |
|                 } | |
|             }; | |
|             if let Ok(error) = serde_json::from_slice(&reader.bytes) { | |
|                 return Err(Error::Api(error)); | |
|             } | |
|             Err(e.into()) | |
|         } | |
|     } | |
| }
 |