tree d782d93f9914a35f3f305dd0b8306868dfe2548a
parent d376bef4f1aa7ca6ff2140841fd9ad61bff4adea
author Patrick Williams <patrick@stwcx.xyz> 1734560708 -0500
committer Patrick Williams <patrick@stwcx.xyz> 1738415529 +0000

clang-format: adjust PenaltyReturnTypeOnItOwnLine

Tweaking this format penalty was suggested during a review of the
latest clang-format results against dbus-sensors.  The primary result
of this change is that long function names and arguments tend to not
be separated from their return type.

Before:
```
void
   someReallyLongFunctionName(int andAnArg);
```

After:
```
void someReallyLongFunctionName(
    int andAnArg);
```

My primary concern with this change is the readability of code
using post-function return types, but I don't see any evidence
of this affecting them when I apply this to a few repositories.

Example:
```
auto
    someReallyLongFunctionName(int andAnArg) -> int;

// vs

auto someReallyLongFunctionName(
    int andAnArg)
    -> int;
```

An experimental version of this change is available[1].

[1]: https://gerrit.openbmc.org/c/openbmc/dbus-sensors/+/76859

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: If7dac1a3c796a8145f0ca09b78941a23cabcdd7d
