@@ -18,8 +18,6 @@ use sorted_set::SortedSet;
1818use std:: sync:: Mutex ;
1919use supported_term:: SupportedTerm ;
2020
21-
22-
2321mod atoms {
2422 rustler_atoms ! {
2523 // Common Atoms
@@ -54,7 +52,7 @@ pub enum Error {
5452 #[ fail( display = "Not found" ) ]
5553 NotFound ,
5654 #[ fail( display = "Max bucket size exceeded" ) ]
57- MaxBucketSizeExceeded
55+ MaxBucketSizeExceeded ,
5856}
5957
6058pub struct FoundData {
@@ -63,7 +61,6 @@ pub struct FoundData {
6361 idx : usize ,
6462}
6563
66-
6764rustler_export_nifs ! {
6865 "Elixir.Discord.SortedSet.NifBridge" ,
6966 [
@@ -93,10 +90,7 @@ fn empty<'a>(env: Env<'a>, args: &[Term<'a>]) -> NifResult<Term<'a>> {
9390
9491 let initial_set_capacity: usize = ( initial_item_capacity / max_bucket_size) + 1 ;
9592
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) ;
10094
10195 let resource = ResourceArc :: new ( SortedSetResource ( Mutex :: new ( SortedSet :: empty (
10296 configuration,
@@ -111,10 +105,7 @@ fn new<'a>(env: Env<'a>, args: &[Term<'a>]) -> NifResult<Term<'a>> {
111105
112106 let initial_set_capacity: usize = ( initial_item_capacity / max_bucket_size) + 1 ;
113107
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) ;
118109
119110 let resource = ResourceArc :: new ( SortedSetResource ( Mutex :: new ( SortedSet :: new ( configuration) ) ) ) ;
120111
@@ -139,12 +130,12 @@ fn append_bucket<'a>(env: Env<'a>, args: &[Term<'a>]) -> NifResult<Term<'a>> {
139130
140131 match set. append_bucket ( items) {
141132 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) )
146136 }
147- }
137+ _ => unreachable ! ( ) ,
138+ } ,
148139 }
149140}
150141
@@ -166,12 +157,10 @@ fn add<'a>(env: Env<'a>, args: &[Term<'a>]) -> NifResult<Term<'a>> {
166157
167158 match set. add ( item) {
168159 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+ } ,
175164 }
176165}
177166
@@ -193,12 +182,10 @@ fn remove<'a>(env: Env<'a>, args: &[Term<'a>]) -> NifResult<Term<'a>> {
193182
194183 match set. remove ( & item) {
195184 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+ } ,
202189 }
203190}
204191
@@ -282,16 +269,11 @@ fn find_index<'a>(env: Env<'a>, args: &[Term<'a>]) -> NifResult<Term<'a>> {
282269 } ;
283270
284271 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+ } ,
295277 }
296278}
297279
0 commit comments