about summary refs log tree commit diff
path: root/src/librustc_codegen_llvm/base.rs
diff options
context:
space:
mode:
authorDenis Merigoux <denis.merigoux@gmail.com>2018-08-22 17:48:32 +0200
committerEduard-Mihai Burtescu <edy.burt@gmail.com>2018-11-16 14:11:34 +0200
commit9c41e1aa109e27eef4e6d21e90ecbbb1a12e6468 (patch)
treef80386a91a7d17ecf0dbb6298e1ab4d4ce69b6a0 /src/librustc_codegen_llvm/base.rs
parent1ca750683ef1fc6db178c2fff8c0d0fb713690ab (diff)
downloadrust-9c41e1aa109e27eef4e6d21e90ecbbb1a12e6468.tar.gz
rust-9c41e1aa109e27eef4e6d21e90ecbbb1a12e6468.zip
Removed genericity over Value in various functions
Prelude to using associated types in traits rather than type parameters
Diffstat (limited to 'src/librustc_codegen_llvm/base.rs')
-rw-r--r--src/librustc_codegen_llvm/base.rs13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/librustc_codegen_llvm/base.rs b/src/librustc_codegen_llvm/base.rs
index f8b9c794086..31a19439c84 100644
--- a/src/librustc_codegen_llvm/base.rs
+++ b/src/librustc_codegen_llvm/base.rs
@@ -89,7 +89,7 @@ use syntax_pos::symbol::InternedString;
 use syntax::attr;
 use rustc::hir::{self, CodegenFnAttrs};
 
-use value::{Value, ValueTrait};
+use value::Value;
 
 use mir::operand::OperandValue;
 
@@ -391,11 +391,10 @@ pub fn call_assume(bx: &Builder<'_, 'll, '_>, val: &'ll Value) {
 }
 
 pub fn from_immediate<'a, 'll: 'a, 'tcx: 'll,
-    Value : ?Sized,
     Builder: BuilderMethods<'a, 'll, 'tcx, Value, BasicBlock>>(
     bx: &Builder,
     val: &'ll Value
-) -> &'ll Value where Value : ValueTrait {
+) -> &'ll Value {
     if val_ty(val) == Type::i1(bx.cx()) {
         bx.zext(val, Type::i8(bx.cx()))
     } else {
@@ -426,7 +425,6 @@ pub fn to_immediate_scalar(
 }
 
 pub fn call_memcpy<'a, 'll: 'a, 'tcx: 'll,
-    Value : ?Sized,
     Builder: BuilderMethods<'a, 'll, 'tcx, Value, BasicBlock>>(
     bx: &Builder,
     dst: &'ll Value,
@@ -435,7 +433,7 @@ pub fn call_memcpy<'a, 'll: 'a, 'tcx: 'll,
     src_align: Align,
     n_bytes: &'ll Value,
     flags: MemFlags,
-) where Value : ValueTrait {
+) {
     if flags.contains(MemFlags::NONTEMPORAL) {
         // HACK(nox): This is inefficient but there is no nontemporal memcpy.
         let val = bx.load(src, src_align);
@@ -452,7 +450,6 @@ pub fn call_memcpy<'a, 'll: 'a, 'tcx: 'll,
 }
 
 pub fn memcpy_ty<'a, 'll: 'a, 'tcx: 'll,
-    Value : ?Sized,
     Builder: BuilderMethods<'a, 'll, 'tcx, Value, BasicBlock>>(
     bx: &Builder,
     dst: &'ll Value,
@@ -461,7 +458,7 @@ pub fn memcpy_ty<'a, 'll: 'a, 'tcx: 'll,
     src_align: Align,
     layout: TyLayout<'tcx>,
     flags: MemFlags,
-) where Value : ValueTrait {
+) {
     let size = layout.size.bytes();
     if size == 0 {
         return;
@@ -558,7 +555,7 @@ fn maybe_create_entry_wrapper(cx: &CodegenCx) {
         use_start_lang_item: bool,
     ) {
         let llfty =
-            Type::func::<Value>(&[Type::c_int(cx), Type::i8p(cx).ptr_to()], Type::c_int(cx));
+            Type::func(&[Type::c_int(cx), Type::i8p(cx).ptr_to()], Type::c_int(cx));
 
         let main_ret_ty = cx.tcx.fn_sig(rust_main_def_id).output();
         // Given that `main()` has no arguments,