File tree Expand file tree Collapse file tree 2 files changed +14
-19
lines changed Expand file tree Collapse file tree 2 files changed +14
-19
lines changed Original file line number Diff line number Diff line change @@ -23,7 +23,6 @@ use std::mem::{forget, MaybeUninit};
23
23
use std:: path:: Path ;
24
24
use std:: ptr;
25
25
use std:: rc:: Rc ;
26
- use std:: slice:: from_raw_parts;
27
26
28
27
use crate :: { AddressSpace , OptimizationLevel } ;
29
28
#[ llvm_versions( 7.0 ..=latest) ]
@@ -930,20 +929,18 @@ impl<'ctx> Module<'ctx> {
930
929
/// ```
931
930
pub fn get_global_metadata ( & self , key : & str ) -> Vec < MetadataValue < ' ctx > > {
932
931
let c_string = to_c_str ( key) ;
933
- let count = self . get_global_metadata_size ( key) ;
932
+ let count = self . get_global_metadata_size ( key) as usize ;
934
933
935
- let mut raw_vec : Vec < LLVMValueRef > = Vec :: with_capacity ( count as usize ) ;
936
- let ptr = raw_vec . as_mut_ptr ( ) ;
934
+ let mut vec : Vec < LLVMValueRef > = Vec :: with_capacity ( count) ;
935
+ let ptr = vec . as_mut_ptr ( ) ;
937
936
938
- forget ( raw_vec) ;
939
-
940
- let slice = unsafe {
937
+ unsafe {
941
938
LLVMGetNamedMetadataOperands ( self . module . get ( ) , c_string. as_ptr ( ) , ptr) ;
942
939
943
- from_raw_parts ( ptr , count as usize )
940
+ vec . set_len ( count) ;
944
941
} ;
945
942
946
- slice . iter ( ) . map ( |val| MetadataValue :: new ( * val) ) . collect ( )
943
+ vec . iter ( ) . map ( |val| MetadataValue :: new ( * val) ) . collect ( )
947
944
}
948
945
949
946
/// Gets the first `GlobalValue` in a module.
Original file line number Diff line number Diff line change @@ -12,8 +12,6 @@ use crate::values::{BasicMetadataValueEnum, Value};
12
12
13
13
use std:: ffi:: CStr ;
14
14
use std:: fmt;
15
- use std:: mem:: forget;
16
- use std:: slice:: from_raw_parts;
17
15
18
16
// TODOC: Varies by version
19
17
#[ cfg( feature = "llvm3-6" ) ]
@@ -109,19 +107,19 @@ impl<'ctx> MetadataValue<'ctx> {
109
107
return Vec :: new ( ) ;
110
108
}
111
109
112
- let count = self . get_node_size ( ) ;
113
- let mut raw_vec : Vec < LLVMValueRef > = Vec :: with_capacity ( count as usize ) ;
114
- let ptr = raw_vec . as_mut_ptr ( ) ;
110
+ let count = self . get_node_size ( ) as usize ;
111
+ let mut vec : Vec < LLVMValueRef > = Vec :: with_capacity ( count) ;
112
+ let ptr = vec . as_mut_ptr ( ) ;
115
113
116
- forget ( raw_vec) ;
117
-
118
- let slice = unsafe {
114
+ unsafe {
119
115
LLVMGetMDNodeOperands ( self . as_value_ref ( ) , ptr) ;
120
116
121
- from_raw_parts ( ptr , count as usize )
117
+ vec . set_len ( count)
122
118
} ;
123
119
124
- slice. iter ( ) . map ( |val| BasicMetadataValueEnum :: new ( * val) ) . collect ( )
120
+ vec. iter ( )
121
+ . map ( |val| BasicMetadataValueEnum :: new ( * val) )
122
+ . collect ( )
125
123
}
126
124
127
125
pub fn print_to_string ( self ) -> LLVMString {
You can’t perform that action at this time.
0 commit comments