Skip to content

Commit e85bc09

Browse files
authored
Merge pull request rust-lang#15 from 6A/copy_and_clone
Added Copy + Clone traits to values & types
2 parents c9a751b + df22627 commit e85bc09

22 files changed

+53
-20
lines changed

src/types/array_type.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use types::traits::AsTypeRef;
88
use types::{Type, BasicType, PointerType, FunctionType};
99
use values::{BasicValue, ArrayValue, PointerValue, IntValue};
1010

11-
#[derive(Debug, PartialEq, Eq)]
11+
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
1212
pub struct ArrayType {
1313
array_type: Type,
1414
}

src/types/float_type.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use types::traits::AsTypeRef;
99
use types::{Type, PointerType, FunctionType, BasicType, ArrayType, VectorType};
1010
use values::{FloatValue, GenericValue, PointerValue, IntValue};
1111

12-
#[derive(Debug, PartialEq, Eq)]
12+
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
1313
pub struct FloatType {
1414
float_type: Type,
1515
}

src/types/fn_type.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ use types::traits::AsTypeRef;
1010
use types::{Type, BasicTypeEnum};
1111
// use values::FunctionValue;
1212

13-
#[derive(PartialEq, Eq)]
13+
#[derive(PartialEq, Eq, Clone, Copy)]
1414
pub struct FunctionType {
1515
fn_type: Type,
1616
}

src/types/int_type.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use types::traits::AsTypeRef;
99
use types::{Type, ArrayType, BasicType, VectorType, PointerType, FunctionType};
1010
use values::{GenericValue, IntValue, PointerValue};
1111

12-
#[derive(Debug, PartialEq, Eq)]
12+
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
1313
pub struct IntType {
1414
int_type: Type,
1515
}

src/types/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ use values::{IntValue, PointerValue};
3434
// Worth noting that types seem to be singletons. At the very least, primitives are.
3535
// Though this is likely only true per thread since LLVM claims to not be very thread-safe.
3636
// REVIEW: Maybe move this into its own module?
37-
#[derive(PartialEq, Eq)]
37+
#[derive(PartialEq, Eq, Clone, Copy)]
3838
struct Type {
3939
type_: LLVMTypeRef,
4040
}

src/types/ptr_type.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use types::traits::AsTypeRef;
88
use types::{Type, BasicType, ArrayType, FunctionType, VectorType};
99
use values::{PointerValue, IntValue};
1010

11-
#[derive(Debug, PartialEq, Eq)]
11+
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
1212
pub struct PointerType {
1313
ptr_type: Type,
1414
}

src/types/struct_type.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use types::traits::AsTypeRef;
99
use types::{Type, BasicType, BasicTypeEnum, ArrayType, PointerType, FunctionType, VectorType};
1010
use values::{BasicValue, StructValue, PointerValue, IntValue};
1111

12-
#[derive(Debug, PartialEq, Eq)]
12+
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
1313
pub struct StructType {
1414
struct_type: Type,
1515
}

src/types/vec_type.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use values::{BasicValue, PointerValue, VectorValue, IntValue};
99

1010
// REVIEW: vec_type() is impl for IntType & FloatType. Need to
1111
// find out if it is valid for other types too. Maybe PointerType?
12-
#[derive(Debug, PartialEq, Eq)]
12+
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
1313
pub struct VectorType {
1414
vec_type: Type,
1515
}

src/types/void_type.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use values::PointerValue;
88

99
use std::ffi::CStr;
1010

11-
#[derive(Debug, PartialEq, Eq)]
11+
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
1212
pub struct VoidType {
1313
void_type: Type,
1414
}

src/values/array_value.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use types::ArrayType;
88
use values::traits::AsValueRef;
99
use values::{Value, InstructionValue, MetadataValue};
1010

11-
#[derive(PartialEq, Eq)]
11+
#[derive(PartialEq, Eq, Clone, Copy)]
1212
pub struct ArrayValue {
1313
array_value: Value
1414
}

0 commit comments

Comments
 (0)