/deep-flatten

Useful utility for deep flattening nested Options.

Primary LanguageRustMIT LicenseMIT

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