collapsible_match
Default: Enabled
What it does
Checks for nested match statements that can be collapsed into a single match statement. Note that this lint is not intended to find all cases where nested match patterns can be merged, but only cases where merging would most likely make the code more readable.
Example
cairo
fn func(opt: Option<Result<u32, felt252>>) {
let n = match opt {
Some(n) => match n {
Ok(n) => n,
_ => return,
}
None => return,
};
}Can be collapsed to
cairo
fn func(opt: Option<Result<u32, felt252>>) {
let n = match opt {
Some(Ok(n)) => n,
_ => return,
};
}