@@ -18,8 +18,6 @@ use sorted_set::SortedSet;
18
18
use std:: sync:: Mutex ;
19
19
use supported_term:: SupportedTerm ;
20
20
21
-
22
-
23
21
mod atoms {
24
22
rustler_atoms ! {
25
23
// Common Atoms
@@ -54,7 +52,7 @@ pub enum Error {
54
52
#[ fail( display = "Not found" ) ]
55
53
NotFound ,
56
54
#[ fail( display = "Max bucket size exceeded" ) ]
57
- MaxBucketSizeExceeded
55
+ MaxBucketSizeExceeded ,
58
56
}
59
57
60
58
pub struct FoundData {
@@ -63,7 +61,6 @@ pub struct FoundData {
63
61
idx : usize ,
64
62
}
65
63
66
-
67
64
rustler_export_nifs ! {
68
65
"Elixir.Discord.SortedSet.NifBridge" ,
69
66
[
@@ -93,10 +90,7 @@ fn empty<'a>(env: Env<'a>, args: &[Term<'a>]) -> NifResult<Term<'a>> {
93
90
94
91
let initial_set_capacity: usize = ( initial_item_capacity / max_bucket_size) + 1 ;
95
92
96
- let configuration = Configuration :: new (
97
- max_bucket_size,
98
- initial_set_capacity,
99
- ) ;
93
+ let configuration = Configuration :: new ( max_bucket_size, initial_set_capacity) ;
100
94
101
95
let resource = ResourceArc :: new ( SortedSetResource ( Mutex :: new ( SortedSet :: empty (
102
96
configuration,
@@ -111,10 +105,7 @@ fn new<'a>(env: Env<'a>, args: &[Term<'a>]) -> NifResult<Term<'a>> {
111
105
112
106
let initial_set_capacity: usize = ( initial_item_capacity / max_bucket_size) + 1 ;
113
107
114
- let configuration = Configuration :: new (
115
- max_bucket_size,
116
- initial_set_capacity,
117
- ) ;
108
+ let configuration = Configuration :: new ( max_bucket_size, initial_set_capacity) ;
118
109
119
110
let resource = ResourceArc :: new ( SortedSetResource ( Mutex :: new ( SortedSet :: new ( configuration) ) ) ) ;
120
111
@@ -139,12 +130,12 @@ fn append_bucket<'a>(env: Env<'a>, args: &[Term<'a>]) -> NifResult<Term<'a>> {
139
130
140
131
match set. append_bucket ( items) {
141
132
Ok ( _) => Ok ( atoms:: ok ( ) . encode ( env) ) ,
142
- Err ( e) => {
143
- match e {
144
- Error :: MaxBucketSizeExceeded => Ok ( ( atoms:: error ( ) , atoms:: max_bucket_size_exceeded ( ) ) . encode ( env) ) ,
145
- _ => unreachable ! ( ) ,
133
+ Err ( e) => match e {
134
+ Error :: MaxBucketSizeExceeded => {
135
+ Ok ( ( atoms:: error ( ) , atoms:: max_bucket_size_exceeded ( ) ) . encode ( env) )
146
136
}
147
- }
137
+ _ => unreachable ! ( ) ,
138
+ } ,
148
139
}
149
140
}
150
141
@@ -166,12 +157,10 @@ fn add<'a>(env: Env<'a>, args: &[Term<'a>]) -> NifResult<Term<'a>> {
166
157
167
158
match set. add ( item) {
168
159
Ok ( idx) => Ok ( ( atoms:: ok ( ) , atoms:: added ( ) , idx) . encode ( env) ) ,
169
- Err ( e) => {
170
- match e {
171
- Error :: Duplicate ( idx) => Ok ( ( atoms:: ok ( ) , atoms:: duplicate ( ) , idx) . encode ( env) ) ,
172
- _ => unreachable ! ( ) ,
173
- }
174
- }
160
+ Err ( e) => match e {
161
+ Error :: Duplicate ( idx) => Ok ( ( atoms:: ok ( ) , atoms:: duplicate ( ) , idx) . encode ( env) ) ,
162
+ _ => unreachable ! ( ) ,
163
+ } ,
175
164
}
176
165
}
177
166
@@ -193,12 +182,10 @@ fn remove<'a>(env: Env<'a>, args: &[Term<'a>]) -> NifResult<Term<'a>> {
193
182
194
183
match set. remove ( & item) {
195
184
Ok ( idx) => Ok ( ( atoms:: ok ( ) , atoms:: removed ( ) , idx) . encode ( env) ) ,
196
- Err ( e) => {
197
- match e {
198
- Error :: NotFound => Ok ( ( atoms:: error ( ) , atoms:: not_found ( ) ) . encode ( env) ) ,
199
- _ => unreachable ! ( ) ,
200
- }
201
- }
185
+ Err ( e) => match e {
186
+ Error :: NotFound => Ok ( ( atoms:: error ( ) , atoms:: not_found ( ) ) . encode ( env) ) ,
187
+ _ => unreachable ! ( ) ,
188
+ } ,
202
189
}
203
190
}
204
191
@@ -282,16 +269,11 @@ fn find_index<'a>(env: Env<'a>, args: &[Term<'a>]) -> NifResult<Term<'a>> {
282
269
} ;
283
270
284
271
match set. find_index ( & item) {
285
- Ok ( FoundData {
286
- idx,
287
- ..
288
- } ) => Ok ( ( atoms:: ok ( ) , idx) . encode ( env) ) ,
289
- Err ( e) => {
290
- match e {
291
- Error :: NotFound => Ok ( ( atoms:: error ( ) , atoms:: not_found ( ) ) . encode ( env) ) ,
292
- _ => unreachable ! ( ) ,
293
- }
294
- }
272
+ Ok ( FoundData { idx, .. } ) => Ok ( ( atoms:: ok ( ) , idx) . encode ( env) ) ,
273
+ Err ( e) => match e {
274
+ Error :: NotFound => Ok ( ( atoms:: error ( ) , atoms:: not_found ( ) ) . encode ( env) ) ,
275
+ _ => unreachable ! ( ) ,
276
+ } ,
295
277
}
296
278
}
297
279
0 commit comments