rust - How to access a elements of a struct of type array -


i created following struct

pub const bucket_size: usize = 4;  pub const fingerprint_size: usize = 1;  pub struct fingerprint ([u8; fingerprint_size]);  impl fingerprint {     pub fn new(bytes: [u8; fingerprint_size]) -> fingerprint {         return fingerprint(bytes);     } }  pub struct bucket ([fingerprint; bucket_size]);  impl bucket {     pub fn new(fingerprints: [fingerprint; bucket_size]) -> bucket {         bucket(fingerprints)     }     pub fn insert(&self, fp: fingerprint) -> bool {         in 0..bucket_size {                //here error             if (self[i usize] == 0) {                 self[i usize] = fp;                 return true;             }            }         return false;     } } 

when trying compile following error

error: cannot index value of type `&bucket::bucket` 

does make more sense make buckets hold property fingerprints instead?

the type bucket tuple struct 1 field, can access .0.

so can change code to:

        if (self.0[i usize] == 0) {             self.0[i usize] = fp;             return true;         } 

you need change function argument &self &mut self can mutate fields of self.


Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -