1. 10

  2. 15

    Next up: fixing all the gtk CRITICAL errors constantly printed to terminal.

    1. [Comment removed by author]

      1. 4

        I disagree with enabling on CI but not otherwise.

        Think about all those distro packagers that will have to opt out by patching CFLAGS all over the place.

        Enabling warnings as errors by default might work in a small team where all developers use the same compiler at the same version, but it’s a big no-no when unleashed on users.

      2. 2

        I can see how fatal warnings can be useful for a project, but they’re rather annoying for people who want to clone the project and compile it for themselves. Almost every time I do that, there’s at least one warning message from the compiler. If the project has enabled fatal errors, I then have to figure out how to convince the build system to remove that flag.

        Even if a project has the best intentions, and makes damn sure to never push code which produces warnings, chances are my compiler produces warnings theirs didn’t.

        It’s incredibly annoying when someone else’s code doesn’t compile because they ignored the return value of a non-void function somewhere, which their compiler doesn’t care about, but mine does.

        1. 2

          That’s by the way along the line of reasoning behind having lints and warnings as a language feature (instead of a compiler feature) in Rust and the --cap-lints flag in the Rust compiler:

                 --cap-lints LEVEL
                                  Set the most restrictive lint level. More restrictive
                                  lints are capped at this level

          We have a couple of very aggressive lints (and additional ones can be registered) where we are not sure if they wouldn’t even become more restrictive with future rust versions. When you build any rust project, only the topmost compilation unit is compiled with the lints explicitly stated by the developer, all others are compiled with --cap-lints to warning.

          We find analysis through the compiler and clippy very useful, but it shouldn’t become a burden for someone just now picking things up.