#bucket #libc #mutation #unsafe

bucket

Offers a very simple container for any value without mutation

1 stable release

1.0.0 Mar 2, 2022

#23 in #mutation

Download history 128/week @ 2024-12-14 316/week @ 2024-12-21 189/week @ 2024-12-28 139/week @ 2025-01-04 176/week @ 2025-01-11 48/week @ 2025-01-18 174/week @ 2025-01-25 230/week @ 2025-02-01 89/week @ 2025-02-08 105/week @ 2025-02-15 89/week @ 2025-02-22 117/week @ 2025-03-01 159/week @ 2025-03-08 237/week @ 2025-03-15 90/week @ 2025-03-22 9/week @ 2025-03-29

495 downloads per month

GPL-3.0-only

9KB
142 lines

Bucket

Library made for fun that offers a very simple container for any value without mutation.

Beware, it bites.

Example

See src/tests.rs for more examples.

use bucket::Bucket;

fn main() {
    let my_val: Vec<u32> = vec![1, 2, 3];

    // Creates new Bucket and takes the ownership of `my_val`.
    let bucket = Bucket::new(my_val);

    // Increases every number from the vector by 1.
    // Mutation of the Bucket isn't needed.
    for number in bucket.peek_mut().unwrap() {
        *number += 1;
    }

    // Returns content of the Bucket.
    let _ = bucket.vacate().unwrap();

    // Now the Bucket can be filled with other u32 vector.
    bucket.fill(vec![4, 4, 4]);
}

Dependencies

~43KB