about summary refs log tree commit diff
path: root/src/libterm
diff options
context:
space:
mode:
Diffstat (limited to 'src/libterm')
-rw-r--r--src/libterm/lib.rs3
-rw-r--r--src/libterm/terminfo/parm.rs8
2 files changed, 11 insertions, 0 deletions
diff --git a/src/libterm/lib.rs b/src/libterm/lib.rs
index 0e4ecb8f73e..575ec860f97 100644
--- a/src/libterm/lib.rs
+++ b/src/libterm/lib.rs
@@ -165,6 +165,7 @@ pub mod color {
 /// Terminal attributes
 pub mod attr {
     pub use self::Attr::*;
+    use std::kinds::Copy;
 
     /// Terminal attributes for use with term.attr().
     ///
@@ -193,6 +194,8 @@ pub mod attr {
         /// Convenience attribute to set the background color
         BackgroundColor(super::color::Color)
     }
+
+    impl Copy for Attr {}
 }
 
 /// A terminal with similar capabilities to an ANSI Terminal
diff --git a/src/libterm/terminfo/parm.rs b/src/libterm/terminfo/parm.rs
index ee8178fed91..c81bff6a1ae 100644
--- a/src/libterm/terminfo/parm.rs
+++ b/src/libterm/terminfo/parm.rs
@@ -33,6 +33,8 @@ enum States {
     SeekIfEndPercent(int)
 }
 
+impl Copy for States {}
+
 #[deriving(PartialEq)]
 enum FormatState {
     FormatStateFlags,
@@ -40,6 +42,8 @@ enum FormatState {
     FormatStatePrecision
 }
 
+impl Copy for FormatState {}
+
 /// Types of parameters a capability can use
 #[allow(missing_docs)]
 #[deriving(Clone)]
@@ -452,6 +456,8 @@ struct Flags {
     space: bool
 }
 
+impl Copy for Flags {}
+
 impl Flags {
     fn new() -> Flags {
         Flags{ width: 0, precision: 0, alternate: false,
@@ -467,6 +473,8 @@ enum FormatOp {
     FormatString
 }
 
+impl Copy for FormatOp {}
+
 impl FormatOp {
     fn from_char(c: char) -> FormatOp {
         match c {