+1 — that feature as saved us from nasty issues already when working on 
internal modules.

> On Jul 9, 2018, at 8:43 AM, Zhitao Li <zhitaoli...@gmail.com> wrote:
> 
> +1
> 
> On Sun, Jul 8, 2018 at 10:55 PM Benjamin Bannier <
> benjamin.bann...@mesosphere.io> wrote:
> 
>> Hi James,
>> 
>>> I’d like to propose that we update our style to require that the
>>> “override” keyword always be used when overriding virtual functions
>>> (including destructors). The proposed text is below. I’ll also prepare
>>> a clang-tidy patch to update stout, libprocess and mesos globally.
>> 
>> +1!
>> 
>> Thanks for bringing this up and offering to do the clean-up. Using
>> `override`
>> consistently would really give us some certainty as interface methods
>> evolve.
>> 
>> * * *
>> 
>> Note that since our style guide _is_ the Google style guide plus some
>> additions, we shouldn't need to update anything in our style guide; the
>> Google
>> style guide seems to have started requiring this from February this year
>> and
>> our code base just got out of sync.
>> 
>> I believe we should activate the matching warning in our `cpplint` setup,
>> 
>>    --- a/support/mesos-style.py
>>    +++ b/support/mesos-style.py
>>    @@ -256,6 +256,7 @@ class CppLinter(LinterBase):
>>                 'build/endif_comment',
>>                 'build/nullptr',
>>                 'readability/todo',
>>    +            'readability/inheritance',
>>                 'readability/namespace',
>>                 'runtime/vlog',
>>                 'whitespace/blank_line',
>> 
>> 
>> While e.g., `clang` already emits a diagnostic for hidden `virtual`
>> functions
>> we might still want to update our `clang-tidy` setup. There is a dedicated
>> linter for `override` which me might not need due to the default
>> diagnostic,
>> 
>>    --- a/support/clang-tidy
>>    +++ b/support/clang-tidy
>>    @@ -25,6 +25,7 @@ google-*,\
>>     mesos-*,\
>>     \
>>     misc-use-after-move,\
>>    +modernize-use-override,\
>>     \
>>     readability-redundant-string-cstr\
>>     "
>> 
>> but it probably makes a lot of sense to check what other compile-time Mesos
>> features can be enabled by default in our `clang-tidy` setup (either in
>> Jenkins
>> via `CMAKE_ARGS`, or even better globally by default in
>> `support/mesos-tidy/entrypoint.sh:31ff`).
>> 
>> I would guess that using `cpplint` to verifying automated fixes made with
>> `clang-tidy` could inform what flags should have been added (there are some
>> missing features in the cmake build though, e.g., some isolators which
>> would
>> have benefited from `override` recently).
>> 
>> 
>> Cheers,
>> 
>> Benjamin
>> 
>> 
> 
> -- 
> Cheers,
> 
> Zhitao Li

Reply via email to