• lad@programming.dev
      link
      fedilink
      English
      arrow-up
      3
      ·
      9 days ago

      Agree, setting up rustfmt and then battling other developers about it’s settings is not very fun. But having a standard tool with configurable settings that can be stored right in the repository is immensely better than not

  • OnfireNFS@lemmy.world
    link
    fedilink
    arrow-up
    10
    ·
    10 days ago

    I like that rust is opinionated by default. It reminds me of prettier. I don’t have to argue with teams about what code style were using. I can open up any rust project and know it’s readable and formatted with the same specification as any other rust project

  • thingsiplay@beehaw.org
    link
    fedilink
    arrow-up
    6
    ·
    11 days ago

    I am surprised that there are not common Rust formatting rules enforced at config level. Every project can have rustfmt rules file, that overwrite defaults.

    • ulterno@programming.dev
      link
      fedilink
      English
      arrow-up
      1
      ·
      9 days ago

      Because rustfmt does not have enough proper customisations.

      I just started Rust a few days ago and after my code became >20 lines (following the docs, understanding the basics), I decided to look for a formatting tool for Rust.
      I found out rustfmt, read :

      Rustfmt is designed to be very configurable. You can create a TOML file called rustfmt.toml or .rustfmt.toml

      and was kinda happy.

      And since in cmake I use BreakBeforeBraces: Allman, I looked for a similar option.
      Found out in the docs, it was not available in stable. inner-thoughts: How old is Rust? I already waited 4+ years before picking it up. Well, let’s look up the unstable features on GitHub.
      There are 2 configuration options relevant to the functionality.
      Both of them have enough parts where they don’t work, so they are useless even if I were to use the unstable version of rustfmt.
      And it seems like either none of the people participating in that issue is good enough to make changes in its source code or the rustfmt team doesn’t want that feature implemented.


      And if someone requires a reason for Allman style for BreakBeforeBraces:
      The Allman style makes it much easier to identify block scopes without having to rely upon IDE features such as highlighting.

      • thingsiplay@beehaw.org
        link
        fedilink
        arrow-up
        1
        ·
        9 days ago

        Sure, it might be missing features. But the main point is that rustfmt is pretty standard in Rust and is easy to enable and integrate. So even if features YOU want to have are missing, there could be a default configuration of what is configurable. I would expect that from a big project like Linux. Linus should never be in the position he was, by Googling and finding these options. It should have been as a configuration enforced as standard for every contributor.

        • ulterno@programming.dev
          link
          fedilink
          English
          arrow-up
          2
          ·
          9 days ago

          Googling and finding these options

          Well, it’s not in that bad a condition.
          All options (hopefully, because I didn’t check) that are applicable to any version of rustfmt are available using rustfmt --print-config default and you only need to use the internet in case you either did not understand the option from the name or if you are looking for an option not in your specific version.

          It should have been as a configuration enforced as standard for every contributor.

          That was most probably just another instance of oversight, I’d say.
          The one determining which configuration went into the formatting configuration (or the one making the default one, in case there was no config file for the Linux project), might have just not thought of that particular implication of the option been set.

  • FizzyOrange@programming.dev
    link
    fedilink
    arrow-up
    1
    arrow-down
    1
    ·
    9 days ago

    Yeah he’s dead wrong here. Even clang-format - easily the worst autoformatter I’ve used - is an order of magnitude more tolerable than no auto-formatting.

    Sure it might not always be as good as what a perfectionist human would produce, but it’s sure as hell better than what the average human produces, and it means you don’t have to waste time ranting like this.