Remix.run Logo
▲ skavi 2 days ago

clippy lints are not universally good advice. just off the dome, there are a few reasons you’d want to avoid boxing large variants.

and with the pedantic set enabled, you quickly have bad clippy advice forcing a bunch of ugly expects in your code.

the default set plus a selection of whatever you like from the rest works better.

▲saghm 2 days ago | parent [-]

I was pretty explicitly talking about LLM-generated code. At the end of the day, you're either reviewing the code it outputs or you're not. If you are, I'd argue that you're going to be getting a bunch of ugly things in your code that you're going to want to clean up anyhow, and the tradeoff of having everything enabled is well worth it compared to what an LLM will generate with more relaxed lints. If you're not, I don't think you particularly need to care about "ugly" code.

▲derefr 13 hours ago | parent [-]

Yeah, but the point about boxing large variants still stands. An unboxed large variant is not done for aesthetics/readability; if it's done, it's either for micro-perf (e.g. cache-coherence), or potentially safety / atomicity.

(And it can even be about semantics/compatibility, if you're doing it across an ABI boundary.)