feat: add Clone derive (#13)

This commit is contained in:
Alex Roper 2020-05-05 19:51:10 -07:00 committed by GitHub
parent 317ca7333d
commit 8fb6e90f57
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
22 changed files with 33 additions and 33 deletions

View file

@ -142,7 +142,7 @@ impl<'a> RawBlock<'a> {
} }
/// Special Block Element /// Special Block Element
#[derive(Debug)] #[derive(Debug, Clone)]
#[cfg_attr(test, derive(PartialEq))] #[cfg_attr(test, derive(PartialEq))]
#[cfg_attr(feature = "ser", derive(serde::Serialize))] #[cfg_attr(feature = "ser", derive(serde::Serialize))]
pub struct SpecialBlock<'a> { pub struct SpecialBlock<'a> {
@ -171,7 +171,7 @@ impl SpecialBlock<'_> {
} }
/// Quote Block Element /// Quote Block Element
#[derive(Debug)] #[derive(Debug, Clone)]
#[cfg_attr(test, derive(PartialEq))] #[cfg_attr(test, derive(PartialEq))]
#[cfg_attr(feature = "ser", derive(serde::Serialize))] #[cfg_attr(feature = "ser", derive(serde::Serialize))]
pub struct QuoteBlock<'a> { pub struct QuoteBlock<'a> {
@ -197,7 +197,7 @@ impl QuoteBlock<'_> {
} }
/// Center Block Element /// Center Block Element
#[derive(Debug)] #[derive(Debug, Clone)]
#[cfg_attr(test, derive(PartialEq))] #[cfg_attr(test, derive(PartialEq))]
#[cfg_attr(feature = "ser", derive(serde::Serialize))] #[cfg_attr(feature = "ser", derive(serde::Serialize))]
pub struct CenterBlock<'a> { pub struct CenterBlock<'a> {
@ -223,7 +223,7 @@ impl CenterBlock<'_> {
} }
/// Verse Block Element /// Verse Block Element
#[derive(Debug)] #[derive(Debug, Clone)]
#[cfg_attr(test, derive(PartialEq))] #[cfg_attr(test, derive(PartialEq))]
#[cfg_attr(feature = "ser", derive(serde::Serialize))] #[cfg_attr(feature = "ser", derive(serde::Serialize))]
pub struct VerseBlock<'a> { pub struct VerseBlock<'a> {
@ -249,7 +249,7 @@ impl VerseBlock<'_> {
} }
/// Comment Block Element /// Comment Block Element
#[derive(Debug)] #[derive(Debug, Clone)]
#[cfg_attr(test, derive(PartialEq))] #[cfg_attr(test, derive(PartialEq))]
#[cfg_attr(feature = "ser", derive(serde::Serialize))] #[cfg_attr(feature = "ser", derive(serde::Serialize))]
pub struct CommentBlock<'a> { pub struct CommentBlock<'a> {
@ -273,7 +273,7 @@ impl CommentBlock<'_> {
} }
/// Example Block Element /// Example Block Element
#[derive(Debug)] #[derive(Debug, Clone)]
#[cfg_attr(test, derive(PartialEq))] #[cfg_attr(test, derive(PartialEq))]
#[cfg_attr(feature = "ser", derive(serde::Serialize))] #[cfg_attr(feature = "ser", derive(serde::Serialize))]
pub struct ExampleBlock<'a> { pub struct ExampleBlock<'a> {
@ -297,7 +297,7 @@ impl ExampleBlock<'_> {
} }
/// Export Block Element /// Export Block Element
#[derive(Debug)] #[derive(Debug, Clone)]
#[cfg_attr(test, derive(PartialEq))] #[cfg_attr(test, derive(PartialEq))]
#[cfg_attr(feature = "ser", derive(serde::Serialize))] #[cfg_attr(feature = "ser", derive(serde::Serialize))]
pub struct ExportBlock<'a> { pub struct ExportBlock<'a> {
@ -320,7 +320,7 @@ impl ExportBlock<'_> {
} }
/// Src Block Element /// Src Block Element
#[derive(Debug, Default)] #[derive(Debug, Default, Clone)]
#[cfg_attr(test, derive(PartialEq))] #[cfg_attr(test, derive(PartialEq))]
#[cfg_attr(feature = "ser", derive(serde::Serialize))] #[cfg_attr(feature = "ser", derive(serde::Serialize))]
pub struct SourceBlock<'a> { pub struct SourceBlock<'a> {

View file

@ -16,7 +16,7 @@ use crate::parse::combinators::{blank_lines_count, eol};
#[cfg_attr(test, derive(PartialEq))] #[cfg_attr(test, derive(PartialEq))]
#[cfg_attr(feature = "ser", derive(serde::Serialize))] #[cfg_attr(feature = "ser", derive(serde::Serialize))]
#[cfg_attr(feature = "ser", serde(untagged))] #[cfg_attr(feature = "ser", serde(untagged))]
#[derive(Debug)] #[derive(Debug, Clone)]
pub enum Clock<'a> { pub enum Clock<'a> {
/// Closed Clock /// Closed Clock
Closed { Closed {

View file

@ -7,7 +7,7 @@ use nom::{
use crate::parse::combinators::{blank_lines_count, lines_while}; use crate::parse::combinators::{blank_lines_count, lines_while};
#[derive(Debug, Default)] #[derive(Debug, Default, Clone)]
#[cfg_attr(feature = "ser", derive(serde::Serialize))] #[cfg_attr(feature = "ser", derive(serde::Serialize))]
pub struct Comment<'a> { pub struct Comment<'a> {
/// Comments value, with pound signs /// Comments value, with pound signs

View file

@ -13,7 +13,7 @@ use nom::{
/// Statistics Cookie Object /// Statistics Cookie Object
#[cfg_attr(test, derive(PartialEq))] #[cfg_attr(test, derive(PartialEq))]
#[cfg_attr(feature = "ser", derive(serde::Serialize))] #[cfg_attr(feature = "ser", derive(serde::Serialize))]
#[derive(Debug)] #[derive(Debug, Clone)]
pub struct Cookie<'a> { pub struct Cookie<'a> {
/// Full cookie value /// Full cookie value
pub value: Cow<'a, str>, pub value: Cow<'a, str>,

View file

@ -11,7 +11,7 @@ use nom::{
use crate::parse::combinators::{blank_lines_count, eol, lines_till}; use crate::parse::combinators::{blank_lines_count, eol, lines_till};
/// Drawer Element /// Drawer Element
#[derive(Debug, Default)] #[derive(Debug, Default, Clone)]
#[cfg_attr(test, derive(PartialEq))] #[cfg_attr(test, derive(PartialEq))]
#[cfg_attr(feature = "ser", derive(serde::Serialize))] #[cfg_attr(feature = "ser", derive(serde::Serialize))]
pub struct Drawer<'a> { pub struct Drawer<'a> {

View file

@ -10,7 +10,7 @@ use nom::{
use crate::parse::combinators::{blank_lines_count, line, lines_till}; use crate::parse::combinators::{blank_lines_count, line, lines_till};
/// Dynamic Block Element /// Dynamic Block Element
#[derive(Debug, Default)] #[derive(Debug, Default, Clone)]
#[cfg_attr(test, derive(PartialEq))] #[cfg_attr(test, derive(PartialEq))]
#[cfg_attr(feature = "ser", derive(serde::Serialize))] #[cfg_attr(feature = "ser", derive(serde::Serialize))]
pub struct DynBlock<'a> { pub struct DynBlock<'a> {

View file

@ -7,7 +7,7 @@ use nom::{
use crate::parse::combinators::{blank_lines_count, lines_while}; use crate::parse::combinators::{blank_lines_count, lines_while};
#[derive(Debug, Default)] #[derive(Debug, Default, Clone)]
#[cfg_attr(test, derive(PartialEq))] #[cfg_attr(test, derive(PartialEq))]
#[cfg_attr(feature = "ser", derive(serde::Serialize))] #[cfg_attr(feature = "ser", derive(serde::Serialize))]
pub struct FixedWidth<'a> { pub struct FixedWidth<'a> {

View file

@ -12,7 +12,7 @@ use crate::parse::combinators::{blank_lines_count, line};
/// Footnote Definition Element /// Footnote Definition Element
#[cfg_attr(test, derive(PartialEq))] #[cfg_attr(test, derive(PartialEq))]
#[cfg_attr(feature = "ser", derive(serde::Serialize))] #[cfg_attr(feature = "ser", derive(serde::Serialize))]
#[derive(Debug, Default)] #[derive(Debug, Default, Clone)]
pub struct FnDef<'a> { pub struct FnDef<'a> {
/// Footnote label, used for reference /// Footnote label, used for reference
pub label: Cow<'a, str>, pub label: Cow<'a, str>,

View file

@ -12,7 +12,7 @@ use nom::{
/// Footnote Reference Element /// Footnote Reference Element
#[cfg_attr(test, derive(PartialEq))] #[cfg_attr(test, derive(PartialEq))]
#[cfg_attr(feature = "ser", derive(serde::Serialize))] #[cfg_attr(feature = "ser", derive(serde::Serialize))]
#[derive(Debug)] #[derive(Debug, Clone)]
pub struct FnRef<'a> { pub struct FnRef<'a> {
/// Footnote label /// Footnote label
pub label: Cow<'a, str>, pub label: Cow<'a, str>,

View file

@ -11,7 +11,7 @@ use nom::{
/// Inline Babel Call Object /// Inline Babel Call Object
#[cfg_attr(test, derive(PartialEq))] #[cfg_attr(test, derive(PartialEq))]
#[cfg_attr(feature = "ser", derive(serde::Serialize))] #[cfg_attr(feature = "ser", derive(serde::Serialize))]
#[derive(Debug, Default)] #[derive(Debug, Default, Clone)]
pub struct InlineCall<'a> { pub struct InlineCall<'a> {
/// Called code block name /// Called code block name
pub name: Cow<'a, str>, pub name: Cow<'a, str>,

View file

@ -11,7 +11,7 @@ use nom::{
/// Inline Src Block Object /// Inline Src Block Object
#[cfg_attr(test, derive(PartialEq))] #[cfg_attr(test, derive(PartialEq))]
#[cfg_attr(feature = "ser", derive(serde::Serialize))] #[cfg_attr(feature = "ser", derive(serde::Serialize))]
#[derive(Debug)] #[derive(Debug, Clone)]
pub struct InlineSrc<'a> { pub struct InlineSrc<'a> {
/// Language of the code /// Language of the code
pub lang: Cow<'a, str>, pub lang: Cow<'a, str>,

View file

@ -83,7 +83,7 @@ impl<'a> RawKeyword<'a> {
/// Keyword Element /// Keyword Element
#[cfg_attr(test, derive(PartialEq))] #[cfg_attr(test, derive(PartialEq))]
#[cfg_attr(feature = "ser", derive(serde::Serialize))] #[cfg_attr(feature = "ser", derive(serde::Serialize))]
#[derive(Debug)] #[derive(Debug, Clone)]
pub struct Keyword<'a> { pub struct Keyword<'a> {
/// Keyword name /// Keyword name
pub key: Cow<'a, str>, pub key: Cow<'a, str>,
@ -108,7 +108,7 @@ impl Keyword<'_> {
} }
/// Babel Call Element /// Babel Call Element
#[derive(Debug)] #[derive(Debug, Clone)]
#[cfg_attr(test, derive(PartialEq))] #[cfg_attr(test, derive(PartialEq))]
#[cfg_attr(feature = "ser", derive(serde::Serialize))] #[cfg_attr(feature = "ser", derive(serde::Serialize))]
pub struct BabelCall<'a> { pub struct BabelCall<'a> {

View file

@ -11,7 +11,7 @@ use nom::{
/// Link Object /// Link Object
#[cfg_attr(test, derive(PartialEq))] #[cfg_attr(test, derive(PartialEq))]
#[cfg_attr(feature = "ser", derive(serde::Serialize))] #[cfg_attr(feature = "ser", derive(serde::Serialize))]
#[derive(Debug)] #[derive(Debug, Clone)]
pub struct Link<'a> { pub struct Link<'a> {
/// Link destination /// Link destination
pub path: Cow<'a, str>, pub path: Cow<'a, str>,

View file

@ -15,7 +15,7 @@ use nom::{
/// Plain List Element /// Plain List Element
#[cfg_attr(test, derive(PartialEq))] #[cfg_attr(test, derive(PartialEq))]
#[cfg_attr(feature = "ser", derive(serde::Serialize))] #[cfg_attr(feature = "ser", derive(serde::Serialize))]
#[derive(Debug)] #[derive(Debug, Clone)]
pub struct List { pub struct List {
/// List indent, number of whitespaces /// List indent, number of whitespaces
pub indent: usize, pub indent: usize,
@ -29,7 +29,7 @@ pub struct List {
/// List Item Element /// List Item Element
#[cfg_attr(test, derive(PartialEq))] #[cfg_attr(test, derive(PartialEq))]
#[cfg_attr(feature = "ser", derive(serde::Serialize))] #[cfg_attr(feature = "ser", derive(serde::Serialize))]
#[derive(Debug)] #[derive(Debug, Clone)]
pub struct ListItem<'a> { pub struct ListItem<'a> {
/// List item bullet /// List item bullet
pub bullet: Cow<'a, str>, pub bullet: Cow<'a, str>,

View file

@ -11,7 +11,7 @@ use nom::{
/// Macro Object /// Macro Object
#[cfg_attr(test, derive(PartialEq))] #[cfg_attr(test, derive(PartialEq))]
#[cfg_attr(feature = "ser", derive(serde::Serialize))] #[cfg_attr(feature = "ser", derive(serde::Serialize))]
#[derive(Debug)] #[derive(Debug, Clone)]
pub struct Macros<'a> { pub struct Macros<'a> {
/// Macro name /// Macro name
pub name: Cow<'a, str>, pub name: Cow<'a, str>,

View file

@ -5,7 +5,7 @@ use crate::elements::Timestamp;
/// Planning element /// Planning element
#[cfg_attr(test, derive(PartialEq))] #[cfg_attr(test, derive(PartialEq))]
#[cfg_attr(feature = "ser", derive(serde::Serialize))] #[cfg_attr(feature = "ser", derive(serde::Serialize))]
#[derive(Debug)] #[derive(Debug, Clone)]
pub struct Planning<'a> { pub struct Planning<'a> {
/// Timestamp associated to deadline keyword /// Timestamp associated to deadline keyword
#[cfg_attr(feature = "ser", serde(skip_serializing_if = "Option::is_none"))] #[cfg_attr(feature = "ser", serde(skip_serializing_if = "Option::is_none"))]

View file

@ -4,7 +4,7 @@ use nom::{
use crate::parse::combinators::{blank_lines_count, eol}; use crate::parse::combinators::{blank_lines_count, eol};
#[derive(Debug, Default)] #[derive(Debug, Default, Clone)]
#[cfg_attr(test, derive(PartialEq))] #[cfg_attr(test, derive(PartialEq))]
#[cfg_attr(feature = "ser", derive(serde::Serialize))] #[cfg_attr(feature = "ser", derive(serde::Serialize))]
pub struct Rule { pub struct Rule {

View file

@ -10,7 +10,7 @@ use nom::{
/// Export Snippet Object /// Export Snippet Object
#[cfg_attr(test, derive(PartialEq))] #[cfg_attr(test, derive(PartialEq))]
#[cfg_attr(feature = "ser", derive(serde::Serialize))] #[cfg_attr(feature = "ser", derive(serde::Serialize))]
#[derive(Debug)] #[derive(Debug, Clone)]
pub struct Snippet<'a> { pub struct Snippet<'a> {
/// Back-end name /// Back-end name
pub name: Cow<'a, str>, pub name: Cow<'a, str>,

View file

@ -8,7 +8,7 @@ use nom::{
use crate::parse::combinators::{blank_lines_count, line, lines_while}; use crate::parse::combinators::{blank_lines_count, line, lines_while};
/// Table Element /// Table Element
#[derive(Debug)] #[derive(Debug, Clone)]
#[cfg_attr(test, derive(PartialEq))] #[cfg_attr(test, derive(PartialEq))]
#[cfg_attr(feature = "ser", derive(serde::Serialize))] #[cfg_attr(feature = "ser", derive(serde::Serialize))]
#[cfg_attr(feature = "ser", serde(tag = "table_type"))] #[cfg_attr(feature = "ser", serde(tag = "table_type"))]
@ -116,7 +116,7 @@ impl Table<'_> {
/// |-----+-----+-----| <- ignores /// |-----+-----+-----| <- ignores
/// ``` /// ```
/// ///
#[derive(Debug)] #[derive(Debug, Clone)]
#[cfg_attr(test, derive(PartialEq))] #[cfg_attr(test, derive(PartialEq))]
#[cfg_attr(feature = "ser", derive(serde::Serialize))] #[cfg_attr(feature = "ser", derive(serde::Serialize))]
#[cfg_attr(feature = "ser", serde(tag = "table_row_type"))] #[cfg_attr(feature = "ser", serde(tag = "table_row_type"))]
@ -133,7 +133,7 @@ pub enum TableRow {
} }
/// Table Cell Element /// Table Cell Element
#[derive(Debug)] #[derive(Debug, Clone)]
#[cfg_attr(test, derive(PartialEq))] #[cfg_attr(test, derive(PartialEq))]
#[cfg_attr(feature = "ser", derive(serde::Serialize))] #[cfg_attr(feature = "ser", derive(serde::Serialize))]
#[cfg_attr(feature = "ser", serde(tag = "table_cell_type"))] #[cfg_attr(feature = "ser", serde(tag = "table_cell_type"))]

View file

@ -11,7 +11,7 @@ use nom::{
/// Target Object /// Target Object
#[cfg_attr(test, derive(PartialEq))] #[cfg_attr(test, derive(PartialEq))]
#[cfg_attr(feature = "ser", derive(serde::Serialize))] #[cfg_attr(feature = "ser", derive(serde::Serialize))]
#[derive(Debug)] #[derive(Debug, Clone)]
pub struct Target<'a> { pub struct Target<'a> {
/// Target ID /// Target ID
pub target: Cow<'a, str>, pub target: Cow<'a, str>,

View file

@ -100,7 +100,7 @@ mod chrono {
#[cfg_attr(feature = "ser", derive(serde::Serialize))] #[cfg_attr(feature = "ser", derive(serde::Serialize))]
#[cfg_attr(feature = "ser", serde(rename_all = "kebab-case"))] #[cfg_attr(feature = "ser", serde(rename_all = "kebab-case"))]
#[cfg_attr(feature = "ser", serde(tag = "timestamp_type"))] #[cfg_attr(feature = "ser", serde(tag = "timestamp_type"))]
#[derive(Debug)] #[derive(Debug, Clone)]
pub enum Timestamp<'a> { pub enum Timestamp<'a> {
Active { Active {
start: Datetime<'a>, start: Datetime<'a>,

View file

@ -23,7 +23,7 @@ use crate::{
/// Title Element /// Title Element
#[cfg_attr(test, derive(PartialEq))] #[cfg_attr(test, derive(PartialEq))]
#[cfg_attr(feature = "ser", derive(serde::Serialize))] #[cfg_attr(feature = "ser", derive(serde::Serialize))]
#[derive(Debug)] #[derive(Debug, Clone)]
pub struct Title<'a> { pub struct Title<'a> {
/// Headline level, number of stars /// Headline level, number of stars
pub level: usize, pub level: usize,