How do prevent rustfmt from aggressively indenting "if-let-and-else"
Example:
if let Some(pkey) = sort_pkey
&& pkey != option
{
let msg = format!("`{option}` cannot but used with `{pkey}`");
return Error::invalid_argument(msg).into();
} else {
behavior.sort = match option {
Opt::LowerC => Sort::Status,
Opt::LowerU => Sort::Access,
Opt::LowerT => Sort::Mod,
Opt::UpperS => Sort::Size,
_ => unreachable!(),
};
sort_pkey = Some(option);
}
The top if let is getting indented despite the following .rustfmt.toml config:
unstable_features = true
max_width = 120
single_line_if_else_max_width = 80
chain_width = 60
I can't for the life of me figure out which knob to turn to prevent this ridiculous behavior which hurts readability to an annoying degree in my opinion.
Does anyone know how to prevent this?