On Tue, Oct 19, 2021 at 1:15 PM Michael Catanzaro via webkit-dev <webkit-dev@lists.webkit.org> wrote:
A reminder about this common idiom:

switch (...) {
case Foo:
    return ...;
case Bar:
    return ...;
}
RELEASE_ASSERT_NOT_REACHED();

When it's intended that the code always returns inside the switch 
statement, the RELEASE_ASSERT_NOT_REACHED() is required to avoid 
tripping GCC's -Wreturn-type. If you forget it, I or somebody else will 
wind up adding it later to avoid the warning. Clang does not warn here, 
and this is the most common type of warning I clean up, so please don't 
forget! :) This warning is useful in other situations, and it seems 
nicer to placate GCC than to disable it.

I'll sneak in another reminder: "return WTFMove()" is almost always not 
needed. Clang warns only if the move prevents return value 
optimization, but GCC will always warn if it detects the move is 
unneeded.

Can we add a style checker rule to detect at least simple cases?

- R. Niwa