From 4674d065464c9a741efa40906b97dabece596ca5 Mon Sep 17 00:00:00 2001
From: Diego Barrios Romero <eldruin@gmail.com>
Date: Fri, 16 Nov 2018 17:47:48 +0100
Subject: [PATCH] Make types copyable

---
 src/ds323x/alarms.rs   | 12 ++++++------
 src/ds323x/datetime.rs |  4 ++--
 src/lib.rs             |  4 ++--
 3 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/src/ds323x/alarms.rs b/src/ds323x/alarms.rs
index 7effa6d..f1cdbbf 100644
--- a/src/ds323x/alarms.rs
+++ b/src/ds323x/alarms.rs
@@ -6,7 +6,7 @@ use interface::{ ReadData, WriteData };
 use super::{ decimal_to_packed_bcd, hours_to_register };
 
 /// Parameters for setting Alarm1 on a date
-#[derive(Debug, Clone, PartialEq)]
+#[derive(Debug, Clone, Copy, PartialEq)]
 pub struct DateAlarm1 {
     /// Date (day of month) [1-31]
     pub date: u8,
@@ -19,7 +19,7 @@ pub struct DateAlarm1 {
 }
 
 /// Parameters for setting Alarm1 on a weekday
-#[derive(Debug, Clone, PartialEq)]
+#[derive(Debug, Clone, Copy, PartialEq)]
 pub struct WeekdayAlarm1 {
     /// Weekday [1-7]
     pub weekday: u8,
@@ -32,7 +32,7 @@ pub struct WeekdayAlarm1 {
 }
 
 /// Alarm1 trigger rate
-#[derive(Debug, Clone, PartialEq)]
+#[derive(Debug, Clone, Copy, PartialEq)]
 pub enum Alarm1Matching {
     /// Alarm once per second.
     OncePerSecond,
@@ -48,7 +48,7 @@ pub enum Alarm1Matching {
 
 
 /// Parameters for setting Alarm2 on a date
-#[derive(Debug, Clone, PartialEq)]
+#[derive(Debug, Clone, Copy, PartialEq)]
 pub struct DateAlarm2 {
     /// Date (day of month) [1-31]
     pub date: u8,
@@ -59,7 +59,7 @@ pub struct DateAlarm2 {
 }
 
 /// Parameters for setting Alarm2 on a weekday
-#[derive(Debug, Clone, PartialEq)]
+#[derive(Debug, Clone, Copy, PartialEq)]
 pub struct WeekdayAlarm2 {
     /// Weekday [1-7]
     pub weekday: u8,
@@ -70,7 +70,7 @@ pub struct WeekdayAlarm2 {
 }
 
 /// Alarm2 trigger rate
-#[derive(Debug, Clone, PartialEq)]
+#[derive(Debug, Clone, Copy, PartialEq)]
 pub enum Alarm2Matching {
     /// Alarm once per minute. (00 seconds of every minute)
     OncePerMinute,
diff --git a/src/ds323x/datetime.rs b/src/ds323x/datetime.rs
index a9d56a3..aaf7430 100644
--- a/src/ds323x/datetime.rs
+++ b/src/ds323x/datetime.rs
@@ -6,7 +6,7 @@ use super::{ decimal_to_packed_bcd, packed_bcd_to_decimal, hours_to_register };
 use interface::{ ReadData, WriteData };
 
 /// Date and time
-#[derive(Debug, Clone, PartialEq)]
+#[derive(Debug, Clone, Copy, PartialEq)]
 pub struct DateTime {
     /// Year [2000-2099]
     pub year    : u16,
@@ -25,7 +25,7 @@ pub struct DateTime {
 }
 
 /// Hours in either 12-hour (AM/PM) or 24-hour format
-#[derive(Debug, Clone, PartialEq)]
+#[derive(Debug, Clone, Copy, PartialEq)]
 pub enum Hours {
     /// AM [1-12]
     AM(u8),
diff --git a/src/lib.rs b/src/lib.rs
index 93eb3e5..d91a4e4 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -452,7 +452,7 @@ pub enum Error<E> {
 }
 
 /// Square-wave output frequency
-#[derive(Debug, Clone, PartialEq)]
+#[derive(Debug, Clone, Copy, PartialEq)]
 pub enum SqWFreq {
     /// 1 Hz (default)
     _1Hz,
@@ -467,7 +467,7 @@ pub enum SqWFreq {
 /// Temperature conversion rate
 ///
 /// This is only available on the DS3232 and DS3234 devices.
-#[derive(Debug, Clone, PartialEq)]
+#[derive(Debug, Clone, Copy, PartialEq)]
 pub enum TempConvRate {
     /// Once every 64 seconds (default)
     _64s,