zlacker

[parent] [thread] 1 comments
1. jvande+(OP)[view] [source] 2025-12-05 19:01:01
I almost always prefer enums and matches! vs bool parameters. Another way is to implement a Trait that you find useful that encapsulates the logic. And don't forget you can do impl <Enum> {} blocks to add useful functions that execute regardless of which member of the enum you got.

    enum MyType{
    
    ...
    
    }

    impl MyType{
        pub fn is_useable_in_this_way(&self) -> bool{
            // possibly ...
            match self {...}
        }
    }
and later:

    pub fn use_in_that_way(e: MyType) {
        if e.is_useable_in_this_way() {...}
    }
Or if you hate all that there's always:

    if let MyType::Member(x) = e {
        ...
    }
replies(1): >>J_Shel+6h
2. J_Shel+6h[view] [source] 2025-12-05 20:24:48
>>jvande+(OP)
If let is probably the closest to a regular bool.

For ints you can implement the deref trait on structs. So you can treat YourType(u64) as a u64 without destructing. I couldn’t figure out a way to do that with YouType(bool).

[go to top]