We spent some time trying to figure out a CI error in a backport from main to 3.8, only to realize that the issue is that Swift was using an older version of a Slice compiler, which was ignoring the newly added oneway metadata.
Unfortunately, the Slice compiler's warnings are eaten by our tooling, and the CI logs.
If this was not the case, we could of figured out what was going on much faster, and it's also possible that there are other Slice warnings right now on main, which we simply don't know about.
For these reasons, we should add a command-line option to the Slice compilers that fails on warnings.
As for the exact syntax, maybe:
-W and --warn-as-error? Both are free and don't conflict with our CLI.
Maybe we shouldn't even provide the shorthand -W and only support the longer syntax.
We spent some time trying to figure out a CI error in a backport from
mainto3.8, only to realize that the issue is that Swift was using an older version of a Slice compiler, which was ignoring the newly addedonewaymetadata.Unfortunately, the Slice compiler's warnings are eaten by our tooling, and the CI logs.
If this was not the case, we could of figured out what was going on much faster, and it's also possible that there are other Slice warnings right now on main, which we simply don't know about.
For these reasons, we should add a command-line option to the Slice compilers that fails on warnings.
As for the exact syntax, maybe:
-Wand--warn-as-error? Both are free and don't conflict with our CLI.Maybe we shouldn't even provide the shorthand
-Wand only support the longer syntax.