From: brian m. carlson Date: Tue, 07 Oct 2025 22:42:16 GMT Subject: Re: [PATCH 2/6] ci: check formatting of our Rust code Message-ID: In-Reply-To: On 2025-10-07 at 17:13:18, Eric Sunshine wrote: > Later in the same thread, I wrote[2]: > > Project guidelines have long suggested 80 columns as a desirable > maximum not only for C code, but for pretty much all other > resources, including shell code, Perl code, and documentation > files. This suggested maximum works well for adherents of > 80-columns and (presumably) hasn't been too onerous for developers > who use wider windows; at least we haven't heard people clamoring > to increase the suggested maximum column limit. As such, it does > not seem far-fetched to expect that the project guidelines > should/could/would also apply to Rust code. My preference is actually that we stick with the default. I use (and for a long time have used) a 132-character editor window and I find it quite useful to have the extra space. The DEC VT100 did 132 columns (available on your local Linux system as `vt100-w`), so I think there's plenty of precedent for that being an acceptable width[0]. I did previously use 80-column terminals when I had a tiny laptop screen, but modern display resolutions over the past decade, even on smaller laptops, have made it entirely possible to get several wider terminal windows (or in my case, tmux panes) on one screen. One of my current tmux panes is now 213×54 and I really enjoy the extra space. The default Rust behaviour is 100 characters[1], which I think is a fine default. I won't be enormously angsty if we say we still absolutely must stick to 80-character lines, but I also think we should take this opportunity to choose the Rust defaults for Rust. C, Perl, and text formats like AsciiDoc do not have rigid defaults about indentation style, tabs vs. spaces, and line length; Rust does. We wouldn't use tabs in Rust (the default is four spaces) because we use it everywhere else, so I think we should take the opportunity to use the Rust defaults here as well. Whatever we ultimately decide, I plan to send an update to our `.editorconfig` file. I think that's less useful in general for Rust, where we have an automatic tidy tool and CI to check for it, but there are some people for whom it will be useful and we might as well keep it correct. [0] For what it's worth, Linus also thinks longer lines and 132-column terminals are useful. I don't agree with him about everything, certainly, but I think we see eye to eye here: https://lkml.org/lkml/2020/5/29/1038. [1] % rustfmt --print-config=default /dev/stdout | grep '^max_width' max_width = 100 -- brian m. carlson (they/them) Toronto, Ontario, CA