about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2023-02-10 20:10:54 +0000
committerbors <bors@rust-lang.org>2023-02-10 20:10:54 +0000
commit8011029d3a0f4014217e1ade75688c0f3c5305db (patch)
treec04399f87bf30e92479abf3c51be3f0adab35f26 /compiler/rustc_codegen_llvm/src
parentd9c020d42677c34b81606acfad35da3aa48fb0f1 (diff)
parentc7bd3c682f9141f88b23d2e79c31a0be055c1c83 (diff)
downloadrust-8011029d3a0f4014217e1ade75688c0f3c5305db.tar.gz
rust-8011029d3a0f4014217e1ade75688c0f3c5305db.zip
Auto merge of #13975 - DropDemBits:on-enter-after-dot-chains, r=DropDemBits
fix: Suppress extra indent after the end of field and function chains

(spurred on by <https://github.com/rust-lang/rust-analyzer/issues/4182#issuecomment-671275652>)

Caveat that this doesn't work for after tail expressions, although there shouldn't be anything after those anyways.

This also complicates when to reload the language configuration by nature of now always having a language configuration applicable.

Examples of indentation fixes:

```rs
fn main() {
    println!("Hello!"); // < enter here!
    // ... indents down here

    fs::read_to_string("soup") // < enter here!
    // ... still indents down here :(
        .map(|_| ())
        .map(|_| ()) // < enter here!
        // ... still indents down here :D
        .map_err(|_| ())
        .unwrap(); // < enter here!
    // ... indents down here :D

    // ... and subsequent enters stay at the same indent

    0.0f64
        .to_radians()
        .to_radians()
        .to_radians() // force semi on a new line
        ; // < enter here!
    // ... indents down here :D
}

fn tail_end() -> i32 {
    0i32.wrapping_abs()
        .wrapping_abs()
        .wrapping_abs()
        .wrapping_abs() // < enter here!
        // ... still indents here :shrug:
}
```
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
0 files changed, 0 insertions, 0 deletions