Crate deep_flatten

source ·
Expand description

Deep Flatten

Deep Flatten is a simple utility trait that flattens up to 32 nested Options.

Example

use deep_flatten::DeepFlatten;

let x = Some(Some(Some(Some(Some(Some(Some(Some(Some(())))))))));
let flattened = x.deep_flatten();

assert_eq!(flattened, Some(()));

Result support coming soon.

I genuinely don’t know why you will ever need this but ok

Traits

Trait for deep flattening Options.