On Thu, 13 Jun 2024 11:53, "Daniel P. Berrangé" <berra...@redhat.com> wrote:
On Thu, Jun 13, 2024 at 11:41:38AM +0300, Manos Pitsidianakis wrote:
> > diff --git a/rust/rustfmt.toml b/rust/rustfmt.toml
> > new file mode 100644
> > index 0000000000..ebecb99fe0
> > --- /dev/null
> > +++ b/rust/rustfmt.toml
> > @@ -0,0 +1,7 @@
> > +edition = "2021"
> > +format_generated_files = false
> > +format_code_in_doc_comments = true
> > +format_strings = true
> > +imports_granularity = "Crate"
> > +group_imports = "StdExternalCrate"
> > +wrap_comments = true
> >
>
> About the Rust style, inspired from the discussion on my previous
> simpletrace-rust [1], it looks like people prefer the default rust style
> and use the default check without custom configurations.
>
> More style requirements are also an open, especially for unstable ones,
> and it would be better to split this part into a separate patch, so that
> the discussion about style doesn't overshadow the focus on your example.
>
> [1]: https://lore.kernel.org/qemu-devel/zlnbgwk29ds9f...@redhat.com/
>
I had read that discussion and had that in mind. There's no need to worry
about format inconsistencies; these options are unstable -nightly only-
format options and they don't affect the default rust style (they actually
follow it). If you run a stable cargo fmt you will see the code won't change
(but might complain that these settings are nightly only).
What they do is extra work on top of the default style. If anything ends up
incompatible with stable I agree it must be removed, there's no sense in
having a custom Rust style when the defaults are so reasonable.
This doesn't make sense. One the one hand you're saying the rules don't
have any effect on the code style vs the default, but on the otherhand
saying they do "extra work" on top of the default style. Those can't
both be true.
No, I fear there's a confusion here. It means that if you run the stable
rustfmt with the default options the code doesn't change. I.e. it does
not conflict with the default style.
What it does is group imports, format text in doc comments (which stable
rustfmt doesn't touch at all) and also splits long strings into several
lines, which are all helpful for e-mail patch reviews.
Thanks,
Manos