// rustfmt-single_line_if_else_max_width: 0
// rustfmt-chain_base_indent: Inherit
// Test chain formatting with block indented base

fn floaters() {
    let x = Foo {
        field1: val1,
        field2: val2,
    }
    .method_call()
    .method_call();

    let y = if cond {
        val1
    } else {
        val2
    }
    .method_call();

    {
        match x {
            PushParam => {
                // params are 1-indexed
                stack.push(mparams[match cur.to_digit(10) {
                    Some(d) => d as usize - 1,
                    None => return Err("bad param number".to_owned()),
                }]
                .clone());
            }
        }
    }
}