Are we supposed to just use override or final on methods that are overriden
when the class itself is marked final?

Personally writing final again seems redundant with the class level final
and the override keyword seems more informative.

On Fri, Feb 16, 2018 at 3:36 PM, Chris Peterson <[email protected]>
wrote:

> Mozilla's C++ style guide [1] says (since 2015) virtual function
> declarations should specify only one of `virtual`, `final`, or `override`.
>
> Over the weekend, I will land a mach lint check (bug 1436263) that will
> warn about some virtual style violations such as:
>
>   virtual void Bad1() final
>   void Bad2() final override
>   void Bad3() override final
>
> It won't warn about the redundant `override` in `virtual void NotBad()
> override` at this time because there are 8000+ instances in
> mozilla-central. Also, virtual/override is more of a style issue whereas
> virtual/final can mask real bugs.
>
> A clang-tidy check would be more thorough, but this mach lint is better
> than nothing until someone steps up to write a proper clang plugin. :) We
> had a clang-tidy check but it was disabled recently (bug 1420366) because
> it was too noisy (because it analyzed the post-processed source after
> NS_IMETHOD macros had been expanded to `virtual`).
>
>
> [1] https://developer.mozilla.org/en-US/docs/Mozilla/Developer_g
> uide/Coding_Style
> _______________________________________________
> dev-platform mailing list
> [email protected]
> https://lists.mozilla.org/listinfo/dev-platform
>
_______________________________________________
dev-platform mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to