@@ -49,7 +49,7 @@ pub fn create_rmstring(
49
49
str : * mut * mut rawmod:: RedisModuleString ,
50
50
) -> c_int {
51
51
if let Ok ( s) = CString :: new ( from_str) {
52
- let p = s. as_bytes_with_nul ( ) . as_ptr ( ) as * const c_char ;
52
+ let p = s. as_bytes_with_nul ( ) . as_ptr ( ) . cast :: < c_char > ( ) ;
53
53
let len = s. as_bytes ( ) . len ( ) ;
54
54
unsafe { * str = rawmod:: RedisModule_CreateString . unwrap ( ) ( ctx, p, len) } ;
55
55
return Status :: Ok as c_int ;
@@ -72,10 +72,10 @@ pub fn json_api_open_key_internal<M: Manager>(
72
72
}
73
73
74
74
pub fn json_api_get_at < M : Manager > ( _: M , json : * const c_void , index : size_t ) -> * const c_void {
75
- let json = unsafe { & * ( json as * const M :: V ) } ;
75
+ let json = unsafe { & * ( json. cast :: < M :: V > ( ) ) } ;
76
76
match json. get_type ( ) {
77
77
SelectValueType :: Array => match json. get_index ( index) {
78
- Some ( v) => v as * const M :: V as * const c_void ,
78
+ Some ( v) => ( v as * const M :: V ) . cast :: < c_void > ( ) ,
79
79
_ => null ( ) ,
80
80
} ,
81
81
_ => null ( ) ,
@@ -84,7 +84,7 @@ pub fn json_api_get_at<M: Manager>(_: M, json: *const c_void, index: size_t) ->
84
84
85
85
#[ allow( clippy:: not_unsafe_ptr_arg_deref) ]
86
86
pub fn json_api_get_len < M : Manager > ( _: M , json : * const c_void , count : * mut libc:: size_t ) -> c_int {
87
- let json = unsafe { & * ( json as * const M :: V ) } ;
87
+ let json = unsafe { & * ( json. cast :: < M :: V > ( ) ) } ;
88
88
let len = match json. get_type ( ) {
89
89
SelectValueType :: String => Some ( json. get_str ( ) . len ( ) ) ,
90
90
SelectValueType :: Array => Some ( json. len ( ) . unwrap ( ) ) ,
@@ -101,7 +101,7 @@ pub fn json_api_get_len<M: Manager>(_: M, json: *const c_void, count: *mut libc:
101
101
}
102
102
103
103
pub fn json_api_get_type < M : Manager > ( _: M , json : * const c_void ) -> c_int {
104
- json_api_get_type_internal ( unsafe { & * ( json as * const M :: V ) } ) as c_int
104
+ json_api_get_type_internal ( unsafe { & * ( json. cast :: < M :: V > ( ) ) } ) as c_int
105
105
}
106
106
107
107
pub fn json_api_get_string < M : Manager > (
@@ -110,7 +110,7 @@ pub fn json_api_get_string<M: Manager>(
110
110
str : * mut * const c_char ,
111
111
len : * mut size_t ,
112
112
) -> c_int {
113
- let json = unsafe { & * ( json as * const M :: V ) } ;
113
+ let json = unsafe { & * ( json. cast :: < M :: V > ( ) ) } ;
114
114
match json. get_type ( ) {
115
115
SelectValueType :: String => {
116
116
let s = json. as_str ( ) ;
@@ -127,14 +127,14 @@ pub fn json_api_get_json<M: Manager>(
127
127
ctx : * mut rawmod:: RedisModuleCtx ,
128
128
str : * mut * mut rawmod:: RedisModuleString ,
129
129
) -> c_int {
130
- let json = unsafe { & * ( json as * const M :: V ) } ;
130
+ let json = unsafe { & * ( json. cast :: < M :: V > ( ) ) } ;
131
131
let res = KeyValue :: < M :: V > :: serialize_object ( json, None , None , None ) ;
132
132
create_rmstring ( ctx, & res, str)
133
133
}
134
134
135
135
#[ allow( clippy:: not_unsafe_ptr_arg_deref) ]
136
136
pub fn json_api_get_int < M : Manager > ( _: M , json : * const c_void , val : * mut c_longlong ) -> c_int {
137
- let json = unsafe { & * ( json as * const M :: V ) } ;
137
+ let json = unsafe { & * ( json. cast :: < M :: V > ( ) ) } ;
138
138
match json. get_type ( ) {
139
139
SelectValueType :: Long => {
140
140
unsafe { * val = json. get_long ( ) } ;
@@ -146,7 +146,7 @@ pub fn json_api_get_int<M: Manager>(_: M, json: *const c_void, val: *mut c_longl
146
146
147
147
#[ allow( clippy:: not_unsafe_ptr_arg_deref) ]
148
148
pub fn json_api_get_double < M : Manager > ( _: M , json : * const c_void , val : * mut c_double ) -> c_int {
149
- let json = unsafe { & * ( json as * const M :: V ) } ;
149
+ let json = unsafe { & * ( json. cast :: < M :: V > ( ) ) } ;
150
150
match json. get_type ( ) {
151
151
SelectValueType :: Double => {
152
152
unsafe { * val = json. get_double ( ) } ;
@@ -158,7 +158,7 @@ pub fn json_api_get_double<M: Manager>(_: M, json: *const c_void, val: *mut c_do
158
158
159
159
#[ allow( clippy:: not_unsafe_ptr_arg_deref) ]
160
160
pub fn json_api_get_boolean < M : Manager > ( _: M , json : * const c_void , val : * mut c_int ) -> c_int {
161
- let json = unsafe { & * ( json as * const M :: V ) } ;
161
+ let json = unsafe { & * ( json. cast :: < M :: V > ( ) ) } ;
162
162
match json. get_type ( ) {
163
163
SelectValueType :: Bool => {
164
164
unsafe { * val = json. get_bool ( ) as c_int } ;
@@ -174,7 +174,7 @@ pub fn json_api_get_boolean<M: Manager>(_: M, json: *const c_void, val: *mut c_i
174
174
pub fn set_string ( from_str : & str , str : * mut * const c_char , len : * mut size_t ) -> c_int {
175
175
if !str. is_null ( ) {
176
176
unsafe {
177
- * str = from_str. as_ptr ( ) as * const c_char ;
177
+ * str = from_str. as_ptr ( ) . cast :: < c_char > ( ) ;
178
178
* len = from_str. len ( ) ;
179
179
}
180
180
return Status :: Ok as c_int ;
@@ -195,38 +195,38 @@ fn json_api_get_type_internal<V: SelectValue>(v: &V) -> JSONType {
195
195
}
196
196
197
197
pub fn json_api_next < M : Manager > ( _: M , iter : * mut c_void ) -> * const c_void {
198
- let iter = unsafe { & mut * ( iter as * mut ResultsIterator < M :: V > ) } ;
198
+ let iter = unsafe { & mut * ( iter. cast :: < ResultsIterator < M :: V > > ( ) ) } ;
199
199
if iter. pos >= iter. results . len ( ) {
200
200
null_mut ( )
201
201
} else {
202
- let res = iter. results [ iter. pos ] as * const M :: V as * const c_void ;
202
+ let res = ( iter. results [ iter. pos ] as * const M :: V ) . cast :: < c_void > ( ) ;
203
203
iter. pos += 1 ;
204
204
res
205
205
}
206
206
}
207
207
208
208
pub fn json_api_len < M : Manager > ( _: M , iter : * const c_void ) -> size_t {
209
- let iter = unsafe { & * ( iter as * mut ResultsIterator < M :: V > ) } ;
209
+ let iter = unsafe { & * ( iter. cast :: < ResultsIterator < M :: V > > ( ) ) } ;
210
210
iter. results . len ( ) as size_t
211
211
}
212
212
213
213
pub fn json_api_free_iter < M : Manager > ( _: M , iter : * mut c_void ) {
214
214
unsafe {
215
- Box :: from_raw ( iter as * mut ResultsIterator < M :: V > ) ;
215
+ Box :: from_raw ( iter. cast :: < ResultsIterator < M :: V > > ( ) ) ;
216
216
}
217
217
}
218
218
219
219
#[ allow( clippy:: not_unsafe_ptr_arg_deref) ]
220
220
pub fn json_api_get < M : Manager > ( _: M , val : * const c_void , path : * const c_char ) -> * const c_void {
221
- let v = unsafe { & * ( val as * const M :: V ) } ;
221
+ let v = unsafe { & * ( val. cast :: < M :: V > ( ) ) } ;
222
222
let mut selector = Selector :: new ( ) ;
223
223
selector. value ( v) ;
224
224
let path = unsafe { CStr :: from_ptr ( path) . to_str ( ) . unwrap ( ) } ;
225
225
if selector. str_path ( path) . is_err ( ) {
226
226
return null ( ) ;
227
227
}
228
228
match selector. select ( ) {
229
- Ok ( s) => Box :: into_raw ( Box :: new ( ResultsIterator { results : s, pos : 0 } ) ) as * mut c_void ,
229
+ Ok ( s) => Box :: into_raw ( Box :: new ( ResultsIterator { results : s, pos : 0 } ) ) . cast :: < c_void > ( ) ,
230
230
Err ( _) => null ( ) ,
231
231
}
232
232
}
0 commit comments